exponenta event banner

Измерительный преобразователь LTE HDL PBCH

В этом примере показано, как реализовать конструкцию передатчика LTE с множеством входов и множеством выходов (MIMO), включая 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 параллельно, модулируются и передаются на антеннах одновременно. Блок модулятора OFDM LTE использует 2048-точечный БПФ для поддержки всех NDLRB.

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

        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   

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

Структура верхнего уровня модели ltehdlTransmeter показана ниже. Можно создать код HDL для подсистемы передатчика HDL LTE MIMO.

Начало ввода является импульсным сигналом для запуска передачи. Можно настроить другие параметры, включая NDLRB, NCellID, циклический префикс, Ng, длительность PHICH и CellRefP в рабочей области после загрузки или открытия ltehdlTransmitter.slx модель. ltehdlTransmitter_init.m автоматически выполняется моделью InitFcn обратный вызов. Этот сценарий настраивает отдельные блоки в подсистеме передатчика LTE MIMO HDL. Конфигурация датчика по умолчанию, используемая 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}

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

Измерительный преобразователь HDL LTE MIMO

Ниже показана структура подсистемы передатчика HDL LTE MIMO. Контроллер кадров управляет индексами субкадров и кадров. Входной дискретизатор выполняет выборку входов NDLRB и NCellID, а затем распространяет значения на последующие блоки. Генерация PSS&SSS генерирует PSS, SSS и соответствующий адрес памяти на основе NDLRB и индекса подкадра. Блок генерации MIB генерирует последовательные данные MIB. Кодер BCH и кодер PBCH генерируют информацию для каналов PBCH и адресов памяти для всех антенн. CellRS Chain генерирует специфические для соты опорные сигналы и соответствующие адреса для каждой антенны. Логика записи считывания записывает и считывает данные сетки из каждого банка памяти LTE и предоставляет данные соответствующему модулятору OFDM LTE. Дискретный FIR-фильтр, оптимизированный для 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 генерируется из последовательности Zadoff-Chu в частотной области [1]. Индекс корневой последовательности Задоффа-Чу зависит от 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 LTE использует маску CRC, установленную ltehdlTransmitter_init.m скрипт на основе входной конфигурации.

  • Канальное кодирование: блок сверточного кодера LTE кодирует информационные биты, используя сверточный код с концевыми битами с длиной ограничения 7 и многочлен$$ G_0 = 133, G_1 = 171, G_2 = 165 $$ в восьмеричном цвете. Поскольку скорость кодирования кодера равна 1/3, кодированные биты затем сериализуются с использованием блока Serializer1D (кодера ЛПВП), и сигналы управления повторно дискретизируются до 30,72 МГц (3 * 10,24 МГц).

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

Кодер PBCH

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

  • Скремблирование: Кодированные биты из кодера BCH скремблируются с помощью специфичной для ячейки последовательности с использованием блока генератора золотых последовательностей LTE. Последовательность инициализируется NCellID в каждом кадре радиосвязи $$ n_f $$$$ n_f mod 4 = 0 $$(). Сформированная специфическая для ячейки последовательность скремблируется с входными кодированными битами.

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

  • Отображение слоев: Для отображения слоев определены три подсистемы. Эти подсистемы размещаются внутри вариационной подсистемы. На основе количества антенн, используемых во входной конфигурации enb.CellRefP, ltehdlTransmitter_init.m в сценарии выбирается одна из трех подсистем в вариационной подсистеме. Этот блок отображения уровня разделяет входные потоковые выборки на 1, 2 или 4 последовательности на основе количества используемых антенн. Вход передается в потоковом режиме без какой-либо обработки для одной антенны. Для множества антенн этот блок генерирует действительный сигнал для каждой антенны. Только один из допустимых сигналов будет высоким для каждой входной выборки.

  • Предварительное кодирование: Этот блок также использует вариационную подсистему для обработки входных выборок по-разному в зависимости от количества антенн в конфигурации передатчика. Для enb.CellRefP установлено значение 1, вход передается в потоковом режиме без какой-либо обработки. Для enb.CellRefP установлено в 4 (или 2), каждые четыре (или два) последовательных выборки X0, X1, X2, X3 (или X0, X1) обрабатываются для генерации четырех (или двух) потоков из 4 (или 2) выборок каждая в четыре (или два) момента времени.

Показанная подсистема генерирует выходную последовательность для 4 антенн, как указано в [1].

  • Память: Сложные модулированные символы, соответствующие физическому каналу вещания для начального кадра радиосвязи, хранятся в PBCH_RAM. Для четырех последовательных кадров радиосвязи количество битов, подлежащих передаче по физическому широковещательному каналу, составляет 1920 для нормального циклического префикса и 1728 для расширенного циклического префикса. Контроллер чтения и записи управляет адресами чтения и записи на основе, $$ n_f mod 4 $$так как периодичность широковещательного канала (BCH) составляет 40 мс.

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

Цепочка CellRS

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

  • CellRS_generation: Input cellRSstart запускает генерацию сигналов CRS. Поскольку CRS доступен в шести символах OFDM (четыре символа OFDM в антенном порте 0 и порте 1 и два символа OFDM в антенном порте 2 и порте 3) одного подкадра, эта подсистема вычисляет 6-элементный$$ c_{init} $$ вектор для каждого подкадра. Блок генератора золотых последовательностей LTE инициализируется вектором$$ c_{init} $$ для представления множества каналов и обеспечивает шесть различных специфических для ячейки псевдослучайных последовательностей. Контроллер записи управляет записью этих последовательностей в шесть банков памяти в 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 2048 16-битных комплексных значений, то есть 14 символов OFDM, каждый из которых содержит 2048 комплексных значений.

Селектор записи записывает подкадры данных в банки памяти. PSS и SSS занимают центральные поднесущие. Для всех антенн используется один поток данных PSS и SSS. Данные PBCH состоят из множества потоков, соответствующих каждому антенному порту. Сгенерированные данные CRS отображаются в сетку на основе четырех адресов, сгенерированных для каждого банка памяти LTE в CellRS_indices блоке. Селектор записи сначала записывает PSS и SSS одновременно в соответствующие местоположения во всех банках памяти LTE. Затем он записывает данные PBCH и данные CRS в соответствующие банки памяти LTE и возвращает rd_enb, чтобы указать, что запись завершена.

Селектор считывания считывает выборки из каждого банка памяти LTE на основе rd_enb и готов из блока модулятора OFDM LTE. Каждый банк памяти LTE возвращает вектор 14 элементов, соответствующий одной поднесущей. Система Grid Bank Select выбирает соответствующую выборку из вектора 14 элементов, чтобы сформировать выходной сигнал сетки ресурсов для каждой антенны.

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

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

Данные сетки из банка памяти LTE модулируются OFDM с использованием блока модулятора OFDM LTE с параметром «Скорость выборки выходных данных», установленным в «Сопоставить скорость выборки выходных данных с NDLRB». Модулированные данные фильтруются с использованием блока дискретного FIR-фильтра, оптимизированного для HDL (DSP System Toolbox), с коэффициентами, генерируемыми с частотой дискретизации, соответствующей NDLRB. Различные подсистемы управляют количеством модуляторов OFDM и используемых фильтров FIR на основе количества антенн, что уменьшает использование ресурсов при использовании одной антенны.

Проверка и результаты

После выполнения моделирования, ltehdlTransmitter_PostSim.m сценарий выполняется автоматически StopFcn обратный вызов модели. В этом примере выходной сигнал датчика проверяется следующими способами:

Проверка передаваемого сигнала модели:

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

  1. На первом вложенном графике показан выходной сигнал спектральной плотности мощности (PSD) отфильтрованных данных. Результат сравнивается с PSD опорного выходного сигнала, генерируемого с использованием LTE Toolbox™. Это сравнение показывает эквивалентность двух сигналов. На рисунке показана полоса пропускания передачи BW = 1.4MHz.

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

Результаты поиска ячеек и декодирования MIB:

Действительные выборки выходного сигнала датчика сохраняются в переменной рабочего пространства. txSamples. Эти выборки проходят через канал замирания LTE для создания входного сигнала приемника. rxSamples. lteFadingChannel (LTE Toolbox) моделирует канал замирания 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 чтобы «выключить» в ltehdlTransmitter_PostSim.m сценарий.

Эта конфигурация канала работает со значением по умолчанию enb структура и поддерживает изменения только в enb.PHICHDuration и enb.Ng поля.

На следующих рисунках показаны результаты поиска соты и декодирования MIB выхода канала. rxSamples, используя функции LTE toolbox™. Эти цифры проверяют производительность датчика и сравнивают реализацию датчика HDL с входной конфигурацией, определенной в tx_cellids и enb.

  • NCellID после поиска ячеек: отображает результаты поиска ячеек LTE, выполненные на выходе канала замирания.

  • Настройки для всей ячейки после декодирования MIB: отображает поля MIB после декодирования MIB - NDLRB, Ng, длительность PHICH и номер системного кадра (SFN), выполняемые на выходе канала замирания.

Пример модели не поддерживает моделирование в режиме быстрого ускорения.

Пример проверки с поиском ячеек и восстановлением MIB

Вы можете проверить пример передатчика LTE HDL PBCH, подключив его к модели LTE HDL MIB Recovery и проверив правильность декодирования выходного сигнала передатчика. Чтобы сделать модель передатчика совместимой с моделью приемника, внесите в передатчик следующие изменения:

  • Установите outRate = 2 (значение по умолчанию 1) перед запуском модели. Это установит выходную скорость каждого модулятора OFDM LTE и сформирует коэффициенты светового фильтра, связанные с каждой антенной.

  • Установите enb.CellRefP = 2 (значение по умолчанию 4) перед запуском модели.

  • Использовать то же самое NCellID для всех кадров радиосвязи в передаче. т.е. набор tx_cellids до скалярного значения в диапазоне 0-503.

На рисунке показаны связанные между собой передатчики LTE MIMO HDL и подсистемы восстановления LTE MIB HDL. Он также показывает результат моделирования модели. Блоки отображения показывают поля CellID и MIB (NDLRB, Ng, длительность PHICH и номер системного кадра (SFN)), которые приемник декодировал с выхода подсистемы передатчика LTE MIMO HDL.

Можно также проверить конструкцию без использования канала, завершив выход второй антенны и обойдя систему каналов с выходом первой антенны.

Создание кода HDL

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

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

         Resources          No. of antennas used = 1    No. of antennas used = 2    No. of antennas used = 4
    ____________________    ________________________    ________________________    ________________________

    Slice Registers                  12788                       23839                       45787          
    Slice LUT                        11984                       22220                       42861          
    RAMB36                           41                          82                          164            
    RAMB18                           11                          21                          41             
    DSP                              49                          93                          177            
    Max. Frequency (MHz)             210.08                      206.39                      204.75         

Ссылки

  1. 3GPP ТС 36.211 «Физические каналы и модуляция».

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

Связанные темы