Hej, Habr!
Det finns för nÀrvarande inte sÄ mÄnga kommunikationsstandarder som Ä ena sidan Àr intressanta och fascinerande, Ä andra sidan krÀver en beskrivning som inte tar 500 sidor i PDF-format. En av dessa, som Àr enkel att avkoda, Àr VHF Omnidirectional Radio Beacon (VOR) signalen, som anvÀnds inom flygnavigering.

VOR Beacon (c) wikimedia.org
Först en frÄga till lÀsarna - hur kan man forma signalen sÄ att man med hjÀlp av en icke-dirigerad mottagningsantenn kan bestÀmma riktningen? Svaret finns nedan.
AllmÀn information
Systemet (VOR) har anvÀnts för flygnavigering sedan 1950-talet och bestÄr av radiomÀrken med relativt kort rÀckvidd (100-200 km), som fungerar inom VHF-frekvenserna 108-117 MHz. Nu, i gigahertz-eran, lÄter namnet very high frequency för sÄdana frekvenser lite lustigt och antyder redan sjÀlvt Äldern pÄ denna standard, men för övrigt fungerar fortfarande mÀrkena , som arbetar inom mellanvÄgen 400-900 kHz.
Att placera en riktad antenn pĂ„ flygplanet Ă€r konstruktivt besvĂ€rligt, dĂ€rför uppstod frĂ„gan hur man kan koda information om riktningen till mĂ€rket direkt i signalen. Principen kan förklaras pĂ„ följande sĂ€tt. TĂ€nk er att vi har ett vanligt mĂ€rke som skickar en smal strĂ„le av grönt ljus, vars lampa roterar en gĂ„ng per minut. Uppenbarligen kommer vi att se ett ljusblixt en gĂ„ng i minuten, men en sĂ„dan blixt bĂ€r inte mycket information. LĂ„t oss lĂ€gga till en andra icke-dirigerad En röd lampa som blixtrar i det ögonblick nĂ€r en strĂ„le frĂ„n en fyr "passerar" riktningen mot norr. Eftersom blixtrarnas period och fyrens koordinater Ă€r kĂ€nda, kan man genom att mĂ€ta fördröjningen mellan den röda och gröna blixterns signaler berĂ€kna azimut mot norr. Det Ă€r enkelt. Ă terstĂ„r att göra samma sak, men med hjĂ€lp av radio. Detta löstes genom att förĂ€ndra faser. För överföringen anvĂ€nds tvĂ„ signaler: den första fasen Ă€r konstant (referens), den andra fasen (variabel) Ă€ndras i en komplex mönster beroende pĂ„ sĂ€ndningsriktningen â varje vinkel motsvarar sin egen fasförskjutning. DĂ€rmed kommer varje mottagare att ta emot signalen med sin "egna" fasförskjutning, proportionell mot azimutet mot fyren. Teknologin för "spatial modulerings" genomförs med hjĂ€lp av en speciell antenn (Alford Loop, se KDPV) och en sĂ€rskild, ganska smart modulering. Detta Ă€r faktiskt Ă€mnet för denna artikel.
LĂ„t oss förestĂ€lla oss att vi har en vanlig Ă€ldre fyr som har varit i drift sedan 50-talet och sĂ€nder signaler med vanlig AM-modulering pĂ„ morsealfabetet. Förmodligen, för lĂ€nge sedan, lyssnade navigatören verkligen pĂ„ dessa signaler i hörlurar och noterade riktningarna med linjal och passare pĂ„ kartan. Vi vill lĂ€gga till nya funktioner till signalen, men utan att "störta" kompatibiliteten med de gamla. Temat Ă€r bekant, inget Ă€r nytt... Detta gjordes pĂ„ följande sĂ€tt â en lĂ„g frekvens pĂ„ 30 Hz lades till AM-signalen, som fungerar som referensfas-signal, och en högfrekvent komponent, kodad med frekvensmodulering pĂ„ 9,96 kHz, som överför den variabla fas-signalen. Genom att isolera tvĂ„ signaler och jĂ€mföra faserna fĂ„r vi den eftersökta vinkeln frĂ„n 0 till 360 grader, som Ă€r den önskade azimutet. Detta hindrar inte att man kan lyssna pĂ„ fyren "normalt" och förblir kompatibelt med gamla AM-mottagare.
LÄt oss gÄ frÄn teori till praktik. Vi startar en SDR-mottagare, vÀljer AM-modulering och en bandbredd pÄ 12 kHz. Fyrfrekvenserna för VOR kan enkelt hittas online. PÄ spektrumet ser signalen ut pÄ följande sÀtt:

I detta fall överförs fyrens signal pĂ„ frekvensen 113,950 MHz. I mitten syns en lĂ€tt igenkĂ€nnbar linje av amplitudmodulering och morse-signaler (.- â ⊠som betyder AMS, Amsterdam, flygplats Schiphol). Runt omkring, pĂ„ ett avstĂ„nd av 9,6 kHz frĂ„n bĂ€rfrekvensen, syns tvĂ„ toppar som överför den andra signalen.
LĂ„t oss spela in signalen i WAV (inte MP3 â komprimering med förlust "dödar" hela signalens struktur) och öppna den i GNU Radio.
Avkodning
Steg 1. Vi öppnar filen med den inspelade signalen och tillÀmpar ett lÄgpassfilter för att fÄ den första referenssignalen. Graph GNU Radio visas i bilden.

Resultat: lÄgfreqentssignal med 30 Hz.

Steg 2: vi avkodar variabel fas signal. Som nÀmnts tidigare ligger den pÄ en frekvens av 9,96 kHz, vi behöver flytta den till nollfrekvensen och mata in den i FM-demodulatorn.
Graf GNU Radio:

Det Àr klart, uppgiften Àr löst. Vi ser tvÄ signaler vars fasdiff Àr indikatorn pÄ vinkeln frÄn mottagaren till VOR-mÀrket:

Signalen Àr ganska brusig, och för den slutliga berÀkningen av fasdifferensen kan det behövas ytterligare filtrering, men principen Àr förhoppningsvis klar. För dem som har glömt hur fasdifferensen berÀknas, Àr bilden frÄn :

Som tur Àr behöver allt detta inte göras manuellt: det finns redan en i Python, som avkodar VOR-signaler frÄn WAV-filer. Faktum Àr att dess studier och inspiration fick mig att börja studera detta Àmne.
De som Àr intresserade kan köra programmet i konsolen och fÄ den fÀrdiga vinkeln i grader frÄn den redan inspelade filen:

Flygentusiaster kan till och med göra en portabel mottagare av RTL-SDR och Raspberry Pi. För övrigt ser denna indikator ut ungefÀr sÄ hÀr pÄ ett "riktigt" flygplan:

Image ©
Slutsats
SÄdana signaler "frÄn förr" Àr definitivt intressanta för analys. För det första Àr de tillrÀckligt enkla, den moderna DRM eller Ànnu mer GSM kan redan inte avkodas sÄ hÀr "bara". De Àr öppna för mottagning, de innehÄller inga nycklar eller kryptering. För det andra Àr det möjligt att de i framtiden kommer att försvinna och ersÀttas av satellitnavigation och mer moderna digitala system. För det tredje gör studiet av sÄdana standarder det möjligt att fÄ intressanta tekniska och historiska detaljer om hur problem löses med olika schematik och komponentbaser frÄn förra seklet. SÄ Àgare av mottagare kan uppmanas att ta emot sÄdana signaler sÄ lÀnge de fungerar.
Som vanligt, lycka till med experimenten.
KĂ€lla: habr.com
