2018电赛A题记录

这篇博客记录了作者在2018年电子竞赛(A题)中进行频谱分析的过程。通过STM32F429进行FFT变换,探讨了ADC采样率、采样时间的调整,以及如何寻找信号的基波和谐波分量。难点在于fft后的数据处理,包括幅度校准和寻找信号与频谱的关系。作者计划在另一篇博客中深入讨论理论分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今年的电赛有很多的遗憾,和几位参赛的伙伴们一起思考了下电赛的A题。

我主要是思考程序部分,其实从第四问可以看到,这道题的意图十分明显,就是让我们对整个电路做一个频谱分析,也就是电赛这么多年,省赛的难度又绕回去了,要求做了一个低频的频谱分析仪,不过说实话,精度确实是一个难点,最后我们在实现幅度显示的时候用了分段函数校准还是会有比较大的偏差,所以现在先这样写出来,日后再看其他队伍的解决方法。

 

做频谱分析,主要手段是采集信号,然后对采集到的信号做傅里叶变换变换。关于stm32f429的fft变换,首先是DSP库的使用教程,这个是可以参考正点原子的f429的配套教学文档配置。然后是具体代码的编写,对于具体代码,个人觉得网上所列写的代码和正点原子的代码还不够精简,一个比较好的参考是在stm32中文网上下载的一个stm32f3系列的参考例程,里面主要用到的函数为:

  arm_cfft_f32(&arm_cfft_sR_f32_len1024, testInput_f32_10khz, ifftFlag, doBitReverse);
   /*信号的预处理,方便后面计算幅值*/
  /* Process the data through the Complex Magnitude Module for  
  calculating the magnitude at each bin */ 
  /*计算幅度(模值)*/
  arm_cmplx_mag_f32(testInput_f32_10khz, testOutput, fftSize);  

本人在使用fft的时候其实非常快,只要将ADC采集的数据存放在一个采集电压的数组中,然后利用下面的对应关系࿱

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值