Этот пример показывает, как к дизайну a 5G НОМЕР модели восстановления основного информационного блока (MIB), которая оптимизирована для генерации объектного кода HDL и внедрения аппаратных средств, и поддерживает и частотный диапазон 1 (FR1) и частотный диапазон 2 (FR2).
5G вышки сотовой связи могут работать в FR1 или FR2 диапазонах частот. FR1 охватывает частоты до 6 ГГц и FR2 - частоты выше 6 ГГц, включая полосу миллиметровых волн. В этом примере представлены новые функциональные возможности, необходимые для поддержки FR2 и процесса обновления существующей конструкции FR1.
Модели Simulink ®, описанные в этом примере, представляют собой реализации восстановления MIB для 5G NR FR1 и FR2, оптимизированные для HDL с фиксированной точкой. Этот пример - один из связанного набора, которые показывают технологический процесс для проектирования и развертывания 5G НОМЕР поиска клетки и алгоритма восстановления МИБ к аппаратным средствам. Отображается полный рабочий процесс.

Каждый шаг в этом рабочем процессе демонстрируется одним или несколькими связанными примерами.
Золотой эталонный алгоритм MATLAB: пример поиска ячеек NR и MIB и восстановления SIB1 (5G Toolbox) показывает золотой эталонный алгоритм с плавающей запятой.
Эталонный аппаратный алгоритм MATLAB: NR HDL Cell Search и MIB Recovery MATLAB Reference моделирует аппаратные алгоритмы и генерирует тестовые сигналы. Этот код MATLAB ® работает с векторами и матрицами выборок данных с плавающей запятой и не поддерживает генерацию кода HDL.
Модель реализации Simulink Fixed-Point: пример поиска ячеек NR HDL демонстрирует подсистему поиска ячеек 5G Simulink, которая использует тот же алгоритм, что и ссылка MATLAB. Пример восстановления NR HDL MIB добавляет подсистему декодирования широковещательного канала и восстановления MIB. NR HDL MIB Recovery для FR2 примера (этот пример) показывает модели поиска ячеек и восстановления MIB, которые были расширены для поддержки FR2. Эти модели работают на данных с фиксированной точкой и оптимизированы для генерации кода HDL.
Модель развертывания SoC Simulink: Примеры использования эталонных приложений NR HDL на SoC основаны на моделях реализации с фиксированной точкой и используют пакеты аппаратной поддержки для развертывания алгоритмов на оборудовании.
Общее описание совместного использования MATLAB и Simulink для разработки развертываемых моделей см. в разделе Проектирование беспроводных коммуникаций для 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 в примере поиска ячеек NR HDL, которые необходимы для поддержки 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 мс по сравнению с 61,44 мс для FR1 конструкции. Блоки опорных синхросигналов не изменились и все еще измеряются в выборках при 61,44 мс. Счетчики опорных синхросигналов увеличиваются на 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 модель показана. Подсистема вычисляет четыре этапа метода наложения-добавления. Это FFT, умножение на три набора коэффициентов частотной области (по одному для каждой PSS), IFFT и перекрытие и добавление последующих окон. Эта реализация использует один FFT, три комплексных мультипирена и три IFFT, что требует 48 DSP в целом.

В этом разделе описываются обновления, необходимые для добавления поддержки FR2 в алгоритм декодирования SSB. Полное описание модели FR1 см. в примере восстановления MIB NR HDL. В нем подробно описываются алгоритмические требования к эталону MATLAB и реализации Simulink.
Алгоритм декодирования SSB декодирует широковещательный канал (BCH), содержащийся в SSB. Процесс декодирования выводит главный информационный блок (MIB) и индекс луча обнаруженного SSB. В FR1, существует максимум 8 SSB, которые могут быть независимо сформированы. FR2 поддерживает передачу 64 SSB, каждая на своем луче. Содержание ВСН варьируется между 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.
Активные 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 Coder™. Используйте makehdl и makehdltb команды для генерации кода HDL и стенда для тестирования HDL для nrhdlMIBRecovery/MIB Recovery подсистема. Полученный код 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