主要内容

NR HDL SIB1复苏

这个例子展示了如何设计一个5 g NR系统信息块1型(SIB1)资源网格恢复模型为HDL代码生成和优化硬件实现和解码SIB1从它的输出。

介绍

Simu金宝applink仿真®模型中描述的这个例子是定点HDL SIB1资源网格的优化实现复苏5 g NR频率范围1 (FR1)。这个例子是一组相关的工作流设计和部署5 g NR细胞搜索和MIB和SIB1恢复算法的硬件。显示了完整的工作流程。

每个步骤在这个工作流是通过一个或多个相关的例子。

  1. MATLAB黄金参考算法步骤包括NR细胞搜索和MIB和SIB1复苏(5 g工具箱)例子,显示了浮点黄金参考算法。

  2. MATLAB硬件参考算法步骤包括NR HDL下行接收MATLAB参考示例,该模型硬件友好算法和生成测试波形。这个MATLAB®代码运行在向量和矩阵的浮点数据样本,不支持HDL代码生成。金宝app

  3. 金宝app仿真软件定点实现模型步骤包含多个例子。的NR HDL细胞搜索示例演示了5 g细胞搜索模型子系统,使用相同的算法MATLAB参考。金宝app的NR HDL MIB复苏示例添加一个广播信道解码和MIB恢复子系统。NR HDL SIB1复苏的例子(这个例子)添加一个子系统恢复SIB1资源网格,并展示了如何使用MATLAB解码输出参考代码。的NR HDL MIB FR2复苏示例显示细胞搜索和MIB已经扩展为支持FR2恢复模型。金宝app这些模型对定点数据操作和HDL代码生成进行了优化。

  4. 金宝app仿真软件SoC部署模型步骤包括soc上部署NR HDL参考应用例子,建立定点实现模型,并使用硬件支持包硬件上部署算法。金宝app

对于一般的描述如何使用MATLAB和Simulink开发部署模型一起,看到的金宝app无线通信设计fpga和asic

SIB1复苏需要细胞的搜索,主信息块(MIB)解码,复苏的SIB1网格(包含CORESET0资源网格的面积和SIB1),和解码的PDCCH和PDSCH SIB1网格。这个例子主要关注SIB1网格复苏。MIB复苏中描述的过程NR HDL MIB复苏的例子。最后解码阶段了NR HDL下行接收MATLAB参考的例子。这个例子着重于SIB1解调仿真软件模型,并使用MATLAB引用生成测试输入和验证模型的行为。金宝app作为最后一步,该示例显示了一个仿真软件模型,通过结合MIB复苏和SIB1解金宝app调恢复SIB1网格从基带波形。

MIB复苏后,MIB内容需要解析和用于确定CORESET0资源分配的时间和频率。用这些知识时可以OFDM解调SIB1电网时机场合。

文件结构

这个示例使用这些文件。

金宝app仿真软件模型

  • nrhdlSIB1Demodulation.slx:该仿真软件模金宝app型使用nrhdlSIB1DemodulationCore模型参考网格模拟SIB1解调SIB1恢复过程的一部分。

  • nrhdlSIB1GridRecovery.slx:该仿真软件模金宝app型结合了单边带的处理探测器,单边带解码器,SIB1解调器到一个集成模型说明完成SIB1电网恢复过程。这个模型使用nrhdlSSBDetectionFR1Core,nrhdlSSBDecodingCore,nrhdlSIB1DemodulationCore模型参考。

  • nrhdlSIB1DemodulationCore.slx:这个模型参考实现SIB1解调算法。

  • nrhdlSSBDecodingCore.slx:这个模型参考实现单边带解码算法。

  • nrhdlSSBDetectionFR1Core.slx:这个模型参考实现单边带检测算法。

金宝app模型数据字典

  • nrhdlReceiverData.sldd:这个模型数据金宝app字典包含总线对象定义公共汽车模型中包含的例子。

MATLAB代码

  • runSIB1DemodulationModel.m这个脚本使用MATLAB实现MIB的恢复算法,然后运行nrhdlSIB1Demodulation金宝app仿真软件模型。脚本验证模型的操作使用5 g工具箱™和MATLAB的参考代码。

  • runSIB1GridRecoveryModel.m:这个脚本使用MATLAB参考执行单边带检测算法的搜索模式,然后运行nrhdlSIB1GridRecovery金宝app单边带仿真软件模型来解调和解码,然后解调SIB1网格。脚本验证模型的操作使用5 g工具箱和MATLAB的参考代码。

  • nrhdlexamples:包包含MATLAB验证参考代码和效用函数实现模型。

NR HDL SIB1解调

这图显示了nrhdlSIB1Demodulation模型。顶层模型的读取信号从MATLAB基础工作空间,将它们传递给SIB1解调子系统,并写入输出回工作区。

SIB1解调接口

SIB1解调子系统包含的一个实例输入扩展子系统和nrhdlSIB1DemodulationCore模型参考。的输入扩展子系统尺度输入0.875倍,为后续处理阶段提供空间。的nrhdlSIB1DemodulationCore在下一节中描述的算法。

输入

  • dataIn:16位签署复值信号,采样61.44议员。

  • validIn验证:1比特控制信号dataIn

  • paramsIn:SIB1GridParamBus类型的总线。

  • 开始:1比特控制信号用于启动SIB1电网恢复操作。

  • clearStatus:明确的状态信号的状态。

SIB1GridParamBus

  • ssbFrequencyOffset:32位签署指定频率偏移值应用于单边带。这个信号与一个32位累加器连接到一个区域。使用这个值转换为赫兹方程:ssbFrequencyOffset_Hz=ssbFrequencyOffset* 61.44 e6 / 2 ^ 32。

  • ssbTimingOffset:21-bit无符号值的时间抵消发现单边带。时间偏移是在样品61.44议员从0到1228799。

  • scsSSB:2比特无符号值指定的副载波间距(SCS)发现单边带。这个信号设置为0到选择15 kHz,或1选择30千赫。

  • ssbIndex3Lsb:3-bit无符号值3单边带指数的最低有效位。

  • pbchPayload:32位无符号值包含MIB和额外PBCH时间数据。

  • minChanBW:2比特无符号值指定的最小通道带宽。值0表示5兆赫,1表示10 MHz, 2表示40 MHz。

  • ssbPattern:2比特无符号值指定单边带模式。值0表示“情况”,1表示“案例B”, 2表示“案例C”。

输出

  • 状态:2比特无符号值表明SIB1解调操作的进度。

  • dataOut:16位签署复数SIB1资源网格数据。算法输出的28个OFDM符号SIB1网格,一个资源元素(重新)每循环。

  • validOut验证:1比特控制信号dataOut输出。

  • coreset0Resources:coreset0ResourcesBus类型的总线。

  • coreset0Occasion:coreset0OccasionBus类型的总线。

  • parsedMIB:MIBBus类型的总线。

coreset0ResourcesBus

  • resourceBlocks:2比特无符号值指定资源块的数量。值0表示24日1表明48,2表示96。

  • ofdmSymbols:2比特无符号值的OFDM符号CORESET0跨越。

  • frequencyOffset:32位签署价值指定CORESET0单边带的相对频率偏移。这个信号与一个32位累加器连接到一个区域。使用这个值转换为赫兹方程:frequencyOffset_Hz=frequencyOffset* 61.44 e6 / 2 ^ 32。

coreset0OccasionBus

  • slotOffset:位无符号值的槽抵消甚至帧头第一个监测槽。

  • firstSymbol:3-bit无符号值指定第一个占领槽中的OFDM符号。

MIBBus

  • sfn:10位无符号值系统帧数(SFN)。

  • scsCommon:1比特无符号值指定共同的副载波间距。值0表示15 kHz, 1表示30千赫。

  • Kssb:位无符号值之间的抵消单边带和整体资源块网格。

  • drmsTypeAPos:1比特无符号值指定的位置dmr象征PDSCH配置类型,其中0表示位置2和1显示位置3。

  • pdcchConfigSIB1:8位无符号值包含CORESET0的配置

  • cellBarred:1比特值指示是否禁止细胞。

  • intraFreqReselection:1比特值指示是否允许内部频率重新选择。

  • hrf:1比特值一半的框架。

  • ssbIdx:3-bit单边带的索引值。

状态信号状态

  • 0:初始状态。等待开始的脉搏。

  • 1:等待CORESET0时机场合。

  • 2:OFDM解调,输出SIB1网格数据。

SIB1解调模型参考结构

这个图表显示了顶级的nrhdlSIB1DemodulationCore模型。设计操作智商数据为61.44 MHz,需要参数从一个成功的MIB复苏。SIB1解调信号开始一开始操作,可以断言一旦paramsIn总线上的所有输入端口是有效的。你必须持有期间在paramsIn常数的值解调。

第一个处理阶段SIB1解调器监护系统。监护系统将输入数据在61.44 MHz,执行频率转向中心CORESET0然后downsamples 30.72 MHz使用halfband过滤器。输出采样率被选中,因为它是执行所需的最小带宽的2 FFT的最大大小CORESET0 SCS 15和30千赫。

OFDM解调器需要监护系统的输入和输出SIB1网格当它收到一个开始的信号。子系统配置来计算一个变量大小FFT,具有可配置循环前缀长度和副载波。FFT的大小取决于副载波间距选择SIB1网格。SCS 15 2048点FFT,和SCS 30 1024点FFT。这些都对应于30.72 MHz的采样率。循环前缀长度变化在OFDM解调SIB1网格占时间越长循环前缀符号出席halfsubframe边界。卫队副载波的数量被用来提取SIB1网格从完整的解调带宽。

如DDC和OFDM解调器子系统要求配置值成功解调SIB1网格。这些值计算结果的MIB复苏。SIB1配置子系统结构的MIB PBCH载荷并解析pdcchSIB1Config现场生产coreset0Resourcescoreset0TimingOccasion。的coreset0Resources从单边带信号包含频率偏移CORESET0网格和CORESET0的带宽资源。的coreset0TimingOccasion信号包含的槽抵消甚至SFN帧头第一槽即槽内监控2系统框架。监测槽时间抵消子系统转换coreset0TimingOccasion位置偏移时间引用计数。单边带模式、单边带指数和单边带时间参考用于计算的时间参考甚至SFN帧头,CORESET0的时间参考价值的计算。时间引用计数器,与单边带同步检测引用,用来跟踪SIB1数据流。一旦开始信号是断言,startController等待SIB1时机指达到目标偏移计算监测槽时间抵消子系统,然后触发OFDM解调开始。时间参考的图显示了一个示例监视的单边带,甚至帧头,CORESET0时机场合。这些补偿取决于传输单元的配置。

SIB1解调仿真设置

框图所示仿真设置由这个例子中实现。5 g的工具箱函数用于生成一个测试波形。然后使用MATLAB参考代码来执行所需的步骤MIB恢复——单边带搜索、解调和解码。结果为SIB1解调阶段提供输入数据。相同的输入通过MATLAB和Simulink SIB1解调的实现,和输出网格直接比较。金宝app验证了网金宝app格模型通过使用MATLAB参考完成SIB1复苏操作通过解码PDCCH然后PDSCH。

SIB1解调仿真

使用runSIB1DemodulationModel脚本运行SIB1解调仿真。脚本在MATLAB命令提示符显示其进展,并产生的输入和输出进行分析。testbench支持多个仿金宝app真案例。完整的情况下,和它们的参数,显示。这个例子展示了运行“SimCase 1”的结果。显示资源网格由MATLAB仿真软件以及它们之间的差异和它们的相对均方误差(MSE)。金宝app这个验证仿真软件MATLAB实现匹配参考。金宝app网格块突出解码PDCCH, PDSCH贴上标签。脚本的最后阶段解码的仿真软件SIB1网格以确保其正确性。金宝app

模拟案例单边带模式共同PDCCH副载波间距配置SIB1信噪比dB最强的单边带指数Lmax售予___________ _________________________ _________________ ______ ___________________ __“SimCase 1”“C”30 164 50 4 8“SimCase 2”“案例B”15 100 5 7 8“SimCase 3”“案例”30 4 20 2 8“SimCase 4”“案例”15 84 7 0 4
runSIB1DemodulationModel;
生成测试波形。寻找SSBs使用MATLAB参考。解调最强的单边带使用MATLAB参考。使用MATLAB参考解码解调单边带。解调SIB1电网使用MATLAB参考。解调SIB1电网使用仿真软件模型。金宝appnrhdlSIB1Demodulation运行。基金# # #开始连续模型参考模拟构建# # #成功更新了模型参考模拟目标:nrhdlSIB1DemodulationCore构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = nrhdlSIB1DemodulationCore nrhdlSIB1DemodulationCore_msf代码生成和编译。mexa64并不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 1米23.925秒..........MATLAB和Simu金宝applink网格相对均方误差:-60.7415 dB PDCCH RMS维生素:0.611% DCI成功解码的网格模型。 SIB1 successfully decoded from Simulink grid.

SIB1电网恢复模型

nrhdlSIB1GridRecovery模型结合了SIB1解调模型(nrhdlSIB1DemodulationCore)与两个单边带解码和单边带检测参考模型(nrhdlSSBDecodingCorenrhdlSSBDetectionFR1Core)来创建一个完整的实施SIB1电网恢复的。这个模型可以用来恢复SIB1网格5 g从基带波形。

使用runSIB1GridRecoveryModel脚本运行这个模型对MATLAB参考和比较。加快模拟细胞的搜索算法在MATLAB的一部分。一旦确定,最强的单边带获得使用的仿真软件模型,解调和解码的单边带,然后SIB1网格解调。金宝app

状态从单边带信号检测器和译码器是用来注册SIB1解调所需的值。当bchStatus达到国家4,指示成功的MIB解码,SIB1解调处理开始。一旦时机场合SIB1网格是OFDM解调和输出。

HDL代码生成和实现结果

生成HDL代码对于这个示例,您必须HDL编码器™产品。使用makehdlmakehdltb命令来生成和高密度脂蛋白HDL代码试验台nrhdlSIB1Demodulation / SIB1解调nrhdlSIB1GridRecovery / SIB1电网恢复子系统。由此产生的HDL代码合成Xilinx®Zynq®-7000 ZC706评估板。表显示了地点和路线后资源利用的结果。设计满足定时时钟频率为150 MHz。

资源利用率为nrhdlSIB1Demodulation模型:

资源使用售予_____片寄存器11843片附近地区6877 RAMB18 19 RAMB36 6 DSP48 33

资源利用率为nrhdlSIB1GridRecovery模型:

资源使用售予_____片寄存器94857片附近地区46916 RAMB18 36 RAMB36 11 DSP48 276

nrhdlSIB1GridRecovery模型部署到硬件平台和恢复SIB1从空中信号,看到soc上部署NR HDL参考应用的例子。

相关的话题