Определяме посока към летището с помощта на RTL-SDR и GNU Radio

Здравей, Хабр!

В момента съществуват не толкова много стандарти за комуникация, които от една страна са любопитни и интересни, а от друга, тяхното описание не заема 500 страници във формат PDF. Един от тези, които лесно могат да се декодират, е сигналът VHF Omni-directional Radio Beacon (VOR), използван в аеронавигацията.

Определяме посока към летището с помощта на RTL-SDR и GNU Radio
VOR Beacon (с) wikimedia.org

Преди всичко, въпрос към читателите — как можем да формираме сигнал, така че с помощта на ненасочена приемна антена да можем да определяме посоката? Отговорът е под кат.

Обща информация

Система Very high frequency Omni-directional Range (VOR) се използва за аеронавигация още от 50-те години на миналия век и се състои от радионавигационни маяци с относително малък обхват (100-200 км), работещи в диапазона на честоти УКВ 108-117 MHz. В момента, в ерата на гигахерците, терминът много високочестотен звучи странно и сам по себе си подсказва за възрастта на този стандарт, но между другото, все още работят маяци NDB, работещи в диапазона на средни вълни 400-900 kHz.

Разположението на насочената антена на самолета е конструктивно неудобно, затова възниква задачата как да кодиране в самия сигнал информация за посоката към маяка. Принципът на работа „на пръстите“ може да бъде обяснен по следния начин. Да предположим, че имаме обикновен маяк, изпращащ тесен лъч зелен светлина, чиято лампа се върти 1 път в минута. Очевидно е, че веднъж в минута ще виждаме проблясък на светлината, но един такъв проблясък носи малко информация. Нека добавим към маяка втори ненасочен червен сигнал, който мига в момента, когато лъчът на маяка "преминава" посоката на север. Тъй като периодът на мигане и координатите на маяка са известни, изчислявайки закъснението между червеното и зеленото мигане, можем да определим азимута към север. Всичко е просто. Остава да направим същото, но с помощта на радиовълни. Това беше решено чрез промяна на фазите. За предаване се използват два сигнала: фазата на първия е постоянна (reference), а фазата на втория (variable) се променя по сложен начин в зависимост от посоката на излъчване — на всеки ъгъл съответства собствено изместване на фазата. Така всеки приемник ще получава сигнал с "досегашното" изместване на фазата, пропорционално на азимута към маяка. Технологията "пространствена модулация" се реализира с помощта на специална антена (Alford Loop, виж КДПВ) и специална, доста хитра модулация. Именно тя е темата на тази статия.

Нека си представим, че имаме обикновен legacy-майак, работещ от 50-те години и предаващ сигнали в обикновена АМ-модулация с азбука Морзе. Вероятно някога, наистина, штурман е слушал тези сигнали в слушалки и е отбелязвал посоките с линийка и циркул на картата. Искаме да добавим нови функции към сигнала, но така, че да "не нарушим" съвместимостта със старите. Темата е позната, нищо не е ново… Направено е следното — към АМ сигнала е добавен нискочестотен тон от 30 Hz, изпълняващ функцията на reference-phase сигнал, и височинно-частотна компонента, кодирана с честотна модулация на 9.96 kHz, предаваща variable phase сигнала. Чрез извличане на двата сигнала и сравняване на фазите, получаваме търсения ъгъл от 0 до 360 градуса, който е необходимият азимут. В същото време, всичко това не пречи да слушате маяка "по обичайния начин" и остава съвместимо с старите АМ приемници.

Преминаваме от теория към практика. Ще стартираме SDR-приемник, ще изберем АМ модулация и ширина на лента 12 kHz. Честотите на маяците VOR лесно могат да се открият в интернет. На спектъра сигналът изглежда по следния начин:

Определяме посока към летището с помощта на RTL-SDR и GNU Radio

В този случай сигналът на маяка се предава на честота 113.950 MHz. В центъра се вижда лесно разпознаваема линия на амплитудна модулация и сигнали с азбука Морзе (.- — … което означава AMS, Амстердам, летище Schiphol). Около на разстояние 9.6 kHz от носителя се виждат два пика, предаващи втория сигнал.

Ще запишем сигнала в WAV (не MP3 — компресия с загуба "убива" цялата структура на сигнала) и ще го отворим в GNU Radio.

Декодиране

Стъпка 1. Отворим файла с записания сигнал и ще приложим нискочестотен филтър, за да получим първия reference-сигнал. Графиката на GNU Radio е показана на изображението.

Определяме посока към летището с помощта на RTL-SDR и GNU Radio

Резултат: нискочестотен сигнал с честота 30 Hz.

Определяме посока към летището с помощта на RTL-SDR и GNU Radio

Стъпка 2: декодираме сигнала с променлива фаза. Както вече беше споменато, той е на честота 9.96 kHz, трябва да го прехвърлим на нулева честота и да го подадем на FM демодулация.

Графика на GNU Radio:

Определяме посока към летището с помощта на RTL-SDR и GNU Radio

Всичко, задачата е решена. Виждаме два сигнала, разликата във фазата на които указва ъгъла от приемника до VOR маякa:

Определяме посока към летището с помощта на RTL-SDR и GNU Radio

Сигналът е достатъчно шумен и за окончателното изчисление на разликата в фазата може да се наложи допълнителна филтрация, но принципът, надявам се, е ясен. За тези, които забравиха как се определя разликата в фазата, картинката от aviation.stackexchange.com:

Определяме посока към летището с помощта на RTL-SDR и GNU Radio

За щастие, всичко това не е необходимо да се прави на ръка: вече съществува подготвен проект на Python, който декодира сигнали VOR от WAV файлове. Всъщност, изучаването му ме вдъхнови да се запозная с тази тема.

Желаещите могат да стартират програмата в конзолата и да получат готов ъгъл в градуси от вече записан файл:

Определяме посока към летището с помощта на RTL-SDR и GNU Radio

Любителите на авиация дори могат да си направят портативен приемник от RTL-SDR и Raspberry Pi. Между другото, на "истински" самолет този индикатор изглежда по този начин:

Определяме посока към летището с помощта на RTL-SDR и GNU Radio
Image © www.aopa.org

Заключение

Подобни сигнали "от миналия век" определено са интересни за анализ. Първо, те са достатъчно прости, съвременният DRM или дори GSM, вече не могат да се декодират толкова "на пръстите". Те са отворени за приемане, в тях няма ключове и криптография. На второ място, е възможно в бъдеще да излязат в историята и да бъдат заменени със сателитна навигация и по-современни цифрови системи. На трето място, изучаването на такива стандарти позволява да се научат интересни технически и исторически подробности как проблемите са били решавани с различна схема и елементи от миналия век. Така че на собствениците на приемници може да се даде съвет да приемат такива сигнали, докато все още работят.

Както обикновено, на всички успешни експерименти.

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster