Hej Habra!
Obecnie nie ma wielu standardów komunikacji, które z jednej strony są ciekawe i ciekawe, z drugiej zaś ich opis nie zajmuje 500 stron w formacie PDF. Jednym z takich sygnałów, który jest łatwy do zdekodowania, jest wielokierunkowy sygnał radiolatarni VHF (VOR) używany w nawigacji lotniczej.
VOR Beacon (c) wikimedia.org
Na początek pytanie do czytelników: jak wygenerować sygnał, aby można było określić kierunek za pomocą dookólnej anteny odbiorczej? Odpowiedź znajduje się pod nacięciem.
Informacje ogólne
System
Umieszczenie anteny kierunkowej na samolocie jest konstrukcyjnie niewygodne, dlatego pojawił się problem zakodowania w samym sygnale informacji o kierunku do latarni. Zasadę działania „na palcach” można wyjaśnić w następujący sposób. Wyobraźmy sobie, że mamy zwykłą latarnię morską, która wysyła wąską wiązkę zielonego światła, której lampa obraca się 1 raz na minutę. Oczywiście raz na minutę zobaczymy błysk światła, ale jeden taki błysk nie niesie ze sobą zbyt wielu informacji. Dodajmy drugi do sygnalizatora bezkierunkowe czerwona lampa, która miga w momencie, gdy promień latarni morskiej „przechodzi” w kierunku północnym. Ponieważ znany jest okres błysków i współrzędne latarni, obliczając opóźnienie między czerwonymi i zielonymi błyskami, możesz poznać azymut na północ. To proste. Pozostaje zrobić to samo, ale za pomocą radia. Problem rozwiązano poprzez zmianę faz. Do transmisji wykorzystywane są dwa sygnały: faza pierwszego jest stała (odniesienie), faza drugiego (zmienna) zmienia się w sposób złożony w zależności od kierunku promieniowania – każdy kąt ma swoje przesunięcie fazowe. W ten sposób każdy odbiornik otrzyma sygnał z „własnym” przesunięciem fazowym, proporcjonalnym do azymutu latarni. Technologia „modulacji przestrzennej” realizowana jest przy użyciu specjalnej anteny (Alford Loop, patrz KDPV) i specjalnej, dość skomplikowanej modulacji. Co właściwie jest tematem tego artykułu.
Wyobraźmy sobie, że mamy zwykłą starą latarnię morską, działającą od lat 50. XX wieku i nadającą sygnały w zwykłej modulacji AM w kodzie Morse'a. Prawdopodobnie kiedyś nawigator rzeczywiście słuchał tych sygnałów w słuchawkach i zaznaczał kierunki za pomocą linijki i kompasu na mapie. Chcemy dodać do sygnału nowe funkcje, ale w taki sposób, aby nie „zepsuć” kompatybilności ze starymi. Temat znany, nic nowego... Zrobiono to w następujący sposób - do sygnału AM dodano ton o niskiej częstotliwości 30 Hz, pełniący funkcję sygnału fazy odniesienia, oraz składową wysokiej częstotliwości, kodowaną częstotliwościowo modulacja na częstotliwości 9.96 kHz, przesyłająca sygnał o zmiennej fazie. Wybierając dwa sygnały i porównując fazy, uzyskujemy pożądany kąt od 0 do 360 stopni, czyli pożądany azymut. Jednocześnie wszystko to nie będzie przeszkadzało w słuchaniu beacona „w zwykły sposób” i pozostanie kompatybilne ze starszymi odbiornikami AM.
Przejdźmy od teorii do praktyki. Uruchommy odbiornik SDR, wybierzmy modulację AM i pasmo 12 kHz. Częstotliwości radiolatarni VOR można łatwo znaleźć w Internecie. Na widmie sygnał wygląda następująco:
W tym przypadku sygnał ostrzegawczy nadawany jest na częstotliwości 113.950 MHz. W centrum widać łatwo rozpoznawalną linię modulacji amplitudy i sygnały alfabetu Morse'a (.- - ... co oznacza AMS, Amsterdam, lotnisko Schiphol). Mniej więcej w odległości 9.6 kHz od nośnej widoczne są dwa piki transmitujące drugi sygnał.
Nagrajmy sygnał w formacie WAV (nie MP3 – kompresja stratna „zabije” całą strukturę sygnału) i otwórzmy go w GNU Radio.
Rozszyfrowanie
Krok 1. Otwórzmy plik z zarejestrowanym sygnałem i zastosujmy do niego filtr dolnoprzepustowy, aby uzyskać pierwszy sygnał odniesienia. Wykres GNU Radio pokazano na rysunku.
Wynik: sygnał o niskiej częstotliwości przy 30 Hz.
Krok 2: dekodowanie sygnału o zmiennej fazie. Jak wspomniano powyżej, znajduje się on na częstotliwości 9.96 kHz, musimy go przesunąć do częstotliwości zerowej i zasilić demodulator FM.
Wykres radia GNU:
To wszystko, problem rozwiązany. Widzimy dwa sygnały, których różnica faz wskazuje kąt od odbiornika do latarni VOR:
Sygnał jest dość zaszumiony i do ostatecznego obliczenia różnicy faz może być konieczne dodatkowe filtrowanie, ale mam nadzieję, że zasada jest jasna. Dla tych, którzy zapomnieli, jak określa się różnicę faz, zdjęcie z
Na szczęście nie musisz robić tego wszystkiego ręcznie: istnieje już taka możliwość
Zainteresowani mogą uruchomić program w konsoli i uzyskać gotowy kąt w stopniach z już nagranego pliku:
Fani lotnictwa mogą nawet stworzyć własny przenośny odbiornik, korzystając z RTL-SDR i Raspberry Pi. Nawiasem mówiąc, na „prawdziwym” samolocie wskaźnik ten wygląda mniej więcej tak:
Zdjęcie ©
wniosek
Takie sygnały „z ubiegłego stulecia” z pewnością są interesujące do analizy. Po pierwsze, są to dość proste, nowoczesne DRM, a zwłaszcza GSM, których nie da się już rozszyfrować „na palcach”. Są otwarte na akceptację i nie mają kluczy ani kryptografii. Po drugie, być może w przyszłości przejdą one do historii i zostaną zastąpione nawigacją satelitarną i nowocześniejszymi systemami cyfrowymi. Po trzecie, studiowanie takich standardów pozwala poznać interesujące szczegóły techniczne i historyczne dotyczące rozwiązywania problemów przy użyciu innych obwodów i podstaw elementów z ubiegłego wieku. Właścicielom odbiorników można zatem doradzić, aby odbierali takie sygnały w trakcie pracy.
Jak zwykle życzę wszystkim udanych eksperymentów.
Źródło: www.habr.com