В этом примере показано, как спроектировать систему восстановления 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, этот пример выполняет эти операции:
Поиск ячейки и демодуляция 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
Структуру подсистемы Восстановления 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. Порядок операций следующие:
Вход cellDetected утверждается, готовя подсистему, чтобы получить и обработать данные.
Данные OFDM передаются потоком в подсистему Декодера MIB, и подкадр 0 хранится в Памяти Сетки Ресурса.
Подсистема Эквализации Канала вычисляет оценку канала для подкадра 0
Блок PBCH Indexing начинает генерировать индексы элемента ресурса PBCH.
Те элементы ресурса затем читаются из Памяти Сетки Ресурса и компенсируются блоком Channel Equalization.
Наконец компенсируемые данные 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 выполняет декодирование разнообразия передачи, чтобы компенсировать фазу принятых данных, с помощью оценок канала.
Средство оценки канала принимает, что передатчик использует две антенны, генерируя оценку канала для каждой антенны. Для каждой антенны средство оценки канала генерирует одну оценку канала с комплексным знаком для каждой поднесущей подкадра с помощью следующего алгоритма:
Оцените канал в каждом элементе ресурса CRS путем сравнения полученного значения с ожидаемым значением символа (сгенерированный cellRefGen).
Насчитайте эти оценки канала через время (на время подкадра), чтобы сгенерировать одну оценку канала с комплексным знаком для каждой поднесущей, которая содержит символы CRS.
Используйте линейную интерполяцию, чтобы оценить канал для поднесущих, которые не содержат символы 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 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 с низкими отношениями нисходящего канала к восходящему каналу. Это ухудшение может уменьшать способность последующих этапов обработки обнаружить и декодировать сигнал.
Для получения дополнительной информации см. Прототипные Алгоритмы Радиосвязей на Оборудовании.
3GPP TS 26.211 "Физические каналы и модуляция"
3GPP "физический уровень" TS 36.214
3GPP TS 36.133 "Требования для поддержки радио-управления ресурсами"