STM32上的256点FFT傅里叶变换---效果还不错!

lishilong   2010-6-21 16:22 楼主


在STM32F10XX系列IC进行256点的FFT,发现效果还不错,波形正如预期所想,基本没发现什么大异常。

输入信号: X="1"+sin(2*pi*fo*t)

信号频率: 10KHZ

抽样点数: 48KHZ

抽样点数: 256

从上面输入的信号,可知, 正弦信号时叠加在一个直流分量为1V的信号之上,那么在进行FFT变换之后,所得频谱幅度应该在2V左右,并且频率为0,说明为直流分量。

在频谱10KHZ出将出现幅值幅度为1V左右的信号频率。

为了验证程序代码,先在MATLAB上实现仿真。

从MATLAB上仿真得到的结果,基本如上所述。


STM32的运算结果对比:

VC模拟运算也基本符合(^_^)

对比MATLAB,感觉波形还不错,基本一致!(大家可以从我的博客上下载到相关程序,进行对比)
http://www.ednchina.com/blog/itspy

MATLAB.jpg (45.97 KB)

reslut.jpg (43.19 KB)

pc.jpg (48.29 KB)

回复评论 (16)

                                 波形是还不错
点赞  2010-6-21 17:12
                                 顶一下,不懂,还在学习中
点赞  2010-6-25 12:15
只要算法对 效果就不会错 不管51 cm3 dsp 效果完全一样
关键是速度
点赞  2010-6-25 17:37
                                 是的,关键是输出波形可以达到多大频率。
点赞  2010-6-26 08:11
楼主的程序在STM32里面跑,怎么输出数据呀》?
串口吗?
点赞  2010-6-26 11:40
楼主说的不是关键,呵呵
采样频率及速度才是关键^_^
点赞  2010-6-27 09:24
回CD4066:
数据由串口输出到PC
回zchong:
官方库的数据:
64 points 3847 0.16 ms 4 472 0.093 ms 5 661 0.078 ms
256 points 21 039 0.876 ms 24 964 0.52 ms 31 527 0.437 ms
1024 points 100 180 4.174 ms 114 350 2.382 ms 153 930 2.138 ms
如果用Ivan Mellen 手工优化的1024点FFT
才2百多个us!
点赞  2010-6-27 14:23
                                 mark
点赞  2010-11-23 09:58
                                 的确是不错
点赞  2010-11-23 16:23
                                 这个主要应用在什么场合
点赞  2010-11-23 22:24
256点转换时间是多少?我还没试过STM32做FFT,不知道256点5ms内能完成不?
自己写的蝶形旋转还是用的ST的FFT库?
点赞  2010-11-24 02:54
                                 看起来的确还不错
点赞  2010-11-24 21:10
真是搞笑了, 楼主的自己哪里抄来的浮点傅立叶函数。

看起来,真是搞笑。。。
点赞  2010-11-24 23:32
                                 12位AD采过来的是16位整型数据然后存入u32 IBUFIN[64]数组中,问能否直接作为cr4_fft_64_stm32(x,y,64)的输入?
点赞  2010-11-25 18:13
这个应用有点含量
点赞  2014-9-25 18:00
你好你的博客打不开,什么方式能看到你的fft的stm32程序
点赞  2017-5-8 09:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复