📄 myfft.m
字号:
function y = myfft(x)
n=size(x);
for l=0:12,
if 2^l>=n
N=2^l;
L=l;
break
end
end
for t=n(2)+1:N,
x(t)=0;
end
x
nv2=N/2;
nm1=N-1;
I=0;
J=0;
while I<nm1
if I<J
t =x(J+1);
x(J+1)=x(I+1);
x(I+1)=t;
end
K=nv2;
while K<=J
J=J-K;
K=K/2;
end
J=J+K;
I=I+1;
end
X=x
M=1;
while M<=L
LE=2^M;
LE1=LE/2;
U=1;
W=exp(-j*pi/LE1);
J=0;
while J<=LE1-1
I=J;
while I<=N-1
IP=I+LE1;
T= (x(IP+1))*U;
x(IP+1)=x(I+1)-T;
x(I+1)=x(I+1)+T;
I=I+LE;
end
U=U*W;
J=J+1;
end
M=M+1;
end
y=x;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -