fftfunction.m

来自「matlab实现fft,以及ifft算法,包含蝶型运算等文件」· M 代码 · 共 31 行

M
31
字号
function fftdata=fftfunction(data)
iii=1;k=0;
%t=0:2*pi/1024:2*pi-2*pi/1024;
%data1=sin(t);
N=length(data);
n=N;
M=(log(N)/log(2));
while iii<=(log(N)/log(2))
    k=iii;n=1;
    while n<=N
        data(n:n+N/k-1)=swap(data(n:n+N/k-1),N/k);
        n=n+N/k;
    end
    iii=iii*2;
end
for l1=1:M
    B=2^(l1-1);
    for J=0:(B-1)
        P=J*(2^(M-l1));
        k=J+1;
        while k<=N
            temp3=data(k);
            %temp4=data(k+B);
            data(k)=data(k)+data(k+B)*exp(-j*2*pi*P/N);
            data(k+B)=temp3-data(k+B)*exp(-j*2*pi*P/N);
            k=k+2^l1;
        end
    end
end
fftdata=data;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?