主要内容

NR HDL MIB Recovery

This example shows how to design a 5G NR synchronization signal block (SSB) decoding and master information block (MIB) recovery model optimized for HDL code generation and hardware implementation.

介绍

在该示例金宝app中描述的Simulink®模型是SSB解码和MIB恢复的定点HDL优化实现,用于5G NR频率范围1(FR1)。此示例是相关集之一,有关更多信息,请参阅NR HDL Reference Applications Overview.

MIB恢复需要SSB检测,解调和解码。此示例侧重于SSB解码。SSB检测和解调描述于NR HDL Cell搜索example. This example introduces the SSB decoding Simulink model and uses the MATLAB reference to generate test input and verify the behavior of the model. Then, the example describes a Simulink model that combines SSB detection, demodulation, and decoding to recover MIB from a baseband waveform.

检测到SSB并解调后,需要解码以提取MIB内容。SSB解码需要解调参考信号(DMRS)搜索,信道估计和相位均衡,以及如下图所示的广播信道(BCH)解码步骤。

文件结构

此示例使用这些文件。

金宝appSimulink模型

  • nrhdlssbdecoding..slx: This Simulink model simulates the behavior of the SSB decoding step of the MIB recovery process.

  • nrhdlmibropovery.slx: This Simulink model combines the processing of the SSB detector and the SSB decoder into an integrated model illustrating the complete MIB recovery process.

  • nrhdlssbdecoding.Core.slx: This model implements the SSB decoding algorithm.

  • nrhdlpolardecodingchaincore.slx.: This model implements the common polar decoding chain.

  • nrhdlSSBDetectionFR1Core.slx:此模型实现了SSB检测算法。

  • nrhdlddcfr1core.slx.:此模型实现了DDC以创建SIB1和SSB的示例流。

Simulink data dictionary

  • nrhdlreceiverdata.sldd.:此Simul金宝appink数据字典包含定义示例模型中包含的总线的总线对象。

MATLAB代码

  • runSSBDecodingModel.m:此脚本使用MATLAB引用实现单元格搜索算法,然后运行nrhdlssbdecoding.Simulink model. The script verifies the operation of the model using 5G toolbox and the MATLAB reference code.

  • runmibrocoverymodel..m: This script uses the MATLAB reference to perform the search mode of the SSB detection algorithm, then runs thenrhdlmibropoverySimulink model. The script verifies the operation of the model using 5G toolbox and the MATLAB reference code.

  • nrhdlexamples.:包含MATLAB参考代码和实用程序功能的软件包,用于验证实现模型。

NR HDL SSB Decoding

这个数字显示了nrhdlssbdecoding.模型。模型的顶级读取来自MATLAB基础工作空间的信号,将它们传递给SSB解码子系统,并将输出写回工作空间。Parsemib子系统占用PBChPayload并解释位字段以产生MIB参数输出。

SSB解码Subsystem

SSB解码子系统参考文献nrhdlssbdecoding.CorenrhdlpolardecodingchainCoremodels. The subsystem performs DMRS search, channel estimation and equalization, QPSK symbol demodulation, descrambling, rate recovery, polar decoding, and CRC decoding. This processing is split over two models to allow for thenrhdlpolardecodingchainCoreto be shared between the SSB decoding and SIB1 CORESET0 decoding in theNR HDL SIB1 Recoveryexample. This section describes the inputs and outputs of that model.

输入

  • startprocessing.: 1-bit control signal which indicates when all data has been written and that cellID and Lmax are valid.

  • 克里米:10位无符号编号,为检测到的SSB提供单元格ID号。

  • lmax.:2位无符号编号,指示突发中的最大SSB数。值为0表示4个SSB,值1表示8个SSB。

  • 数据:16位符号复位信号,携带SSB的4个OFDM符号。

  • datavist: 1-bit control signal to validate data.

  • 重启:1位控制信号重置处理。

Outputs

  • pbchStatus:2位无符号值,指示PBCH解码操作的进度。有关此信号可能值的更多信息,请参阅以下信息。

  • bchstatus.: 3-bit unsigned value indicating the progress of the BCH decoding operation. See below for more information on the possible values of this signal.

  • ssbIndex3Lsb: 3-bit unsigned value that is the 3 least significant bits of the SSB index calculated by the DMRS search process and Lmax.

  • pbchpayload.: 32-bit unsigned value that contains the MIB and additional PBCH timing data.

  • 验证: 1-bit control signal to validate ssbIndex3Lsb and pbchPayload.

  • nextSSB:1位控制信号,以指示核心可以开始处理下一个SSB。可用于对反向后部SSB解码的输入进行速度。

PBCH状态信号状态

  • 0: 闲

  • 1:阅读SSB网格的数据

  • 2:执行DMRS搜索

  • 3: performing PBCH symbol demodulation

BCH Status Signal States

  • 0: 闲

  • 1: performing rate recovery

  • 2:执行极性解码

  • 3:CRC错误(最终状态)

  • 4:CRC通过,检测到MIB(最终状态)

SSB解码模型

该图显示了顶级nrhdlssbdecoding.Core模型。输入数据是包含同步信号块(SSB)的4个OFDM符号,其中值在+/- 1范围内缩放。当所有SSB数据已输入到模型时,该模型开始处理,并且激发了启动过程。StartProcessing信号还表示NCellID和LMAX输入有效。

SSB缓冲区+ DMRS搜索子系统执行DMRS搜索。传入的数据存储在RAM缓冲区中,在此,在置位启动处理之前,指示所有所需信息可用于启动DMRS搜索过程。DMRS搜索从RAM读取DMRS符号,并与8个可能的DMRS序列相关,选择最强的相关值以确定IBar_SSB。一旦完成了DMRS搜索,iBar_SSB用于生成通道估计所需的参考DMR。参考DMRS从模型输出以及接收的PBCH符号和相关的DMR。这用于推动nrhdlpolardecodingchainCore模型。

这extract payload subsystem performs descrambling and deinterleaving of the payload bits returned from thenrhdlpolardecodingchainCore模型。

Polar Decoding Chain Model

nrhdlpolardecodingchainmodel performs channel estimation and equalization, QPSK symbol demodulation, descrambling, rate recovery, and polar and CRC decoding. This signal processing chain is common for the decoding of both the BCH and downlink control information (DCI).

频道EST +均衡子系统使用接收的数据和参考DMR执行信道估计。信道估计在OFDM符号内的DMRS位置之间的线性插值应用,但在任何残留载波频率偏移的情况下,在时间上不均匀。然后使用解扰换档索引和NCellID输入来执行QPSK符号的相位均衡,然后执行QPSK解调和解扰,并使用NCELLID输入进行扰扰器。后续处理执行解扰数据的速率恢复,极性解码和CRC解码。这Polar Rate Recoversubsystem includes signal scaling and wordlength reduction to prepare the data for polar decoding. The scaled, rate-recovered soft bits are then passed to the NR Polar Decoder block, which also performs CRC decoding. The err output port from the NR Polar Decoder block indicates if decoding was successful or encountered any errors.

SSB解码Simulation Setup

框图显示了该示例实现的模拟设置。5G工具箱™功能用于生成测试波形。然后,SSB检测器的MATLAB参考代码用于搜索并解调波形内的最强的SSB。该结果为SSB解码阶段提供了测试输入。将测试数据传递给MATLAB和SIMULINK实现,并将输出进行比较以验证SIMULI金宝appNK模型的操作。

SSB解码Simulation

Use therunSSBDecodingModel脚本运行SSB解码仿真。该脚本在MATLAB命令提示符下显示其进度。将显示解码SSB在MATLAB和SIMULINK中的最终结果,显示它们完全匹配。金宝appDMRS搜索相关强度和均衡的PBCH QPSK符号的曲线表明,来自Matlab和Simulink的信号密切匹配。金宝app

runSSBDecodingModel;
生成测试波形。Selected Simulation case: Simulation Case SSB Pattern Subcarrier Spacing Common PDCCH Config SIB1 SNR dB Strongest SSB index Lmax _______________ ___________ _________________________ _________________ ______ ___________________ ____ "SimCase 1" "Case C" 30 164 50 4 8 Searching for SSBs using the MATLAB reference.使用MATLAB参考解调最强的SSB。使用MATLAB引用解码SSB。MIB使用Simulink模型通过MATLAB引用解码SSB来解码。金宝app运行nrhdlssbdecoding.slx ###启动串行模型参考模拟构建###模型NRHDLPolardEcodingChainCore的参考仿真目标是最新的。###模型NRHDLSSBDecodingCore的参考仿真目标是最新的。构建摘要0中构建的2型号(已最新的2型号)构建持续时间:0H 0M 0.59046S ........ MIB由Simulink Model Matlab解码信息PBChPayload:17637376 SSBindex:4 HRF:0金宝app错误:0 MIB:[1×1结构] Simulink金宝app解码信息PBCHPAYLOAD:17637376 SSBIndex:4 HRF:0 ERR:0 MIB:[1×1结构] MATLAB解码MIB参数NFRAME:0子载波PACINGCOMMON:30 k_ssb:0 dmrstypeaposition:3PDCCHCONFIGSIB1:164 CellBarred:0 IntraFeReqReselection:0 Si金宝appmulink解码MIB参数NFRAME:0子载波PACINGCOMMON:30 K_SSB:0 DMRSTYPEAP1:3 PDCCHCONFIGSIB1:164 Cellbarred:0 IntraFREREQRESELECTION:0

MIB恢复模型

nrhdlmibropovery模型连接用于SSB解码和SSB检测模型以创建完整的MIB恢复实现。该模型可用于从基带5G波形恢复MIB。剧本runmibrocoverymodel.可用于运行此模型并与MATLAB参考进行比较。为了减少所需的处理时间,在MATLAB中执行算法的小区搜索部分,然后,一旦确定了最强的SSB,就用于重新获取,解调和解码SSB。金宝app

当它到达状态8时,来自检测器的状态信号用于启动SSB解码器,指示已完成解调完成,已找到SSS,并输出解调的网格。当SSB解码器具有解调网格并接收到启动过程信号时,它将解码SSB,输出PBCH有效载荷,然后解析以提取MIB数据。

HDL代码生成和实现结果

To generate the HDL code for this example, you must have an HDL Coder™ license. Use themakehdl.makehdltb.命令生成HDL代码和HDL测试台nrhdlssbdecoding./SSB Decoding或者nrhdlmibropovery/MIB Recovery子系统。由此产生的HDL码为Xilinx®Zynq®-7000 ZC706评估板合成。该表显示了POST POSTION和路由资源利用率结果。该设计符合时钟频率为150 MHz的时序。

nrhdlssbdecoding模型的资源利用率:

资源使用_______________ _____切片寄存器9114片LUTS 11635 RAMB18 8 RAMB36 5 DSP48 37

NRHDLMIBRECOVERY模型的资源利用率:

Resource Usage _______________ _____ Slice Registers 45540 Slice LUTs 32186 RAMB18 21 RAMB36 5 DSP48 255

相关话题