多相信道器
这个例子展示了如何使用hdl优化的Channelizer块来处理传入的模数转换器(ADC)样本,并产生具有512 MHz带宽的频谱。MATLAB®通过TCP/IP连接使用FPGA API函数显示结果谱图。返回的信道器数据是有限的突发,由捕获循环中的AXI4寄存器触发。该模型还包含一个到数字-模拟转换器(DAC)的接口,通过使用一个数字控制振荡器(NCO)来驱动在AXI4上以某种频率命令的音调。
需求
Vivado®设计套件的支持版本列于HDL语言支持和支持的第三方工具和硬件
Xilinx®Zynq®UltraScale+™ZCU111评价试剂盒或Xilinx Zynq UltraScale+ ZCU216评价试剂盒
高密度脂蛋白编码器™
Xilinx RFSoC设备的HDL编码器支持包
开放的例子
打开示例项目并将示例文件复制到一个临时目录。
1.通过在MATLAB命令提示符中输入这些命令,导航到Xilinx RFSoC设备的HDL Coder支持包的根示例目录。
CD (hdlcoder_rfsoc_examples_root)
2.中复制所有示例文件PolyphaseChannelizer
文件夹到临时目录。
模拟信道器模型
要更详细地了解信道器模型,请运行的模拟rfsocChannelizer.slx
并查看功率谱视图和谱图。
你可以在这个块中看到channelizer的处理过程:rfsocChannelizer/多相Channelizer/Channelizer接收处理
.FFT_Capture逻辑根据触发器条件捕获数据TriggerCapture,它由一个AXI4寄存器驱动。状态机不等待触发器,而是将下一个可用的帧从通道器处理到直接内存访问(DMA)。导通器块Start-Of-Frame
而且有效的
控制线是用来帮助确定什么时候闩上框架。
生成HDL和合成比特流
右键单击被测试的通道转换器子系统设备(DUT)。选择HDL代码,然后按HDL工作流顾问.在HDL Workflow Advisor的步骤1.1中,选择目标平台作为Xilinx Zynq Ultrascale+ RFSoC ZCU111评估试剂盒
或Xilinx Zynq Ultrascale+ RFSoC ZCU216评估试剂盒
.
在进行下一步之前,请将这些参考设计参数设置为指定的值。
AXI4-Stream DMA数据宽度来
64
ADC采样率(MHz)来
2048
ADC抽取模式(xN)来
4
每个时钟周期的ADC样本来
4
ADC混合器类型来
绕过
DAC采样速率(MHz)来
2048
DAC插补方式(xN)来
4
每个时钟周期的DAC样本来
4
DAC混合器型来
绕过
ADC/DAC NCO混合器LO (GHz)来
禁用
启用多瓷砖同步来
假
如果您使用的是ZCU216板,请另外设置DAC DUC模式参数全DUC Nyquist (0-Fs/2)
.
位流编译完成后,如果使用HDL Workflow Advisor脚本,则编写FPGA位文件。
信道器频谱数据捕获
FPGA返回通道器的输出,即频谱的频域数据。捕获逻辑在接收到AXI4上的信号条件时获取一帧。编程完成后,运行脚本hostIO_rfsocChannelizer_interface.m
.
%% %数据捕获循环% for ii=1:150% writePort (hFPGA,“TriggerCapture”,假);% writePort (hFPGA,“TriggerCapture”,真正的);% writePort (hFPGA,“TriggerCapture”,假);%% rd_data = readPort(hFPGA,"S2MM_Data");%% idx = mod(ii,length(FrequencyArr)) + 1;% nco_tone = FrequencyArr(idx);% fprintf('更改NCO Tx音调为%d MHz \n',nco_tone);% writePort (hFPGA“AXI4_NCO_incr uint16 (incrScale * nco_tone * 1 e6);%% fft_frame = reinterp_stream_data(rd_data);% spectrum = 20*log10(abs(fft_frame(1:6 6 6));%% scopeSpectrum(谱);% scopeSpectrogram(谱);%结束%% disp('已完成频率扫描');
显示了150次捕获的光谱图和光谱图。NCO使用捕获前声明的数组中的不同音调命令。