Приём и анализ сигналов ADS‑B на базе SDR
От радиосигнала на 1090 МГц до данных о воздушном движении: физика сигнала, структура сообщения, требования к приёмному тракту и практика постановки эксперимента.
Расширенная версия материала. Сокращённый вариант опубликован в выпуске №9 (сентябрь 2026) издания «STEM Instruments | Технологический обзор».
Почему именно эта задача
Приём сигналов автоматического зависимого наблюдения вещательного типа — ADS‑B — стал негласным «первым проектом» для лабораторий, которые начинают работать с программно‑определяемым радио. Причина не в экзотичности задачи, а в том, что она устроена удобно для обучения и проверки оборудования сразу по нескольким причинам.
Сигнал реально существует в эфире и не требует ни разрешения на передачу, ни второго комплекта аппаратуры: воздушные суда передают данные постоянно и в открытом виде. Структура сообщения полностью описана в открытых документах, поэтому результат обработки можно проверить: декодированные данные сопоставляются с независимыми источниками, и ошибка в тракте обнаруживается сразу, а не остаётся незамеченной. Наконец, задача проходит через все этапы цифровой обработки — от оцифровки радиочастотного сигнала до структурированных данных, — и на каждом этапе есть измеримый показатель качества.
Для инженера это означает возможность проверить не только работоспособность платформы, но и собственное понимание тракта: где теряется чувствительность, что даёт запас по частоте дискретизации, почему при формально исправном приёмнике на карте нет ни одного борта.
Что передаёт воздушное судно
Технология ADS‑B предполагает, что воздушное судно самостоятельно, без запроса с земли, передаёт в эфир сведения о своём положении и параметрах полёта. Источником координат служит бортовая аппаратура спутниковой навигации, а передача идёт широковещательно — принять её может любой приёмник в зоне радиовидимости.
Наиболее распространённый вариант канала — расширенный сквиттер на частоте 1090 МГц, построенный на основе формата Mode S. Именно он рассматривается далее: это тот случай, когда одна и та же аппаратура транспондера обслуживает и ответы на запросы наземных радиолокационных станций, и периодическую самостоятельную передачу.
Частота повторения сообщений зависит от режима: в воздухе положение передаётся примерно с частотой от 0,8 до 2 Гц, на земле при движении — от 0,2 до 2 Гц, на стоянке — реже. Для приёмной стороны это означает, что при устойчивом приёме данные по каждому борту обновляются несколько раз в секунду, а пропуск отдельных сообщений не критичен.
Физический уровень: как устроен сигнал
Сигнал использует импульсно‑позиционное кодирование — метод, в котором информацию несёт не амплитуда и не фаза, а положение импульса внутри временного интервала. Это делает демодуляцию нечувствительной к абсолютному уровню сигнала: важно лишь, в какой половине интервала оказался импульс.
Сообщение начинается с преамбулы длительностью 8 мкс — четырёх импульсов по 0,5 мкс в позициях 0; 1,0; 3,5 и 4,5 мкс. Преамбула не несёт данных: по её характерной структуре приёмник обнаруживает начало сообщения в непрерывном потоке отсчётов. Далее следует блок данных, где каждый разряд занимает ровно 1 мкс: импульс в первой половине интервала означает единицу, во второй — ноль. Скорость передачи составляет 1 Мбит/с.
Блок данных расширенного сквиттера содержит 112 разрядов, то есть занимает 112 мкс. С учётом преамбулы полная длительность сообщения составляет 120 мкс. В канале существует и короткий формат на 56 разрядов, применяемый в других типах ответов Mode S, — приёмник должен уметь различать их по полю формата.
Из этих цифр следуют два практических вывода. Во‑первых, сообщение чрезвычайно короткое: за время, пока оно проходит, обычная операционная система не успевает даже переключить контекст, поэтому обнаружение должно выполняться в непрерывном потоке, без пропусков. Во‑вторых, канал не разделяется между бортами — все передают на одной частоте в случайные моменты, и сообщения от разных воздушных судов регулярно накладываются друг на друга. Способность приёмника разделять такие наложения напрямую определяет, сколько бортов он увидит в плотной воздушной обстановке.
Структура кадра
Все 112 разрядов расширенного сквиттера распределены между пятью полями фиксированной длины.
Поле формата занимает 5 разрядов и определяет тип сообщения: значение 17 соответствует передаче бортового ответчика, значение 18 — оборудованию, не поддерживающему ответ на запрос. Следующие 3 разряда описывают возможности ответчика. Затем идёт 24‑разрядный адрес воздушного судна — уникальный идентификатор, присваиваемый борту; именно по нему сообщения группируются в треки.
Основную нагрузку несёт 56‑разрядное поле, первые пять разрядов которого — код типа. Он определяет, что именно передаётся: опознавательный индекс и категория воздушного судна, положение на земле, положение в воздухе с барометрической высотой или с высотой по спутниковым данным, вектор скорости, эксплуатационный статус. Разбор оставшихся разрядов зависит от этого кода, и универсального декодера «одним правилом» не существует — обработка ветвится по типу.
Последние 24 разряда занимает контрольная сумма.
Контроль целостности: почему это ещё и измерительный инструмент
Контрольная сумма вычисляется по циклическому коду с 24‑разрядным остатком. Порождающий полином записывается в двоичном виде как 1111111111111010000001001 — в шестнадцатеричной форме 1FFF409. Проверка выполняется делением всего принятого сообщения на этот полином: нулевой остаток означает, что кадр принят без искажений.
Для инженера ценность этого механизма шире, чем простая отбраковка испорченных сообщений. Доля кадров с верной контрольной суммой — прямой и объективный показатель качества приёмного тракта. Изменили усиление, переставили антенну, добавили фильтр — доля корректных кадров и общее число сообщений в секунду немедленно показывают, стало лучше или хуже. Это превращает учебную задачу в измерительную процедуру с воспроизводимым результатом.
Отдельно стоит отметить, что 24‑разрядный код в принципе допускает и исправление ошибок ограниченной кратности, а не только их обнаружение. На практике возможность исправления используют осторожно: ошибочно «исправленный» кадр даёт правдоподобные, но неверные данные, которые сложнее заметить, чем явный сбой.
Координаты: почему одного сообщения мало
Наименее очевидная часть задачи — восстановление координат. В сообщении на широту и на долготу отводится по 17 разрядов, чего заведомо недостаточно для передачи абсолютных значений с приемлемой точностью. Поэтому применяется компактное кодирование: передаётся не абсолютная координата, а положение внутри зоны заранее определённой сетки.
Между экватором и полюсом укладывается 15 зон широты. Чтобы снять неоднозначность, борт передаёт сообщения двух типов — условно чётные и нечётные, — у которых шаг сетки различается. Каждое сообщение по отдельности даёт множество одинаково возможных положений; пара сообщений разных типов даёт единственное решение там, где сетки совпадают.
Отсюда важное практическое следствие, которое часто становится источником недоумения при первом запуске: борт может быть уверенно принят, его адрес и высота уже видны, а на карте он ещё не появился — просто потому, что не набралась пара сообщений нужных типов. Между кадрами пары должно пройти немного времени: за несколько секунд воздушное судно смещается, и решение перестаёт быть корректным. Позиция, декодированная в пределах примерно десяти секунд, обычно считается пригодной в качестве опорной для последующего локального декодирования.
Приёмный тракт: где действительно теряется чувствительность
Это та часть работы, где ошибки обходятся дороже всего, а исправляются проще всего.
Антенна
Длина четвертьволнового вибратора на 1090 МГц составляет около 68,8 мм — сигнал имеет вертикальную поляризацию, поэтому антенна располагается вертикально. Гораздо важнее конструкции оказывается размещение: сигнал распространяется в пределах прямой видимости, и препятствие в направлении на воздушную трассу снижает дальность сильнее, чем любые улучшения электроники. Антенна на крыше с открытым горизонтом принципиально переигрывает антенну на подоконнике, независимо от качества последующего тракта.
Полосовой фильтр
На соседних частотах работают мощные передатчики подвижной связи, и без фильтрации они перегружают входные каскады: приёмник формально исправен, но чувствительность на 1090 МГц падает. Фильтр на рабочую частоту — не тонкая настройка, а обязательный элемент тракта в условиях города.
Малошумящий усилитель
Ключевой вопрос — не коэффициент усиления, а место установки. Каждый децибел потерь, включённых до первого усилителя, целиком добавляется к коэффициенту шума всей системы; потери после усилителя делятся на его усиление и почти не влияют на результат.
Разница между двумя вариантами на иллюстрации — 5,5 дБ, то есть почти все потери кабеля, включённого до усилителя. Практически это соответствует заметному увеличению дальности уверенного приёма. Оценка сделана по формуле для каскадного соединения четырёхполюсников; конкретные значения зависят от применённых компонентов, но соотношение сохраняется всегда: потери, включённые до первого усилителя, не восстанавливаются никаким последующим усилением.
Выбор платформы и частоты дискретизации
Требования к программно‑определяемой платформе в этой задаче скромные по частотному диапазону и вполне определённые по остальным параметрам.
Теоретический минимум частоты дискретизации — 2 МОтсч/с: при этом на каждый разряд приходится ровно два отсчёта, а на импульс — один. Такой режим работает, но не оставляет запаса: положение границ импульса определяется грубо, а наложенные сообщения от разных бортов практически неразделимы. Увеличение частоты дискретизации нужно здесь не ради полосы сигнала, а ради устойчивости обнаружения.
Прикладная инструкция Ettus Research AN‑363, описывающая реализацию приёмника ADS‑B и Mode S на платформе USRP в среде GNU Radio, использует частоту дискретизации 10 МОтсч/с. В исходном примере применяется платформа N210 с радиочастотным модулем WBX и программный модуль gr‑air‑modes; отдельно указана совместимость подхода с платформами B200, B210, B200mini, B205mini, E310/E312 и X300/X310 при соответствующей конфигурации радиочастотного тракта.
| Частота дискретизации | Отсчётов на разряд | Что это даёт | Поток данных |
|---|---|---|---|
| 2 МОтсч/с | 2 | Минимально работоспособный режим | 8 МБ/с |
| 4 МОтсч/с | 4 | Устойчивое обнаружение, базовое разделение наложений | 16 МБ/с |
| 8–10 МОтсч/с | 8–10 | Запас для плотной воздушной обстановки и анализа формы импульса | 32–40 МБ/с |
Поток приведён для 16‑разрядного представления синфазной и квадратурной составляющих: 4 байта на комплексный отсчёт.
Обратите внимание на правый столбец. Даже в этой скромной по частотным требованиям задаче поток необработанных квадратурных отсчётов при 10 МОтсч/с составляет 40 МБ/с — около 320 Мбит/с. Пока речь идёт об одном канале, вопрос решается штатными средствами; при переходе к многоканальным конфигурациям транспортный уровень и вычислительный ресурс становятся ограничивающим фактором раньше, чем радиочастотная часть. Это та же закономерность, которую мы разбирали применительно к широкополосным платформам: узкое место современной системы чаще лежит не в тракте, а в передаче и обработке данных.
Разрядность аналого‑цифрового преобразователя определяет ещё один практический аспект — динамический диапазон. В эфире одновременно присутствуют близкий борт с сильным сигналом и дальний со слабым; если усиление выставлено по сильному, слабый теряется в шуме квантования, а если по слабому — сильный вводит тракт в насыщение. Именно поэтому подбор усиления в этой задаче не формальность, а измерительная процедура.
Конвейер обработки: от отсчётов к сообщениям
Программная часть системы выстраивается в последовательность, каждый шаг которой имеет понятный физический смысл.
Оцифровка и перенос на нулевую частоту. Платформа настраивается на 1090 МГц и выдаёт поток комплексных отсчётов. На этом этапе никакого «самолёта» ещё нет — есть массив чисел вида I + jQ, где одна составляющая синфазная, а вторая квадратурная.
Вычисление огибающей. Поскольку информацию несёт положение импульса, а не фаза, дальнейшая обработка ведётся по модулю комплексного сигнала. Это делает приём нечувствительным к неизвестному начальному сдвигу фазы и к небольшой расстройке по частоте.
Обнаружение по преамбуле. Поток непрерывно сравнивается с известной структурой из четырёх импульсов. Совпадение выше порога означает вероятное начало сообщения. Порог — компромисс: слишком высокий теряет слабые борта, слишком низкий загружает декодер ложными срабатываниями.
Демодуляция. Для каждого из 112 интервалов сравниваются энергии в первой и второй половине; результат сравнения даёт разряд.
Проверка контрольной суммы. Кадры с ненулевым остатком отбрасываются. Именно на этом шаге появляется главный измеримый показатель качества тракта.
Декодирование и сборка треков. Сообщения группируются по адресу воздушного судна, координаты собираются из пар сообщений, и на выходе появляются данные, пригодные для отображения и анализа.
Как понять, что система работает
Субъективное «вроде что‑то принимается» не годится ни для приёмки стенда, ни для сравнения вариантов антенны. Пригодны четыре показателя, каждый из которых измеряется без дополнительного оборудования.
Число сообщений в секунду — интегральный показатель, реагирующий на любое изменение в тракте. Доля кадров с верной контрольной суммой отделяет проблемы приёма от проблем обработки. Число уникальных адресов воздушных судов за интервал наблюдения показывает реальный охват. Максимальная дальность уверенного приёма — итоговый результат, который имеет смысл сопоставлять с теоретическим пределом.
Этот график полезен как критерий приёмки. Если станция уверенно принимает борта на дальности, близкой к геометрическому пределу, дальнейшие улучшения электроники бессмысленны — упёрлись в кривизну Земли, и единственный способ увеличить дальность состоит в подъёме антенны. Если же реальная дальность заметно меньше расчётной, значит, потери есть в тракте, и их следует искать в порядке, обратном стоимости: сначала размещение антенны, затем фильтр и место установки усилителя, и только потом сама платформа.
Семь типичных ошибок
- Антенна внутри помещения. Самая частая и самая дорогая по последствиям ошибка: потери в конструкциях здания не компенсируются никакой электроникой.
- Отсутствие полосового фильтра. В городе входные каскады перегружаются соседними по частоте передатчиками, и чувствительность падает при формально исправном приёмнике.
- Усилитель у приёмника, а не у антенны. Потери в кабеле, включённые до первого усилителя, целиком добавляются к шуму системы.
- Усиление «на максимум». Сильный близкий борт вводит тракт в насыщение, и вместе с ним пропадают все слабые.
- Частота дискретизации на минимуме. Формально работает, но при плотном движении наложенные сообщения не разделяются, и часть бортов не видна.
- Оценка результата «на глаз». Без счётчика сообщений и доли корректных кадров невозможно сказать, помогла ли переделка тракта.
- Ожидание позиции от одного сообщения. Борт уже принят, но на карте появится только после пары сообщений нужных типов — это не сбой.
Что делать дальше
Задача имеет естественное продолжение, и именно поэтому она удобна как первая.
Многоканальный приём и разнесённые антенны позволяют повысить надёжность приёма и перейти к пространственной обработке. Здесь появляется требование к фазовой согласованности каналов, а вместе с ним — вся тематика синхронизации: общая опорная частота, единый момент запуска, привязка к внешней шкале времени.
Определение положения по разности времени прихода от нескольких разнесённых приёмных пунктов — следующий уровень сложности. Метод не опирается на переданные бортом координаты и требует уже не просто общего тактирования, а согласованной временной шкалы между территориально разнесёнными пунктами. Это тот случай, когда задача из учебной превращается в полноценную измерительную и требует соответствующей аппаратной базы.
Запись потока квадратурных отсчётов переводит эксперимент в воспроизводимую форму: один и тот же участок эфира можно многократно обрабатывать разными алгоритмами и корректно сравнивать результаты. Отсюда прямой путь к отработке собственных алгоритмов обнаружения и разделения наложенных сообщений.
Переход к другим сигналам. Аппаратная часть остаётся неизменной — меняются частота настройки и программная обработка. Отработанный на ADS‑B конвейер применим к широкому классу задач: от приёма служебных и вещательных сигналов до экспериментов с собственными протоколами.
Что нужно для повторения
Если задача рассматривается как первый шаг к более сложной лаборатории, при выборе платформы имеет смысл сразу заложить запас: число каналов, возможность подачи внешней опорной частоты и наличие интерфейса, который не станет ограничением при переходе к многоканальной работе. Заменить платформу позже дороже, чем выбрать её с запасом сразу.
Инженерная служба STEM Instruments помогает подобрать состав оборудования под конкретную задачу — от учебного стенда на одной платформе до многоканальной системы с синхронизацией каналов — и сформировать спецификацию на этапе технического задания.
Источники
- Junzi Sun. The 1090 Megahertz Riddle: a Guide to Decoding Mode S and ADS‑B Signals. Раздел «ADS‑B basics» — структура кадра, поля сообщения, коды типа, частота передачи. mode-s.org
- Там же, раздел «Error control» — порождающий полином и проверка контрольной суммы. mode-s.org
- Там же, раздел «Airborne position» — компактное кодирование координат, чётные и нечётные сообщения. mode-s.org
- Ettus Knowledge Base. Application Note AN‑363: Implementation of an ADS‑B/Mode‑S Receiver in GNU Radio. kb.ettus.com
- Radartutorial. Основы радиолокации: дальность прямой видимости. radartutorial.eu
- STEM Instruments. Технологический обзор, выпуск №9, сентябрь 2026 — сокращённая версия материала.
Материал носит инженерно‑информационный характер. Иллюстрации — оригинальные схемы и графики редакции; приведённые осциллограммы и спектры построены на модельных данных и служат для пояснения принципов, а не являются результатами измерений конкретных образцов.
