exponenta event banner

Восстановление MIB HDL LTE

В этом примере показано, как спроектировать систему восстановления MIB LTE, оптимизированную для генерации кода HDL и реализации аппаратного обеспечения.

Введение

Модель, представленная в этом примере, может быть использована для определения местоположения и декодирования MIB из сигналов нисходящей линии связи LTE. Он основан на примере поиска ячеек HDL LTE, добавляя этапы обработки для декодирования MIB. Сообщение главного информационного блока (MIB) передается по физическому широковещательному каналу (PBCH) и содержит важную системную информацию:

  • Количество блоков ресурсов нисходящей линии связи (NDLRB), указывающее полосу пропускания системы

  • Номер системного кадра (SFN)

  • Конфигурация PHICH (физический канал индикатора HARQ)

Конструкция оптимизирована для генерации кода ЛПВП, а архитектура является расширяемой, позволяя добавлять дополнительные этапы обработки, такие как индексирование и декодирование для PCFICH, PDCCH и PDSCH (см. LTE HDL SIB1 Recovery). Эта конструкция может быть реализована на платформах SoC с использованием пакетов совместного проектирования аппаратного и программного обеспечения и поддержки аппаратного обеспечения. См. раздел Развертывание справочных приложений LTE HDL на SoC.

Этапы обработки MIB

Для декодирования сообщения MIB этот пример выполняет следующие операции:

  • Поиск соты и демодуляция OFDM

  • Буферизация данных сетки

  • Оценка и выравнивание канала

  • Индексация PBCH - размещение PBCH в сетке

  • Декодирование PBCH - декодирование PBCH, BCH и MIB

Поиск соты и демодуляция OFDM

Обнаружение сигнала LTE, синхронизация по времени и частоте и демодуляция OFDM выполняются на принятых данных. Это создает данные сетки и предоставляет информацию о номере субкадра и идентификаторе ячейки принятого сигнала. Сообщение MIB всегда переносится в подкадре 0, и cellID используется для определения местоположения специфических для соты опорных сигналов (CRS) для оценки канала, а также используется для инициализации последовательности дескремблирования для декодера PBCH.

Буферизация данных сетки

Поскольку сообщение MIB всегда переносится в подкадре 0 сигнала нисходящей линии связи, подкадр 0 буферизуется в банке памяти. В то же время, когда субкадр записывается в банк памяти, местоположение CRS вычисляется с использованием cellID, и CRS посылаются в блок оценки канала.

Оценка канала

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

Индексирование PBCH

PBCH всегда выделяется центральным 6 блокам ресурсов (RB) подкадра 0 в пределах первых 4 символов OFDM 2-го слота. Он занимает все элементы ресурсов (RE) в пределах этого региона, исключая местоположения, назначенные CRS. Местоположения CRS вычисляются с использованием cellID, затем могут вычисляться адреса RE, занятых PBCH (всего 240 местоположений), и данные извлекаются из банка памяти сетки.

Декодирование PBCH

Когда данные PBCH считываются из банка памяти сетки, они выравниваются с использованием оценки канала. 240 выровненных символов PBCH буферизуются, и выполняется попытка декодирования PBCH и BCH для каждой из 4 возможных версий MIB в транспортном блоке PBCH. Каждая из этих версий требует различную последовательность дескремблирования, поэтому для каждой из них должны быть предприняты попытки дескремблирования, демодуляции, восстановления скорости, сверточного декодирования и проверки CRC. При успешном декодировании значение CRC дает значение cellRefP - количество передающих антенн, и биты MIB могут быть проанализированы для получения параметров системы.

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

Архитектура реализации поиска ячеек HDL LTE и восстановления MIB показана на схеме ниже.

Входной сигнал приемника представляет собой данные I/Q основной полосы частот, дискретизированные на скорости 30,72 мс. 2048-точечный БПФ используется для демодуляции OFDM и достаточен для декодирования всех поддерживаемых полос пропускания LTE. Буфер сетки ресурсов способен хранить один подкадр данных LTE. Как только приемник синхронизирован с сотой, данные из демодулятора OFDM записываются в буфер сетки. Затем блок индексирования PBCH генерирует индексы элементов ресурсов, которые несут PBCH. Эти элементы ресурсов считываются из буфера сетки и выравниваются перед передачей через декодер PBCH. Эта архитектура выполнена расширяемой и масштабируемой, так что при необходимости могут быть вставлены дополнительные функции индексирования и декодирования канала. Например, он может быть расширен для выполнения восстановления SIB1, как показано в примере LTE HDL SIB1 Recovery.

Верхний уровень модели ltehdlMIBRecovery показан ниже. Код HDL может быть сгенерирован для подсистемы восстановления MIB HDL LTE.

ltehdlMIBRecovery_init.m автоматически выполняется моделью InitFcn обратный вызов. Этот сценарий генерирует сигналы стимула dataIn и startIn, а также любые константы, необходимые для инициализации модели. Входные данные могут быть загружены из файла, который, например, является сигналом LTE, захваченным в эфир. Для получения информации о записи сигналов LTE в эфир см. LTE Receiver Using Analog Devices AD9361/AD9364 (пакет поддержки Communications Toolbox для радиоприемника на основе Xilinx Zynq). Альтернативно, форма сигнала LTE может быть синтезирована с использованием функций LTE Toolbox. Чтобы выбрать источник ввода, измените loadfromfile параметр в ltehdlMIBRecovery_init.m.

SamplingRate = 30.72e6;
simParams.Ts = 1/SamplingRate;
loadfromfile = true;
if loadfromfile
    load('eNodeBWaveform.mat');
    dataIn = resample(rxWaveform,SamplingRate,fs);
else
    dataIn = hGenerateDLRXWaveform();
end

Оптимизированное восстановление MIB LTE HDL

Структура подсистемы восстановления MIB HDL LTE показана ниже. Блок демодуляции синхронизации нисходящей линии связи выполняет синхронизацию частоты и времени, обнаружение сигнала PSS/SSS и демодуляцию OFDM. Подсистема декодера MIB буферизирует подкадр 0 входящих данных, выполняет оценку канала и пытается декодировать PBCH для восстановления информации MIB.

Синхронизация и демодуляция нисходящей линии связи

Подсистема Downlink Sync Demod принимает данные I/Q на скорости 30,72 мс и выводит неравнозначные данные сетки ресурсов нисходящей линии связи. Это экземпляр ссылки на модель ltehdlDureLinkSyncDemod, реализующий следующие функции:

  • Восстановление частоты

  • Обнаружение первичного сигнала синхронизации (PSS)

  • Обнаружение вторичного сигнала синхронизации (SSS)

  • Восстановление синхронизации на основе сигналов PSS и SSS

  • Демодуляция OFDM (с использованием 2048 точечного БПФ)

  • Расчет идентификатора соты на основе результатов обнаружения PSS и SSS

Работа функции ltehdlDureLinkSyncDemod более подробно описана в примере поиска ячеек LTE HDL.

Декодер MIB

Подсистема декодера MIB показана ниже. Он состоит из четырех подсистем: Индексирование PBCH, Память сети ресурсов, Выравнивание каналов и Декодер PBCH. Порядок операций следующий:

  1. Вход cellDetected устанавливается, подготавливая подсистему к приему и обработке данных.

  2. Данные OFDM поступают в подсистему декодера MIB, и субкадр 0 сохраняется в памяти сети ресурсов.

  3. Подсистема выравнивания каналов вычисляет оценку канала для подкадра 0

  4. Блок индексирования PBCH начинает генерировать индексы элементов ресурсов PBCH.

  5. Эти элементы ресурса затем считываются из памяти сетки ресурсов и выравниваются блоком выравнивания каналов.

  6. Наконец, выровненные данные PBCH проходят через блок декодера PBCH, и MIB извлекается.

Память сетки ресурсов

Блок памяти сети ресурсов содержит банк памяти, логику для управления считыванием и записью банка памяти сети и логику для определения местоположения и вывода CRS. Емкость банка памяти представляет собой один подкадр демодулированных данных OFDM с наибольшей поддерживаемой полосой пропускания LTE (20 МГц).

Контроллер записи банка памяти отвечает за запись подкадров данных в банк памяти. Вход writeSubframe включает контроллер записи для соответствующих подкадров; подкадр 0 в случае настоящего примера. Банк памяти LTE содержит ОЗУ размером 14 x 2048 x 16 бит комплексных значений; это 14 символов ODFM, каждый из которых содержит 2048 комплексных значений. Подсистема rsOutputGen вычисляет местоположения ссылочных символов ячеек, извлекает их из данных при их записи в память сетки и выводит их через выходной сигнал gridData.

Выходной порт gridData переносит сигналы CRS из rsOutputGen, когда данные записываются в память сетки (выходной порт gridWriteDone низкий), и передает данные из банка памяти LTE, когда запись в память сетки завершена (выходной порт GridWriteDone высокий).

Индексирование PBCH

Блок индексирования PBCH вычисляет адреса памяти, необходимые для извлечения PBCH из буфера памяти сетки. Это эквивалентно LTE Toolbox ltePBCHIndices функция. Данные, извлеченные из памяти сетки, затем выравниваются и передаются в декодер PBCH для обработки. Подсистема индексирования PBCH становится активной после того, как данные для подкадра 0 были записаны в память grid, как указано в выходных данных gridWriteDone подсистемы Resource Grid Memory. PBCH всегда имеет длину 240 символов, центрированных в средних поднесущих, в первых 4 символах во 2-м слоте субкадра 0.

Оценка и выравнивание канала

Блок выравнивания каналов содержит три основные подсистемы. cellRefGen генерирует символы cell-specific reference signal (CRS) с использованием генератора Gold Sequence. cHEst выполняет оценку канала, предполагая две передающие антенны, используя простой, удобный для аппаратных средств алгоритм оценки канала. TxDivDecode выполняет декодирование с разнесением передачи для выравнивания фазы принятых данных, используя оценки канала.

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

  1. Оценка канала в каждом элементе ресурса CRS путем сравнения принятого значения с ожидаемым значением символа (генерируемым cellRefGen).

  2. Среднее значение этих оценок канала по времени (для длительности подкадра) для генерации одной оценки канала с комплексным значением для каждой поднесущей, которая содержит символы CRS.

  3. Используйте линейную интерполяцию для оценки канала для поднесущих, которые не содержат символов CRS.

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

Как только оценки канала вычисляются для каждой из передающих антенн, они используются для выравнивания gridData, когда они считываются из памяти ресурсной сетки. TxDivDecode выполняет обратное предварительное кодирование для разнесения передачи (как описано в TS 36.211, раздел 6.3.4.3 [1]) и формирует выровненный выходной сигнал, который затем передается в декодер PBCH.

Декодер PBCH

Декодер PBCH выполняет демодуляцию QPSK, дескремблирование, восстановление скорости и декодирование BCH. Затем он извлекает выходные параметры MIB, используя функциональный блок интерпретации MIB. Эти операции эквивалентны ltePBCHDecode и lteMIB функции на панели инструментов LTE.

PBCH Controller сохраняет выровненные данные в памяти для попыток итеративного сверточного декодирования. 4 попытки декодирования MIB соответствуют 4 повторениям данных MIB на транспортный блок PBCH.

Декодер BCH

Декодер ВСН квантует мягкие решения и затем декодирует данные, используя блоки сверточного декодера LTE и декодера CRC LTE. Рекомендуемая длина слов мягких решений на входе в сверточный декодер составляет 4 бита. Однако блок декодера ВСН принимает 20-битовые мягкие решения в качестве входных данных. Поэтому блок softBitPitedUnit динамически масштабирует данные так, чтобы он использовал полный динамический диапазон 4-битовых мягких решений. Блок декодера CRC сконфигурирован для возврата значения полного несоответствия контрольной суммы. Маска CRC, проверенная на соответствие допустимым значениям, обеспечивает cellRefP; количество антенных портов опорного сигнала, специфичных для соты, в передатчике. Если контрольная сумма CRC не соответствует одному из принятых значений, то MIB не была успешно декодирована, и контроллер PBCH решает, инициировать или нет другую попытку декодирования.

После успешного декодирования MIB подсистема интерпретации MIB извлекает и выводит поля сообщения.

Анализ производительности

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

  • FrequencyOffset: смещение частоты, полученное lteFrequencyOffsets функция

  • NCellID: идентификация ячейки физического уровня

  • TimingOffset: Смещение по времени первого кадра во входном сигнале

  • RSRQdB: значение качества принимаемого опорного сигнала (RSRQ) в дБ на TS 36.214 Раздел 5.1.3 [2]

  • Отчет об измерении RSRQ: RSRQ (целое число от 0 до 34) согласно TS 36.133 Раздел 9.1.7 [3]

Применение cellQualitySearch функция для захваченной формы сигнала eNodeBWaveform.mat используется в ltehdlMIBRecovery_init.m возвращает следующий отчет:

FrequencyOffset: 536.8614
NCellID: 76
TimingOffset: 12709
RSRQdB: -5.3654
ReportedRSRQ: 29
FrequencyOffset: 536.8614
NCellID: 160
TimingOffset: 3108
RSRQdB: -18.1206
ReportedRSRQ: 3

В захваченной форме сигнала имеются две ячейки, одна с ИД 76 ячейки и одна с ИД 160 ячейки. Ячейка с NCellID = 76 имеет гораздо более высокий уровень RRSRQ, что указывает на то, что она является более сильным сигналом. В этом примере модель Simulink декодирует MIB для NCellID = 76.

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

Ниже приведены ключевые управляющие сигналы для этого примера. После подачи импульса на начальный сигнал начинается процесс поиска ячейки. Успешное обнаружение соты указывается сигналом cellDetected. Когда сигнал cellDetected утверждается, сигнал NCellID и TDDMode становятся активными, указывая номер ID соты и то, использует ли сота TDD (1) или FDD (0). После того, как ячейка обнаружена, демодулятор OFDM ожидает, пока подкадр 0 следующего кадра не начнет вывод данных сетки, следовательно, существует зазор между cellDetected wing high и данными сетки, выводимыми, как указано сигналом gridDataValid. При первом утверждении gridDataValid значение subFrameNum будет равно нулю и будет увеличиваться для последующих подкадров. Моделирование останавливается на сигналах MIBDetected или mibError, которые утверждаются.

После обнаружения MIB все сигналы NDLRB, PHICH, Ng, nFrame и CellRefP становятся активными, указывая ключевые параметры соты. Эти параметры отображаются в модели, поскольку они являются статическими значениями при остановке моделирования.

При декодировании захваченного сигнала декодируется следующая информация MIB:

NCellID (Cell ID): 76
TDDMode (0 = FDD, 1 = TDD) : 0
NDLRB (Number of downlink resource blocks): 25
PHICH (PHICH duration) index: 0
Ng (HICH group multiplier): 2
NFrame (Frame number): 262
CellRefP (Cell-specific reference signals): 2

Это указывает, что дуплексный режим, используемый сотой, является FDD, MIB была декодирована в кадре номер 262, длительность PHICH равна «Normal» и значение множителя группы HICH равно «One».

Создание и проверка кода HDL

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

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

       Resource        Usage
    _______________    _____

    Slice Registers    51582
    Slice LUTs         29859
    RAMB18                38
    RAMB36                39
    DSP48                134

Дополнительные сведения см. в разделе Прототипы алгоритмов беспроводной связи на оборудовании.

Ссылки

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

  2. 3GPP ТС 36.214 «Физический уровень»

  3. 3GPP ТС 36.133 «Требования к поддержке управления радиоресурсами»

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