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

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

Введение

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

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

  • Системный номер системы координат (SFN)

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

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

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

Для того, чтобы декодировать сообщение MIB, этот пример выполняет эти операции:

  • Поиск ячейки и демодуляция OFDM

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

  • Оценка канала и эквализация

  • PBCH, Индексирующий - определяющий местоположение PBCH в сетке

  • PBCH, Декодирующий - декодирующий PBCH, BCH и MIB

Поиск ячейки и демодуляция OFDM

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

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

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

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

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

Индексация PBCH

PBCH всегда выделяется центральным 6 Блокам Ресурса (RBS) подкадра 0 в первых 4 символах OFDM 2-го паза. Это занимает все Элементы Ресурса (REs) в этой области, исключая местоположения, выделенные CRS. Местоположения CRS вычисляются с помощью заключенного, затем адреса REs, занятого 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 Восстановления.

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

ltehdlMIBRecovery_init.m скрипт выполняется автоматически InitFcn модели 'callback'. Этот скрипт генерирует dataIn и стартовые сигналы стимула, а также любая из констант должна была инициализировать модель. Входные данные могут загрузиться из файла, который, для этого примера, является сигналом LTE, полученным от воздуха. Для получения информации о получении сигналов LTE от воздуха смотрите, что Приемник LTE Использует Аналоговые устройства 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

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

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

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

Нисходящая Синхронизирующая подсистема Demod берет в данных I/Q в 30.72 членах Шотландского парламента и выводит некомпенсируемые нисходящие данные о сетке ресурса. Это - экземпляр ltehdlDownlinkSyncDemod модели - ссылки, которая реализует следующие функции:

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

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

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

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

  • Демодуляция OFDM (использующий 2 048 БПФ точки)

  • Вычисление ID ячейки, на основе PSS и результатов обнаружения SSS

Операция ltehdlDownlinkSyncDemod описана более подробно в примере Поиска Ячейки HDL LTE.

Декодер MIB

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

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

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

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

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

  5. Те элементы ресурса затем читаются из Памяти Сетки Ресурса и компенсируются блоком Channel Equalization.

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

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

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

Диспетчер Записи MemoryBank ответственен за запись подкадров данных к сегменту памяти. Вход writeSubframe включает контроллеру записи для соответствующих подкадров; подкадр 0 в случае существующего примера. Сегмент памяти LTE содержит RAM размерностей 14 x 2 048 комплексных чисел на 16 битов; это - 14 символов ODFM, каждый содержащий 2 048 комплексных чисел. rsOutputGen подсистема вычисляет местоположения символов ссылки на ячейку, извлечения они из данных, как это записано в память сетки и выводит их через gridData выходной сигнал.

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

Индексация PBCH

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

Оценка канала и эквализация

Блок Channel Equalization содержит три основных подсистемы. cellRefGen генерирует символы специфичного для ячейки опорного сигнала (CRS) с помощью генератора последовательности Голда. грудь выполняет оценку канала, принимающую две передающих антенны при помощи простого, благоприятного для оборудования алгоритма оценки канала. 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 Toolbox.

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

Декодер BCH

Декодер BCH квантует мягкие решения и затем декодирует данные с помощью LTE Сверточный Декодер и блоки Декодера CRC LTE. Рекомендуемый wordlength мягких решений во входе к сверточному декодеру составляет 4 бита. Однако блок BCH Decoder получает 20-битные мягкие решения, как введено. Поэтому блок softBitScalingUnit динамически масштабирует данные так, чтобы это использовало полный динамический диапазон мягких решений на 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]

  • ReportedRSRQ: отчет измерения 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

Существует две ячейки в полученной форме волны, один с ячейкой ID 76 и один с ячейкой ID 160. Ячейка с NCellID = 76 имеет намного более высокий ReportedRSRQ, указывая, что это - более сильный сигнал. В этом примере модель Simulink декодирует MIB для NCellID = 76.

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

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

Если MIB был обнаружен NDLRB, PHICH, Ын, 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 является 'Тем'.

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

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

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

       Resource        Usage
    _______________    _____

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

Ограничения

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

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

Ссылки

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

  2. 3GPP "физический уровень" TS 36.214

  3. 3GPP TS 36.133 "Требования для поддержки радио-управления ресурсами"

Похожие темы