Восстановление MIB HDL NR для 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. Этим примером является один из связанного набора, который показывает рабочий процесс для разработки и развертывания поиска ячейки NR 5G и алгоритма восстановления MIB к оборудованию. Этот рисунок показывает полный рабочий процесс.

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

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

  2. Шаг Алгоритма Руководства по аппаратным средствам MATLAB состоит из Приемника Нисходящего канала HDL NR Справочный пример MATLAB, который моделирует благоприятные для оборудования алгоритмы и генерирует тестовые формы волны. Этот код MATLAB® работает с векторами и матрицами выборок данных с плавающей точкой и не поддерживает генерацию HDL-кода.

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

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

Для общего описания того, как можно использовать MATLAB и Simulink вместе, чтобы разработать развертываемые модели, см. Проект Радиосвязей для FPGAs и ASICs.

Файловая структура

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

Модели 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 должны поддерживаться. Детектор ищет SSBs путем субдискретизации полученного сигнала к одному из уровней, показанных в таблице согласно SCS. Сигнал затем перекрестный коррелируется с последовательностями PSS.

    SCS (kHz)    Sample Rate (MHz)
    _________    _________________

        15              3.84      
        30              7.68      
       120             30.72      
       240             61.44      

Чтобы вместить увеличенную полосу пропускания SSBs в FR2, входная частота дискретизации 122.88 членов Шотландского парламента используется (по сравнению с 61.44 членами Шотландского парламента для проекта FR1). Синхронизирующие ссылочные модули неизменны и все еще измерены в выборках в 61.44 членах Шотландского парламента. Ссылка синхронизации противостоит шагу с шагом 16, 8, 2, и 1 для SCS 15, 30, 120, и 240 кГц, соответственно. Эта модель включает модифицированный проект DDC, который поддерживает эти дополнительные расстояния между поднесущими и их соответствующие частоты дискретизации. DDC корректирует смещения частоты и затем прореживает данные к 61,44 МГц. Выход от DDC является входом к подсистеме выбора SCS. Эта подсистема создает потоки данных для каждой опции SCS путем последовательной субдискретизации данных с полуленточными фильтрами. Все четыре потока выравниваются, позволяя ссылке синхронизации быть обеспеченными при переключении между различными расстояниями между поднесущими. Выбранный поток коррелируется против каждой из трех последовательностей PSS, чтобы обнаружить SSBs.

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

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

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

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

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.

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

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

Симуляция ищет SSBs в форме волны при помощи ссылки MATLAB. Эта таблица показывает SSBs, обнаруженный во время поиска и их параметров. 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 7.1689s
..............
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 подсистемы Восстановления. Получившийся HDL-код синтезируется для оценочной платы Xilinx® Zynq®-7000 ZC706. Эта таблица показывает место сообщения и результаты использования ресурса маршрута для каждой модели - ссылки и объединенной модели. Проект соответствует синхронизации с тактовой частотой 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        

Похожие темы