在STM32H723上采集2Mhz的调制波
1.方案选择

本学期在完成23年电赛D题的时候,需要采集一个2Mhz的调制波,因为由FPGA驱动的高速AD还没有搞定,所以暂时先使用一块高速单片机来进行采集,在这里选择了STM32H723
虽然使用了STM32H7这样的高速单片机,但即使在DMA+双ADC轮流采样的条件下,有效采样率也只能达到1Mps左右。根据奈奎斯特采样定理,过采样频率fs和信号频带的最大值fa有fs>2fa,否则必然会失真。
故过采样对本题显然是不合适的,经过学习我们发现可以使用欠采样,采样后的频谱会折叠,且可以使用很低的频率完成等效采样率很高的采样。其原理如图所示。

频谱折叠情况如图:

2.参数计算和STM32单片机配置

时钟树配置如图,这里遇到一个奇怪的问题,ST公司给出的手册中要求将ADC时钟配置在36Mhz以内,但是CubeMX允许开发者将ADC时钟(PLL2P)配置到160Mhz,且实测并没有增加失真,可以称得上反向虚标了。


AD,TIM1配置如图,AD采样周期被配置为10.005us,等效采样率50Mhz。
3.效果展示

Sine@2Mhz,经FFT处理后,呈现出非常漂亮的频谱,效果非常好。到这里,我们已经可以得到调制波的频谱,接下来就是使用算法分析信号的频谱,并识别调制模式,这就是以后文章的内容了。