資源簡介
自己編寫的FFT程序(matlab)
時域抽取基二fft
ret_val 為fft變換后返回的頻域序列
vector 為變換前的序列
代碼片段和文件信息
function?ret_val?=?MyFFT(vector)
%======================================
%ret_val?為fft變換后返回的頻域序列
%N?為點數
%vector?為變換前的序列
%======================================
vector_size?=?size(vector);
N?=?vector_size(2);
c?=?zeros(1N);
%
%變址運算
%
j1?=?0;
for?i?=?1?:?N
????if?i?????????tmp?=?vector(j1?+?1);
????????vector(j1?+?1)?=?vector(i);
????????vector(i)?=tmp;
????end
????k?=?N?/?2;
????while?k?<=?j1
????????j1?=?j1?-?k;
????????k?=?k?/?2;
????end
????j1?=?j1?+?k;
end
%
%蝶形運算
%
%%%%%%%計算?N?的
dig?=?0;
k?=?N;
while?k?>?1
????dig?=?dig?+?1;
????k?=?k?/?2;
評論
共有 條評論