Pozdravljeni, Habr!
Trenutno ni veliko komunikacijskih standardov, ki bi bili po eni strani radovedni in zanimivi, po drugi strani pa njihov opis ne zavzame 500 strani v formatu PDF. En tak signal, ki ga je enostavno dekodirati, je signal VHF vsesmernega radijskega svetilnika (VOR), ki se uporablja v zračni navigaciji.
Svetilnik VOR (c) wikimedia.org
Najprej vprašanje za bralce: kako ustvariti signal, da bo mogoče določiti smer s pomočjo vsesmerne sprejemne antene? Odgovor je pod rezom.
Splošne informacije
Sistem
Postavitev usmerjene antene na letalo je konstrukcijsko neprijetna, zato se je pojavil problem, kako informacijo o smeri do svetilnika zakodirati v sam signal. Načelo delovanja "na prste" je mogoče razložiti na naslednji način. Predstavljajmo si, da imamo navaden svetilnik, ki oddaja ozek snop zelene svetlobe, katerega žarnica se zavrti 1-krat na minuto. Očitno bomo enkrat na minuto videli blisk svetlobe, a en tak blisk ne nosi veliko informacij. Dodajmo drugega svetilniku nesmerno rdeča svetilka, ki utripa v trenutku, ko žarek svetilnika »preleti« smer proti severu. Ker znani sta obdobje utripov in koordinate svetilnika, z izračunom zamika med rdečim in zelenim utripom lahko ugotovite azimut proti severu. Enostavno je. Še vedno je treba storiti isto, vendar z uporabo radia. To so rešili z menjavo faz. Za prenos se uporabljata dva signala: faza prvega je konstantna (referenčna), faza drugega (spremenljiva) se kompleksno spreminja glede na smer sevanja - vsak kot ima svoj fazni zamik. Tako bo vsak sprejemnik sprejel signal s svojim "lastnim" faznim zamikom, sorazmernim z azimutom na svetilniku. Tehnologija "prostorske modulacije" se izvaja s pomočjo posebne antene (Alford Loop, glej KDPV) in posebne, precej zapletene modulacije. Kar je pravzaprav tema tega članka.
Predstavljajmo si, da imamo navaden podedovan svetilnik, ki deluje že od 50. let prejšnjega stoletja in oddaja signale v navadni AM modulaciji v Morsejevi abecedi. Verjetno je nekoč navigator res poslušal te signale v slušalkah in na zemljevidu označeval smeri z ravnilom in kompasom. Signalu želimo dodati nove funkcije, vendar tako, da ne »porušimo« združljivosti s starimi. Tema je znana, nič novega... Izvedeno je bilo takole - signalu AM je bil dodan nizkofrekvenčni 30 Hz ton, ki opravlja funkcijo signala referenčne faze, in visokofrekvenčna komponenta, kodirana s frekvenco modulacija pri frekvenci 9.96 KHz, ki oddaja signal spremenljive faze. Z izbiro dveh signalov in primerjavo faz dobimo želeni kot od 0 do 360 stopinj, kar je želeni azimut. Hkrati pa vse to ne bo motilo poslušanja svetilnika "na običajen način" in ostaja združljivo s starejšimi AM sprejemniki.
Preidimo od teorije k praksi. Zaženemo SDR sprejemnik, izberemo AM modulacijo in pasovno širino 12 KHz. Frekvence svetilnika VOR je mogoče enostavno najti na spletu. Na spektru je signal videti takole:
V tem primeru se signal svetilnika oddaja na frekvenci 113.950 MHz. V sredini lahko vidite zlahka prepoznavno črto amplitudne modulacije in signale Morsejeve kode (.- - ... kar pomeni AMS, Amsterdam, letališče Schiphol). Približno na razdalji 9.6 KHz od nosilca sta vidna dva vrha, ki oddajata drugi signal.
Posnemi signal v WAV (ne MP3 - stiskanje z izgubo bo "ubilo" celotno strukturo signala) in ga odpri v GNU Radio.
Dekodiranje
Korak 1. Odprimo datoteko s posnetim signalom in nanjo uporabimo nizkopasovni filter, da dobimo prvi referenčni signal. Graf GNU Radio je prikazan na sliki.
Rezultat: nizkofrekvenčni signal pri 30 Hz.
Korak 2: dekodira signal spremenljive faze. Kot je navedeno zgoraj, se nahaja na frekvenci 9.96 KHz, premakniti ga moramo na ničelno frekvenco in ga napajati v FM demodulator.
Radijski graf GNU:
To je to, problem rešen. Vidimo dva signala, katerih fazna razlika označuje kot od sprejemnika do svetilnika VOR:
Signal je precej šumen in morda bo potrebno dodatno filtriranje za končni izračun fazne razlike, vendar upam, da je načelo jasno. Za tiste, ki ste pozabili, kako se določi fazna razlika, slika iz
Na srečo vam vsega tega ni treba storiti ročno: že obstaja
Zainteresirani lahko poženejo program v konzoli in dobijo končni kot v stopinjah iz že posnete datoteke:
Ljubitelji letalstva lahko celo naredijo svoj prenosni sprejemnik z uporabo RTL-SDR in Raspberry Pi. Mimogrede, na "pravem" letalu je ta indikator videti nekako takole:
Slika ©
Zaključek
Takšni signali »iz prejšnjega stoletja« so vsekakor zanimivi za analizo. Prvič, so precej preprosti, sodobni DRM ali, še posebej, GSM, ni več mogoče dekodirati "na prste". Odprti so za sprejem in nimajo ključev ali kriptografije. Drugič, morda bodo v prihodnosti postali zgodovina in jih bodo nadomestili satelitska navigacija in sodobnejši digitalni sistemi. Tretjič, preučevanje takšnih standardov vam omogoča, da se naučite zanimivih tehničnih in zgodovinskih podrobnosti o tem, kako so bile težave rešene z uporabo drugih vezij in elementov prejšnjega stoletja. Zato lahko lastnikom sprejemnikov svetujemo, da sprejemajo takšne signale, medtem ko še delujejo.
Kot ponavadi, veselo eksperimentov vsem.
Vir: www.habr.com