BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #8900同步于 2012/4/8
Matlab机器人发帖

有关FFT算法的问题

yunmi
2012/4/8镜像同步0 回复
自己写了一段实现FFT算法的代码,8点时结果还是正确的,但是16点时结果就与实际出现了偏差。但是不知道错误出在哪里,望各位多多指点~~~~~~~~~ 代码如下: clear; N=32; %FFT点数 M=25; %序列点数 Q=0.9+0.3i; n=0:(M-1); x=[Q.^n,zeros(1,N-M)]; W=exp(-2i*pi/N); X=(1-Q^M)./(1-Q*W.^n); %理论上的结果 m=0:(N/2-1); Wm=W.^m; %反转 o=0:(N-1); MH=[zeros(1,N/2),ones(1,N/2)]; ML=rem(o,2); O=o-ML*1-MH*(N/2)+ML*(N/2)+MH*1; y(o+1)=x(O+1); temp=zeros(1,N); for m=1:log2(N) %m为蝶形运算的重数 for p=1:2^m:N %p为各重运算中,各组的第一个信号的序号 for q=0:2^(m-1)-1 %q为各组运算中,其他信号偏离第一个信号的位置数 l=q*N/(2^m)+1; %l为Wm因子的下标 temp(p+q) =y(p+q)+y(p+q+2.^(m-1))*Wm(l); temp(p+q+2.^(m-1))=y(p+q)-y(p+q+2.^(m-1))*Wm(l); end end y=temp; end n1=0:(N-1); subplot(2,1,1); stem(n,abs(X)); subplot(2,1,2); stem(n1,abs(y));
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。