Отслеживание самолета с ADS-B собранные данные

В этом примере показано, как реализовать Автоматическое Зависимое Наблюдение - Широковещательная передача (ADS-B) приемник для генерации HDL-кода и аппаратной реализации. Этот пример декодирует расширенные сообщения прерывистой генерации ADS-B, которые могут использоваться, чтобы отследить самолет. Оптимизированная HDL модель в этом примере использует блоки Simulink®, которые поддерживают генерацию HDL-кода, чтобы реализовать Приемник ADS-B. Эта модель в качестве примера используется для обработки в режиме реального времени в Реализации Элемента кода HW/SW Приемника ADS-B Используя Аналоговые устройства AD9361/AD9364 (Пакет Поддержки Communications Toolbox для Xilinx Находящееся в Zynq Радио), который требует Пакета Поддержки Communications Toolbox™ для Радио Xilinx® Zynq®-Based.

Введение

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

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

Модель поддерживает и Нормальный и Режимы Accelerator. Структуру верхнего уровня модели приемника ADS-B показывают в следующем рисунке.

Входные данные приемника получены с помощью Реализации Элемента кода HW/SW Приемника ADS-B Используя Аналоговые устройства AD9361/AD9364 (Пакет Поддержки Communications Toolbox для Xilinx Находящееся в Zynq Радио) работа платформы Zynq®. Собранные данные представляют основную полосу полученный сигнал частотой дискретизации 4 МГц. Данные содержат 8 систем координат расширенных сообщений прерывистой генерации. Передатчик ADS-B модулирует 112-битные расширенные сообщения прерывистой генерации с помощью 2-битной импульсно-позиционной модуляции и добавляет 16-битный префикс. Затем чтобы сгенерировать данные на 4 МГц, каждое 240-битное сообщение дополнено нулем и сверхдискретизировано 2.

Эта схема показывает подробную структуру подсистемы HDLRx.

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

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

2. Пороговое Вычисление - Вычисляет пороговое значение на основе полученной силы входного сигнала

3. Корреляция с Преамбулой - Корреляты полученный сигнал с опорным сигналом, чтобы обнаружить преамбулу

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

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

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

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

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

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

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

где

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

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

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

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

2. Пороговое вычисление

Пороговая подсистема Вычисления вычисляет энергию сигнала и применяет масштабный коэффициент, чтобы создать порог для обнаружения преамбулы. Фильтр Скользящего среднего значения является последовательной КИХ-архитектурой фильтра с 32 коэффициентами, которая работает со значениями величины. Коэффициенты КИХ-фильтра выбраны, чтобы найти среднюю энергию полученного сигнала. Этот пример масштабирует энергию сигнала 5, чтобы обнаружить допустимые преамбулы ADS-B. Для получения дополнительной информации на КИХ-фильтре, смотрите Дискретный КИХ-Фильтр (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 и Сброс, которые указывают на запуск системы координат, конец системы координат и сбрасывают состояние к Битному Процессу и Вычисляют CRC и блоки Валидации Системы координат.

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

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

6. Вычислите CRC и структурируйте валидацию

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

Запустите карту и данные логов

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

Запустите Карту - Запуск карта, где отслеженные рейсы могут быть просмотрены. ПРИМЕЧАНИЕ: у Вас должна быть лицензия Mapping Toolbox™, чтобы использовать эту функцию.

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

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

Подсистема HDLRx демодулирует и декодирует данные ADS-B, и выход передается потоком через блок Deserializer1D и функцию MATLAB MapResults, которая производит шестнадцатеричную выходную информацию о самолете. Каждый расширенный Режим прерывистой генерации S пакет содержит частичную информацию (любой ID Самолета, ID Рейса, Высота, Скорость и Местоположение) о самолете, и таблица создается из нескольких сообщений. Выход получен как показано в следующей схеме. Пакетные статистические данные включают количество обнаруженных пакетов, количество правильно декодируемых пакетов и пакетный коэффициент ошибок (PER). Эти детали самолета совпадают с переданными значениями от Реализации Элемента кода HW/SW Приемника ADS-B Используя Аналоговые устройства AD9361/AD9364 (Пакет Поддержки Communications Toolbox для Xilinx Находящееся в Zynq Радио) пример.

Генерация HDL-кода и результаты синтеза

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

Можно использовать команды makehdl и makehdltb, чтобы сгенерировать HDL-код и испытательный стенд для подсистемы HDLRx. Чтобы сгенерировать HDL-код, используйте следующую команду:

makehdl('commadsbrxhdl/HDLRx')

Чтобы сгенерировать испытательный стенд, используйте следующую команду:

makehdltb('commadsbrxhdl/HDLRx')

Ссылки

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

  2. Марвин Э. Фреркинг, цифровая обработка сигналов в системах связи, научных СМИ бизнеса Спрингера, Нью-Йорк, 1994.