Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

Hei Habr!

În prezent, nu există multe standarde de comunicare care, pe de o parte, sunt curioase și interesante, pe de altă parte, descrierea lor nu ocupă 500 de pagini în format PDF. Un astfel de semnal care este ușor de decodat este semnalul VHF Omni-directional Radio Beacon (VOR) utilizat în navigația aeriană.

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio
VOR Beacon (c) wikimedia.org

În primul rând, o întrebare pentru cititori: cum se generează un semnal, astfel încât direcția să poată fi determinată folosind o antenă de recepție omnidirecțională? Răspunsul este sub tăietură.

Informații generale

Sistem Interval omnidirecțional de frecvență foarte înaltă (VOR) a fost folosit pentru navigația aeriană încă din anii 50 ai secolului trecut și este format din radiofaruri cu rază relativ scurtă de acțiune (100-200 km), care funcționează în intervalul de frecvență VHF 108-117 MHz. Acum, în epoca gigahertzului, numele de frecvență foarte înaltă în raport cu astfel de frecvențe sună amuzant și în sine vorbește despre vârstă acest standard, dar apropo, balizele încă funcționează NDB, care operează în domeniul undelor medii 400-900 kHz.

Plasarea unei antene direcționale pe un avion este incomod din punct de vedere structural, așa că a apărut problema modului de codificare a informațiilor despre direcția către far în semnalul în sine. Principiul de funcționare „pe degete” poate fi explicat după cum urmează. Să ne imaginăm că avem un far obișnuit care emite un fascicul îngust de lumină verde, a cărui lampă se rotește o dată pe minut. Evident, o dată pe minut vom vedea un fulger de lumină, dar un astfel de bliț nu poartă prea multe informații. Să adăugăm un al doilea la far nedirectional o lampă roșie care clipește în momentul în care fasciculul farului „trece” direcția spre nord. Deoarece se cunoaște perioada fulgerelor și coordonatele farului; calculând întârzierea dintre fulgerările roșii și verzi, puteți afla azimutul spre nord. E simplu. Rămâne să faci același lucru, dar folosind radioul. S-a rezolvat prin schimbarea fazelor. Pentru transmisie sunt folosite două semnale: faza primului este constantă (de referință), faza celui de-al doilea (variabilă) se modifică într-un mod complex în funcție de direcția radiației - fiecare unghi are propriul său defazaj. Astfel, fiecare receptor va primi un semnal cu „propriul” defazaj, proporțional cu azimutul farului. Tehnologia „modulației spațiale” este realizată folosind o antenă specială (Alford Loop, vezi KDPV) și o modulare specială, destul de complicată. Care este de fapt subiectul acestui articol.

Să ne imaginăm că avem un far obișnuit, care funcționează din anii 50 și care transmite semnale în modulație AM obișnuită în cod Morse. Probabil că, pe vremuri, navigatorul a ascultat efectiv aceste semnale în căști și a marcat direcțiile cu o riglă și o busolă pe hartă. Dorim să adăugăm noi funcții semnalului, dar în așa fel încât să nu „rupem” compatibilitatea cu cele vechi. Subiectul este familiar, nimic nou... S-a făcut în felul următor - semnalului AM a fost adăugat un ton de joasă frecvență de 30 Hz, îndeplinind funcția de semnal de fază de referință, și o componentă de înaltă frecvență, codificată după frecvență. modulație la o frecvență de 9.96 KHz, transmitând un semnal de fază variabilă. Selectând două semnale și comparând fazele, obținem unghiul dorit de la 0 la 360 de grade, care este azimutul dorit. În același timp, toate acestea nu vor interfera cu ascultarea farului „în mod obișnuit” și rămân compatibile cu receptoarele AM ​​mai vechi.

Să trecem de la teorie la practică. Să lansăm receptorul SDR, să selectăm modulația AM și lățimea de bandă de 12 KHz. Frecvențele balizelor VOR pot fi găsite cu ușurință online. Pe spectru, semnalul arată astfel:

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

În acest caz, semnalul de baliză este transmis la o frecvență de 113.950 MHz. În centru puteți vedea linia de modulație a amplitudinii ușor de recunoscut și semnalele de cod Morse (.- - ... ceea ce înseamnă AMS, Amsterdam, Aeroportul Schiphol). În jurul valorii de la o distanță de 9.6 KHz de purtător, sunt vizibile două vârfuri care transmit al doilea semnal.

Să înregistrăm semnalul în WAV (nu MP3 - compresia cu pierderi va „ucide” întreaga structură a semnalului) și să-l deschidem în GNU Radio.

Decodare

Pasul 1. Să deschidem fișierul cu semnalul înregistrat și să îi aplicăm un filtru trece jos pentru a obține primul semnal de referință. Graficul GNU Radio este prezentat în figură.

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

Rezultat: semnal de joasă frecvență la 30 Hz.

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

Pasul 2: decodifică semnalul de fază variabilă. După cum s-a menționat mai sus, este situat la o frecvență de 9.96 KHz, trebuie să-l mutăm la frecvența zero și să-l transmitem demodulatorului FM.

Graficul GNU Radio:

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

Gata, problema rezolvata. Vedem două semnale, a căror diferență de fază indică unghiul de la receptor la farul VOR:

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

Semnalul este destul de zgomotos și poate fi necesară o filtrare suplimentară pentru a calcula în final diferența de fază, dar sper că principiul este clar. Pentru cei care au uitat cum se determină diferența de fază, o poză din aviation.stackexchange.com:

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

Din fericire, nu trebuie să faceți toate acestea manual: există deja proiect finalizat în Python, decodificarea semnalelor VOR din fișierele WAV. De fapt, studiul lui m-a inspirat să studiez acest subiect.

Cei interesați pot rula programul în consolă și pot obține unghiul final în grade din fișierul deja înregistrat:

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio

Fanii aviației își pot crea chiar și propriul receptor portabil folosind un RTL-SDR și un Raspberry Pi. Apropo, pe un plan „real” acest indicator arată cam așa:

Determinarea direcției către aeroport folosind RTL-SDR și GNU Radio
Imagine © www.aopa.org

Concluzie

Astfel de semnale „din secolul trecut” sunt cu siguranță interesante pentru analiză. În primul rând, sunt destul de simple, moderne DRM sau, mai ales, GSM, nu se mai poate decoda „pe degete”. Sunt deschise acceptării și nu au chei sau criptografie. În al doilea rând, poate că în viitor vor deveni istorie și vor fi înlocuite de navigație prin satelit și sisteme digitale mai moderne. În al treilea rând, studierea unor astfel de standarde vă permite să aflați detalii tehnice și istorice interesante despre cum au fost rezolvate problemele folosind alte circuite și elemente de bază ale secolului trecut. Astfel, proprietarii de receptori pot fi sfătuiți să primească astfel de semnale în timp ce încă lucrează.

Ca de obicei, experimente fericite tuturor.

Sursa: www.habr.com

Adauga un comentariu