В этом примере показано, как спроектировать 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 и Восстановление MIB Образцы модели MATLAB благоприятные для оборудования алгоритмы и генерируют тестовые формы волны. Этот код MATLAB® работает с векторами и матрицами выборок данных с плавающей точкой и не поддерживает генерацию HDL-кода.
Модель Реализации Фиксированной точки Simulink: пример Поиска Ячейки HDL NR демонстрирует, что ячейка 5G ищет Подсистему Simulink, которая использует тот же алгоритм в качестве ссылки MATLAB. Пример Восстановления MIB HDL NR добавляет декодирование канала телевизионного вещания и подсистему восстановления MIB. Восстановление 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, в 4 раза больше, чем версия, которая только поддерживает FR1. Это изменение в ресурсах - то, потому что частоты дискретизации уменьшают объем разделения ресурсов, которое может быть достигнуто в фильтрах. Метод перекрытия-суммы частотного диапазона используется, чтобы минимизировать использование DSP за счет увеличения задержки. Перекрытие - добавляет корреляцию в nrhdlSSBDetectionCore
модель показывают. Подсистема вычисляет четыре этапа метода перекрытия-суммы. Они - БПФ, умножение тремя наборами коэффициентов частотного диапазона (один для каждого PSS), ОБПФ, и перекрываются и добавляют последующих окон. Эта реализация использует один БПФ, три комплексных мультипирса и три IFFTs, требуя 48 DSPS всего.
В этом разделе описываются обновления, требуемые добавить поддержку FR2 SSB декодирование алгоритма. Поскольку полное описание модели FR1 видит пример Восстановления MIB HDL NR. Это детализирует алгоритмические требования через ссылку MATLAB и реализацию Simulink.
SSB Декодирование алгоритма декодирует канал телевизионного вещания (BCH), содержавшийся в SSB. Процесс декодирования выводит основной блок информации (MIB) и индекс луча обнаруженного SSB. В FR1 существует максимум 8 SSBs, которые могут быть независимо beamformed. Поддержки 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 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