Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

Hej Habr!

För närvarande finns det inte många kommunikationsstandarder som å ena sidan är nyfikna och intressanta, å andra sidan tar deras beskrivning inte 500 sidor i PDF-format. En sådan signal som är lätt att avkoda är VHF Omni-directional Radio Beacon (VOR)-signalen som används i flygnavigering.

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio
VOR Beacon (c) wikimedia.org

Först en fråga till läsarna: hur genererar man en signal så att riktningen kan bestämmas med hjälp av en rundstrålande mottagarantenn? Svaret är under snittet.

Allmän information

System Mycket högfrekvent rundstrålande område (VOR) har använts för flygnavigering sedan 50-talet av förra seklet, och består av radiofyrar med relativt kort räckvidd (100-200 km), som arbetar i VHF-frekvensområdet 108-117 MHz. Nu, i gigahertz tid, låter namnet mycket hög frekvens i förhållande till sådana frekvenser roligt och talar i sig om ålder denna standard, men förresten, beacons fungerar fortfarande NDB, som arbetar i mellanvågsområdet 400-900 kHz.

Att placera en riktad antenn på ett flygplan är strukturellt obekvämt, så problemet uppstod med hur man kodar information om riktningen till fyren i själva signalen. Funktionsprincipen "på fingrarna" kan förklaras enligt följande. Låt oss föreställa oss att vi har en vanlig fyr som sänder ut en smal stråle av grönt ljus, vars lampa roterar 1 gång per minut. Uppenbarligen kommer vi att se en ljusblixt en gång i minuten, men en sådan blixt bär inte mycket information. Låt oss lägga till en andra till fyren oriktad en röd lampa som blinkar i det ögonblick då fyrstrålen ”passerar” riktningen mot norr. Därför att blinkarnas period och fyrens koordinater är kända; genom att beräkna fördröjningen mellan de röda och gröna blinkningarna kan du ta reda på azimuten i norr. Det är enkelt. Det återstår att göra samma sak, men att använda radion. Detta löstes genom att ändra faserna. Två signaler används för överföring: fasen för den första är konstant (referens), fasen för den andra (variabel) ändras på ett komplext sätt beroende på strålningens riktning - varje vinkel har sin egen fasförskjutning. Således kommer varje mottagare att ta emot en signal med sin "egen" fasförskjutning, proportionell mot azimuten till fyren. Tekniken för "spatial modulering" utförs med en speciell antenn (Alford Loop, se KDPV) och en speciell, ganska knepig modulering. Vilket faktiskt är ämnet för den här artikeln.

Låt oss föreställa oss att vi har en vanlig legacy beacon, som fungerar sedan 50-talet, och sänder signaler i vanlig AM-modulation i morsekod. Förmodligen, en gång i tiden, lyssnade navigatören faktiskt på dessa signaler i hörlurar och markerade riktningarna med linjal och kompass på kartan. Vi vill lägga till nya funktioner till signalen, men på ett sådant sätt att inte "bryta" kompatibiliteten med de gamla. Ämnet är bekant, inget nytt... Det gjordes enligt följande - en lågfrekvent 30 Hz-ton lades till AM-signalen, som utförde funktionen av en referensfassignal och en högfrekvent komponent, kodad av frekvens modulering vid en frekvens på 9.96 KHz, sänder en variabel fassignal. Genom att välja två signaler och jämföra faserna får vi den önskade vinkeln från 0 till 360 grader, vilket är den önskade azimuten. Samtidigt kommer allt detta inte att störa att lyssna på beacon "på vanligt sätt" och förblir kompatibelt med äldre AM-mottagare.

Låt oss gå från teori till praktik. Låt oss starta SDR-mottagaren, välj AM-modulation och 12 KHz bandbredd. VOR beacon frekvenser kan lätt hittas online. På spektrumet ser signalen ut så här:

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

I detta fall sänds beacon-signalen med en frekvens på 113.950 MHz. I mitten kan du se den lätt igenkännliga amplitudmodulationslinjen och morsekodsignaler (.- - ... vilket betyder AMS, Amsterdam, Schiphol flygplats). Runt på ett avstånd av 9.6 KHz från bärvågen är två toppar synliga som sänder den andra signalen.

Låt oss spela in signalen i WAV (inte MP3 - förlustkompression kommer att "döda" hela strukturen av signalen) och öppna den i GNU Radio.

Avkodning

Steg 1. Låt oss öppna filen med den inspelade signalen och applicera ett lågpassfilter på den för att få den första referenssignalen. GNU Radio-grafen visas i figuren.

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

Resultat: lågfrekvent signal vid 30 Hz.

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

Steg 2: avkoda signalen med variabel fas. Som nämnts ovan ligger den vid en frekvens på 9.96 KHz, vi måste flytta den till nollfrekvensen och mata den till FM-demodulatorn.

GNU Radiograf:

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

Det var allt, problemet löst. Vi ser två signaler, vars fasskillnad indikerar vinkeln från mottagaren till VOR-fyren:

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

Signalen är ganska brusig, och ytterligare filtrering kan krävas för att slutligen beräkna fasskillnaden, men jag hoppas att principen är tydlig. För den som har glömt hur fasskillnaden bestäms, en bild från aviation.stackexchange.com:

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

Lyckligtvis behöver du inte göra allt detta manuellt: det finns redan avslutat projekt i Python, avkodar VOR-signaler från WAV-filer. Egentligen inspirerade hans studie mig att studera detta ämne.

Den som är intresserad kan köra programmet i konsolen och få den färdiga vinkeln i grader från den redan inspelade filen:

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio

Flygfantaster kan till och med göra sin egen bärbara mottagare med en RTL-SDR och en Raspberry Pi. Förresten, på ett "riktigt" plan ser denna indikator ut ungefär så här:

Bestämma riktningen till flygplatsen med RTL-SDR och GNU Radio
Bild © www.aopa.org

Slutsats

Sådana signaler "från förra seklet" är definitivt intressanta för analys. För det första är de ganska enkla, moderna DRM eller, särskilt, GSM, det är inte längre möjligt att avkoda "på fingrarna". De är öppna för acceptans och har inga nycklar eller kryptografi. För det andra kanske de i framtiden kommer att bli historia och ersättas av satellitnavigering och modernare digitala system. För det tredje, genom att studera sådana standarder kan du lära dig intressanta tekniska och historiska detaljer om hur problem löstes med andra kretsar och elementbas från förra seklet. Mottagareägare kan därför rådas att ta emot sådana signaler medan de fortfarande arbetar.

Som vanligt, glada experiment alla.

Källa: will.com

Lägg en kommentar