exponenta event banner

Отслеживание самолетов с помощью данных ADS-B

В этом примере показано, как реализовать приемник автоматического зависимого наблюдения - широковещания (ADS-B) для генерации кода HDL и реализации аппаратных средств. Этот пример декодирует сообщения расширенного сквиттера ADS-B, которые могут использоваться для отслеживания самолета. Оптимизированная для ЛПВП модель в этом примере использует блоки Simulink ®, которые поддерживают генерацию кода ЛПВП для реализации приемника ADS-B. Эта модель используется для обработки в режиме реального времени при совместном проектировании аппаратных средств и программного обеспечения ADS-B Receiver Using Analog Devices AD9361/AD9364 (Communications Toolbox Support Package for Xilinx Zynq-Based Radio), для которой требуется пакет поддержки коммуникационных Toolbox™ для радиоприемника Xilinx ® Zynq ®.

Введение

ADS-B - система управления воздушным движением и контроля за ним. Широковещательные сообщения (приблизительно один раз в секунду) содержат информацию о полете, включая положение и скорость. Описание технологии ADS-B и режимов передачи см. в [1]. Подсистема HDLRx оптимизирована для генерации кода HDL. Захваченный принятый сигнал поступает в потоковом режиме во внешний интерфейс приемника (подсистема HDLRx). Потоковые выходные данные приемника буферизуются и передаются в функцию MapResults MATLAB ® для просмотра выходных данных.

Структура примера

Модель поддерживает режимы Обычный (Normal) и Ускоритель (Accelerator). Структура верхнего уровня модели приемника ADS-B показана на следующем рисунке.

Входные данные приемника регистрируются с помощью совместного проектирования аппаратных средств и программного обеспечения ADS-B Receiver Using Analog Devices AD9361/AD9364 (Communications Toolbox Support Package for Xilinx Zynq-Based Radio) на платформе Zynq ®. Захваченные данные представляют принятый сигнал основной полосы частот с частотой дискретизации 4 МГц. Данные содержат 8 кадров расширенных сообщений сквиттера. Передатчик ADS-B модулирует 112-битовые сообщения расширенного сквиттера с использованием 2-битовой импульсно-позиционной модуляции и добавляет 16-битовый префикс. Затем для генерации данных 4 МГц каждое 240-битовое сообщение заполняется нулями и усиливается на 2.

На этой схеме показана подробная структура подсистемы HDLRx.

Перечисленные здесь подсистемы описаны далее в следующих разделах.

1. Расчет величины - поиск комплексного модуля принятого входного сигнала

2. Threshold Calculation - вычисляет пороговое значение на основе уровня принимаемого входного сигнала

3. Корреляция с преамбулой - коррелирует принятый сигнал с опорным сигналом для обнаружения преамбулы

4. Управление синхронизацией - обеспечивает синхронизацию синхронизации для приемника

5. Битовый процесс - декодирует символы с использованием демодуляции PPM

6. Вычисление CRC и проверка кадра - проверка кадра путем проверки на наличие ошибок CRC

Оптимизированный приемник ADS-B HDL

1. Расчет величины

Входами в подсистему вычисления величины являются синфазные (вещественные) и квадратурные (мнимые) отсчеты фаз. Эта подсистема выводит модуль комплексного числа. sqrt (I ^ 2 + Q ^ 2) может быть аппроксимирован алгоритмом «| L | + 0,4 * | S |», описанным на странице 238 [2].

$$\sqrt{I^2+Q^2} = |L|+0.4*|S|$

где

| L | - большее значение | I | или | Q |

| S | - меньшее значение | I | или | Q |.

Блок усиления преобразует принятый входной сигнал с 12-разрядной на 16-разрядную длину слова.

Для реализации алгоритма «| L | + 0.4 | S |» см. следующую модель.

2. Расчет порога

Подсистема вычисления порога вычисляет энергию сигнала и применяет коэффициент масштабирования для создания порога обнаружения преамбулы. Фильтр скользящего среднего - это архитектура последовательного КИХ-фильтра с 32 коэффициентами, которая оперирует значениями величин. Коэффициенты КИХ-фильтра выбираются для нахождения средней энергии принятого сигнала. В этом примере энергия сигнала масштабируется на 5 для обнаружения действительных преамбул ADS-B. Дополнительные сведения о фильтре FIR см. в разделе Дискретный фильтр FIR (Simulink).

3. Корреляция с преамбулой

Подсистема корреляции с преамбулой коррелирует принятый сигнал с опорной последовательностью/последовательностью преамбулы ADS-B [1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0] с использованием фильтра обнаружения пиков. Пиковый фильтр обнаружения представляет собой последовательную архитектуру КИХ-фильтра, сконфигурированную с коэффициентами, соответствующими последовательности преамбулы. Корреляция преамбулы идентифицирует потенциальные передачи ADS-B и выравнивает наш алгоритм обнаружения битов с первым битом сообщения. Преамбула обнаруживается, если пиковая амплитуда превышает масштабированное пороговое значение. Как только преамбула обнаружена, значение корреляции передается как вход (SyncCorr) в блок управления синхронизацией.

4. Управление синхронизацией

Блок управления синхронизацией является конечным автоматом, который обнаруживает преамбулу и генерирует управляющие сигналы ActivateBP и Reset, которые указывают начало кадра, конец кадра и состояние сброса в блоках Bit Process и Compute CRC и Frame Validation.

5. Битовый процесс

Подсистема обработки битов демодулирует и преобразует с понижением частоты принятый сигнал 4 МГц в последовательность битов 1 МГц. Каждый бит данных представлен четырьмя битами PPM. Для демодуляции блок находит сумму первых двух битов и последних двух битов каждого четверного набора. Затем он сравнивает суммы для определения исходного битового значения. Выходной достоверный сигнал подается каждый четвертый цикл для выравнивания с битовой последовательностью 1 МГц.

6. Вычисление CRC и проверка кадров

Эта подсистема проверяет несоответствие в 24-битной контрольной сумме каждого 88-битного сообщения. Блок CRC нуждается в указании границ кадра, чтобы определить, какие биты являются контрольной суммой. Передний фронт сигнала ActivateBP, сформированного из блока управления синхронизацией, указывает начало кадра, а задний фронт указывает конец кадра. Начальный сигнал задерживается, чтобы соответствовать задержке демодуляции. Когда выходной сигнал ошибки блока равен нулю, кадр является действительным сообщением ADS-B. Подсистема буферизирует биты сообщения до тех пор, пока сообщение не будет подтверждено без ошибки CRC.

Запуск карты и данных журнала

Можно запустить карту и журнал текстовых файлов с помощью двух переключателей (Запуск карты и Журнал данных).

Карта запуска - карта, на которой можно просмотреть отслеживаемые рейсы. Для использования этой функции необходимо иметь лицензию Mapping Toolbox™.

Регистрация данных - сохранение собранных данных в файле TXT. Сохраненные данные можно использовать для последующей обработки.

Результаты и отображение

Подсистема HDLRx демодулирует и декодирует данные ADS-B, и вывод передается через блок Deserializer1D и функцию MapResults MATLAB, которая выдает шестнадцатеричную выходную информацию о самолете. Каждый расширенный пакет Squitter Mode S содержит частичную информацию (любую из идентификатора летательного аппарата, идентификатора полета, высоты, скорости и местоположения) о летательном аппарате, и таблица складывается из множества сообщений. Выходные данные получены, как показано на следующей диаграмме. Статистика пакетов включает в себя количество обнаруженных пакетов, количество правильно декодированных пакетов и частоту ошибок пакетов (PER). Эти детали самолета соответствуют переданным ценностям от Внедрения Соразработки HW/SW Приемника ОБЪЯВЛЕНИЙ-B Используя Analog Devices AD9361/AD9364 (Коммуникационный Пакет Поддержки Комплекта инструментов для Xilinx Находящееся в Zynq Радио) пример.

Результаты генерации и синтеза кодов HDL

В модель добавлены регистры трубопроводов, чтобы убедиться, что подсистема HDLRx не имеет длинного критического пути. Код HDL, сгенерированный из подсистемы HDLRx, был синтезирован с использованием Xilinx ® Vivado ® на Zynq FPGA с устройством 7z045ffg900-2, и конструкция достигает тактовой частоты 264,2 МГц, достаточной для декодирования сигналов ADS-B в реальном времени. Сгенерированный HDL-код тестируется и проверяется в примере в реальном времени HW/SW CoDesign Implementation of ADS-B Receiver Using Analog Devices AD9361/AD9364 (пакет поддержки Communications Toolbox для радиоприемника на базе Xilinx Zynq). Для проверки и генерации кода HDL, на который ссылается этот пример, необходимо иметь лицензию HDL Coder™. В следующей таблице приведены результаты синтеза этого примера.

Команды makehdl и makehdltb можно использовать для создания кода HDL и тестового стенда для подсистемы HDLRx. Для создания кода HDL используется следующая команда:

makehdl('commadsbrxhdl/HDLRx')

Для создания тестового стенда используйте следующую команду:

makehdltb('commadsbrxhdl/HDLRx')

Ссылки

  1. Международная организация гражданской авиации, приложение 10, том 4. Системы наблюдения и предотвращения столкновений.

  2. Марвин Э. Фреркинг, цифровая обработка сигналов в системах связи, Springer Science Business Media, Нью- York,1994.