基于Xilinx RFSoC器件的脉冲多普勒雷达
该示例展示了如何在Simulink®中使用针对Xilinx Zynq®UltraScale+™RFSoC评估套件的SoC Blockset®实现构建、模拟和部署脉冲多普勒雷达系统。通过这个例子,你可以检测和估计运动目标的距离和速度。距离多普勒处理通过现场可编程门阵列(FPGA)和处理器进行分割。距离处理在FPGA中进行,多普勒处理在处理器中进行。该实例还实现了一个雷达目标仿真器来评估雷达的性能。
支持的硬件平台
Xilinx Zynq®UltraScale+™RFSoC ZCU111评估试剂盒+ XM500 balun卡
设计任务
目标检测是雷达系统的重要组成部分。距离和多普勒估计提高了探测能力。在这个例子中,脉冲雷达探测特定范围内运动目标的速度。速度是由运动目标引起的多普勒频移得到的。脉冲雷达识别给定范围内目标的存在,然后使用多普勒处理确定该范围内目标的径向速度。你可以在距离-多普勒域中可视化一个信号,以识别目标之间的连接。有关更多信息,请参见Range-Doppler响应(相控阵系统工具箱)脉冲雷达系统。要查看距离响应图,请参见分阶段。RangeDopplerScope
(相控阵系统工具箱)系统对象。
在本例中,设计任务是在Simulink中对由发射机、接收机和雷达目标模拟器组成的完整距离-多普勒处理系统建模,并在RFSoC设备上实现该系统。
在距离-多普勒处理中的发射机产生一个线性调频(LFM)脉冲,并通过一个DAC信道进行传输。目标模拟器接收雷达波形,修改信号以在给定的距离和速度上模拟一个或多个目标,并重新传输信号。接收机接收目标仿真信号,采用距离和多普勒处理提取目标的距离和速度信息。在本例中,使用匹配过滤器提取范围,使用FFT提取速度。
系统规范
系统规格如下:
ka波段的雷达信号带宽= 200兆赫
每脉冲间隔的最大距离= 700米
最大距离分辨率<= 1米
最大明确速度>= 300米/秒
速度分辨率<= 10m /s
下图是脉冲多普勒雷达系统的实现框图。
利用SoC块集进行设计
创建SoC模型soc_range_doppler_top
硬件板设置为Xilinx Zynq UltraScale+ RFSoC ZCU111评估套件。该模型包括FPGA模型soc_range_doppler_fpga
和处理器模型soc_range_doppler_proc
,它们被实例化为模型引用。顶层模型还包括在FPGA和处理器之间共享外部内存的AXI4-Stream to Software块。
open_system (“soc_range_doppler_top”)
close_system (“soc_range_doppler_top”)
射频数据转换器配置
RFSoC设备有一个连接到可编程逻辑的射频数据转换器硬件IP,这需要根据应用需求进行配置。SoC Blockset在Simulink中提供了一个射频数据转换器(RFDC)块,它提供了一个到Xilinx射频数据转换器IP的接口。该模块使您能够配置Xilinx射频数据转换器IP的ADC和DAC设置,并模拟到转换器的可编程逻辑接口。
为了满足系统对200mhz雷达信号带宽的要求,请按照以下步骤设计和设置射频数据转换器模块配置。
1.根据信号带宽选择抽取因子和ADC采样率。
抽取滤波器的通带必须是奈奎斯特的80%。要满足此通频带要求,请使用此条件。(0.8 xFs/D)信号带宽
若要满足200mhz的信号带宽,请选择抽取因子(D) 8。为了计算ADC采样率(Fs),使用这个方程。Fs(信号带宽xD/0.8) = (200 x 8/0.8) = 2000 MHz。
2.每个时钟选择2个样本,使FPGA时钟速率为125 MHz。FPGA时钟率的计算方法为Fs/(D每个时钟x个样本)= 2000/(8 x 2) = 125 MHz。
3.选择接收中频(IF)为500mhz。
根据这些值配置射频数据转换器块。将DAC和ADC混合器的NCO频率设置为0.5 GHz, ADC和DAC采样率设置为2000 MSPS。的值插值模式(xN),大量毁灭模式(xN),每个时钟周期的样本参数,使FPGA算法的有效时钟率为本例的理想值,即125 MHz。该值被计算并显示在块掩码上流时钟频率(MHz)参数。应用.设置大量毁灭模式(xN)参数8
,使抽取后的有效抽样率为250 MSPS。要获得125兆赫的时钟速率,在DAC选项卡,设置每个时钟周期的样本参数2
.类似地,组插值模式(xN)参数8
和每个时钟周期的样本参数2
.这些设置意味着流的时钟频率为2000/(8 × 2) = 125兆赫。
ZCU111评估板带有一个XM500八通道环回卡。该卡有两个ADC和两个DAC单端通道(ADC224_T0_CH0, ADC224_T0_CH1, DAC229_T1_CH2, DAC229_T1_CH3),支持选定的500 MHz中频。设置射频接口参数定制
.然后,选择这些特定的渠道:ADC1而且ADC2在ADC选项卡,DAC7而且DAC8在DAC如下图所示。
硬件逻辑设计
FPGA模型soc_range_doppler_fpga
包含两个子系统:距离多普勒Tx-Rx
而且雷达目标模拟器
.的雷达目标模拟器
子系统充当一个真正的目标。
open_system (“soc_range_doppler_fpga”)
close_system (“soc_range_doppler_fpga”)
在距离多普勒Tx-Rx
子系统中,生成TX信号块生成脉冲LFM信号,并通过发射路径中的DAC7接口传输该信号。在接收路径中,ADC接口块接收样本并进行匹配滤波进行距离处理,然后进行多普勒处理的第一步是汉明加窗。DMA接口将估计的范围箱发送到处理器,以便通过存储器进行剩余的多普勒处理。系统控制器块同步雷达发射和接收过程。
的雷达目标模拟器
子系统通过AXI4-Lite寄存器从处理器接收模拟器配置。该子系统通过ADC1接口接收发射信号,并根据您设置的配置模拟目标的距离时延、多普勒频移和自由空间路径损耗。模拟的目标数据通过DAC8接口作为目标的反射信号进行重传。
处理器逻辑设计
软件功能被划分为四个任务,这些任务的特征可以使用Task Manager块进行配置。
1.baseRateTask
任务类型:定时器
任务周期:0.2秒
功能:控制软件的定时执行。
2.dataReadTask
任务类型:基于事件的任务
功能:通过Stream Read块接收FPGA处理的距离bins,然后发送这些bins进行基于fft的多普勒处理。UDP写块将最终计算的距离多普勒响应发送给主机。的
DMAReadFcn
子系统保存此任务的功能。
3.udpRxTask
任务类型:基于事件的任务
功能:通过UDP (user datagram protocol)接口接收主机的配置信息。UDP数据包处理程序解析数据包以获得配置信息,并通过AXI4-Lite寄存器将其应用到FPGA中的雷达系统控制器。它还将雷达目标模拟器配置传递给radartargeupdatdate任务。的
UDPRxFcn
子系统保存此任务的功能。
4.radarTargetUpdateTask
任务类型:定时器
任务周期:0.01 s
功能:通过AXI4-Lite接口在FPGA中配置和更新目标模拟器寄存器。该函数使用目标模拟器信息,如雷达横截面(RCS)、距离、速度和udpRxTask中的使能,来配置目标模拟器。的
RadarTargetUpdateFcn
子系统保存此任务的功能。
open_system (“soc_range_doppler_proc”)
close_system (“soc_range_doppler_proc”)
模拟
为了确认基本操作,运行模型,在距离多普勒响应与探测图上观察运动目标的估计距离和速度。距离多普勒响应显示功率水平为每个距离和速度bin。该检测图展示了二维恒虚警率(CFAR)检测和基于密度的空间聚类应用(DBSCAN)对距离-多普勒响应的聚类结果,提取出不同目标及其估计的距离和速度。该检测过程在主机上用MATLAB®软件完成。
在硬件上实现和运行
硬件设置
连接XM500 Balun卡上的SMA连接器,按照表和图中的连接完成DAC和ADC通道之间的环回。
要在支持的SoC板上实现该模型,请使用SoC建设者工具。确保硬件板被设置为Xilinx Zynq UltraScale+ RFSoC ZCU111评估试剂盒
在系统芯片选项卡。
打开SoC建设者,点击配置、构建和部署.后SoC建设者打开工具,按照以下步骤操作。
选择构建模型在设置屏幕上。点击下一个.
点击下一个在审查任务地图屏幕上。
点击查看/编辑内存映射在检查内存映射屏幕,查看内存映射。点击下一个.
控件上指定项目文件夹选择项目文件夹屏幕上。点击下一个.
选择建立外部模式在选择构建操作屏幕上。点击下一个.
点击验证在验证模型屏幕,以检查实现的模型的兼容性。点击下一个.
点击构建在构建模型开始构建模型。当FPGA合成开始时,打开一个外部外壳。点击下一个.
点击测试连接在连接硬件测试主机与SoC板的连通性。点击下一个去运行应用程序屏幕上。
FPGA综合可能需要30分钟以上的时间才能完成。为了节省时间,您可以按照以下步骤使用提供的预生成比特流。
关闭外部外壳以终止FPGA合成。
在MATLAB命令提示符下输入以下命令,将预生成的比特流复制到您的项目文件夹中。
拷贝文件(fullfile (matlabshared.supportpkg.getSupportPackageRoot,“工具箱”,“soc”,“supportpackages”,“xilinxsoc”,“xilinxsocexamples”,“比特流”,“soc_range_doppler_top-XilinxZynqUltraScale_RFSoCZCU111EvaluationKit.bit”),”。/ soc_prj ');
点击加载并运行加载预生成的比特流,并在SoC板上运行模型。加载位文件后,打开生成的软件模型。
通过单击以外部模式运行模型监视和优化.模型在硬件上运行之后,运行soc_rangedoppler_host_run_CPI
脚本。请确保脚本中输入的硬件板IP地址正确。
距离多普勒响应和探测图显示了运动目标的估计距离和速度。
控件中的目标仿真器配置信息,可以尝试不同的距离和速度输入soc_rangedoppler_host_run_CPI
脚本。此示例最多可以模拟四个目标。您还可以尝试通过在脚本中更新目标模拟器配置并重新运行它来配置这四个目标。
结论
该示例演示了如何使用SoC Blockset产品在Xilinx ZCU111评估板上集成脉冲多普勒雷达系统,以及如何在仿真和硬件上验证设计。该实现通过系统内置的目标仿真器对运动目标的距离和速度进行估计。