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

[复制链接]
21014|29
 楼主| peterwei2010 发表于 2010-6-21 16:22 | 显示全部楼层 |阅读模式
本帖最后由 peterwei2010 于 2010-6-21 16:24 编辑

在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.**/blog/itspy
MATLAB.jpg
reslut.jpg
pc.jpg
txcy 发表于 2010-6-21 17:12 | 显示全部楼层
波形是还不错
fzy_666 发表于 2010-6-25 12:15 | 显示全部楼层
顶一下,不懂,还在学习中
byeyear 发表于 2010-6-25 17:37 | 显示全部楼层
只要算法对 效果就不会错 不管51 cm3 dsp 效果完全一样
关键是速度
xblei 发表于 2010-6-26 08:11 | 显示全部楼层
是的,关键是输出波形可以达到多大频率。
cd4066 发表于 2010-6-26 11:40 | 显示全部楼层
楼主的程序在STM32里面跑,怎么输出数据呀》?
串口吗?
zchong 发表于 2010-6-27 09:24 | 显示全部楼层
楼主说的不是关键,呵呵
采样频率及速度才是关键^_^
 楼主| peterwei2010 发表于 2010-6-27 14:23 | 显示全部楼层
回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!
PXJ_520 发表于 2010-11-23 09:58 | 显示全部楼层
sinadz 发表于 2010-11-23 16:23 | 显示全部楼层
的确是不错:lol
txcy 发表于 2010-11-23 22:24 | 显示全部楼层
这个主要应用在什么场合
taishan3703 发表于 2010-11-24 02:54 | 显示全部楼层
256点转换时间是多少?我还没试过STM32做FFT,不知道256点5ms内能完成不?
自己写的蝶形旋转还是用的ST的FFT库?
dfsa 发表于 2010-11-24 21:10 | 显示全部楼层
看起来的确还不错:lol
kgsz 发表于 2010-11-25 18:13 | 显示全部楼层
12位AD采过来的是16位整型数据然后存入u32 IBUFIN[64]数组中,问能否直接作为cr4_fft_64_stm32(x,y,64)的输入?
z658290 发表于 2011-6-14 20:31 | 显示全部楼层
楼主能把程序上传上去啊,共享一下,。
baidudz 发表于 2011-6-14 22:12 | 显示全部楼层
楼上的可以去楼主博客去下载程序,楼主已经给了下载地址了
selina1983 发表于 2012-1-16 08:50 | 显示全部楼层
楼主博客下载地址不对啊
weibn 发表于 2012-1-18 12:57 | 显示全部楼层
不得顶
cms277415310 发表于 2012-10-15 18:07 | 显示全部楼层
博客地址有误...顶不上了
cool_coder 发表于 2012-10-16 09:51 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

50

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部