资源简介
分数傅里叶变换 matlab仿真程序 时频分析时候用到基础工具
代码片段和文件信息
% The fast Fractional Fourier Transform
% input: f = samples of the signal
% a = fractional power
% output: Faf = fast Fractional Fourier transform
function Faf=frft(fa)
error(nargchk(2 2 nargin));
f = f(:);
N = length(f);
shft = rem((0:N-1)+fix(N/2)N)+1;
sN = sqrt(N);
a = mod(a4);
% do special cases
if (a==0) Faf = f; return; end;
if (a==2) Faf = flipud(f); return; end;
if (a==1) Faf(shft1) = fft(f(shft))/sN; return; end
if (a==3) Faf(shft1) = ifft(f(shft))*sN; return; end
% reduce to interval 0.5 < a < 1.5
if (a>2.0) a = a-2; f = flipud(f); end
if (a>1.5) a = a-1; f(shft1) = fft(f(shft))/sN; end
if (a<0.5) a = a+1; f(shft1) = ifft(f(shft))*sN; end
% the general case for 0.5 < a < 1.5
评论
共有 条评论