HDL оптимизированный получатель QPSK с собранными данными

Этот пример показывает, как оптимизировать получатель QPSK, смоделированный в примере Передатчика и Получателя QPSK для генерации HDL-кода и аппаратной реализации. Оптимизированная HDL модель показывает получатель QPSK, который решает реальные коммуникационные проблемы как несущая частота, смещение фазы и восстановление синхронизации благоприятным для оборудования способом.

Обзор

Оптимизированный Получатель QPSK HDL с Полученным примером Данных предоставляет благоприятное для оборудования решение, которое выполняет основополосную обработку, чтобы обработать изменяющееся во времени смещение частоты и изменяющуюся во времени задержку символа. А именно, этот пример обеспечивает оптимизированный HDL исходный проект практического цифрового получателя, чтобы смягчить вышеупомянутые нарушения и включает крупную компенсацию частоты, основанную на PLL прекрасную компенсацию частоты, синхронизируя восстановление с передискретизацией с фиксированной процентной ставкой, заполнением битами / пропуск, синхронизация кадра и разрешение неоднозначности фазы.

По сравнению с реализацией получателя в примере Передатчика и Получателя QPSK три основных модификации были сделаны для эффективной генерации HDL-кода:

  • Потоковая передача Ввода и вывода: оптимизированный получатель QPSK HDL обрабатывает данные одна выборка за один раз. Полученный реальный сигнал передается потоком во фронтенд получателя. Потоковая передача вывод HDL оптимизировал получатель, буферизуется и передается декодеру текстового сообщения.

  • Фиксированная точка: логика получателя QPSK действует в режиме фиксированной точки.

  • Оптимизированная архитектура HDL: Несколько блоков были перепроектированы, чтобы использовать оборудование эффективные алгоритмы и архитектура.

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

Структуру верхнего уровня модели получателя QPSK показывают в следующей фигуре. Подсистема HDLRx была оптимизирована для генерации HDL-кода.

Входные данные получены с помощью двух устройств USRP® и Пакета Поддержки Communications Toolbox для Радио USRP®. А именно, одно устройство USRP® запускает Передатчик QPSK с Аппаратной моделью USRP® в качестве примера и действует как передатчик, в то время как другое устройство является получателем, запускающим сопутствующую модель QPSK Receiver с Аппаратным примером USRP®. Собранные данные представляют основную полосу полученный сигнал с уровнем выборки 200 кГц. Данные основаны на выборке и имеют длину 200 001, который соответствует периоду 1 с.

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

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

1. Автоматическое управление усилением (AGC) - Настраивает полученную амплитуду сигнала к желаемому уровню

2. Корневой Повышенный Косинус Получает Фильтр - Использование фактор спада 0,5, и субдискретизирует входной сигнал два

3. Крупная Компенсация Частоты - Оценки аппроксимированное смещение частоты полученного сигнала и исправляют его

4. Прекрасная Компенсация Частоты - Компенсирует остаточное смещение частоты и смещение фазы

5. Синхронизация Восстановления - Передискретизирует входной сигнал согласно восстановленному стробу синхронизации так, чтобы решения символа были приняты в оптимальные моменты выборки

6. Декодирование данных - Выравнивает контуры кадра, разрешает неоднозначность фазы, вызванную Прекрасной подсистемой Компенсации Частоты, и демодулирует сигнал

Структуру Текстового сообщения, Декодирующего подсистему, показывают ниже.

Эта подсистема, как ожидают, будет запущена в программном обеспечении, поэтому, желательно использовать основанные на кадре сигналы ускорить вычисление. Подсистема HDLRx выходные параметры три основанных на выборке булевых сигнала: bit1, bit2, и dValid. Учитывая, что нисходящая обработка требует сигнала кадра, задача преобразования основанных на выборке сигналов к основанным на кадре дубликатам выполняется блоком dataframer. Демодулируемая битная пара, bit1 и bit2, допустима только, когда dValid установлен высоко. Блок dataframer использует сигнал dValid правильно заполнить строку задержки bit1 и bit2. Подсистема Дескремблирования и Печати обрабатывает полученные данные только, когда разрешать сигнал идет высоко. Это происходит, когда и строка задержки накапливается точно, 200 допустимых демодулируемых битов и сигнал RxGo отправляется высоко. В то время как симуляция запускается, подсистема Дескремблирования и Печати выводит строку "Hello World ###" к командному окну MATLAB®, где '###' является повторяющейся последовательностью '000', '001, '002'..., '099'.

HDL оптимизированный получатель QPSK

1. AGC

Усиление детектора ошибок фазы фазы и детекторов ошибок синхронизации пропорционально полученной амплитуде сигнала и средней энергии символа. Чтобы гарантировать оптимальный проект цикла, амплитуда сигнала во входных параметрах циклов восстановления восстановления и синхронизации поставщика услуг должна быть стабильной. AGC гарантирует, что амплитуда входа Крупной подсистемы Компенсации Частоты является 1/сверхдискретизировавшим Фактором, так, чтобы эквивалентные усиления фазы и детекторов ошибок синхронизации оставались постоянными в зависимости от времени. AGC помещается перед Корневым Повышенным Косинусом Получают Фильтр так, чтобы амплитуда сигнала могла быть измерена с фактором сверхдискретизации четыре, таким образом улучшив точность оценки. Обратитесь к Главе 7.2.2 и Главе 8.4.1 [1] для получения дополнительной информации о том, как разработать усиление детектора фазы.

Структуру AGC показывают в следующей схеме, и конвейерные регистры отображают зеленым в модели.

2. Корневой повышенный косинус получает фильтр

Корневой Повышенный Косинус Получает Фильтр, субдискретизирует входной сигнал фактором два, с фактором спада 0,5. Это обеспечивает согласованную фильтрацию для переданной формы волны, чтобы повысить отношение сигнал-шум и упростить нисходящую обработку сигналов.

Корневой Повышенный Косинус Получает Фильтр, реализован с помощью полностью параллельной архитектуры.

3. Крупная компенсация частоты

Крупная подсистема Компенсации Частоты исправляет входной сигнал с грубой оценкой смещения частоты. Следующая схема показывает Крупную подсистему Компенсации Частоты.

Эта подсистема использует основополосный сигнал QPSK с обозначенным индексом фазы, смещением частоты и смещением фазы, выраженным как. Во-первых, подсистема возводит входной сигнал в степень четыре, чтобы получить, который не является функцией модуляции QPSK. Это реализовано путем расположения каскадом двух блоков продукта. Затем от независимого от модуляции сигнала это оценивает тон при четыре раза смещении частоты. После деления оценки четыре, так - полученное смещение частоты исправляется в исходном сигнале. Обычно существует остаточное смещение частоты даже после крупной компенсации частоты, которая вызвала бы медленное вращение совокупности. Прекрасная подсистема Компенсации Частоты компенсирует эту остаточную частоту.

При сравнении реализации Крупной подсистемы Компенсации Частоты здесь с теми в примерах Передатчика и Получателя QPSK и Получателе QPSK с Аппаратным примером USRP®, мы видим несколько модификаций:

  • Чтобы сохранить ресурсы, Алгоритм бпф был заменен алгоритмом оценки частоты, предложенным в [2], который упоминается как алгоритм Луизы. Конвейерные регистры использовались в информационном канале алгоритма Луизы, чтобы повредить critial путь в проекте. См. схему ниже.

  • Функция, которая составляет ключевой компонент в алгоритме Луизы, вычисляется с помощью блока Complex to Magnitude-Angle HDL Optimized. Этот блок вычисляет фазу с помощью оборудования дружественный алгоритм CORDIC. Чтобы узнать больше о блоке Complex to Magnitude-Angle HDL Optimized, обратитесь к документации DSP System Toolbox.

  • Обнаруженное смещение фазы отправляется в NCO, чтобы сгенерировать комплексный экспоненциальный сигнал, который используется, чтобы исправить смещение фазы в исходном сигнале. HDL NCO Оптимизированные блок-диаграммы интерполяционная таблица в ROM, и предоставляет возможность сжатия интерполяционной таблицы значительно уменьшать размер интерполяционной таблицы. Чтобы узнать больше о блоке NCO HDL Optimized, обратитесь к документации DSP System Toolbox.

4. Прекрасная компенсация частоты

Прекрасная подсистема Компенсации Частоты, показанная в следующей фигуре, реализует замкнутый цикл фазы (PLL), описанный в Главе 7 [1], чтобы отследить остаточное смещение частоты и смещение фазы во входном сигнале.

Детектор ошибок фазы (PED) наибольшего правдоподобия, описанный в Главе 7.2.2 [1], генерирует ошибку фазы. Настраиваемый пропорциональный плюс интеграл Контурный фильтр, описанный в Приложении C.2 [1], фильтрует сигнал ошибки и затем подает его в блок NCO. Блок NCO генерирует комплексный экспоненциальный сигнал, который используется, чтобы исправить остаточную частоту и смещения фазы в выводе Крупной подсистемы Компенсации Частоты. Пропускная способность цикла (нормированный частотой дискретизации) и Фактор Затухания Цикла является настраиваемой для Контурного фильтра. Нормированная пропускная способность цикла значения по умолчанию установлена в 0,06, и фактор затухания значения по умолчанию установлен в 2,5 (по затуханию), так, чтобы PLL быстро заблокировал к намеченной фазе при представлении небольшого шума фазы.

5. Синхронизация восстановления

Подсистему Восстановления Синхронизации показывают в следующей схеме.

Подсистема Восстановления Синхронизации реализует PLL, описанный в Главе 8 [1], чтобы исправить ошибку синхронизации в полученном сигнале. В среднем подсистема Восстановления Синхронизации генерирует тот выходная выборка для каждых двух входных выборок.

Подсистема Управления Интерполяцией реализует постепенное уменьшение по модулю 1 счетчик, описанный в Главе 8.4.3 [1], чтобы сгенерировать управляющий сигнал упростить подсистему Декодирования Данных, чтобы правильно выбрать interpolants Фильтра Интерполяции. Этот управляющий сигнал также включает Синхронизацию детектора ошибок (TED), так, чтобы это вычислило ошибки синхронизации в правильные моменты синхронизации. Подсистема Управления Интерполяцией обновляет различие в синхронизации для Фильтра Интерполяции, генерируя interpolants в оптимальные моменты выборки.

Фильтром Интерполяции является Фэрроу параболический фильтр с, как описано в Главе 8.4.2 [1]. Фильтр использует 0,5 так, чтобы все коэффициенты фильтра стали 1,-1/2 и 3/2, который значительно упрощает структуру интерполятора.

На основе interpolants синхронизирующие ошибки сгенерированы Детектором ошибок Синхронизации пересечения нулем, как описано в Главе 8.4.1 [1], отфильтрованы настраиваемым пропорциональным плюс интеграл Контурным фильтром, как описано в Приложении C.2 [1] и поданы в Управление Интерполяцией для обновления различия в синхронизации. Пропускная способность цикла (нормированный частотой дискретизации) и Фактор Затухания Цикла является настраиваемой для Контурного фильтра. Нормированная пропускная способность цикла значения по умолчанию установлена в 0,01, и фактор затухания значения по умолчанию установлен в единицу (критическое затухание) так, чтобы PLL быстро заблокировал к правильной синхронизации при представлении небольшого шума фазы.

Когда ошибка синхронизации (задержка) достигает контуров символа, в выводе существует один дополнительный или недостающий interpolant. TED реализует заполнение битами или пропускающий, чтобы обработать дополнительное или отсутствующий interpolants. Можно обратиться к Главе 8.4.4 [1] для деталей заполнения битами / пропуск.

Цикл восстановления синхронизации обычно генерирует тот выходной символ для каждых двух входных выборок. Это также выводит строб синхронизации (dValid сигнал), который запускается на уровне входной частоты дискретизации. При нормальных обстоятельствах значение строба является просто последовательностью чередования единиц и нулей. Однако это происходит только, когда относительная задержка между передатчиком и получателем содержит некоторую дробную часть одного периода символа, и целая часть задержки (в символах) остается постоянной. Если целая часть относительных изменений задержки, значение строба может иметь два последовательных нуля или два последовательных единиц.

6. Декодирование данных

Подсистема Декодирования Данных выполняет синхронизацию кадра, разрешение неоднозначности фазы и демодуляцию QPSK. Его структуру показывают в схеме ниже:

  • Синхронизация кадра: подсистема Согласованного фильтра использует модулируемый QPSK код Кусачек для снятия оболочки в качестве ссылки, чтобы коррелировать против полученных символов. Модуль согласованного фильтра вывод вычисляется в подсистеме Модуля и затем по сравнению с порогом. Структурируйте синхронизацию, объявляется, если модуль вывод превышает порог. Порог для синхронизации кадра является настраиваемым: большие повышения стоимости вероятность мисс, тогда как маленькие повышения стоимости вероятность ложного предупреждения. В этом примере пороговое значение установлено в 16.

  • Разрешение неоднозначности фазы: фаза PLL поставщика услуг Прекрасной подсистемы Компенсации Частоты может заблокировать немодулируемому поставщику услуг со сдвигом фазы 0, 90, 180, или 270 градусов, которые могут вызвать неоднозначность фазы. Для получения дополнительной информации неоднозначности фазы и ее разрешения, обратитесь к Главе 7.2.2 и 7.7 в [1]. Угол согласованного фильтра вывод определяет дополнительный сдвиг фазы. Matched Filter вывод подан в сопряженный блок, чтобы инвертировать дополнительный сдвиг фазы. Если синхронизация кадра достигается, спрягаемая версия согласованного фильтра, вывод замораживается и умножается со всеми символами в кадре, чтобы эффективно решить вопрос неоднозначности фазы.

  • Демодуляция QPSK: Каждый исправленный символ демодулируется и сопоставляется с парой битов на основе отображения символа совокупности QPSK.

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

При выполнении симуляции модель отображает три графика рассеивания, чтобы показать совокупность Fine Frequency Compensation вывод, Timing Recovery вывод и замороженный спрягаемый согласованный фильтр вывод, соответственно.

Следующая схема показывает график совокупности Fine Frequency Compensation вывод. Кластер рассеивается вокруг, в основном из-за двух причин:

  • Ошибка синхронизации между часами в передатчике и получателе

  • Сигналы сверхдискретизированы фактором два. Поэтому половина символов находится в переходном состоянии между символами QPSK.

Следующая схема показывает совокупность Timing Recovery вывод. Каждый наблюдает четыре сконцентрированных кластера вокруг истинной совокупности с 4 точками для модуляции QPSK. Это проверяет эффективность подсистемы Восстановления Синхронизации. Однако, как упомянуто прежде, Прекрасная подсистема Компенсации Частоты может заблокировать сигнал со сдвигом фазы 0, 90, 180, или 270 степеней. Поэтому мы должны решить проблему неоднозначности фазы прежде, чем демодулировать сигнал.

Следующие данные показывают график совокупности замороженного спрягаемого согласованного фильтра вывод. Во время целого хода симуляции, группы сигналов на положительной стороне горизонтальной оси. Эта группировка указывает, что нет никаких проблем неоднозначности фазы в этом примере. Если компенсация требовалась для нежелательной фазы, переключают порядок на нижний регистр решить вопрос неоднозначности фазы, графики совокупности после Синхронизации Восстановления вращались бы.

Генерация HDL-кода

Конвейерно обработайте регистры (отображенный зеленым), были добавлены в модели, чтобы убедиться, что подсистема HDLRx не имеет долгого критического пути. HDL-код, сгенерированный от подсистемы HDLRx, синтезировался с помощью Xilinx® ISE на FPGA Virtex6 (xc6vlx75t), и схема запустилась на уровне приблизительно 145 МГц.

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

   makehdl(subsysname)

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

   makehdltb(subsysname)

Ссылки

1. Майкл Райс, "цифровая связь - подход дискретного времени", Prentice Hall, апрель 2008.

2. М. Луиза и Р. Регджаннини, "Восстановление несущей частоты в полностью цифровых модемах для передач пакетного режима", Сделка IEEE. Коммуникации, стр 1169-1178, 1995.

Уведомление об авторском праве

USRP® является товарным знаком National Instruments Corp.