Hello, Habr!
I dag finnes det ikke så mange kommunikasjonsstandarder som på den ene siden er interessante og fascinerende, og som på den andre siden ikke tar opp 500 sider i PDF-format. En av dem, som er enkel å dekode, er VHF Omni-directional Radio Beacon (VOR)-signalet, som brukes i luftfart.

VOR Beacon (c) wikimedia.org
Først et spørsmål til leserne — hvordan kan man danne et signal slik at man med en ikke-rettede mottaksantenn kan bestemme retningen? Svaret er under teksten.
Generell informasjon
System (VOR) har blitt brukt til luftfart siden 50-tallet, og består av radiomarkører med relativt kort rekkevidde (100-200 km), som opererer i frekvensområdet VHF 108-117 MHz. I dag, i gigahertz-epoken, virker betegnelsen very high frequency for slike frekvenser morsom og sier noe om alderen til denne standarden, men for øvrig fungerer fortsatt markørene , som opererer i mellombølgeområdet 400-900 kHz.
Plasseringen av en retningsbestemt antenne på flyet er konstruksjonsmessig upraktisk, så det oppstod et behov for å kode informasjon om retningen til markøren i selve signalet. Prinsippet for hvordan det fungerer kan forklares på følgende måte. La oss anta at vi har en vanlig markør som sender en smal lysstråle av grønt lys, der lampen roterer en gang i minuttet. Det er åpenbart at vi en gang i minuttet vil se et blink av lys, men et slikt blink bærer ikke mye informasjon. La oss legge til en ikke-retningsbestemt en lampe i rød farve, der blinker, når strålen fra fyrtårnet "passerer" nordretningen. Da blinkperioden og fyrtårnets koordinater er kendt, kan man ved at måle forsinkelsen mellem de røde og grønne blink finde azimuth mod nord. Alt er simpelt. Det eneste, der mangler, er at gøre det samme med radio. Dette blev løst ved at ændre faser. Der bruges to signaler til transmission: den første fases signal er konstant (reference), mens den anden (variabel) fase ændres komplekst afhængigt af strålingsretningen — der tilsvarer et faseforskydning for hver vinkel. På den måde vil hver modtager modtage signalet med sin "egen" faseforskydning, som er proportional med azimuthen mod fyrtårnet. Teknologien "rumlig modulering" udføres ved hjælp af en speciel antenne (Alford Loop, se KDPV) og en særlig, ret snedig modulering. Dette er faktisk emnet for denne artikel.
Lad os forestille os, at vi har et almindeligt legacy-fyrtårn, der har været i drift siden 50'erne, og som sender signaler i almindelig AM-modulation med morsealfabetet. Sandsynligvis lyttede navigatøren engang til disse signaler i hovedtelefoner og markerede retninger med en lineal og en passer på kortet. Vi ønsker at tilføje nye funktioner til signalet, men uden at "ødelægge" kompatibiliteten med de gamle. Tematikken er velkendt, intet er nyt... Dette blev løst ved at tilføje en lavfrekvent tone på 30 Hz til AM-signalet, som fungerer som referencefase-signal, og en højfrekvent komponent, der er kodet i frekvensmodulation på 9,96 kHz, hvilket transmitterer det variable fase-signal. Ved at isolere de to signaler og sammenligne faserne får vi den ønskede vinkel fra 0 til 360 grader, som er den nødvendige azimuth. Dette forhindrer dog ikke at lytte til fyrtårnet "på den sædvanlige måde", og det forbliver kompatibelt med de gamle AM-modtagere.
Lad os gå fra teori til praksis. Vi starter en SDR-modtager, vælger AM-modulation og en båndbredde på 12 kHz. Fyrtårnernes VOR-frekvenser kan let findes online. På spektret ser signalet således ud:

I dette tilfælde sendes fyrtårnets signal på frekvensen 113,950 MHz. I centrum ses en let genkendelig linje for amplitudemodulation, samt morse-signaler (.- — … hvilket betyder AMS, Amsterdam, lufthavn Schiphol). Omkring 9,6 kHz fra bærebølge ses to toppe, der transmitterer det andet signal.
Lad os optage signalet i WAV (ikke MP3 - kompressionen med tab vil "dræbe" hele signalets struktur) og åbne det i GNU Radio.
Dekodning
Trin 1. Vi åbner filen med det optagne signal og anvender et lavpasfilter for at få det første reference-signal. GNU Radio-grafikken vises på billedet.

Resultat: lavfrekvent signal med en frekvens på 30 Hz.

Trin 2: vi dekoder variabel fase signalet. Som nævnt tidligere, ligger det på en frekvens på 9,96 kHz, vi skal flytte det til nul-frekvensen og sende det til FM-demodulatoren.
GNU Radio-grafik:

Alt er løst. Vi ser to signaler, hvis faseforskel angiver vinklen fra modtageren til VOR-lyset:

Signalet er temmelig støjende, og for den endelige beregning af faseforskellen kan der være behov for yderligere filtrering, men princippet er forhåbentlig klart. Til dem, der har glemt, hvordan faseforskellen bestemmes, et billede fra :

Heldigvis behøver man ikke at gøre alt dette manuelt: der findes allerede et i Python, som dekoder VOR-signaler fra WAV-filer. Faktisk inspirerede det mig til at dykke ned i dette emne.
De interesserede kan køre programmet i konsollen og få den færdige vinkel i grader fra den allerede optagne fil:

Luftfartsentusiaster kan endda lave en bærbar modtager fra RTL-SDR og Raspberry Pi. For øvrigt ser denne indikator "i en rigtig" flyvemaskine omtrent sådan ud:

Image ©
Konklusion
Sådanne signaler "fra det forrige århundrede" er bestemt interessante for analyse. For det første er de forholdsvis enkle, moderne DRM eller endnu mere GSM kan ikke så nemt dekodes "på fingrene". De er åbne for modtagelse, der er ingen nøgler eller kryptografi. For det andet kan de i fremtiden forsvinde i historien og blive erstattet af satellitnavigation og mere moderne digitale systemer. For det tredje giver studiet af sådanne standarder interessante tekniske og historiske detaljer om, hvordan opgaver blev løst med den anden skematik og komponentbase i det forrige århundrede. Så ejere af modtagere kan rådes til at tage imod sådanne signaler, mens de stadig fungerer.
Som altid, ønsker alle held og lykke med eksperimenterne.
Kilde: habr.com
