Sveiki, Habr!
Šiuo metu nėra daug komunikacijos standartų, kurie, viena vertus, būtų smalsūs ir įdomūs, kita vertus, jų aprašymas neužima 500 puslapių PDF formatu. Vienas iš tokių signalų, kurį lengva iššifruoti, yra VHF daugiakryptis radijo švyturys (VOR), naudojamas oro navigacijoje.
VOR švyturys (c) wikimedia.org
Pirma, klausimas skaitytojams: kaip sukurti signalą, kad kryptį būtų galima nustatyti naudojant daugiakryptę priėmimo anteną? Atsakymas yra po pjūviu.
Bendra informacija
Sistema
Lėktuve statyti kryptinę anteną yra struktūriškai nepatogu, todėl iškilo problema, kaip pačiame signale užkoduoti informaciją apie kryptį į švyturį. Veikimo „ant pirštų“ principą galima paaiškinti taip. Įsivaizduokime, kad turime paprastą švyturėlį, skleidžiantį siaurą žalios šviesos spindulį, kurio lemputė sukasi 1 kartą per minutę. Akivaizdu, kad kartą per minutę pamatysime šviesos blyksnį, tačiau vienas toks blyksnis neneša daug informacijos. Prie švyturio pridėkime antrą nekryptinis raudona lemputė, mirksi tuo metu, kai švyturio spindulys „pralenkia“ kryptį į šiaurę. Nes blyksnių periodas ir švyturio koordinatės yra žinomi, apskaičiavę vėlavimą tarp raudono ir žalio blyksnių, galite sužinoti azimutą į šiaurę. Tai paprasta. Belieka daryti tą patį, bet naudojant radiją. Tai buvo išspręsta pakeitus fazes. Perdavimui naudojami du signalai: pirmojo fazė pastovi (atskaita), antrojo (kintamo) fazė kompleksiškai keičiasi priklausomai nuo spinduliavimo krypties – kiekvienas kampas turi savo fazės poslinkį. Taigi kiekvienas imtuvas gaus signalą su „savo“ fazės poslinkiu, proporcingu švyturio azimutui. „Erdvinio moduliavimo“ technologija atliekama naudojant specialią anteną (Alford Loop, žr. KDPV) ir specialią, gana sudėtingą moduliaciją. Tai iš tikrųjų yra šio straipsnio tema.
Įsivaizduokime, kad turime įprastą seną švyturėlį, veikiantį nuo šeštojo dešimtmečio ir perduodantį signalus įprastu AM moduliavimu Morzės abėcėlės abėcėlėje. Tikriausiai kažkada šturmanas iš tikrųjų klausėsi šių signalų ausinėse ir liniuote bei kompasu pažymėjo nuorodas žemėlapyje. Signalą norime papildyti naujomis funkcijomis, bet taip, kad „nepažeistų“ suderinamumas su senosiomis. Tema pažįstama, nieko naujo... Daryta taip - prie AM signalo buvo pridėtas žemo dažnio 50 Hz tonas, atliekantis atskaitos fazės signalo funkciją ir aukšto dažnio komponentas, užkoduotas dažniu moduliavimas 30 KHz dažniu, perduodamas kintamos fazės signalą. Pasirinkę du signalus ir palyginę fazes, gauname norimą kampą nuo 9.96 iki 0 laipsnių, tai yra norimas azimutas. Tuo pačiu metu visa tai netrukdys klausytis švyturio „įprastu būdu“ ir išlieka suderinama su senesniais AM imtuvais.
Pereikime nuo teorijos prie praktikos. Paleidžiame SDR imtuvą, pasirenkame AM moduliaciją ir 12 KHz dažnių juostos plotį. VOR švyturių dažnius galima lengvai rasti internete. Spektre signalas atrodo taip:
Šiuo atveju švyturio signalas perduodamas 113.950 MHz dažniu. Centre matosi lengvai atpažįstama amplitudės moduliacijos linija ir Morzės kodo signalai (.- - ... o tai reiškia AMS, Amsterdamas, Schipholio oro uostas). Maždaug 9.6 KHz atstumu nuo nešiklio matomos dvi smailės, perduodančios antrąjį signalą.
Įrašykime signalą WAV formatu (ne MP3 – nuostolingas suspaudimas „nužudys“ visą signalo struktūrą) ir atidarykime jį GNU radijuje.
Dekodavimas
Žingsnis 1. Atidarykime failą su įrašytu signalu ir pritaikykime jam žemųjų dažnių filtrą, kad gautume pirmąjį atskaitos signalą. GNU radijo grafika parodyta paveikslėlyje.
Rezultatas: žemo dažnio signalas esant 30 Hz.
Žingsnis 2: dekoduokite kintamos fazės signalą. Kaip minėta aukščiau, jis yra 9.96 KHz dažniu, turime jį perkelti į nulinį dažnį ir tiekti į FM demoduliatorių.
GNU radijo grafika:
Štai ir viskas, problema išspręsta. Matome du signalus, kurių fazių skirtumas rodo kampą nuo imtuvo iki VOR švyturio:
Signalas gana triukšmingas, o norint pagaliau apskaičiuoti fazių skirtumą gali prireikti papildomo filtravimo, bet tikiuosi, kad principas aiškus. Tiems, kurie pamiršo, kaip nustatomas fazių skirtumas, nuotrauka iš
Laimei, jums nereikia viso to daryti rankiniu būdu: jau yra
Norintieji gali paleisti programą konsolėje ir iš jau įrašyto failo gauti galutinį kampą laipsniais:
Aviacijos gerbėjai netgi gali sukurti savo nešiojamąjį imtuvą naudodami RTL-SDR ir Raspberry Pi. Beje, „tikroje“ plokštumoje šis indikatorius atrodo maždaug taip:
Vaizdas ©
išvada
Tokie signalai „iš praėjusio amžiaus“ tikrai įdomūs analizei. Pirma, jie yra gana paprasti, modernūs DRM arba, ypač, GSM, nebeįmanoma iššifruoti „ant pirštų“. Jie yra priimtini ir neturi raktų ar kriptografijos. Antra, galbūt ateityje jos taps istorija ir jas pakeis palydovinė navigacija ir modernesnės skaitmeninės sistemos. Trečia, studijuodami tokius standartus galite sužinoti įdomių techninių ir istorinių detalių, kaip problemos buvo sprendžiamos naudojant kitas praėjusio amžiaus grandines ir elementų bazę. Taigi imtuvų savininkams galima patarti priimti tokius signalus jiems dar dirbant.
Kaip įprasta, linksmų eksperimentų visiems.
Šaltinis: www.habr.com