В этом примере показано, как спроектировать 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 к оборудованию. Этот рисунок показывает полный рабочий процесс.
Каждый шаг в этом рабочем процессе продемонстрирован одним или несколькими связанными примерами.
Золотой Ссылочный шаг Алгоритма MATLAB состоит из Поиска Ячейки NR и MIB и Восстановления SIB1 (5G Toolbox) пример, который показывает золотой ссылочный алгоритм с плавающей точкой.
Шаг Алгоритма Руководства по аппаратным средствам MATLAB состоит из Приемника Нисходящего канала HDL NR Справочный пример MATLAB, который моделирует благоприятные для оборудования алгоритмы и генерирует тестовые формы волны. Этот код MATLAB® работает с векторами и матрицами выборок данных с плавающей точкой и не поддерживает генерацию HDL-кода.
Шаг Модели Реализации Фиксированной точки Simulink состоит из нескольких примеров. Пример Поиска Ячейки HDL NR демонстрирует, что ячейка 5G ищет Подсистему Simulink, которая использует тот же алгоритм в качестве ссылки MATLAB. Пример Восстановления MIB HDL NR добавляет декодирование канала телевизионного вещания и подсистему восстановления MIB. Пример NR HDL SIB1 Восстановления добавляет подсистему, которая восстанавливает сетку ресурса SIB1 и показывает, как декодировать ее выход с помощью кода ссылки MATLAB. Восстановление MIB HDL NR для примера FR2 (этот пример) показывает поиск ячейки и модели восстановления MIB, которые расширены, чтобы поддержать FR2. Эти модели работают с данными фиксированной точки и оптимизированы для генерации HDL-кода.
Шаг модели развертывания 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 в примере Поиска Ячейки 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 дес. ложек всего.
В этом разделе описываются обновления, требуемые добавить поддержку 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 анализируется.
Используйте 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 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