В этом примере показано, как реализовать проект Нескольких входов нескольких выходов (MIMO) передатчика LTE, включая PSS, SSS, CRS и MIB, оптимизированный для генерации HDL-кода.
Модель в этом примере генерирует основополосную форму волны, заданную 3GPP TS 36.211. Форма волны включает первичный сигнал синхронизации (PSS), вторичный сигнал синхронизации (SSS), специфичные для ячейки ссылочные сигналы (CRS) и основной блок информации (MIB) для передачи через физический канал телевизионного вещания (PBCH) для нескольких антенн. Модель поддерживает динамическое изменение NCellID и NDLRB. Проект передатчика MIMO оптимизирован для генерации HDL-кода и, когда реализовано на FPGA, это может использоваться, чтобы передать сигналы MIMO в режиме реального времени по воздуху. Проект MIMO помогает процессу декодирования в присутствии LTE, исчезающего канал. Этот пример поддерживает 1, 2, или 4 антенны и использует разнообразие передачи, как задано в [1].
Архитектура, представленная в этом примере, расширяема и допускает интегрирование дополнительных физических каналов передачи, таких как физический нисходящий канал управления (PDCCH), физический нисходящий канал совместно использованный канал (PDSCH), физический канал индикатора формата управления (PCFICH) и физический канал индикатора HARQ (PHICH).
Этот рисунок показывает архитектуру Передатчика HDL LTE с PSS, SSS, CRS и цепями передачи PBCH.
Входной уровень выборки принят, чтобы быть на уровне 10,24 МГц. PSS, SSS, PBCH и сигналы CRS сгенерированы параллельно, на основе входной настройки. Единый поток PSS и сигналов SSS используется во всех антеннах. Несколько потоков данных PBCH сгенерированы для нескольких антенн посредством отображения слоя и предварительного кодирования этапов. Каждая антенна сопоставлена с соответствующим сегментом памяти LTE, который измерен, чтобы сохранить один подкадр выборок данных о LTE. Эти сгенерированные потоки данных записаны в сегмент памяти LTE, соответствующий сгенерированным индексам, на основе выхода готовый сигнал LTE Модулятор OFDM. Затем данные считываются из всего сегмента памяти LTE параллельно, модулируются и передаются на антеннах одновременно. Блок LTE OFDM Modulator использует БПФ с 2048 точками, чтобы поддержать весь NDLRBs.
В этом примере передатчик передает LTE сигналы MIMO для следующих настроек:
Property Value ________________ __________________ Duplex mode FDD CellRefP 1/2/4 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 подсистема Передатчика MIMO.
Введите запускаются, импульсный сигнал инициировать передачу. Можно сконфигурировать другие параметры, включая NDLRB, NCellID, Циклический префикс, Ына, длительность PHICH и CellRefP в рабочей области после загрузки или открытия ltehdlTransmitter.slx
модель. ltehdlTransmitter_init.m
скрипт выполняется автоматически InitFcn
модели 'callback'. Этот скрипт конфигурирует отдельные блоки в LTE HDL подсистема Передатчика MIMO. Настройка передатчика по умолчанию используется
ltehdlTransmitter_init.m
скрипт:
enb.NDLRB = 6; % {6,15,25,50,75,100}
enb.CyclicPrefix = 'Normal'; % {'Normal','Extended'}
enb.Ng = 'Sixth'; % {'Sixth','Half','One','Two'}
enb.PHICHDuration = 'Normal'; % {'Normal','Extended'}
enb.CellRefP = 4; % {1,2,4}
tx_cellids = [390 89 501 231 500]; % {0 to 503}
outRate = 1; % {1,2}
TotalSubframes = 45; % {positive integer}
Эта настройка по умолчанию может быть изменена, чтобы использовать другие возможные значения в каждой переменной, как отмечено в комментарии к каждой линии.
Структуру LTE HDL подсистема Передатчика MIMO показывают ниже. Контроллер Системы координат управляет индексы системы координат и подкадр. Входной Сэмплер производит входные параметры NDLRB и NCellID и затем распространяет значения с последующими блоками. Генерация The PSS & SSS генерирует PSS, SSS и соответствующий адрес памяти на основе индекса подкадра и NDLRB. Блок генерации MIB генерирует последовательные данные о MIB. Энкодер BCH и Энкодер PBCH генерируют информацию для канала PBCH и адреса памяти для всех антенн. Цепь CellRS генерирует специфичные для ячейки ссылочные сигналы и соответствующие адреса для каждой антенны. Логика Записи Чтения пишет и считывает данные о сетке из каждого Сегмента памяти LTE и предоставляет данные соответствующему LTE Модулятор OFDM. Оптимизированные фильтры HDL Фильтра Дискретного КИХ модулируемые данные с помощью коэффициентов, которые вычисляются на основе входной настройки.
Структурируйте контроллер
Эта подсистема принимает входной уровень выборки 10,24 МГц. Это управляет подкадром и радио-контурами системы координат путем обеспечения cellEnb сигнала произвести NCellID. Это возвращает радио-систему координат и индексы подкадра. Это также обеспечивает syncStart, bchStart, и триггерные сигналы cellRSStart управлять нисходящими блоками.
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 скремблированы согласно настройке передачи. Блок LTE CRC Encoder использует комплект масок CRC ltehdlTransmitter_init.m
скрипт на основе входной настройки.
Кодирование канала: блок LTE Convolutional Encoder кодирует информационные биты с помощью кусающего хвост сверточного кода с продолжительностью ограничения 7, и полином в восьмеричном. Поскольку уровень кодирования энкодера является 1/3, закодированные биты затем сериализируются с помощью блока Serializer1D, и управляющие сигналы передискретизируются к 30,72 МГц (3 * 10,24 МГц).
Уровень, Соответствующий: закодированные биты чередуются, сопровождаются выбором битов для особой длины с помощью чередованного адреса [2]. Для канала телевизионного вещания, потому что длина MIB является постоянной, чередованной записью и считала адреса, предварительно вычисляются и хранятся в wr_addrLUT
и rd_addrLUT
соответственно. Если все сериализированные закодированные биты были записаны в чередованные адреса RAM, биты читаются назад с помощью чередованных адресов чтения.
Энкодер PBCH
Физический канал телевизионного вещания обрабатывает закодированные биты в следующих шагах.
Скремблирование: Закодированные биты от Энкодера BCH скремблированы со специфичной для ячейки последовательностью с помощью блока LTE Gold Sequence Generator. Последовательность инициализируется с NCellID в каждой радио-системе координат () выполнение. Сгенерированная специфичная для ячейки последовательность скремблирована с закодированными битами входа.
Отображение QPSK: схема модуляции, заданная для канала PBCH, является QPSK [1]. Блок LTE Symbol Modulator генерирует символы модуляции QPSK с комплексным знаком.
Отображение слоя: Три подсистемы заданы для отображения слоя. Эти подсистемы помещаются в различной подсистеме. На основе количества антенн, используемых во входной настройке enb.CellRefP
, ltehdlTransmitter_init.m
скрипт выбирает одну из этих трех подсистем в различной подсистеме. Этот блок Layer Mapping разделяет входные выборки потоковой передачи в 1, 2, или 4 последовательности на основе количества используемых антенн. Вход передается потоком без любой обработки для одной антенны. Для нескольких антенн этот блок генерирует допустимый сигнал для каждой антенны. Только один из допустимых сигналов будет высок для каждой входной выборки.
Предварительное кодирование: Этот блок также использует различную подсистему, чтобы обработать входные выборки по-другому на основе количества антенн в настройке передатчика. Для enb.CellRefP
установите на 1, вход передается потоком без любой обработки. Для enb.CellRefP
установите на 4 (или 2), каждые четыре (или два) последовательные выборки X0, X1, X2, X3 (или X0, X1) обрабатываются, чтобы сгенерировать четыре (или два) потоки 4 (или 2) выборки каждый в четыре (или два) моменты времени.
Показанная подсистема генерирует выходную последовательность для 4 антенн, как задано в [1].
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 (четыре символа OFDM в порте антенны 0 и порте 1, и два символа OFDM в порте антенны 2 и порте 3) одного подкадра, эта подсистема вычисляет вектор с 6 элементами для каждого подкадра. Блок LTE Gold Sequence Generator инициализируется с вектором, чтобы представлять несколько каналов и обеспечивает шесть различных специфичных для ячейки псевдослучайных последовательностей. Контроллер Записи управляет записью этих последовательностей в шесть сегментов памяти в CellRS_RAM
. Это также возвращает rd_en, который позволяет считать данные из CellRS_RAM
. Контроллер Чтения управляет чтением данных о CRS. Это читает шесть символов OFDM, если четыре антенны используются, и читает только 4 символа OFDM, если одна или две антенны используются. Это возвращает rd_bank и сигналы rd_valid выбрать соответствующий символ для шести/четырех символов OFDM. Последовательность затем сопоставлена, чтобы объединить модулируемые символы QPSK.
CellRS_indices: Эта подсистема вычисляет адреса для каждого Сегмента памяти LTE, требуемого записать данные о CRS. Это эквивалентно функции LTE Toolbox™ lteCellRSIndices
.
Считайте логику записи
Подсистема Логики Записи Чтения содержит Селектор Записи, Селектор Чтения, четыре Сегмента памяти LTE с Выбором Банка Сетки, сопоставленным с каждым Сегментом памяти LTE. Емкость памяти Сегмента памяти LTE является одним подкадром модулируемых символов комплекса в самой большой поддерживаемой пропускной способности LTE (20 МГц). Каждый Сегмент памяти LTE может сохранить 14 x 2 048 x 16-битных комплексных чисел, то есть, 14 символов OFDM, каждый содержащий 2 048 комплексных чисел.
Селектор Записи пишет подкадры данных в сегменты памяти. PSS и SSS занимают центральные поднесущие. Единый поток PSS и данных SSS используется во всех антеннах. Данные PBCH состоят из нескольких потоков, соответствующих каждому порту антенны. Сгенерированные данные о CRS сопоставлены с сеткой на основе четырех адресов, сгенерированных для каждого Сегмента памяти LTE в блоке CellRS_indices. Селектор Записи сначала пишет PSS и SSS одновременно в соответствующие местоположения во всех Сегментах памяти LTE. Затем это пишет данные PBCH и данные о CRS в соответствующие Сегменты памяти LTE и возвращает rd_enb, чтобы указать, что запись завершена.
Рид Селектор читает выборки из каждого Сегмента памяти LTE на основе rd_enb и готовый от блока LTE OFDM Modulator. Каждый Сегмент памяти LTE возвращает 14 соответствий вектора элемента одной поднесущей. Выбор Банка Сетки выбирает соответствующую выборку из 14 векторов элемента, чтобы сформировать сетку ресурса выход для каждой антенны.
Поскольку осциллограф этого примера ограничивается PSS, SSS, CRS и передачей PBCH, все Сегменты памяти LTE стираются в начале каждого подкадра, прежде, чем записать новые данные в память.
Модуляция OFDM и фильтрация
Данные о сетке из Сегмента памяти LTE OFDM-модулируются с помощью блока LTE OFDM Modulator с 'Набором параметра' частоты дискретизации выходных данных, чтобы 'Совпадать с частотой дискретизации выходных данных к NDLRB'. Модулируемые данные отфильтрованы с помощью блока Discrete FIR Filter HDL Optimized с коэффициентами, сгенерированными на уровне выборки, соответствующем NDLRB. Различные подсистемы управляют количеством модуляторов OFDM и КИХ-фильтров, используемых на основе количества антенн, которое уменьшает использование ресурса, когда одна антенна используется.
После выполнения симуляции, ltehdlTransmitter_PostSim.m
скрипт выполняется автоматически StopFcn
коллбэк модели. В этом примере передатчик вывел, проверяется следующими методами:
Верификация переданного сигнала модели:
Выходной сигнал передатчика в этой модели перекрестный проверяется со ссылочным сигналом передатчика, который сгенерирован с помощью функций LTE Toolbox™ следующими двумя подграфиками для каждой антенны.
Первый подграфик показывает Power Spectral Density (PSD) выход отфильтрованных данных. Результат по сравнению с PSD ссылочного выходного сигнала, сгенерированного с помощью LTE Toolbox™. Это сравнение показывает эквивалентность двух сигналов. Рисунок показывает пропускную способность передачи BW = 1.4 МГц.
Второй подграфик показывает абсолютное значение переданной формы волны. Результат построен сверх абсолютного значения ссылочного сигнала передатчика, сгенерированного с помощью LTE Toolbox™. График также показывает различие между выборками, полученными посредством реализации HDL и ссылочного сигнала. Это сравнение показывает минимальную ошибку между двумя сигналами передатчика.
Ячейка Search & MIB Decoding Results:
Допустимые выборки выходного сигнала передатчика хранятся к переменной txSamples
рабочей области. Эти выборки передаются через LTE, исчезающий канал, чтобы создать входной сигнал получателя,
rxSamples
. lteFadingChannel
модели функции LTE, исчезающий канал.
Этот пример использует следующую настройку канала:
chcfg.NRxAnts = 1; chcfg.MIMOCorrelation = 'Medium'; chcfg.NormalizeTxAnts = 'On'; chcfg.DelayProfile = 'EPA'; % {'off','EPA'} % The below model configuration exist only if Delay profile is not set % to 'off'. chcfg.DopplerFreq = 5; chcfg.SamplingRate = 30.72e6; chcfg.InitTime = 0; chcfg.NTerms = 16; chcfg.ModelType = 'GMEDS'; chcfg.NormalizePathGains = 'On'; chcfg.InitPhase = 'Random'; chcfg.Seed = 1;
Чтобы создать канал без исчезновений, установите chcfg.DelayProfile
к 'off' в ltehdlTransmitter_PostSim.m
скрипт.
Эта настройка канала работает с enb
по умолчанию структура и поддержки изменяются только в
enb.PHICHDuration
и enb.Ng
поля .
Следующие рисунки показывают результаты поиска ячейки и декодирования MIB канала выход, rxSamples
, использование LTE toolbox™ функции. Эти фигуры проверяют производительность передатчика и сравнивают реализацию передатчика HDL с входной настройкой, заданной в tx_cellids
и enb
.
NCellID после Поиска Ячейки: Отображает результаты поиска ячейки LTE, выполняемые на исчезающем канале выход.
Настройки всей ячейки после декодирования MIB: Отображает поля MIB после декодирования MIB - NDLRB, Ын, длительность PHICH и Системный номер системы координат (SFN), выполняемый на исчезающем канале выход.
Модель в качестве примера не поддерживает симуляцию в быстром режиме Accelerator.
Можно проверить HDL LTE пример Передатчика PBCH путем соединения его с моделью Восстановления MIB HDL LTE в качестве примера и проверки, что выход передатчика декодируется правильно. Чтобы сделать модель передатчика совместимой с моделью получателя, внесите эти изменения в передатчик:
Установите outRate
= 2 (значение по умолчанию 1) прежде, чем запустить модель. Это установит норму выработки каждого LTE Модулятор OFDM и сгенерирует коэффициенты фильтра ели, сопоставленные с каждым антенны.
Установите enb.CellRefP
= 2 (значение по умолчанию 4) прежде, чем запустить модель.
Используйте тот же NCellID
поскольку все радио структурирует в передаче. т.е. набор tx_cellids
к скалярному значению в области значений 0-503.
Рисунок показывает LTE HDL Передатчик MIMO и подсистемы Восстановления MIB LTE HDL, соединенные вместе. Это также показывает результат симуляции модели. Блоки отображения показывают поля CellID и MIB (NDLRB, Ын, длительность PHICH и Системный номер системы координат (SFN)), что получатель декодировал от выхода LTE HDL подсистему Передатчика MIMO.
Можно также проверить проект, не используя канал путем завершения выхода от второй антенны и обхода системы канала с выходом от первой антенны.
Чтобы проверять и сгенерировать HDL для этого примера, у вас должна быть лицензия HDL Coder™. Используйте makehdl
и makehdltb
команды, чтобы сгенерировать HDL-код и испытательный стенд для LTE HDL подсистема Передатчика MIMO. Поскольку stopTime в этом примере зависит от TotalSubframes
, время генерации испытательного стенда зависит от TotalSubframes
.
LTE HDL подсистема Передатчика MIMO синтезируется на оценочной плате Xilinx® Zynq®-7000 ZC706. Место сообщения и результаты использования ресурса маршрута показывают в приведенной ниже таблице.
Ресурсы | Количество антенн используется | |||
1 | 2 | 4 | ||
Регистры среза | 12788 | 23839 | 45787 | |
LUT среза | 11984 | 22220 | 42861 | |
RAMB36 | 41 | 82 | 164 | |
RAMB18 | 11 | 21 | 41 | |
DSP | 49 | 93 | 177 | |
Максимум частота (МГц) | 210.08 | 206.39 | 204.75 |
3GPP TS 36.211 "Физические каналы и модуляция".
3GPP TS 36.212 "Мультиплексирование и кодирование канала".