Восстановление NR HDL MIB для FR2

В этом примере показано, как разработать 5G модель восстановления главного информационного блока (MIB) NR, которая оптимизирована для генерации HDL-кода и аппаратной реализации и поддерживает как частотную область значений 1 (FR1), так и частотная область значений 2 (FR2).

Введение

5G камеры башни могут работать как в FR1, так и FR2 частотных полос. FR1 охватывает частоты до 6 ГГц и FR2 охватывает частоты выше 6 ГГц, включая миллиметровую полосу волн. В этом примере представлены новые функциональные возможности, необходимые для поддержки FR2 и процесса обновления существующего проекта FR1.

Модели Simulink ®, описанные в этом примере, являются HDL-оптимизированными реализациями восстановления MIB для 5G NR- FR1 и FR2. Этот пример является одним из связанных наборов, которые показывают рабочий процесс разработки и развертывания 5G алгоритма поиска камеры NR и восстановления MIB на оборудовании. Отображается полный рабочий процесс.

Каждый шаг в этом рабочем процессе демонстрируется одним или несколькими связанными примерами.

  1. Алгоритм Золотой Ссылки MATLAB: Пример Поиска Камеры NR и Восстановления MIB и SIB1 (5G Toolbox) показывает алгоритм Золотой ссылки с плавающей точкой.

  2. MATLAB Оборудования эталонный алгоритм: NR HDL Камеры Search и MIB Recovery MATLAB Образцов модели аппаратно-удобные алгоритмы и генерирует тестовые формы сигналов. Этот код MATLAB ® работает с векторами и матрицами выборок данных с плавающей точкой и не поддерживает генерацию HDL-кода.

  3. Модель реализации Simulink с фиксированной точкой: Пример поиска Камеры HDL NR демонстрирует подсистему Simulink 5G камеры поиска, которая использует тот же алгоритм, что и ссылка MATLAB. Пример восстановления MIB NR HDL добавляет подсистему декодирования широковещательного канала и восстановления MIB. NR HDL MIB Recovery для FR2 примера (этот пример) показов модели поиска камеры и восстановления MIB, которые были расширены для поддержки FR2. Эти модели работают на данных с фиксированной точкой и оптимизированы для генерации HDL-кода.

  4. Simulink SoC Deployment Model: Примеры развертывания Примеров готовых узлов NR HDL на SoCs основаны на моделях реализации с фиксированной точкой и используют пакеты аппаратной поддержки для развертывания алгоритмов на оборудовании.

Общее описание того, как MATLAB и Simulink могут использоваться вместе для разработки развертываемых моделей, смотрите в Wireless Communications Design для FPGA и ASIC.

Структура файла

Этот пример использует эти файлы.

Модели Simulink

  • nrhdlMIBRecovery.slxЭта модель Simulink объединяет обработку детектора SSB и декодера SSB в интегрированную модель, иллюстрирующую полный процесс восстановления MIB. Эта модель использует nrhdlSSBDetectionCore.slx и nrhdlSSBDecodingCore.slx Модели-ссылки.

  • nrhdlSSBDecodingCore.slx: Эта модель-ссылка реализует алгоритм декодирования SSB.

  • nrhdlSSBDetectionCore.slx: Эта модель-ссылка реализует алгоритм обнаружения SSB.

Словарь данных Simulink

  • nrhdlReceiverData.sldd: Этот словарь данных Simulink содержит объекты шины, которые определяют шины, содержащиеся в моделей примера.

Код MATLAB

  • runMIBRecoveryModelFR2.m: Скрипт для выполнения и проверки nrhdlMIBRecovery модель с FR2 формой волны.

  • nrhdlexamples: Пакет, содержащий ссылочный код MATLAB и служебные функции для проверки моделей реализации.

Обнаружение SSB

В этом разделе описываются изменения в обнаружении SSB в примере поиска Камеры HDL NR, которые требуются для поддержки FR2. В нем подробно описываются алгоритмические требования к ссылке MATLAB и реализации Simulink, а также оптимизации, сделанной для генерации HDL-кода.

Алгоритм обнаружения SSB выполняет поиск и демодуляцию с заданным интервалом поднесущих (SCS). Опции SCS составляют 15 кГц или 30 кГц для FR1 и 120 кГц или 240 кГц для FR2. Чтобы добавить FR2 функциональность, необходимо поддержать новые опции SCS. Детектор ищет SSB путем понижающей дискретизации принимаемого сигнала до одной из скоростей, показанных в таблице согласно SCS. Затем сигнал перекрестно коррелируется с последовательностями PSS.

    SCS (kHz)    Sample Rate (MHz)
    _________    _________________

        15              3.84      
        30              7.68      
       120             30.72      
       240             61.44      

Для учета повышенной пропускной способности SSB в FR2 используется частота дискретизации входных параметров 122,88 Msps по сравнению с 61,44 Msps для проекта FR1. Опорные модули синхронизации не изменены и все еще измеряются в выборках при 61,44 Msps. Счетчики опорных синхросигналов увеличиваются на шаги 16, 8, 2 и 1 для SCS на 15, 30, 120 и 240 кГц соответственно. Эта модель включает изменённый проект DDC, которая поддерживает эти дополнительные интервалы поднесущих и их соответствующие скорости дискретизации. DDC корректирует смещения частоты и затем понижает частоту до 61,44 МГц. Выходом от DDC является вход в подсистему выбора SCS. Эта подсистема создает потоки данных для каждой опции SCS путем последовательной понижающей дискретизации с помощью полуполосных фильтров. Все четыре потока выровнены, что позволяет поддерживать временную ссылку при переключении между различными интервалами поднесущих. Выбранный поток коррелирует с каждой из трех последовательностей PSS для обнаружения SSB.

Реализация FPGA этих корреляторов во временном интервале использует 576 DSP, в 4 раза больше, чем версия, которая поддерживает только FR1. Это изменение в ресурсах связано с тем, что частоты дискретизации уменьшают количество совместного использования ресурсов, которое может быть достигнуто в фильтрах. Для минимизации использования DSP за счет увеличения задержек используется частотный диапазон метода перекрытия-суммы. Корреляция перекрытие-добавление в nrhdlSSBDetectionCore показана модель. Подсистема вычисляет четыре этапа метода перекрытия-суммы. Это БПФ, умножение на три набора коэффициентов частотного диапазона (по одному для каждой PSS), ОБПФ, и перекрытие и добавление последующих окон. Эта реализация использует один БПФ, три комплексных мультипайера и три оБПФов, требующих в общей сложности 48 DSP.

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

В этом разделе описываются обновления, необходимые для добавления FR2 поддержки к алгоритму декодирования SSB. Полное описание модели FR1 смотрите в примере восстановления NR HDL MIB. В нем подробно описываются алгоритмические требования к ссылке MATLAB и реализации Simulink.

Алгоритм декодирования SSB декодирует широковещательный канал (BCH), содержащийся в SSB. Процесс декодирования выводит основной информационный блок (MIB) и индекс луча обнаруженного SSB. В FR1 существует максимум 8 SSB, которые могут быть независимо сформированы лучом. FR2 поддерживает передачу 64 SSB, каждый из которых имеет свой собственный луч. Содержимое BCH изменяется между FR1 и FR2, чтобы соответствовать различному максимальному количеству лучей.

The nrhdlexamples.ssbDecode функции и nrhdlSSBDecodingCore модель принимает Lmax как вход. Lmax - это максимальное количество лучей, которые могут передаваться вышкой камеры и зависят от несущей частоты. Допустимые настройки для Lmax: 4 или 8 для FR1 и 64 для FR2. Lmax влияет на дескремблирование в подсистеме обработки/извлечения полезной нагрузки BCH и на то, как анализируется конечная полезная нагрузка BCH.

Симуляция восстановления MIB

Используйте runMIBRecoveryModelFR2 скрипт, чтобы запустить FR2 симуляцию восстановления MIB и проверить результаты. Скрипт отображает прогресс в командной строке MATLAB. В симуляции используются nrhdlMIBRecovery модель, которая ссылается на nrhdlSSBDetectionCore и nrhdlSSBDecodingCore модели. Стимул входа для симуляции является FR2 формой волны, содержащей пакет SS с этими параметрами.

  • Шаблон SSB является случаем D.

  • Интервал между поднесущими составляет 120 кГц.

  • NCellID - 249.

  • Активные SSB передаются по индексам SSB 24:31.

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

Симуляция ищет SSB в форме волны с помощью ссылки MATLAB. SSB, обнаруженные во время поиска, и их параметры показаны в таблице. SSB с самой сильной корреляцией PSS выбирается для демодуляции и декодирования, чтобы протестировать nrhdlMIBRecovery модель. Интервалы между поднесущими, последовательность PSS, смещение по времени и оценка смещения по частоте передаются в модель, чтобы определить, какой SSB следует демодулировать и декодировать. Показаны окончательные результаты процесса декодирования, для сравнения показаны как симуляции, так и эталонные результаты MATLAB.

runMIBRecoveryModelFR2;
Searching for SSBs using the MATLAB reference.
SSBs found by MATLAB reference:
    NCellID2    timingOffset    pssCorrelation    pssEnergy    frequencyOffset
    ________    ____________    ______________    _________    _______________

       0         1.0918e+05        0.42856          0.9903          51134     
       0         1.1137e+05        0.76446          1.6985          49836     
       0         1.1576e+05        0.27392         0.66928          48771     
       0         1.1795e+05          4.138          7.8159          49815     
       0         1.2456e+05        0.58574           1.249          51829     
       0         1.2675e+05         1.2834          2.7073          49390     
       0         1.3113e+05        0.18099         0.49988          48119     
       0         1.3332e+05        0.59469          1.2165          47641     

Demodulating the strongest SSBs using the MATLAB reference.
Decoding the SSB using the MATLAB reference.
Successfully decoded SSB with MATLAB reference
Demodulating the strongest SSBs using Simulink model.
Running nrhdlMIBRecovery.slx
### Starting serial model reference simulation build
### Model reference simulation target for nrhdlSSBDecodingCore is up to date.
### Model reference simulation target for nrhdlSSBDetectionCore is up to date.

Build Summary

0 of 2 models built (2 models already up to date)
Build duration: 0h 0m 3.4464s
..........
Successfully decoded SSB with Simulink model
 MATLAB decoded information
    pbchPayload: 218103955
       ssbIndex: 27
            hrf: 0
            err: 0
            mib: [1×1 struct]

 Simulink decoded information
    pbchPayload: 218103955
       ssbIndex: 27
            hrf: 0
            err: 0
            mib: [1×1 struct]

 MATLAB decoded MIB parameters
                     NFrame: 105
    SubcarrierSpacingCommon: 120
                      k_SSB: 0
          DMRSTypeAPosition: 2
            PDCCHConfigSIB1: 0
                 CellBarred: 0
       IntraFreqReselection: 0

 Simulink decoded MIB parameters
                     NFrame: 105
    SubcarrierSpacingCommon: 120
                      k_SSB: 0
          DMRSTypeAPosition: 2
            PDCCHConfigSIB1: 0
                 CellBarred: 0
       IntraFreqReselection: 0

Результаты генерации и реализации HDL-кода

Чтобы сгенерировать HDL-код для этого примера, вы должны иметь лицензию HDL- Coder™. Используйте makehdl и makehdltb команды для генерации HDL-кода и HDL- испытательного стенда для nrhdlMIBRecovery/MIB Recovery подсистема. Получившийся HDL-код был синтезирован для платы оценки ZC706 Xilinx ® Zynq ® -7000. Таблица показывает результаты использования ресурсов постамата и маршрута для каждой модели-ссылки и объединенной модели. Проект соответствует синхронизации с тактовой частотой 200 МГц.

Разбивка использования ресурсов по моделям:

       Resource        nrhdlMIBRecovery    nrhdlSSBDetectionCore    nrhdlSSBDecodingCore
    _______________    ________________    _____________________    ____________________

    Slice Registers         64317                  55969                    8302        
    Slice LUTs              43304                  32380                   11138        
    RAMB18                     40                     34                       6        
    RAMB36                     10                      5                       5        
    DSP48                     207                    170                      37        

Похожие темы