本章内容将介绍如何使用RFSOC 47DR 进行ADC输入采样测试,我们这边提供三个ADC输入采样的python程序,实现8路通道的ADC采样解析数据,并且在时域与频域上显示出示波器与频谱仪的效果。
进入我们提供的47dr_python文件夹。以py后缀的文件一共有四个,其中的一共名为init.py 的文件在上一章节中使用过,是初始化开发板的程序。其他三个是不同的测试程序。adc_8phase.py 为八路同时进行采样,解析出频域的变形,同时显示出来。plot_spec_m.py 为可选单路ADC采样,并且同时显示出频域与时域的变化。adc_monitor_2x8.py为八路ADC采样,并且同时显示出8路频域与时域的变化。下面将逐一进行测试。
因为测试ADC输入采样,所以需要使用信号发生器连接到ADC采样通道,RFSOC有8路4.096G的采样率14位ADC。在测试时可以随意更换输入通道,也可多路同时进行输入采样。
测试需要完成上一章环境搭建的前期下进行,进入47dr_python文件夹。设置python环境变量并运行初始化程序。使用python命令运行采样程序,首先用adc_8phase.py进行测试,测试代码如下所示:
source ~/env2a/bin/activate
python ./init.py
python ./adc_8phase.py
运行成功Ubuntu中会打开图形窗口。如下图所示,我使用的是100M输入,接到ADC2,可以看到绿色代表的是ADC通道2,其他通道没有输入,幅度几乎为0。
下面测试adc_monitor_2x8.py程序,
运行截图如下所示,上面8个为时域波形,下面8个表示频域的频谱。可以切换输入通道,或者多个通道同时接入,观察每一个通道波形与频谱。
最后一个plot_spec_m.py 程序,可以显示出单通道的详细的频域与时域的详细信息。使用方法如下所示,在plot_spec_m.py 后跟随的输入参数为ADC通道号,我上面接入的是ADC通道2,所以后面的参数为2。
如下图所示,为单通道采样的详细信息。上图为时域波形,可以当个简易的示波器使用,下图为频域图,可以当简易的频谱仪使用。