📄 lsjfft1.asv
字号:
function X=lsjfft1(x);%x为输入的序列
M=nextpow2(length(x));%求大于等于x长度的2的最小次幂
N=pow2(M);
if length(x)<N;
x=[x,zeros(1,N-length(x))];%若x的长度小于N,补N-length(x)个0
end
rev_order=bin2dec(fliplr(dec2bin([1:N]-1,M)))+1;%求数列1:N的倒序,dec2bin()十进制转换为二进制,
;%bin2dec()二进制转换为十进制,fliplr()
X=x(rev_order); % 将x倒序后作为输入X
for L=1:M
B=2^(L-1);
W=exp(-j*2*pi/N);
for J=1:B
p=2^(M-L)*(J-1);
if L=1
for K=J:2^L:N
W=W^p;
X(K)=X(K)+X(K+B)*W;
X(K+B)=X(K)-X(K+B)*W;
end
end
if L=2
if J=1
for K=0:4:4
W=W^p;
X(K)=X(K)+X(K+B)*W;
X(K+B)=X(K)-X(K+B)*W;
end
end
if J=2
for K=1:4:5
W=W^p;
X(K)=X(K)+X(K+B)*W;
X(K+B)=X(K)-X(K+B)*W;
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -