FFT快速傅里叶变换Matlab自编程序
- 格式:doc
- 大小:33.50 KB
- 文档页数:2
% fft function;
%
%
function y=fft_new(x);
M=length(x);
n=log2(M);
K=M/2;
even_no=zeros(1,K);
odd_no=zeros(1,K);
f_valve=zeros(1,M);
for i=0:K-1
for x1=0:K-1
even_no(i+1)=even_no(i+1)+( x(2*x1+1)*exp(-j*2*pi*x1*i/K ) )/K;
odd_no(i+1)=odd_no(i+1)+( x(2*x1+1+1)*exp( -j*2*pi*x1*i/K) )/K;
end
end
for i=0:K-1
f_valve(i+1)=(even_no(i+1)+odd_no(i+1)*exp(-j*2*pi*i/M))/2;
end
for i=0:K-1
f_valve(i+K+1)=(even_no(i+1)-odd_no(i+1)*exp(-j*2*pi*i/M))/2;
end
y=f_valve.*M;
程序运行结果