• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签:

资源简介

本程序是matlab的快速傅里叶变换程序,本程序可以用来学生,研究生的分数阶傅里叶变换的学习

资源截图

代码片段和文件信息

function Faf = frft(f a)
% The fast Fractional Fourier Transform
% input: f = samples of the signal
%        a = fractional power
% output: Faf = fast Fractional Fourier transform

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
alpha = a*pi/2;
tana2 = tan(alpha/2);
sin

评论

共有 条评论

相关资源