主要内容

使用Xilinx RFSoC设备恢复5G NR MIB

本示例展示了如何使用针对Xilinx Zynq®UltraScale+™RFSoC ZCU111评估板的SoC Blockset®实现,在Simulink®中模金宝app拟和部署5G NR MIB恢复算法。通过本例,您可以恢复、解调主同步信号(PSS)和次同步信号(SSS),并从5G NR波形解码MIB报告,并模拟在处理器上运行的Cell Search控制算法序列,同时与Cell Search硬件算法交互。在仿真中,可以在硬件上实现处理器中的控制器和FPGA中的硬件算法之前,在系统级别上对它们进行微调和验证。

金宝app支持的硬件平台

  • Xilinx Zynq®UltraScale+™RFSoC ZCU111评估套件+ XM500 Balun卡+带通滤波器:3000-4300 MHz

设计任务和系统规格说明

在本例中,设计任务是为5G应用程序构建无线通信系统,并在Xilinx RFSoC设备上实现该系统。本例中的单元格搜索和MIB恢复算法为NR单元格搜索和MIB恢复算法NR HDL下行链路接收机MATLAB参考(无线HDL工具箱)的例子。该图显示了单元搜索和MIB恢复算法的概念概述。

  • SS块检测器和SS块解码器执行检测、解调和解码5G NR同步信号块(SSB)所需的所有高速信号处理任务。这使得这些部件非常适合在可编程逻辑(PL)上实现FPGA。为了在PL中实现SS块检测器和SS块解码器,本示例使用来自金宝appNR HDL单元搜索(无线HDL工具箱)而且NR HDL MIB恢复(无线HDL工具箱)分别参考例子。

  • 搜索控制器协调探测器和解码器硬件核心的操作,并以低速率运行,使得搜索控制器非常适合在集成ARM®处理系统(PS)上进行软件实现。对于软件实现,本例使用搜索控制器算法NR HDL下行链路接收机MATLAB参考(无线HDL工具箱)的例子。

系统规范

  • 5G射频载波频率:3560mhz

  • Cell Search接收算法采样率:61.44 MSPS

使用SoC块集设计

创建SoC模型soc_5GNRMIBRecovery_top作为顶模,将硬件板设置为Xilinx Zynq UltraScale+ RFSoC ZCU111评价试剂盒。该模型包括FPGA模型soc_5GNRMIBRecovery_fpga以及处理器模型soc_5GNRMIBRecovery_proc,这些实例化为模型引用。顶级模型还包括在FPGA和处理器之间共享外部内存的AXI4-Stream到软件和软件到AXI4-Stream块。

open_system (“soc_5GNRMIBRecovery_top”

close_system (“soc_5GNRMIBRecovery_top”

创建SoC模型soc_5GNRMIBRecovery_hwtop作为顶模进行了一种硬件仿真算法的静态配置。该模型包括FPGA模型soc_5GNRMIBRecovery_fpga

open_system (“soc_5GNRMIBRecovery_hwtop”

close_system (“soc_5GNRMIBRecovery_hwtop”

射频数据转换器配置

RFSoC设备将其射频数据转换器连接到可编程逻辑。要配置ADC和DAC设置,请使用RF数据转换器(RFDC)块。该模块提供了一个到Simulink中的Xilinx RF数据转换器IP的接口,用于建模无线系统,目的是在Xilinx RFSoC设备上实现。金宝app

为了满足系统对5G射频载频3560mhz、基带采样率61.44 MSPS的要求,需要配置射频数据转换器模块。DAC和ADC混频器的NCO频率设置为3.560 GHz, ADC和DAC采样率设置为3932.16 MSPS,您必须选择的值插补方式(xN)抽取模式(xN),每个时钟周期的样本使无线算法FPGA的有效时钟周期(采样率)为理想值的参数,本例为61.44 MSPS。在块掩码上计算并显示为流时钟频率(MHz)参数。应用.设置抽取模式(xN)参数8,则抽取后有效采样率为491.52 MSPS。要将时钟周期(基带采样率)设置为61.44 MSPS,请设置每个时钟周期的样本参数8.类似地,设置插补方式(xN)参数8每个时钟周期的样本参数8DAC选项卡。这就意味着流时钟频率3932.16/(8*8) = 61.44 MHz。

硬件逻辑设计

FPGA模型soc_5GNRMIBRecovery_fpga包含三个子系统:传输重复矢量插值(连接到RFDC块的DAC部分),以及5G手机搜索接收(连接到RFDC块的ADC部分)。

open_system (“soc_5GNRMIBRecovery_fpga”

close_system (“soc_5GNRMIBRecovery_fpga”

5G手机搜索接收子系统,向量Decimator块接收打包的八个样本为128位。向量抽取器块将输入向量样本抽取8个小数并发送到5G手机搜索接收子系统。向量decimator后的采样率为61.44 MSPS,符合5G单元搜索算法对其处理的预期。5G小区搜索和MIB恢复算法的完整设计请参见NR HDL单元搜索(无线HDL工具箱)而且NR HDL MIB恢复(无线HDL工具箱)示例是模型引用。单元搜索算法将PSS报告作为流数据通过内存发送到运行在处理器上的搜索控制器。

为了提供测试5G NR波形,构建一个发射机,从块RAM读取数据样本,并将其发送到RFDC的DAC部分。使用DDR内存的处理系统的数据路径从处理器写入数据样本。矢量插值块通过8个(491.52 MSPS)插入来自发射重复子系统的输入样本,并作为8个样本的矢量一次发送。所有8个样本被打包成128位的axis - stream数据并发送到DAC。该图显示了FPGA发送和接收路径中的采样速率流。

在接收路径中,Vector Decimator块从RF数据转换器块接收封装好的8个样本,采样率为491.52 MSPS。Vector Decimator块将输入的Vector样本抽取8个小数并发送到Cell Search Receiver。向量decimator后的采样率为61.44 MSPS,这与Cell Search Receiver对其处理的预期一致。Cell Search Receiver将处理后的数据发送到处理器,采样时间为61.44 MHz。在发送路径中,处理器将5G测试波形样本写入FPGA Block RAM,采样率为61.44 MSPS。块RAM利用传输重复逻辑,通过矢量插值块连续地将样本发送到射频数据转换器。矢量插值块通过8 (491.52 MSPS)插值输入样本,并将其作为8个样本的矢量发送到RF数据转换器块。

处理器逻辑设计

处理器逻辑包括写任务、读任务和周期任务。周期任务是在任务管理器中定义的周期时间为1e-3的定时器驱动任务。周期性任务驱动Cell Search Controller块。Cell Search Controller块根据通过AXI4-Lite读寄存器和流读接口接收到的状态,通过AXI4-Lite寄存器配置和控制硬件算法。控制器在检测到有效的PSS和SSS后,使用UDP块向MATLAB主机提供单元搜索报告。的UDP写PSSReportUDP MIBReport,UDP写SSSReport子系统通过UDP协议将PSS报告、SSS报告和MIB报告分别转发给主机。

读取任务是一个基于事件的任务,由FPGA的数据通过DDR内存到达驱动。这些数据包括生成PSS和SSS报告所需的信息,如CellID和信噪比(SNR)。处理器算法任务在任务管理器块中表示为dataTask,并指定为事件驱动任务。写任务是一个基于事件的任务,用于将测试波形从处理器传输到FPGA。以上所有任务建模如下处理器算法包装器处理器模型中的子系统soc_5GNRMIBRecovery_proc并连接到顶层的任务管理器块。

open_system (“soc_5GNRMIBRecovery_proc”

close_system (“soc_5GNRMIBRecovery_proc”

主机模式

处理器通过以太网通过UDP写块向主机发送PSS、SSS和MIB报告。处理器模型中UDP写块的IP地址应该配置为主机的IP地址。

这个运行在主机上的接口模型展示了如何接收数据并向MATLAB工作区报告。您可以使用摇杆开关在MIB恢复后自动停止模型或无限期接收之间进行选择。

open_system (“soc_5GNRMIBRecovery_hostUDPReceive”

close_system (“soc_5GNRMIBRecovery_hostUDPReceive”

模拟

为了确认基本操作,您可以使用生成的5G NR波形运行硬件模型。方法生成波形nrhdlexamples.generateFR1SSBurstWaveform函数。模型在初始化回调中调用此函数,并将波形分配给工作空间变量burstWaveform.因为5G手机搜索接收子系统包含大量的hdl优化块,需要使用运行在高采样率的基于采样的信号进行仿真,完整的仿真可能需要一段时间。中可以找到SS块检测器和SS块解码器模型引用功能的模拟NR HDL单元搜索(无线HDL工具箱)而且NR HDL MIB恢复(无线HDL工具箱)分别的例子。

您可以使用这个硬件模型使用测试工具快速模拟和验证硬件功能。为了在硬件模型中模拟传输路径,通过RF数据转换器模块与接收机环回,测试集束使用生成的5G NR波形作为输入。通过双击手动切换块,您可以在搜索模式或解调模式中切换模拟模型。在搜索模式下,模型到达硬件状态3,这意味着检测到PSS。搜索为每个PSS检测生成一个PSS报告。这些报告被零填充到241个条目,并记录到MATLAB工作空间。在解调模式下,模型达到州8,表示SSB解调成功,检测到SSB的SSS。一旦模型到达硬件州8时,模型开始处理MIB,并提供MIB数据。该模型还返回零填充的241个PSS报告。您可以仅为静态配置模拟此硬件模型。

如果您想查看单元搜索算法的完整硬件和软件仿真以及多频率搜索的控制器动态配置,请运行5G NR MIB恢复top模型。为了查看检测到的PSS、它的解调和恢复的MIB数据,这个模型必须运行至少180毫秒。请参阅仿真数据检查器以监视硬件和软件状态信号。仿真数据检查器绘制单元搜索算法的进度,包括启动和重新启动脉冲、以Hz为单位的频率偏移和硬件(SS块检测器)状态。

PSS搜索操作完成,PSS发现,解调完成,发现的SSS状态从上述仿真数据检查器图中的硬件状态信号中清晰可见。

如果需要查看主机中的PSS、SSS报表和MIB报表数据,请先运行主机模型,再运行5G NR MIB恢复top模型。当主机接口模型运行成功时,该模型将以dB为单位显示接收到的PSS、SSS的信噪比(SNR)以及解码后的cell ID和MIB数据。为了进一步处理,该模型还将三个时间序列变量导出到MATLAB工作空间:sll_pssReportsl_sssReport而且sl_mibReport

在硬件上实现和运行

硬件设置

连接SMA连接器和带通滤波器:XM500 Balun卡上的3000-4300 MHz,根据这些连接完成DAC和ADC之间的环回。

DAC229_T1_CH0(J7)到ADC225_T1_CH0(J2)。

要在受支持的SoC板上实现该模型,请使用金宝appSoC建设者工具。确保硬件板选项设置为Xilinx Zynq UltraScale+ RFSoC ZCU111评估试剂盒片上系统选项卡中的Simuli金宝appnk工具条。

打开SoC建设者,点击配置、构建和部署.后SoC建设者打开工具,按照以下步骤操作。

  1. 选择构建模型设置屏幕上。点击下一个

  2. 点击下一个审查任务图屏幕上。

  3. 点击查看/编辑内存映射回顾内存映射查看内存映射的屏幕。点击下一个

  4. 上指定项目文件夹选择项目文件夹屏幕上。点击下一个

  5. 选择外部模式选择构建操作屏幕上。点击下一个

  6. 点击验证验证模型屏幕,以检查实现模型的兼容性。点击下一个

  7. 点击构建构建模型屏幕开始构建模型。当FPGA合成开始时,会打开一个外部外壳。点击下一个

  8. 点击测试连接连接硬件屏幕测试主机与SoC板的连通性。点击下一个运行应用程序屏幕上。

FPGA合成可能需要30分钟以上才能完成。为了节省时间,您可以按照以下步骤使用提供的预生成的比特流。

  1. 关闭外部外壳以终止FPGA合成。

  2. 通过在MATLAB命令提示符中输入此命令,将预先生成的位流复制到项目文件夹。

  3. 点击加载和运行按钮加载预生成的比特流,并在SoC板上运行模型。

拷贝文件(fullfile (matlabshared.sup金宝appportpkg.getSupportPackageRoot,“工具箱”“soc”“金宝appsupportpackages”“xilinxsoc”“xilinxsocexamples”“比特流”“soc_5GNRMIBRecovery_top-XilinxZynqUltraScale_RFSoCZCU111EvaluationKit.bit”),”。/ soc_prj ');

加载完位文件后,打开生成的软件模型。

通过单击以外部模式运行模型监视和调优.您可以从Simulink模型中控制配置。金宝app

您可以使用软件模型中的仿真数据检查器来监视硬件和软件。仿真数据检查器绘制单元搜索算法的进度,包括启动和重新启动脉冲、以Hz为单位的频率偏移和硬件(SS块检测器)状态。

从硬件生成PSS、SSS和MIB报表

运行主机模型,查看PSS、SSS和MIB报表。当主机接口模型运行成功时,该模型将接收到的PSS、SSS的信噪比以dB为单位显示,并将解码后的cell ID和MIB数据分别显示在不同的窗口中。为了进一步处理,该模型还将三个时间序列变量导出到MATLAB工作空间:sl_pssReportsl_sssReport而且sl_mibReport

总结

本示例展示了如何使用SoC Blockset在Xilinx ZCU111评估板上集成5G NR MIB恢复算法,然后如何在仿真和硬件上验证设计。实现了从5G NR波形中恢复、解调PSS和SSS符号并解码MIB报告。

另请参阅