Tere Habr!
Praegu ei ole nii palju suhtlusstandardeid, mis ühelt poolt oleksid uudishimulikud ja huvitavad, teisalt ei võta nende kirjeldus PDF-vormingus 500 lehekülge. Üks neist, mida on lihtne dekodeerida, on VHF Omni-directional Radio Beacon (VOR) signaal, mida kasutatakse aeronavigatsioonis.
VOR Beacon (c) wikimedia.org
Alustuseks küsimus lugejatele - kuidas moodustada signaal nii, et mitmesuunalise vastuvõtuantenni abil oleks võimalik suunda määrata? Vastus on lõike all.
Üldine teave
Süsteem
Suunaantenni paigutamine lennukile on ehituslikult ebamugav, mistõttu tekkis probleem, kuidas kodeerida signaali endasse infot majaka suuna kohta. Tööpõhimõtet "sõrmedel" saab selgitada järgmiselt. Kujutame ette, et meil on tavaline majakas, mis saadab välja kitsa rohelise valgusvihu, mille lamp pöörleb 1 kord minutis. Ilmselgelt näeme kord minutis valgussähvatust, kuid üks selline välk ei kanna palju informatsiooni. Lisame tuletornile teise mittesuunatud punane lamp, mis vilgub hetkel, kui majakakiir "läbib" suuna põhja poole. Sest välguperiood ja majaka koordinaadid on teada, punaste ja roheliste välkude vahelise viivituse arvutamisel saate leida asimuudi põhja suunas. Kõik on lihtne. Jääb teha sama, kuid raadio abiga. See lahendati faaside muutmisega. Ülekandmiseks kasutatakse kahte signaali: esimese faas on konstantne (referents), teise faas (muutuv) muutub sõltuvalt kiirguse suunast kompleksselt - igal nurgal on oma faasinihe. Seega saab iga vastuvõtja signaali, millel on "oma" faasinihe, mis on võrdeline majaka asimuutiga. "Ruumimodulatsiooni" tehnoloogia viiakse läbi spetsiaalse antenni (Alford Loop, vt KDPV) ja spetsiaalse, üsna keeruka modulatsiooni abil. Mis on tegelikult selle artikli teema.
Kujutagem ette, et meil on tavaline pärandmajakas, mis on töötanud alates 50ndatest ja edastab signaale tavalises morsekoodis AM-modulatsioonis. Küllap kunagi ammu navigaator tõesti kuulas neid signaale kõrvaklappidest ja märkis joonlaua ja kompassiga kaardile suunad. Soovime signaalile lisada uusi funktsioone, kuid nii, et see ei "murda" ühilduvust vanadega. Teema tuttav, ei midagi uut ... Tehti nii - AM signaalile lisati madalsageduslik 30 Hz toon, mis toimib võrdlusfaasi signaalina ja kõrgsageduslik komponent, mis kodeeriti sagedusmodulatsiooniga kl. sagedusega 9.96 kHz, edastades muutuva faasiga signaali. Valides kaks signaali ja võrreldes faase, saame soovitud nurga vahemikus 0 kuni 360 kraadi, mis on soovitud asimuut. Samas ei sega see kõik majaka "tavapärasel viisil" kuulamist ja jääb ühilduma vanade AM-ressiiveritega.
Liigume teoorialt praktikale. Käivitame SDR-vastuvõtja, valime AM-modulatsiooni ja ribalaiuse 12 kHz. VOR-majaka sagedusi saab hõlpsasti veebist leida. Spektril näeb signaal välja selline:
Sel juhul edastatakse majakasignaali sagedusel 113.950 MHz. Keskel on näha kergesti äratuntav amplituudmodulatsiooniliin ja Morse koodi signaalid (.- - ... mis tähendab AMS, Amsterdam, Schipholi lennujaam). Umbes 9.6 kHz kaugusel kandjast on näha kaks piiki, mis edastavad teist signaali.
Salvestame signaali WAV-vormingus (mitte MP3-s – kadudega pakkimine "tapab" kogu signaali struktuuri) ja avame selle GNU raadios.
Dekodeerimine
Samm 1. Avame salvestatud signaaliga faili ja rakendame sellele madalpääsfiltri, et saada esimene võrdlussignaal. GNU raadio graafik on näidatud joonisel.
Tulemus: madalsageduslik signaal sagedusega 30 Hz.
Samm 2: muutuva faasi signaali dekodeerimine. Nagu eespool mainitud, asub see sagedusel 9.96 kHz, peame selle nullsagedusele üle kandma ja FM-demodulaatorisse söötma.
GNU raadio graafik:
Kõik, ülesanne on lahendatud. Näeme kahte signaali, mille faaside erinevus näitab nurka vastuvõtja ja VOR-majaka vahel:
Signaal on üsna mürarikas ja faasierinevuse lõplikuks arvutamiseks võib vaja minna täiendavat filtreerimist, kuid põhimõte on loodetavasti selge. Neile, kes on unustanud, kuidas faasierinevust määratakse, on pilt pärit
Õnneks ei saa seda kõike käsitsi teha: see on juba olemas
Soovijad saavad programmi konsoolis käivitada ja juba salvestatud failist valmis nurga kraadides kätte saada:
Lennundusfännid saavad RTL-SDR-i ja Raspberry Pi abil isegi oma kaasaskantava vastuvõtja teha. Muide, "päris" lennukil näeb see indikaator välja umbes selline:
Pilt ©
Järeldus
Sellised signaalid "eelmisest sajandist" on kindlasti analüüsimiseks huvitavad. Esiteks on need üsna lihtsad, kaasaegsed DRM-id või veelgi enam GSM-id, nii et niimoodi "näppude peal" on võimatu dekodeerida. Need on vastuvõtuks avatud, neil puuduvad võtmed ja krüptograafia. Teiseks saavad need ehk tulevikus ajalooks ning asenduvad satelliitnavigatsiooni ja moodsamate digisüsteemidega. Kolmandaks võimaldab selliste standardite uurimine leida huvitavaid tehnilisi ja ajaloolisi üksikasju selle kohta, kuidas probleeme lahendati eelmise sajandi teiste vooluahelate ja elementide baasil. Seega võib vastuvõtjate omanikele soovitada selliseid signaale vastu võtta, kui nad veel töötavad.
Nagu tavaliselt, edu katsetel.
Allikas: www.habr.com