|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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)) %画频谱图
|
|