HDL DVB-S2 восстановление заголовка PL

В этом примере показано, как реализовать время DVB-S2, частоту, и синхронизацию фазы и восстановление заголовка PL с помощью блоков Simulink®, которые оптимизированы для генерации HDL-кода и аппаратной реализации.

Второе поколение Спутника Цифрового телевидения (DVB-S2) модемы действует в C (4-8 ГГц), Ку (12-18 ГГц) и Ka (26-40 ГГц) диапазоны частот. Согласно стандарту DVB-S2, спутниковая полоса пропускания транспондера лежит в диапазоне от 1 МГц до 72 МГц. Модель в этом примере действует на уровне символа 25 Mbaud с фактором спада фильтра корня повысил косинус (RRC) 0,35. Для реализации MATLAB® стандарта DVB-S2 смотрите Сквозную Симуляцию DVB-S2 с Ухудшениями RF и Коррекции (Satellite Communications Toolbox) пример.

Цель этого примера состоит в том, чтобы смоделировать синхронизацию приемника HDL DVB-S2 и систему восстановления заголовка PL, которая может обработать ухудшения радиочастоты (RF). Модель выполняет символьную синхронизацию, кадровую синхронизацию, крупную и прекрасную синхронизацию частоты, и оценку смещения фазы и коррекцию. Затем модель декодирует информацию о заголовке PL, сопровождаемую прекрасной синхронизацией фазы.

Архитектура модели

Этот раздел объясняет высокоуровневую архитектуру модели. Модель получает последовательность формы волны передатчика DVB-S2 что потоки в Крупную Компенсацию Частоты. В Крупной Компенсации Частоты Согласованный фильтр фильтрует последовательность. Синхронизатор Символа извлекает модулируемую последовательность символа из Matched Filter, выход и Кадровый синхронизатор определяют местоположение запуска каждой системы координат в модулируемой последовательности символа. Дескремблер PL дескремблирует скремблированные символы данных, и Экспериментальный Генератор указывает, что экспериментальные местоположения в системе координат синхронизировали последовательность. Крупное Средство оценки Частоты оценивает смещение частоты, которое используется, чтобы откорректировать смещение частоты в последовательности формы волны передатчика в модели, введенной сопряженным умножением оценки. Прекрасный Компенсатор Частоты корректирует остаточную частоту, оставленную в дескремблированной последовательности PL. Крупный Ошибочный Компенсатор Фазы корректирует крупный сдвиг по фазе в Fine Frequency Compensator последовательность выхода. Демультиплексор делится, фаза компенсировала последовательность в символы физического уровня сигнального кода (PLSC) и дескремблировала символы данных в каждой системе координат. Заголовок PL Декодер PLSC декодирует параметры заголовка MODCOD и FECFrame. Прекрасный Компенсатор Фазы использует параметр MODCOD и корректирует остаточную фазу в дескремблированных символах данных что поток в Демодулятор Символа.

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

Файловая структура

Этот пример использует одну модель Simulink и шесть файлов MATLAB.

  • dvbs2hdlPLHeaderRecovery.slx — Модель Simulink верхнего уровня

  • getdvbs2LDPCParityMatrices.m — Загружает матрицы LDPC .mat файл

  • dvbs2hdlParameters.m — Сгенерируйте параметры для модели

  • dvbs2hdlPhaseNoise.m — Введите шум фазы входной последовательности

  • dvbs2hdlPLHeaderRecoveryInit.m — Сгенерируйте форму волны передатчика, и инициализирует модель dvbs2hdlPLHeaderRecovery.slx

  • dvbs2hdlStreamRecovery.m — Декодируйте основополосную систему координат (BBFRAME)

  • dvbs2hdlPLHeaderRecoveryVerify.m — Соберите параметры Заголовка PL и символы XFECFRAME, демодулируйте символы, декодируйте FEC (LDPC и BCH), восстанавливает основополосную систему координат, и вычислите битовые ошибки с помощью функций Satellite Communications Toolbox

Системный интерфейс

Этот рисунок показывает обзор верхнего уровня dvbs2hdlPLHeaderRecovery.slx модель.

Входные параметры модели

  • dataIn — Входные данные в виде комплексные данные на 18 битов с частотой дискретизации, которая является четыре раза уровнем символа.

  • validIn — Управляющий сигнал подтвердить dataIn в виде булева скаляра.

  • rst — Управляющий сигнал сбросить крупную частоту и прекрасные циклы компенсации фазы в виде булева скаляра.

Выходные параметры модели:

  • выходные данные — Decoded символы выхода, возвращенные как комплексный скаляр на 18 битов.

  • validOut — Управляющий сигнал подтвердить выходные данные в виде булева скаляра.

  • endOfPLSC — Управляющий сигнал указать на конец символов PLSC в каждой синхронизируемой системе координат в виде булева скаляра.

  • headerInfo — Соедините шиной сигнал обеспечить MODCOD и FECFrame заголовка PL в каждой синхронизируемой системе координат.

  • diagBus — Соедините шиной сигнал предоставить крупной частоте, нормированной частоту дискретизации, прекрасная частота, нормированная с уровнем символа, символ синхронизировал выход и символы PLSC.

Структура модели

Этот рисунок показывает модель верхнего уровня Synchronization and PL Header Recovery подсистема. Это включает частоту времени и крупный синхронизатор фазы, восстановление заголовка PL и прекрасный синхронизатор фазы.

Частота времени и крупный синхронизатор фазы

Time Frequency and Coarse Phase Synchronizer подсистема включает время и крупный синхронизатор частоты, прекрасный синхронизатор частоты и крупный синхронизатор фазы.

Время и крупный синхронизатор частоты

Time and Coarse Frequency Synchronizer подсистема компенсирует крупную частоту в замкнутом цикле частоты (FLL) система. Нормированная полоса пропускания контура системы FLL установлена в 1e-4. Цикл включает согласованную фильтрацию RRC, синхронизацию символа, кадровую синхронизацию, дескремблирование PL, экспериментальную экстракцию и грубую оценку частоты.

Крупное средство оценки частоты

Coarse Frequency Estimator подсистема выполняет выявление ошибок частоты, фильтрацию цикла и прямой цифровой синтез. Детектор ошибок частоты описан уравнением C.2 в Приложении C.4 [2]. Крупное средство оценки частоты является помогшим пилотами средством оценки частоты. Frequency Error Detector подсистема выходная ошибка частоты в экспериментальных местоположениях. Ошибка частоты передается через контурный фильтр, и выход контурного фильтра управляет блоком NCO HDL Optimized (DSP System Toolbox), чтобы сгенерировать комплексную экпоненту синусоидальные выборки. Эти выборки спрягаются и умножаются на входную последовательность, чтобы откорректировать смещение частоты. Контурный фильтр отключен для ошибки частоты, фильтрующей после 32 экспериментальных блоков так, чтобы предполагаемая частота осталась устойчивой. Сигнал сброса rst является сбросом контурный фильтр и перезапускает процесс оценки.

RRC получают согласованный фильтр

RRC Получают Согласованный фильтр, блок Discrete FIR Filter HDL Optimized (DSP System Toolbox) с коэффициентами согласованного фильтра с четырьмя выборками на символ и фактор спада 0,35. RRC соответствовал, отфильтрованный выход является RC форма волны импульсной формы, которая имеет нулевую интерференцию межсимвола (ISI) характеристики в максимальном глазу, открывающемся в глазковой диаграмме для формы волны. Кроме того, процесс согласованной фильтрации максимизирует отношение сигнала к шумовой мощности (ОСШ) фильтра выход.

Синхронизатор символа

Symbol Synchronizer подсистема является основанной на фазовой подстройке частоты (PLL) реализацией как описано в главе 8.4 [4]. Подсистема генерирует тот выходная выборка для каждых четырех входных выборок. Цикл PLL установлен с нормированной полосой пропускания контура 8e-3. Interpolation Filter подсистема реализует кусочный параболический интерполятор с аппаратным ресурсом эффективная неоплодотворенная структура. Этот фильтр вводит дробные задержки входной формы волны. Как задано в Приложении C.2 [2], Gardner TED подсистема реализует Гарднера, синхронизирующего детектор ошибок. Контурный фильтр фильтрует ошибку синхронизации, и ошибка синхронизации передается блоку MATLAB function Управления Интерполяцией. Этот блок реализует mod-1, постепенно уменьшающийся в противоречии с, вычисляют дробные задержки на основе цикла, отфильтрованного, синхронизируя ошибку сгенерировать interpolants в оптимальные моменты выборки. Rate Handle подсистема выбирает необходимый interpolant, обозначенный стробом.

Кадровый синхронизатор

Реализация кадрового синхронизатора описана в Приложении C.3.1 [2]. Correlator подсистема в Frame Synchronizer подсистема генерирует запуск системы координат (SOF), значения корреляции физического уровня сигнального кода (PLSC) и порог. Коррелируемая последовательность SOF задерживается длиной последовательности PLSC так, чтобы peaks корреляции SOF и PLSC был выровнен. Pilot and Sync Pulse Indicator подсистема обнаруживает порог, превысил значение корреляции и также обнаруживает существование пилотов в текущей системе координат.

Correlator подсистема реализует дифференциальное обнаружение и удаляет зависимость от смещения частоты во входной последовательности. Выходная последовательность постоянно перекрестный коррелируется с SOF и корреляторами PLSC. Кроме того, энергию сигнала вычисляют на каждом временном шаге и затем масштабируют и подводят итог в промежутке каждой длины фильтра коррелятора в Moving Sum подсистема. Масштабные коэффициенты используются перед Moving Sum подсистема выведена из каждой из последовательностей корреляции соответственно в dvbs2hdlParameters.m файл. Две масштабированной энергетической ценности добавляется, чтобы сгенерировать порог.

Pilot and Sync Pulse Indicator подсистема добавляет и вычитает SOF и значения корреляции PLSC и вычисляет энергию на каждом временном шаге, чтобы сгенерировать две метрики корреляции. Порог уменьшен масштаб с предварительно вычисленным значением в dvbs2hdlParameters.m файл и нижний предел применяются, чтобы насыщать порог с нижней границей. Обе из метрик корреляции по сравнению с уменьшенным масштаб пороговым значением. Существование пилотов в текущей системе координат подтверждено, если метрика корреляции, полученная путем добавления SOF и значений корреляции PLSC, превышает уменьшенный масштаб порог. Для данной системы координат только одна из двух метрик корреляции превышает порог на основе существования пилотов.

Дескремблер данных PL

PL Data Descrambler подсистема использует генератор последовательности Голда скремблера PL, который описан в разделе 5.5.4 из [1]. PL Scramber Gold Sequence Generator подсистема сбрасывает для каждой системы координат. Золотая последовательность используется в качестве адреса к PL Scramble Sequence Mapper LUT блокируйтесь, чтобы сгенерировать последовательность скремблирования PL. Борющаяся последовательность спрягается, чтобы сгенерировать последовательность дескремблирования PL, и дескремблирование выполняется путем умножения последовательности дескремблирования PL с входной последовательностью. Переключатель используется, чтобы мультиплексировать символы PLSC и дескремблированные символы данных.

Экспериментальный допустимый индикатор

Pilot Valid Indicator подсистема считает входную последовательность и присваивает экспериментальный индекс для каждого символа. Как задано в разделе 5.5.3 из [1], пилоты длины 36 символов существуют после 16 пазов (1 440 символов) в экспериментальном активном XFECFRAME (экспериментальная активность подтверждена в кадровом синхронизаторе). Подсистема генерирует экспериментальный допустимый сигнал для 36 символов, чтобы указать на местоположение экспериментального блока. Сбросы счетчика после экспериментального блока. Этот процесс продолжается для остальной части XFECFRAME. Сигнал, который указывает на конец символов PLSC следующего XFECFRAME, определяет конец текущего XFECFRAME. Экспериментальный допустимый сигнал не сгенерирован после 16 пазов, если следующий XFECFRAME обнаруживается, когда символы PLSC занимают место пилотов.

Прекрасный синхронизатор частоты

Fine Frequency Synchronizer подсистема использует Модифицированный L и алгоритм R, аналогичный описанному уравнением C.3 in Annex C.4 [2]. L и алгоритм R описаны в [3]. Подсистема реализует 18 автокорреляционных функций точки L и алгоритма R, сопровождаемого 32 фильтрами скользящего среднего значения длины. Оценка частоты от Модифицированного L и подсистемы Алгоритма R управляет блоком NCO HDL Optimized (DSP System Toolbox), чтобы сгенерировать комплексную экпоненту синусоидальные выборки, которые спрягаются и используются, чтобы откорректировать смещение частоты во входе.

Крупный синхронизатор фазы

Coarse Phase Synchronizer подсистема использует метод линейной интерполяции пилота, которому помогают. Coarse Phase Estimator подсистема оценивает комплексную фазу от каждого из 36 экспериментальных символов и выполняет усреднение, которое приводит к одной оценке от каждого экспериментального блока. Unwrapping Algorithm подсистема реализует уравнение C.7 в разделе C.6.1 [2] и интерполирует комплексную оценку фазы от двух последовательных экспериментальных блоков. Эта интерполированная оценка используется, чтобы компенсировать фазу символов, промежуточных эти два последовательных экспериментальных блока.

Восстановление заголовка PL

PL Header Decoder подсистема в PL Header Recovery подсистема декодирует символы PLSC заголовка PL на покадровом базисе, чтобы получить MODCOD и тип FECFrame системы координат.

MODCOD указывает на схему модуляции и кодирования системы координат, и FECFrame указывает на тип системы координат (короткий или нормальный) как описано в разделах 5.5.2.2 и 5.5.2.3 из [1].

Символы PLSC содержат семь информационных битов, которые биоортогонально закодированы с (64,7) код. Конструкция кода на 64 бита такова, что каждый нечетный бит в коде является или всегда инвертированным битом или равный ровному последовательному биту на основе того, существуют ли пилоты, или не существует в системе координат соответственно, как описано в разделе 5.5.2.4 из [1]. 64 закодированных бита pi/2-BPSK модулируются как описано в разделе 5.5.2 из [1].

PL Frame Demultiplexer подсистема демультиплексирует символы PLSC и систему координат данных PL входа. Сигналы от hvalid и dvalid портов указывают на местоположения символов PLSC и символов системы координат данных PL соответственно. Символы PLSC передаются потоком в PL Header Decoder подсистема.

Декодер заголовка PL

PLSC Descrambler подсистема в PL Header Decoder подсистема дескремблирует символы PLSC. Сигнал от indexIndicator порта PLSC Descrambler подсистема отличает четные и нечетные местоположения символов PLSC. pi/2 BSPK Soft Bit Demodulator подсистема демодулирует символы PLSC. Если пилоты существуют в текущем PLFRAME (который решен в кадровой синхронизации), Bit Flipping and Averaging подсистема умножает нечетные мягкие биты на –1 в символах PLSC. Немного щелчка для твердого бита - то же самое как умножение на –1 для мягкого бита. Подсистема составляет в среднем мягкие биты в четных и нечетных местоположениях, чтобы получить одну оценку. Аналогично, 32 мягких бита сгенерированы от 64 мягких битов. Декодер наибольшего правдоподобия (ML) используется, чтобы декодировать (32,6) биоортогональные закодированные биты. 6 декодируемых битов используются, чтобы создать тип FECFrame и MODCOD.

Декодер ML

ML Decoder подсистема декодирует (32,6) биортогональный код путем выбора кодовой комбинации наибольшего правдоподобия. В общей сложности 2^6 = 64 комбинации кодовой комбинации, каждый 32 бита шириной, предварительно вычисляются в dvbs2hdlParameters.m файл. Кодовые комбинации хранятся как целые числа в uint32 формат, с первыми 32 кодовыми комбинациями в одной интерполяционной таблице (LUT) и следующими 32 кодовыми комбинациями в другом LUT. Хранение LUT таково, что старший значащий бит всех кодовых комбинаций называется сначала, сопровождается следующими значимыми битами и так далее. Немного уровня Евклидово расстояние вычисляется в Compute Euclidean Distance подсистема с –1 и 1 как ссылочные значения для бита 0 и бита 1, соответственно. Euclidean Distance Sum Up подсистема добавляет весь уровень на 32 бита Евклидовы метрики в зависимости от времени и генерирует кодовую комбинацию Евклидова метрика для каждой кодовой комбинации. Эта подсистема использует для каждого итератора, чтобы повторить выполнение для всех кодовых комбинаций и генерирует 64 кодовых комбинации Евклидовы метрики. Минимальная Евклидова метрика 64 комбинаций сопоставляет с кодовой комбинацией наибольшего правдоподобия. Кодовая комбинация наибольшего правдоподобия используется, чтобы создать вход на 6 битов, и MOCDOD и значения типа FECFrame.

Для оборудования дружественная реализация вычисляется Евклидова метрика (вычисление, это включает множители) вне ML Decoder подсистема, когда это использует для каждого итератора.

Прекрасный синхронизатор фазы

Fine Phase Synchronizer подсистема является реализацией PLL. Его нормированная полоса пропускания контура установлена в 20e-6. Значение MODCOD, декодируемое от заголовка PL, задает тип модуляции символов в системе координат. Power Q and Beta Offset Rotation подсистема повышает QPSK, 8-PSK, 16-APSK и символы 32-APSK к степени Q и вращает созвездие углом беты. Phase Error Detector подсистема вычисляет ошибку фазы из выхода Power Q and Beta Offset Rotation подсистема, аналогичная описанному уравнением C.10 в приложении C.6.2 [2]. Ошибка фазы отфильтрована контурным фильтром. Отфильтрованный выход управляет блоком NCO HDL Optimized (DSP System Toolbox) в Direct Digital Synthesis подсистема, чтобы сгенерировать комплексную экпоненту синусоидальные выборки, которые спрягаются и используются, чтобы откорректировать фазу входных выборок.

Эта таблица показывает Q и коэффициенты бета для модулируемых символов

    Modulation    Q    Beta (in radians)
    __________    _    _________________

     QPSK         1          0          
     8-PSK        2          pi/4       
     16-APSK      3          0          
     32-APSK      4          pi/4       

Канал

Channel подсистема вводит следующие ухудшения.

                 Impairment                           Description          
    ____________________________________    _______________________________

    Additive white Gaussian noise (AWGN)    Specified in Es/N0 in dB       
    Carrier frequency offset (CFO)          Specified in Hz                
    Carrier frequency drift (CFD)           Specified in Hz/second         
    Carrier phase offset (CPO)              Specified in degrees           
    Sampling clock offset (SCO)             Specified in the interval [0,1)
    Phase noise                             Specified as Low, Medium, High 

Эта таблица задает уровень маски шума фазы в дБн/Гц что генератор шума фазы в dvbs2hdlPhaseNoise.m использование файла, чтобы сгенерировать шум фазы и ввести в выходном сигнале передатчика.

    Frequency    Low     Medium    High
    _________    ____    ______    ____

     100 Hz      -73      -59      -25 
     1 KHz       -83      -77      -50 
     10 KHz      -93      -88      -73 
     100 KHz     -112     -94      -85 
     1 MHz       -128     -104     -103

Запустите модель

Установите MODCOD и значения Типа FECFrame и ухудшения канала на Входной маске подсистемы Настройки и запустите dvbs2hdlPLHeaderRecovery.slx модель. В качестве альтернативы, чтобы запустить модель, введите эту команду в командной строке MATLAB.

sim dvbs2hdlPLHeaderRecovery

Верификация и результаты

Запустите dvbs2hdlPLHeaderRecovery.slx модель.

Number of frames synced = 36 out of 36
Initial frames not compared = 8
Number of frames lost due to PL Header mismatch = 0 out of 28
Number of frames lost due to BB Header CRC failure = 0 out of 28
Number of packets errored = 0 out of 536
Number of bits errored = 0 out of 806144

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

Чтобы сгенерировать HDL-код для этого примера, у вас должен быть HDL Coder™. Используйте makehdl и makehdltb команды, чтобы сгенерировать HDL-код и испытательный стенд HDL для Synchronization and PL Header Recovery подсистема. Время генерации испытательного стенда зависит от времени симуляции.

Получившийся HDL-код синтезируется для оценочной платы Xilinx® Zynq®-7000 ZC706. Место сообщения и использование ресурса маршрута показывают в этой таблице. Максимальная частота операции составляет 205,3 МГц.

       Resources       Usage
    _______________    _____

    Slice LUT          40848
    Slice Registers    71306
    RAMB36             14   
    RAMB18             1    
    DSP48              344  

Ссылки

  1. EN 302 307-1 V1.4.1 Стандарта ETSI (2014-11). Цифровое телевидение (DVB); Структура Структурирования Второго поколения, Кодирование Канала и Системы Модуляции для Широковещательной передачи, Interactive Services, Сбора Новостей и других Широкополосных Спутниковых Приложений (DVB-S2).

  2. TR 102 376-1 V1.2.1 Стандарта ETSI (2015-11). Цифровое телевидение (DVB); Инструкции по Реализации для Системы Второго поколения для Широковещательной передачи, Interactive Services, Сбора Новостей и других Широкополосных Спутниковых Приложений (DVB-S2).

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

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

Смотрите также

(DSP System Toolbox) | (DSP System Toolbox)