HDL LTE передатчик PBCH

Этот пример показывает, как реализовать проект передатчика LTE, включая PSS, SSS, CRS и MIB, оптимизированный для генерации HDL-кода.

Введение

Модель в этом примере генерирует основополосную форму волны, заданную TS 36.211 стандарта LTE. Форма волны включает первичный сигнал синхронизации (PSS), вторичный сигнал синхронизации (SSS), специфичные для ячейки ссылочные сигналы (CRS) и основной блок информации (MIB) для передачи через физический канал телевизионного вещания (PBCH). Модель поддерживает динамическое изменение NCellID и NDLRB. Проект передатчика оптимизирован для генерации HDL-кода и, когда реализовано на FPGA, может использоваться, чтобы передать сигналы в режиме реального времени по воздуху.

Архитектура, представленная в этом примере, расширяема и допускает интегрирование дополнительных физических каналов передачи, таких как физический нисходящий канал управления (PDCCH), физический нисходящий канал совместно использованный канал (PDSCH), физический канал индикатора формата управления (PCFICH) и физический канал индикатора HARQ (PHICH).

Архитектура и настройка

Архитектуру Передатчика HDL LTE с PSS, SSS, CRS и цепочками передачи PBCH показывают в фигуре.

Входной уровень выборки принят, чтобы быть в 10.24 членах Шотландского парламента. PSS, SSS, PBCH и сигналы CRS сгенерированы параллельно, на основе входной настройки. Сегмент памяти LTE измерен, чтобы сохранить один подкадр выборок данных о LTE. Сгенерированные сигналы записаны в память, соответствующую индексам, сгенерированным от вывода готовый сигнал LTE Модулятор OFDM. Затем данные считываются из сегмента памяти LTE и модулируются. Блок OFDM Modulator использует БПФ с 2048 точками, чтобы поддержать весь NDLRBs. Эта архитектура разработана, чтобы быть расширяемой и масштабируемой так, чтобы дополнительные физические каналы могли быть вставлены по мере необходимости.

В этом примере передатчик передает сигналы LTE для следующих настроек:

        Property              Value       
    ________________    __________________

    Duplex mode         FDD               
    CellRefP            1                 
    Bandwidth           1.4 - 20 MHz      
    Cyclic prefix       Normal/Extended   
    Initial subframe    0                 
    Initial frame       0                 
    Ng                  Sixth/Half/One/Two
    PHICH duration      Normal/Extended   

Структура модели в качестве примера

Структуру верхнего уровня ltehdlTransmitter модели показывают ниже. HDL-код может быть сгенерирован для подсистемы Передатчика LTE HDL.

Введите запускаются, импульсный сигнал инициировать передачу. Можно сконфигурировать другие параметры, включая NDLRB, NCellID, Циклический префикс, Ына и длительность PHICH путем изменения скрипта ltehdlTransmitter_init.m. Скрипт ltehdlTransmitter_init.m выполняется автоматически коллбэком InitFcn модели. Этот скрипт конфигурирует отдельные блоки в подсистеме Передатчика LTE HDL. Биты входа MIB сгенерированы на уровне выборки 10.24 членов Шотландского парламента. Инициализация по умолчанию устанавливает передатчик использовать эти параметры:

enb.NDLRB = 6;
enb.CyclicPrefix = 'Normal';
enb.Ng = 'Sixth';
enb.PHICHDuration = 'Normal';
tx_cellids = [385 98 8 312 445 125];

Передатчик LTE HDL

Структуру подсистемы Передатчика LTE HDL показывают ниже. Контроллер Кадра управляет индексы кадра и подкадр. Входной Сэмплер выбирает входные параметры NDLRB и NCellID и затем распространяет значения к последующим блокам. Генерация The PSS & SSS генерирует PSS, SSS и соответствующий адрес памяти на основе индекса подкадра и NDLRB. Энкодер BCH и Энкодер PBCH генерируют информацию для канала PBCH и адресов памяти на основе входных параметров. Цепочка CellRS генерирует специфичные для ячейки ссылочные сигналы и соответствующие адреса. Логика Записи Чтения пишет и считывает данные о сетке из Сегмента памяти LTE и предоставляет данные LTE Модулятор OFDM. Дискретный КИХ-HDL Фильтра Оптимизированные фильтры модулировал данные с помощью коэффициентов, вычисленных на основе входной настройки.

Структурируйте контроллер

Подсистема контроллера Кадра принимает входной уровень выборки 10.24 членов Шотландского парламента. Это управляет подкадром и радио-контурами кадра путем обеспечения cellEnb сигнала выбрать NCellID. Это возвращает радио-кадр и индексы подкадра. Это также обеспечивает syncStart, bchStart, и триггерные сигналы cellRSStart управлять нисходящими блоками.

PSS & SSS Генерация

Цепочка PSS & SSS генерирует первичный сигнал синхронизации (PSS), вторичный сигнал синхронизации (SSS), и соответствующие адреса записи для Сегмента памяти LTE на основе входных параметров NDLRB и NCellID. syncStart инициировали генерацию PSS и SSS. PSS и SSS занимают те же центральные 62 поднесущих двух символов OFDM в сетке ресурса [1]. Эта подсистема генерирует два сигнала и их соответствующие адреса одновременно, таким образом, и PSS и SSS могут быть записаны в Сегмент памяти LTE одновременно.

Последовательность PSS сгенерирована от Последовательности Задова-Чу частотного диапазона [1], где корневой индекс последовательности Zadoff-Чу зависит от NCellID2, который выведен от NCellID. Существует три возможных значения NCellID2, таким образом, все возможные последовательности PSS предварительно вычисляются и хранятся в PSS_LUT.

  • PSS_generation: Определяет NCellID2 и читает соответствующую последовательность PSS из PSS_LUT последовательно.

  • PSS_indices: Вычисляет адреса памяти, требуемые записать данные PSS в Сегмент памяти LTE. Эта подсистема эквивалентна функции LTE Toolbox™ ltePSSIndices.

Последовательность SSS является чередованной конкатенацией двух длин 31 двоичная последовательность. Конкатенированная последовательность скремблирована с борющейся последовательностью, данной PSS. Комбинация этих последовательностей отличается между подкадром 0 и подкадром 5 [1]. Индексы m0 и m1 выведены от единичной группы ячейки физического уровня, NCellID1[1]. Эти индексы и последовательности s (n), c (n), и z (n), вычисляются и хранятся в m0_LUT, m1_LUT, S_LUT, C_LUT и Z_LUT соответственно.

  • SSS_generation: Вычисляет m0 и m1 на основе NCellID и вычисляет индексы, требуемые для последовательностей s (n), c (n), и z (n) на основе индекса подкадра. Генерирует последовательность SSS, как задано в [1].

  • SSS_indices: Вычисляет адреса памяти, требуемые записать данные SSS в Сегмент памяти LTE. Эта подсистема эквивалентна функции LTE Toolbox™ lteSSSIndices.

Энкодер BCH

Канал телевизионного вещания (BCH) обрабатывает информацию о MIB, прибывающую в блок в форме максимума одного транспортного блока для каждого временного интервала передачи (TTI) 40 мс. Блок реализует выполняющие шаги кодирования.

  • Кодирование CRC: целый транспортный блок используется, чтобы вычислить биты четности CRC для полинома, заданного в [2]. Биты четности затем добавлены к транспортному блоку. После добавления биты CRC скремблированы согласно настройке передачи. Блок CRC Encoder используется с комплектом масок CRC к 0.

  • Кодирование канала: Входные биты являются кусанием хвоста, convolutionally закодированное с энкодером продолжительности ограничения 7, и полином в восьмеричном. Блок Convolutional Encoder % кодирует информационные биты. Поскольку уровень кодирования энкодера является 1/3, закодированные биты затем сериализируются с помощью блока Serializer1D, и управляющие сигналы передискретизируются к 30,72 МГц (3 * 10,24 МГц).

  • Уровень, Соответствующий: Закодированные биты чередуются, сопровождаются выбором битов для особой длины с помощью чередованного адреса [2]. Для канала телевизионного вещания, потому что длина MIB является постоянной, чередованной записью и считала адреса, предварительно вычисляются и хранятся в wr_addrLUT и rd_addrLUT соответственно. Если все сериализированные закодированные биты были записаны в чередованные адреса RAM, биты читаются назад с помощью чередованных адресов чтения.

Энкодер PBCH

Физический канал телевизионного вещания обрабатывает закодированные биты в следующих шагах.

  • Скремблирование: Закодированные биты от Энкодера BCH скремблированы со специфичной для ячейки последовательностью с помощью блока Gold Sequence Generator. Последовательность инициализируется с NCellID в каждом радио-кадре () выполнение. Сгенерированная специфичная для ячейки последовательность скремблирована с закодированными битами входа.

  • Отображение QPSK: схема модуляции, заданная для канала PBCH, является QPSK [1]. Блок LTE Symbol Modulator генерирует символы модуляции QPSK с комплексным знаком.

  • Memory: модулируемые символы Комплекса, соответствующие физическому каналу телевизионного вещания для начального радио-кадра, хранятся в PBCH_RAM. Для четырех последовательных радио-кадров количество битов, которые будут переданы на физическом канале телевизионного вещания, 1920 для нормального циклического префикса и 1728 для расширенного циклического префикса. Контроллер Записи Чтения управляет чтением и адресами записи на основе, поскольку периодичность канала телевизионного вещания (BCH) составляет 40 мс.

  • Индексация PBCH: Вычисляет адреса памяти, требуемые записать данные PBCH в Сегмент памяти LTE. Подсистема PBCH_indices эквивалентна функции LTE Toolbox™ ltePBCHIndices.

Цепочка CellRS

Специфичная для ячейки ссылочная последовательность является комплексными модулируемыми значениями псевдослучайной последовательности, как задано в [1]. Псевдослучайный генератор последовательности инициализируется с в начале каждого символа OFDM, как задано в [1].

  • CellRS_generation: Введите триггеры cellRSStart генерация сигналов CRS. Поскольку CRS доступен в четырех символах OFDM одного подкадра, эта подсистема вычисляет вектор с 4 элементами для каждого подкадра. Блок Gold Sequence Generator инициализируется с вектором, чтобы представлять несколько каналов и обеспечивает четыре различных специфичных для ячейки псевдослучайных последовательности. Контроллер Записи управляет записью этих последовательностей в четыре сегмента памяти в CellRS_RAM. Это также возвращает rd_en, который позволяет считать данные из CellRS_RAM. Контроллер Чтения управляет чтением данных о CRS, соответствующих четырем символам OFDM, и возвращает rd_bank и rd_valid, чтобы выбрать соответствующую последовательность. Последовательность затем сопоставлена, чтобы объединить модулируемые символы QPSK.

  • CellRS_indices: Вычисляет адреса, требуемые записать данные о CRS в Сегмент памяти LTE. Эта подсистема эквивалентна функции LTE Toolbox™ lteCellRSIndices.

Считайте логику записи

Подсистема Логики Записи Чтения содержит Селектор Записи, Селектор Чтения, Сегмент памяти LTE и Выбор Банка Сетки. Емкость памяти Сегмента памяти LTE является одним подкадром модулируемых символов комплекса в самой большой поддерживаемой пропускной способности LTE (20 МГц).

Селектор Записи ответственен за запись подкадров данных в сегменты памяти. Как упомянуто в разделе генерации PSS & SSS, PSS и SSS занимают центральные поднесущие. Селектор Записи сначала пишет PSS и SSS одновременно в соответствующие местоположения в Сегменте памяти LTE. Затем это пишет данные PBCH, сопровождаемые данными о CRS, и затем возвращает rd_enb, чтобы указать, что запись завершена. Сегмент памяти LTE может сохранить 14 x 2 048 x 16-битных комплексных чисел, то есть, 14 символов OFDM, каждый содержащий 2 048 комплексных чисел.

Рид Селектор читает символ из Сегмента памяти LTE на основе rd_enb и готовый от блока LTE OFDM Modulator. Сегмент памяти LTE возвращает данные из всех 14 сегментов памяти. Выбор Банка Сетки выбирает соответствующие символы из Сегмента памяти LTE, чтобы сформировать сетку ресурса вывод.

Поскольку осциллограф этого примера ограничивается PSS, SSS, CRS и передачей PBCH, Сегмент памяти LTE стирается в начале каждого подкадра, прежде, чем записать новые данные в память.

Модуляция OFDM и фильтрация

Данные о сетке из Сегмента памяти LTE OFDM-модулируются с помощью блока OFDM Modulator с 'Набором параметра' частоты дискретизации выходных данных, чтобы 'Совпадать с частотой дискретизации выходных данных к NDLRB'. Модулируемые данные отфильтрованы с помощью блока Discrete FIR Filter HDL Optimized с коэффициентами, сгенерированными на уровне выборки, соответствующем NDLRB.

Результаты

После выполнения симуляции скрипт ltehdlTransmitter_PostSim.m выполняется автоматически коллбэком StopFcn модели. Модель отображает три фигуры, иллюстрирующие выходные параметры и результаты. Первый график иллюстрирует вывод отфильтрованных OFDM-модулируемых выборок. Второй и третий график отображает поиск ячейки и результаты декодирования MIB, полученные путем декодирования передаваемых данных с помощью функций LTE Toolbox™. Эти результаты проверяют поведение проекта передатчика.

LTE переданная форма волны

  1. Первый подграфик показывает Power Spectral Density (PSD) вывод отфильтрованных данных. Результат по сравнению с PSD ссылочного выходного сигнала, который сгенерирован с помощью LTE Toolbox™. Это сравнение показывает эквивалентность двух сигналов. Для показанной фигуры использовалась пропускная способность передачи BW = 1.4 МГц.

  2. Второй подграфик показывает абсолютное значение переданной формы волны. Результат построен сверх того же фрагмента абсолютного значения ссылочного сигнала передатчика, который сгенерирован с помощью LTE Toolbox™. График также показывает различие между реализацией HDL и ссылочным сигналом. Это сравнение показывает минимальную ошибку между двумя переданными формами волны.

Ячейка Search & MIB Decoding Results

Следующие графики показывают результаты поиска ячейки и симуляции декодирования MIB. Это проверяет производительность передатчика и сравнивает реализацию передатчика HDL с той же настройкой передатчика LTE с помощью функций LTE Toolbox™.

  1. NCellID после Поиска Ячейки: Отображает результаты поиска ячейки LTE.

  2. Настройки всей ячейки после декодирования MIB: Отображает поля MIB после декодирования MIB - NDLRB, Ын, длительность PHICH и Системный номер кадра (SFN).

Валидация с поиском ячейки и примером восстановления MIB

Производительность Передатчика LTE HDL может также быть проверена с помощью примера Восстановления MIB HDL LTE свойством установки 'Output data sample rate' блока OFDM Modulator 'Использовать максимальную частоту дискретизации выходных данных' и инициализировав фильтр передачи с коэффициентами на максимальном уровне выборки.

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

Чтобы проверять и сгенерировать HDL для этого примера, у вас должна быть лицензия HDL Coder™. Используйте makehdl и команды makehdltb, чтобы сгенерировать HDL-код и испытательный стенд HDL для подсистемы Передатчика LTE HDL. Поскольку входные параметры в этом примере зависят от TotalSubframes, генерация испытательного стенда занимает много времени.

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

       Resources       Usage
    _______________    _____

    Slice Registers    12436
    Slice LUTs         13130
    RAMB18             11   
    RAMB36             41   
    DSP48              47   

Ссылки

  1. 3GPP TS 36.211 "Физические каналы и модуляция".

  2. 3GPP TS 36.212 "Мультиплексирование и кодирование канала".

Похожие темы