我已经用STM32实现了示波器功能,如何再实现FFT,画出信号的频率?我网上搜索了以下,基本都是讲解FFT的原理以及幅度特性的计算,但我还是不能将两者结合起来?
先根据需要的FFT点数定义一个数组,把采样数据送进去,必须以固定频率进行采样
然后对这个数组进行FFT运算,得到实部和虚部,对结果进行取模运算,得到一个数组
这个数组是对称的,取其中一半进行显示即可。比如1024点,取512点进行展示即可。
然后,关于点和频率的对应关系,0对应的是直流,最后一点对应的是采样频率,线性分布。
实现FFT(快速傅里叶变换)并将其应用于示波器信号的频率绘制需要以下步骤:
在实现这些步骤时,需要注意以下几个方面:
综上所述,实现FFT并将其应用于示波器信号的频率绘制需要一些基本的知识和实践经验。建议参考相关文献或教程,并结合实际应用进行调试和优化。
你需要仔细看看fft分析频谱的文章,可以忽略算法的推导。仔细看看fft结果和频谱的关系。
1.找个基于c 的fft算法。
2.将测量的连续数据按一个二维数组打包,长度是2的幂,比如1024
3.调用fft算法产生一个复数的1024长度的数据包。
4.将这个复数取模(实部的平方加虚部的平方和后再开平方根)
5.把这个取模的新的1024长度的二维数组做个二维图像就是频谱图了。