fft_rec.m

来自「信号进行FFT变换,可以选择多个洋点,」· M 代码 · 共 16 行

M
16
字号
function spec = fft_rec(sig, N)
    if(size(sig)<N)
        sig(length(sig)+1 : N) = zeros(1,N-length(sig));
    end;
    if(size(sig) == 1)
        spec = sig(1);
        return;
    end
    odd_sig = sig(1:2:N);
    even_sig = sig(2:2:N);
    a = fft_rec(odd_sig, N/2);
    b = fft_rec(even_sig, N/2);
    WN = exp(-j*2*pi/N);
    k = 0:N/2-1;
    spec (1:N/2)= a + (WN.^k).*b;
    spec (N/2+1: N) = a - (WN.^k).*b;

⌨️ 快捷键说明

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