Pro našeho významného zákazníka v telekomunikačním segmentu jsme navrhli dekodér 2G/3G pro komunikaci mezi základnovými stanicemi a mobilními telefony. Konečnou aplikací bylo zařízení pro odposlech mobilní komunikace určené pro vládní agenturu.
Zadání a výzva
Naším úkolem bylo navrhnout dekodér 2G/3G založený na modulu SDR (Software Defined Radio). Modul obsahoval vysílač 6GHz a FPGA. Dekodér byl částečně inspirován projektem OpenBTS, který využívá SDR k vytvoření základnové stanice 2G/3G. V tomto kódu však nebyly k dispozici všechny dekódovací schémata. Tato dekódovací schémata musela být studována, analyzována a implementována společností Consilia. Standard UMTS je navíc nechvalně známý svým neúplným popisem fungování vyšších vrstev. Tým Consilia musel investovat mnoho času zpětné rekonstrukci a porozumění fungování těchto vrstev na komunikačních analyzátorech, aby je následně mohl implementovat do nového dekodéru.
Řešení
Z pohledu zpracování signálu
Systém byl rozdělen na dvě části. První z nich byla deska Ettus B205mini-i, která prováděla zpracování signálu a down-konverzi vstupního RF signálu. Druhou částí byla aplikace pro PC.
Deska Ettus byla připojena k počítači prostřednictvím rozhraní USB 3.0. Pro komunikaci byly použity ovladače UHD, které zajišťovaly přenos dat z desky Ettus do řídicí aplikace a konfiguraci vestavěného HW a FPGA. Následné zpracování signálu na straně PC bylo provedeno v komponentách pro GNU Radio navržených společností Consilia. V závěrečné fázi byly zprávy dekódovány aplikací navrženou společností Consilia. Hostitelskou aplikací byl zákaznický software, který řídil měření a analyzoval dekódované zprávy.
Z pohledu uživatele
Systém byl rozdělen na dvě části - aplikaci pro zpracování 2G a aplikaci pro zpracování 3G.
Specifické vlastnosti 2G
- Komunikace GSM 2G downlink - měření a analýza signálu.
- Skenování pásma 2G a vyhledání kódů BTS na zadané frekvenci.
- Dekódování zpráv BCCH, CCCH a SDCCH 4,8 z downlink kanálu.
- Měření FFT na nastavené šířce pásma pro detekci aktivních 2G kanálů.
Specifické vlastnosti 3G
- GSM UMTS 3G komunikace — analýza signálu.
- Skenování pásma UMTS a vyhledávání kódů BTS na zadané frekvenci.
- Příjem dat z primárních, sekundárních a vyhrazených kanálů.
- Dekódování zpráv BCCH, CCCH a DCCH (přes FACH nebo DCH) z downlink kanálu.
Projekt obsahuje také režim rušičky, který dokáže rušit několik zadaných frekvencí najednou.
Obě aplikace běží v systému Ubuntu Linux 16.04 LTS. Systém a balíčky dodal zákazník. Celá komunikace, řízení a měření probíhá prostřednictvím zpráv UDP.
Hodnota pro zákazníka
Dekodér 2G/3G vyřešil zákazníkovi problematiku analýzy a zpracování fyzické vrstvy a nejnižších SW vrstev standardu 2G/3G.
Tým zákazníka se mohl zaměřit na čisté softwarové zpracování vyšších vrstev.
Rušička jim umožnila přinutit jakýkoli mobilní telefon v okolí, aby se přepnul na předem definovanou testovací základnovou stanici. Tento projekt sloužil jako funkční ověření konceptu a položil základ pro další implementaci dekodéru a rušičky, které mají být navrženy jako samostatný produkt.
Jak probíhal vývoj
Celý projekt byl zpracován jako nákladově efektivní ověřovací koncept sestavený z modulů SDR s otevřeným zdrojovým kódem a hotových modulů. To však neznamená, že by se jednalo o jednoduchou skládačku pro absolventy.
Šlo o složitý projekt, kde nejzkušenější inženýři strávili měsíce analýzou a implementací požadovaných funkcí.
Cesta zpracování signálu 2G začíná v modulu SDR. Firmware FPGA byl upraven tak, aby splňoval rádiové požadavky na 2G. Směšovače, decimátory a filtry byly odpovídajícím způsobem přepočítány a upraveny. Byl také upraven protokol pro streamování decimovaných dat, aby se využila maximální šířka pásma USB 3.0.
Na straně počítače byly ovladače upraveny tak, aby odpovídaly změněnému protokolu streamování z FPGA. V další fázi byla decimovaná data z USB převedena na pakety UDP, které se používají jako komunikační protokol mezi komponentami GNU Radio.
Zde byla jedna část zpracování provedena pomocí komponent GNU Radio a a druhá část pomocí komponent vyvinutých společností Consilia.
Zpracování signálu 3G bylo náročnější vzhledem k tomu, že na fyzické vrstvě využívá rozprostřené spektrum. Z výpočetního hlediska není možné data descramblovat pouze na počítači.
FPGA bylo použito k vyhledávání scramblovacích kódů a tyto kódy byly spolu s decimovanými daty odeslány do počítače k dalšímu zpracování. Descramblování dat v FPGA odlehčilo počítači a ušetřilo jeho výpočetní výkon pro zpracování vyšších úrovní protokolu 3G.
Klient
Významný zákazník z oblasti telekomunikací.
V letech 2017-2018 jsme vytvořili obsah pro FPGA a knihovnu pro PC.
Další řešení
Od založení společnosti Consilia v roce 2004 jsme dokončili a podpořili desítky projektů.