Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

Ahoj, Habr!

V súčasnosti existuje len niekoľko komunikačných štandardov, ktoré sú na jednej strane zaujímavé a fascinujúce, na druhej strane ich opis nezaberá 500 strán vo formáte PDF. Jedným z takýchto, ľahko dekódovateľných, je signál VHF Omni-directional Radio Beacon (VOR), ktorý sa používa v aéro navigácii.

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio
VOR Beacon (c) wikimedia.org

Na začiatok otázka pre čitateľov — ako vytvoriť signál tak, aby sa pomocou nedirekčnej prijímacej antény dalo určiť smer? Odpoveď nižšie.

Základné informácie

Systém Very high frequency Omni-directional Range (VOR) sa používa na aéro navigáciu už od 50-tych rokov minulého storočia a pozostáva z rádiomájačikov s relatívne malým dosahom (100-200 km), ktoré pracovujú v rozsahu frekvencií VKV 108-117 MHz. Dnes, v ére gigahertz, znie označenie very high frequency pre takéto frekvencie zvláštne a už samo o sebe naznačuje vek tohto štandardu, ale mimochodom, ešte stále fungujú májačiky NDB, ktoré pracujú v rozsahu stredných vĺn 400-900 kHz.

Umístění směrové antény na letadle je konštrukčne nepraktické, preto vznikla úloha, ako zakódovať v samotnom signáli informácie o smere na májač. Princíp fungovania 'na prstoch' môžeme vysvetliť nasledovne. Predstavme si, že máme obyčajný maják, ktorý vysiela úzky lúč zeleného svetla, ktorého lampa sa otáča raz za minútu. Je zrejmé, že raz za minútu budeme vidieť záblesk svetla, ale jeden taký záblesk veľa informácií nenesie. Pridajme k majáku druhú nedirekčnú červenú svetlo, ktoré zaiskrí v okamihu, keď lúč majáka "prejde" smerom na sever. Keďže je známa doba zábleskov a súradnice majáka, vypočítaním oneskorenia medzi červenými a zelenými zábleskami môžeme zistiť azimut na sever. Je to jednoduché. Teraz sa len musíme pokúsiť to isté, ale pomocou rádia. To bolo vyriešené zmenou fáz. Na prenos sú použité dva signály: fáza prvého je konštantná (referenčná), fáza druhého (premenná) sa mení zložitým spôsobom v závislosti od smeru vyžarovania — každému uhlu zodpovedá svoj posun fázy. Týmto spôsobom každý prijímač dostane signál so "svojím" posunom fázy, ktorý je úmerný azimutu k majáku. Technológia "priestorovej modulácie" sa realizuje pomocou špeciálnej antény (Alford Loop, pozri KDPV) a pomocou špeciálnej, dosť komplikovanej modulácie. To je vlastne témou tohto článku.

Predstavme si, že máme obyčajný legacy maják z 50. rokov, ktorý vysiela signály v bežnej AM modulácii pomocou Morseovej abecedy. Možno, niekedy dávno, navigátor naozaj počúval tieto signály v slúchadlách a zaznamenával smer pomocou pravítka a kružidla na mape. Chceme pridať nové funkcie k signálu, ale tak, aby sme "neporušili" kompatibilitu so starými systémami. Téma je známa, nič nové… Bolo to vykonané nasledujúcim spôsobom — k AM signálu bol pridaný nízkofrekvenčný 30 Hz tón, ktorý plní funkciu referenčného fázy signálu, a vysokofrekvenčná zložka, zakódovaná frekvenčnou moduláciou na frekvencii 9.96 kHz, prenášajúca premennú fázu signálu. Oddelením dvoch signálov a porovnaním fáz získavame požadovaný uhol od 0 do 360 stupňov, ktorý je potrebným azimutom. Zároveň to nebráni počúvaniu majáka "obyčajným spôsobom" a zostáva kompatibilné so starými AM prijímačmi.

Prejdime od teórie k praxi. Spustíme SDR prijímač, zvolíme moduláciu AM a šírku pásma 12 kHz. Frekvencie majákov VOR je možné ľahko nájsť na internete. Na spektre signál vyzerá nasledovne:

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

V tomto prípade je signál majáka prenášaný na frekvencii 113.950 MHz. V strede je jasne rozpoznateľná línia amplitúdovej modulácie a signály Morseovej abecedy (.- — … čo znamená AMS, Amsterdam, letisko Schiphol). Naokolo, vo vzdialenosti 9.6 kHz od nosnej, sú viditeľné dva vrcholy, prenášajúce druhý signál.

Zapíšeme signál do WAV (nie MP3 — kompresia so stratami «zabije» celú štruktúru signálu) a otvoríme ho v GNU Radio.

Dekódovanie

Krok 1. Otvoríme súbor so zapísaným signálom a aplikujeme naň filter nízkych frekvencií, aby sme získali prvý referenčný signál. Graf GNU Radio je zobrazený na obrázku.

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

Výsledok: nízkofrekvenčný signál s frekvenciou 30 Hz.

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

Krok 2: dekódujeme signál s premennou fázou. Ako bolo uvedené vyššie, nachádza sa na frekvencii 9,96 kHz, musíme ho preniesť na nulovú frekvenciu a poskytnúť na FM-demodulátor.

Graf GNU Radio:

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

Úloha je vyriešená. Vidíme dva signály, ktorých rozdiel fáz indikuje uhol od prijímača k VOR-majáku:

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

Signál je dostatočne zašumený a na konečné výpočty rozdielu fázy môže byť potrebná dodatočná filtrácia, ale princíp je dúfam jasný. Pre tých, ktorí zabudli, ako sa stanovuje rozdiel fáz, obrázok z aviation.stackexchange.com:

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

Našťastie, všetko toto nemusíme robiť manuálne: už existuje hotový projekt v Pythone, ktorý dekóduje signály VOR zo súborov WAV. Vlastne, jeho štúdium ma inšpirovalo k preskúmaniu tejto témy.

Záujemcovia si môžu spustiť program v konzole a získať hotový uhol v stupňoch zo už zapísaného súboru:

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio

Fanúšikovia letectva si môžu dokonca vyrobiť prenosný prijímač z RTL-SDR a Raspberry Pi. Mimochodom, na „ozajstnom“ lietadle tento indikátor vyzerá približne takto:

Určujeme smer na letisko pomocou RTL-SDR a GNU Radio
Image © www.aopa.org

Záver

Podobné signály „z minulého storočia“ sú určite zaujímavé na analýzu. Po prvé, sú dostatočne jednoduché, moderný DRM alebo ešte viac GSM už takto „na prstoch“ dekódovať nedokážeme. Sú otvorené na príjem, neobsahujú kľúče ani kryptografiu. Po druhé, je možné, že v budúcnosti odídu do histórie a budú nahradené satelitnou navigáciou a modernými digitálnymi systémami. Po tretie, štúdium takýchto štandardov umožňuje získať zaujímavé technické a historické podrobnosti o tom, ako sa úlohy riešili na inej schématike a komponentnej základni minulého storočia. Preto majiteľom prijímačov možno odporučiť prijať také signály, pokiaľ ešte fungujú.

Ako zvyčajne, prajem všetkým úspešné experimenty.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster