Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

Hey Habr!

Derzeit gibt es nicht so viele Kommunikationsstandards, die einerseits neugierig und interessant sind, andererseits deren Beschreibung nicht 500 Seiten im PDF-Format einnimmt. Eines davon, das leicht zu entschlüsseln ist, ist das VHF Omni-Directional Radio Beacon (VOR)-Signal, das in der Flugnavigation verwendet wird.

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio
VOR-Beacon (c) wikimedia.org

Zunächst eine Frage an die Leser: Wie formt man ein Signal, damit mit Hilfe einer omnidirektionalen Empfangsantenne die Richtung bestimmt werden kann? Die Antwort liegt unter dem Schnitt.

Allgemeine Informationen

System Omnidirektionaler Bereich mit sehr hoher Frequenz (VOR) wird seit den 50er Jahren des letzten Jahrhunderts für die Flugnavigation eingesetzt und besteht aus Funkfeuern mit relativ kurzer Reichweite (100–200 km), die im UKW-Frequenzbereich von 108–117 MHz betrieben werden. Jetzt, im Zeitalter von Gigahertz, klingt der Name „sehr hohe Frequenz“ im Verhältnis zu solchen Frequenzen komisch und ist an sich schon sprechend Alter dieses Standards, aber Beacons funktionieren übrigens immer noch NDBBetrieb im Mittelwellenbereich von 400-900 kHz.

Die Platzierung einer Richtantenne in einem Flugzeug ist strukturell unpraktisch, daher entstand das Problem, wie Informationen über die Richtung zum Leuchtfeuer im Signal selbst kodiert werden können. Das Funktionsprinzip „an den Fingern“ lässt sich wie folgt erklären. Stellen wir uns vor, wir hätten ein gewöhnliches Leuchtfeuer, das einen schmalen grünen Lichtstrahl aussendet, dessen Lampe sich einmal pro Minute dreht. Natürlich sehen wir einmal pro Minute einen Lichtblitz, aber ein solcher Blitz trägt nicht viele Informationen. Fügen wir dem Leuchtturm einen zweiten hinzu Nichtrichtungs eine rote Lampe blinkt in dem Moment, in dem der Leuchtfeuerstrahl die Richtung nach Norden „durchläuft“. Weil Die Blitzperiode und die Bakenkoordinaten sind bekannt. Durch Berechnen der Verzögerung zwischen roten und grünen Blitzen können Sie den Azimut nach Norden ermitteln. Alles ist einfach. Es bleibt das Gleiche zu tun, aber mit Hilfe des Radios. Dies wurde durch den Wechsel der Phasen gelöst. Zur Übertragung werden zwei Signale verwendet: Die Phase des ersten ist konstant (Referenz), die Phase des zweiten (Variable) ändert sich auf komplexe Weise je nach Abstrahlrichtung – jeder Winkel hat seine eigene Phasenverschiebung. Somit empfängt jeder Empfänger ein Signal mit „seiner“ Phasenverschiebung, die proportional zum Azimut der Bake ist. Die Technologie der „räumlichen Modulation“ wird mithilfe einer speziellen Antenne (Alford Loop, siehe KDPV) und einer speziellen, eher kniffligen Modulation durchgeführt. Das ist eigentlich das Thema dieses Artikels.

Stellen wir uns vor, wir hätten ein gewöhnliches Legacy-Beacon, das seit den 50er Jahren in Betrieb ist und Signale in der üblichen AM-Modulation im Morsecode sendet. Wahrscheinlich hat der Navigator diese Signale einmal wirklich über Kopfhörer gehört und die Richtungen mit einem Lineal und einem Kompass auf der Karte markiert. Wir möchten dem Signal neue Funktionen hinzufügen, jedoch auf eine Weise, die die Kompatibilität mit den alten nicht „bricht“. Das Thema ist bekannt, nichts Neues ... Es wurde wie folgt vorgegangen: Dem AM-Signal, das als Referenzphasensignal fungiert, wurde ein niederfrequenter 30-Hz-Ton und eine durch Frequenzmodulation kodierte Hochfrequenzkomponente hinzugefügt eine Frequenz von 9.96 kHz, die ein Signal mit variabler Phase überträgt. Durch Auswahl zweier Signale und Vergleich der Phasen erhalten wir den gewünschten Winkel von 0 bis 360 Grad, also den gewünschten Azimut. Gleichzeitig beeinträchtigt dies alles nicht das Abhören des Beacons „in gewohnter Weise“ und bleibt mit alten AM-Empfängern kompatibel.

Kommen wir von der Theorie zur Praxis. Starten wir den SDR-Empfänger, wählen wir die AM-Modulation und die Bandbreite von 12 kHz. VOR-Beacon-Frequenzen können leicht im Internet gefunden werden. Im Spektrum sieht das Signal so aus:

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

In diesem Fall wird das Beacon-Signal mit einer Frequenz von 113.950 MHz gesendet. In der Mitte sind die leicht erkennbare Amplitudenmodulationslinie und die Morsezeichensignale (.- - ... was AMS, Amsterdam, Flughafen Schiphol bedeutet) zu sehen. Etwa im Abstand von 9.6 kHz vom Träger sind zwei Spitzen sichtbar, die das zweite Signal übertragen.

Nehmen wir das Signal in WAV auf (nicht MP3 – verlustbehaftete Komprimierung „tötet“ die gesamte Struktur des Signals) und öffnen wir es in GNU Radio.

Dekodierung

Schritt 1. Öffnen wir die Datei mit dem aufgezeichneten Signal und wenden einen Tiefpassfilter darauf an, um das erste Referenzsignal zu erhalten. Das GNU-Radio-Diagramm ist in der Abbildung dargestellt.

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

Ergebnis: ein Niederfrequenzsignal mit einer Frequenz von 30 Hz.

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

Schritt 2: Dekodieren Sie das Signal mit variabler Phase. Wie oben erwähnt liegt es bei einer Frequenz von 9.96 kHz, wir müssen es auf die Nullfrequenz übertragen und dem FM-Demodulator zuführen.

GNU-Radiodiagramm:

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

Alles, die Aufgabe ist gelöst. Wir sehen zwei Signale, deren Phasendifferenz den Winkel vom Empfänger zum VOR angibt:

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

Das Signal ist ziemlich verrauscht und für die endgültige Berechnung der Phasendifferenz ist möglicherweise eine zusätzliche Filterung erforderlich, aber das Prinzip ist hoffentlich klar. Für diejenigen, die vergessen haben, wie die Phasendifferenz bestimmt wird, das Bild stammt von Aviation.stackexchange.com:

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

Glücklicherweise kann dies alles nicht manuell durchgeführt werden: Es gibt bereits eine fertiges Projekt in Python, das VOR-Signale aus WAV-Dateien dekodiert. Tatsächlich hat mich seine Studie dazu inspiriert, mich mit diesem Thema zu befassen.

Wer möchte, kann das Programm in der Konsole ausführen und den fertigen Winkel in Grad aus der bereits aufgezeichneten Datei erhalten:

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio

Luftfahrtfans können mit einem RTL-SDR und einem Raspberry Pi sogar ihren eigenen tragbaren Empfänger bauen. Bei einem „echten“ Flugzeug sieht dieser Indikator übrigens etwa so aus:

Bestimmen Sie die Richtung zum Flughafen mit RTL-SDR und GNU Radio
Bild © www.aopa.org

Abschluss

Solche Signale „aus dem letzten Jahrhundert“ sind für die Analyse durchaus interessant. Erstens handelt es sich um recht einfaches, modernes DRM oder noch mehr um GSM, sodass eine Dekodierung „an den Fingern“ auf diese Weise unmöglich ist. Sie sind für den Empfang geöffnet, sie haben keine Schlüssel und keine Kryptographie. Zweitens werden sie vielleicht in Zukunft Geschichte sein und durch Satellitennavigation und modernere digitale Systeme ersetzt werden. Drittens ermöglicht Ihnen das Studium solcher Standards, interessante technische und historische Details darüber herauszufinden, wie Probleme auf anderen Schaltkreisen und Elementbasis des letzten Jahrhunderts gelöst wurden. Besitzern von Receivern kann daher empfohlen werden, solche Signale zu empfangen, solange diese noch in Betrieb sind.

Wie immer viel Glück bei Ihren Experimenten.

Source: habr.com

Kommentar hinzufügen