?? lsjfft.m
字號:
function X=lsjfft(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);
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
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -