Этот пример показывает оборудованию дружественную модель, которая получает кадры "неисправность" в 802,11 беспроводных локальных сетях (WLAN) как описано в [1].
IEEE 802.11 WLAN - Получатель Кадра "неисправность" с Полученным примером Данных показывает прием кадров "неисправность" в 802,11 базирующихся беспроводных локальных сетях (WLAN). Три основных модификации были сделаны к этому примеру так, чтобы он сгенерировал эффективный HDL-код.
Потоковая передача Ввода и вывода: оптимизированный получатель кадра "неисправность" HDL обрабатывает данные одна выборка за один раз. Полученный реальный сигнал передается потоком во фронтенд получателя. Потоковая передача вывела контроллера получателя, буферизуется и передается детектору, который работает с данными на основе на систему координат.
Фиксированная точка: фронтенд получателя и логика контроллера действуют в режиме фиксированной точки.
Оптимизированная архитектура HDL: Несколько блоков были перепроектированы, чтобы использовать оборудование эффективные алгоритмы и архитектура.
Пример кадра "неисправность" состоит из трех основных компонентов: фронтэнд, контроллер получателя и детектор. Фронтэнд и контроллер получателя действуют на высоком показателе в получателе, таким образом, они были оптимизированы для генерации HDL-кода в этом примере. Следующие разделы описывают детали модификаций.
Проект фронтенда получателя моделируется в подсистеме Фронтэнд HDLRx. Фронтенд получателя состоит из согласованного фильтра, AGC и крупной компенсации частоты.
Модификации были сделаны к крупному алгоритму оценки частоты [2] реализованными в исходной модели получателя маяка:
Автоматическая операция корреляции была заменена простым сглаженным фильтром.
Угловая функция была реализована с помощью блока Complex to Magnitude-Angle HDL Optimized. Этот блок вычисляет фазу с помощью оборудования дружественный алгоритм CORDIC. Чтобы узнать больше о блоке Complex to Magnitude-Angle HDL Optimized, обратитесь к документации DSP System Toolbox.
Обнаруженное смещение фазы отправляется в блок NCO HDL Optimized, чтобы сгенерировать сигнал комплексной экпоненты, который используется, чтобы откорректировать смещение фазы в исходном сигнале.
Блок NCO HDL Optimized предоставляет оборудованию дружественные возможности, сопоставляет интерполяционную таблицу в ROM и предоставляет возможность сжатия интерполяционной таблицы значительно уменьшать размер интерполяционной таблицы. Чтобы узнать больше о поддержке HDL блока HDL Optimized NCO, обратитесь к документации.
Контроллер получателя находит корреляцию между смещением фазы откорректированным сигналом и сигналом синхронизации. Когда пик корреляции обнаруживается, сигнал задержан на основе пикового положения прежде despreading. Из-за большого размера кадра "неисправность" (2 816 выборок), реализовывая коррелятор с помощью или БПФ или согласованного фильтра не эффективно в оборудовании. Кроме того, нахождение максимума вектора с 2816 элементами не является дружественным оборудованием. Корреляция и despreading алгоритм были перепроектированы в этом примере. Despreading выполняется перед корреляцией, стремясь уменьшать размер фильтра с 2 816 до 128. Поскольку запуск сигнала маяка неизвестен при выполнении despreading рано, 22 канала были спроектированы в модуле Фильтра Despread_Matched с каждым каналом, возмещающим смежный канал одной выборкой. Максимум выходных параметров 22 фильтров вычисляется, и despread следует из канала, который производит максимум, выбраны, чтобы отправить к Детектору.
Прореживать операция перед согласованным фильтром с 22 каналами в подсистеме Фильтра Despread_Matched, показанной ниже, позволяет возможность совместного использования ресурсов через 22 канала КИХ-согласованных фильтров как способ сбалансировать аппаратную скорость и использование ресурсов. Чтобы включить совместное использование ресурсов, свойство ChannelSharing HDL для Дискретного КИХ-Фильтра было включено. это снова использует КИХ-оборудование Фильтра через все 22 канала. Чтобы видеть это свойство, щелкните правой кнопкой по блоку Discrete FIR Filter, выберите HDL Code, затем HDL Block Properties. Из командной строки можно использовать hdlget_param, чтобы добраться, hdlset_param, чтобы установить и hdldispblkparams, чтобы отобразить свойства HDL блока.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HDL Block Parameters ('hdlcoder_commwlan80211BeaconRx/HDLRx/HDLRx Controller/Despread_Matched Filter/Discrete FIR Filter') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Implementation Architecture : Fully Parallel Implementation Parameters AddPipelineRegisters : on ChannelSharing : on CoeffMultipliers : factored-csd
Сигнал despreaded буферизуется в системах координат 128 символов прежде чем быть обработанным в детекторе. В исходном примере Получателя Кадра "неисправность" информация о PLCP была возвращена контроллеру получателя, чтобы решить длину полезной нагрузки, которая будет собрана. В этом примере, для того, чтобы упростить интерфейс между аппаратными и программными компонентами и не потребовать связи в режиме реального времени информации между этими двумя, максимальная длина полезной нагрузки собрана в оборудовании и отправлена в программное обеспечение.
Когда вы запускаете симуляцию, она отображает несколько осциллографов. Осциллограф синхронизации и МПДЮ ГИ отображены в этом разделе. Можно обратиться к IEEE 802.11 WLAN - Получатель Кадра "неисправность" с Полученным примером Данных для получения дополнительной информации об осциллографах.
Конвейерно обработайте регистры (отображенный зеленым), были добавлены в модели, чтобы убедиться фронтенд получателя и контроллер, запущенный на ожидаемой скорости. HDL-код, сгенерированный от фронтенда получателя и контроллера, синтезировался с помощью Xilinx ISE на FPGA Virtex6 (xc6vlx75t), и схема запустилась на уровне приблизительно 150 МГц, который достаточен, чтобы обработать данные в режиме реального времени.
Чтобы проверять и сгенерировать HDL-код этого примера, у вас должна быть лицензия HDL Coder™.
Можно использовать команды makehdl ('hdlcoder_commwlan80211BeaconRx/HDLRx') и makehdltb ('hdlcoder_commwlan80211BeaconRx/HDLRx'), чтобы сгенерировать HDL-код и испытательный стенд для переднего конца и контроллера получателя.
Примечание: генерация Испытательного стенда занимает много времени из-за большого объема данных в симуляции. Можно хотеть уменьшать время симуляции прежде, чем сгенерировать испытательный стенд.
Станд. IEEE 802.11-2007: Стандарт IEEE для Информационных технологий - Телекоммуникаций и обмена информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретные требования, Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации, IEEE, Нью-Йорк, Нью-Йорк, США, 1999-2007.
М. Луиза и Р. Регджаннини, "Восстановление несущей частоты в полностью цифровых модемах для передач пакетного режима", Сделка IEEE. Коммуникации, стр 1169-1178, Feb.-March-Apr. 1995.