fft_frq.m
来自「共享一个FFT的仿真程序」· M 代码 · 共 30 行
M
30 行
function y=fft_frq(x)
% Frequency base FFT. Base in binary
%---------------------------------
% fft_frq.m
%---------------------------------
m=nextpow2(x);
N=2^m;
if length(x)<N %若的长度不是2的幂,补0到2的整数幂
x=[x,zeros(1,N-length(x))];
end
y=x;
for mm=m:-1:1
Nmr=2^mm;
u=1;
WN=exp(-i*2*pi/Nmr);
for j=1:Nmr:N
for k=j:(j+Nmr/2-1)
kp=k+Nmr/2;
t=y(kp);
y(kp)=(y(k)-t)*u;
y(k)=y(k)+t;
u=u*WN;
end
u=1;
end
end
% the reverse Sort 1-N
nxd=bin2dec(fliplr(dec2bin([0:N-1],m)))+1;
% output correct sequence
y(nxd)=y;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?