找回密码
 注册
查看: 2466|回复: 0

一个简单的FFT程序

[复制链接]
发表于 2003-10-27 11:24:34 | 显示全部楼层 |阅读模式

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

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

x
最近写了一个用MATLAB语言实现的FFT算法程序,但不知何故,求出来的序列与用库函数fft
算出来的相距甚远,程序如下,望高手指点
%simple reverse and butterfly
function reverse(X)
%X=[0,1,2,3,4,5,6,7];
MM=100;N=128;
n=1:MM;
xn=cos(0.48*pi*n)+cos(0.52*pi*n);  %产生输入序列
X=[xn(1:1:MM),zeros(1,N-MM)];
A=X;
%N=8;M=3;
M=7;
LH=N/2;
J=LH+1;                    %倒位序
N1=N-2;
for I=2N1+1)
   if I<J
    T=X(I);
        A(I)=X(J);
       A(J)=T;
   end
    K=LH;
   if J<K
      J=J+K+1;
     else
       J=J-K+1;
        K=K/2;
      end
  end
  for L=1:M                         %蝶形
      B=2^(L-1);
      for J=0B-1)
          P=2^(M-L)*J;
          for K=(J+1):2^L:N
               Y(K)=A(K)+A(K+B)*exp(-j*2*pi*P/N);
              Y(K+B)=A(K)-A(K+B)*exp(-j*2*pi*P/N);
          end
      end
  end
  
  magY=abs(Y(1:1:N/2+1))             %画频谱图
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表