5G NR HDL单元搜索与MIB恢复参考应用
5G NR HDL Cell Search and MIB Recovery参考应用程序是一个经过fpga验证的子系统IP,它执行OFDM解调并检测主要和次要同步信号(PSS/SSS),然后解码主信息块(MIB)。FPGA子系统采用Simulink进行设计®,并可原样使用或修改以检测和解码信号同步块(SSB)信息,以在5G无线应用程序中使用。本视频概述了用于创建它的设计方法,并展示了如何模拟它并为FPGA或ASIC实现生成可合成的RTL。细节包括:
- 使用5G工具箱™创建参考算法和合成5G波形
- 在MATLAB中添加硬件架构®参考模型
- 实现算法的流版本,以处理现实世界的连续信号处理
- 使用MATLAB测试台对Simulink实现进行仿真和分析,并将结果与MATLAB参考资料进行比较
- 运行HDL Coder™生成可合成的RTL,自动调用FPGA合成并返回其结果
在无线HDL工具箱中的NR HDL单元搜索和MIB恢复参考应用程序是硬件优化的实现,您可以使用它作为您的无线应用程序的一部分来检测和解码5G新的无线电信号信息。
您将从中生成HDL的子系统是在Simulink中建模的,因为Simulink具有内置的时间感,并有助于可视化并行架构和定点数据类型传播。
因为这些都是从使用5G工具箱的MATLAB算法开始的,我们重用了该代码来验证我们的实现,并在这里演示了该工作流。
第一步是从测试台中划分将部署到应用程序的功能。我们在MATLAB中正确地做到了这一点,同时我们添加了一些部署所需的功能,因此我们可以验证数字。例如,因为这需要工作在真实的空中信号,它包括一个数字下转换器混合到基带和改变采样率。
输入波形是由这个MATLAB函数生成的,也包括在这个参考应用程序中。
在输出端,MATLAB代码最初将显示和绘制结果,然后打印一些与参考数据的比较。
在这个图中,蓝色框代表试验台元素,橙色代表设计。尽早进行这种分区非常重要,这样可以更容易地交换和比较具有更多实现细节的版本。
针对硬件有两个主要的子系统。第一个将执行单元搜索并检测主和次同步信号,有时这就是应用程序需要使用的全部功能。第二个子系统使用该信息解码主信息块(MIB)。
它以同步信号块检测为重点,分两阶段运行,由软件层控制。
第一阶段-搜索模式-接受波形以及频率偏移和所需的子载波间距的粗略估计,并执行PSS检测,返回三个可能的PSS值的相关结果。搜索模式允许软件协调搜索PSS(或单元)在不同的粗频率偏移和副载波间隔。软件确定最强的PSS相关性,对应最强的cell,然后在解调模式下再次调用相同的硬件子系统,这次将这个PSS信息传递给硬件执行OFDM解调和SSS检测,返回结果。
还有一个被路由到顶层的诊断信号的MATLAB结构。这很好地构建了设计,以便稍后将这些信号带到FPGA的顶层进行调试。
最后,SSB解码子系统对解调后的资源网格中的MIB信息进行解码。
我们仍然需要调整这些算法来处理连续的信号数据流,就像在硬件中那样。Simulink是最好的环境,因为它可以模拟计时。
MATLAB测试台驱动Simulink模型的输入,它们被转换为一个样本流,然后返回到输出帧,以便与MATLAB硬件参考算法进行比较,在这个阶段,该算法是测试台将用于验证的参考。
在这里,我们为每个以硬件为目标的子系统创建单独的Simulink模型。这说明了分区的好处——我们可以使用一个分区的MATLAB仿真版本,而专注于另一个分区的Simulink细节。首先是单元搜索子系统。
MATLAB数据通过这里的From Workspace块传递,在这些到Workspace块中为MATLAB收集的输出。当我们使用MATLAB驱动测试台架时,能够可视化架构和数据类型传播使得Simulink更有利于将流硬件行为添加到设计中。就像MATLAB参考一样,进入的波形在第一种模式下通过DDC移动到PSS检测,结果返回到作为软件的MATLAB测试台,然后在解调模式下驱动回硬件,在那里它被发送到OFDM解调器,这是一个硬件准备的块,你可以插入和配置。将解调后的网格输出,同时送入SSS检测,结果均注册在系统输出端,返回MATLAB。您还可以看到收集诊断信息以输出到顶层。
我们可以从MATLAB开始模拟,当它开始时,它为生成的测试波形生成一个图,显示传输波形中所有8个ssb的组合资源网格。由于在每种模式下都运行了MATLAB和Simulink,所以这个模拟需要几分钟的时间,所以直接跳到结果。首先,细胞搜索模式结果显示PSS0是最强的细胞,然后是来自SSS相关器的一个漂亮的干净峰值,最后的光谱图显示了PSS之后的解调符号,SSS位于第二个符号的127个资源元素的中心。所有这些结果和诊断结果返回到MATLAB工作空间进行分析。
如果你想解码MIB, MIB恢复引用应用程序增加了一个块解码模块。当检测块发出检测到单元ID的信号时,该模块被触发。它传入单元格ID并传入网格数据流。同样,它在处理物理广播通道、使用Polar Decoder IP块处理广播通道和使用此状态机收集输出的地方进行了良好的分区。
现在,您可以使用HDL Coder为每个子系统生成HDL。通常,您会在应用程序中使用一个或两个,并从整个应用程序生成HDL。但是,如果您想尝试将这个参考应用程序部署到软件定义的无线电套件中,我们还将这个设计的一个版本组合在一起,并设置为针对基于Xilinx zynq的SDR。HDL工作流顾问中的所有内容都是预先填充的,包括用于硬件和软件之间通信的AXI接口的映射,它将生成HDL、AXI映射、嵌入式软件和驱动程序,并对电路板进行编程,以便使用实时无线信号运行。
但通常情况下,您会按原样使用它,或者进行自己的修改,将SSB和MIB信息返回到基于5g的应用程序。
参考应用程序概述提供了更多的细节,设计本身可以在无线HDL工具箱中找到
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。