在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 11003|回复: 2

[原创] 求助高手关于FFT的程序错在哪里?

[复制链接]
发表于 2011-10-10 09:49:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 cjsb37 于 2013-4-29 08:58 编辑

这是64点的FFT,我用的是库利图基算法,分成8*8,算出的结果与matlab自带的函数算出的不一致,请高手指点错在什么地方。
matlab程序如下:
clear;
r=rand(1,64);
data_in=r;
data_in = reshape(d_in,8,8);
re0=fft(r);
W = exp(-2*pi*1i/64);   %twiddle factors
num = 1;
tw = zeros(1,64);

for x = 0:7
        for y = 0:7
        tw(num) = W^(x*y);
        num = num +1;
        end
end
tw = reshape(tw,8,8);

data_a = zeros(8,8);    %first 8-point fft
for n = 1:8
    %data_a(:,n) = fft(data_in(:,n));
    data_a(:,n) = butterfly(data_in(:,n));
end

data_b = zeros(8,8);    %multiplication
for m = 1:8
        data_b(:,m) = data_a(:,m).*tw(:,m);
end

data_c = zeros(8,8);    %second 8-point fft
for k = 1:8
        %data_c(k, = fft(data_b(k,);
    data_c(k, = butterfly(data_b(k,:));
end

result=reshape(data_c,1,64);

其中butterfly是做8点FFT的函数(这个函数没问题),可是最后结果result 与 re0不一致,有的差很多,不知程序哪里出错了,求高手指点,谢谢。





发表于 2012-1-29 17:03:01 | 显示全部楼层
butterfly函数是否需要数据重排,还是自带数据重排?
 楼主| 发表于 2012-3-5 11:04:00 | 显示全部楼层
回复 2# platum66


    哦,是一开始数据没有转置,把输入矩阵转置一下就行了,谢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 21:31 , Processed in 0.034838 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表