Hej Habr!
I øjeblikket er der ikke så mange kommunikationsstandarder, der på den ene side er nysgerrige og interessante, på den anden side fylder deres beskrivelse ikke 500 sider i PDF-format. Et af disse, der er let at afkode, er VHF Omni-directional Radio Beacon (VOR)-signalet, der bruges i luftnavigation.
VOR Beacon (c) wikimedia.org
Til at begynde med et spørgsmål til læsere - hvordan man danner et signal, så det ved hjælp af en omnidirektionel modtageantenne er muligt at bestemme retningen? Svaret er under skæringen.
Generel information
System
At placere en retningsbestemt antenne på et fly er strukturelt ubelejligt, så problemet opstod med, hvordan man indkodede information om retningen til beacon i selve signalet. Funktionsprincippet "på fingrene" kan forklares som følger. Lad os forestille os, at vi har et almindeligt fyr, der udsender en smal stråle af grønt lys, hvis lampe roterer 1 gang i minuttet. Det er klart, at vi en gang i minuttet vil se et lysglimt, men et sådant blink bærer ikke meget information. Lad os tilføje en anden til fyrtårnet ikke-retningsbestemt en rød lampe, der blinker i det øjeblik, hvor fyrstrålen "passerer" retningen mod nord. Fordi blinkperioden og beacon-koordinaterne er kendt, ved at beregne forsinkelsen mellem røde og grønne blink kan man finde azimuten mod nord. Alt er enkelt. Det er tilbage at gøre det samme, men med hjælp fra radioen. Dette blev løst ved at ændre faserne. To signaler bruges til transmission: fasen af den første er konstant (reference), fasen af den anden (variabel) ændres på en kompleks måde afhængigt af strålingsretningen - hver vinkel har sin egen faseforskydning. Hver modtager vil således modtage et signal med "sin egen" faseforskydning proportional med azimuten til beaconen. Teknologien til "rumlig modulering" udføres ved hjælp af en speciel antenne (Alford Loop, se KDPV) og en speciel, ret vanskelig modulering. Hvilket faktisk er emnet for denne artikel.
Lad os forestille os, at vi har en almindelig legacy beacon, der har fungeret siden 50'erne og transmitterer signaler i den sædvanlige AM-modulation i morsekode. Sandsynligvis, engang i tiden, lyttede navigatøren virkelig til disse signaler i hovedtelefoner og markerede anvisningerne med en lineal og et kompas på kortet. Vi ønsker at tilføje nye funktioner til signalet, men på en måde, der ikke "bryder" kompatibiliteten med de gamle. Emnet er velkendt, intet nyt ... Det blev gjort som følger - en lavfrekvent 30 Hz tone blev tilføjet til AM-signalet, der fungerer som et referencefasesignal, og en højfrekvent komponent kodet af frekvensmodulation kl. en frekvens på 9.96 kHz, der sender et variabelt fasesignal. Ved at vælge to signaler og sammenligne faserne får vi den ønskede vinkel fra 0 til 360 grader, som er den ønskede azimut. Samtidig forstyrrer alt dette ikke at lytte til beacon "på den sædvanlige måde" og forbliver kompatibelt med gamle AM-modtagere.
Lad os gå fra teori til praksis. Lad os starte SDR-modtageren, vælg AM-modulationen og båndbredden på 12 kHz. VOR-beacon-frekvenser kan nemt findes på nettet. På spektret ser signalet således ud:
I dette tilfælde transmitteres beacon-signalet med en frekvens på 113.950 MHz. Den let genkendelige amplitudemodulationslinje og morsekodesignaler (.- - ... hvilket betyder AMS, Amsterdam, Schiphol Lufthavn) er synlige i midten. Omkring i en afstand på 9.6 kHz fra bærebølgen er to peaks synlige, der transmitterer det andet signal.
Lad os optage signalet i WAV (ikke MP3 - komprimering med tab vil "dræbe" hele strukturen af signalet) og åbne det i GNU Radio.
Afkodning
Trin 1. Lad os åbne filen med det optagede signal og anvende et lavpasfilter på det for at få det første referencesignal. GNU Radio-grafen er vist i figuren.
Resultat: et lavfrekvent signal med en frekvens på 30 Hz.
Trin 2: afkode det variable fasesignal. Som nævnt ovenfor er den placeret ved en frekvens på 9.96 kHz, vi skal overføre den til nul frekvens og føre den til FM-demodulatoren.
GNU Radio graf:
Alt, opgaven er løst. Vi ser to signaler, hvis faseforskel angiver vinklen fra modtageren til VOR-beaconen:
Signalet er ret støjende, og der kan være behov for yderligere filtrering til den endelige beregning af faseforskellen, men princippet er forhåbentlig klart. For dem der har glemt hvordan faseforskellen er bestemt, er billedet fra
Heldigvis kan alt dette manuelt ikke gøres: der er allerede
De, der ønsker det, kan køre programmet i konsollen og få den færdige vinkel i grader fra den allerede optagede fil:
Luftfartsfans kan endda lave deres egen bærbare modtager ved hjælp af en RTL-SDR og en Raspberry Pi. Forresten, på et "rigtigt" fly ser denne indikator sådan ud:
Billede ©
Konklusion
Sådanne signaler "fra forrige århundrede" er absolut interessante til analyse. For det første er de ganske simple, moderne DRM, eller endnu mere GSM, så det er umuligt at afkode "på fingrene" sådan. De er åbne for modtagelse, de har ikke nøgler og kryptografi. For det andet vil de måske i fremtiden blive historie og blive erstattet af satellitnavigation og mere moderne digitale systemer. For det tredje giver undersøgelsen af sådanne standarder dig mulighed for at finde ud af interessante tekniske og historiske detaljer om, hvordan problemer blev løst på andre kredsløb og elementbase i det sidste århundrede. Så ejerne af modtagere kan rådes til at modtage sådanne signaler, mens de stadig arbejder.
Som sædvanlig held og lykke med dine eksperimenter.
Kilde: www.habr.com