声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2310|回复: 6

[FFT] [求助]求分数阶傅立叶变换程序

[复制链接]
发表于 2006-6-12 15:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
谢谢!
回复
分享到:

使用道具 举报

发表于 2006-6-17 22:13 | 显示全部楼层

回复:(xcsyb)[求助]求分数阶傅立叶变换程序

本帖最后由 wdhd 于 2016-9-12 14:17 编辑

  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(a,4);

  % do special cases

  if (a==0), Faf = f; return; end;

  if (a==2), Faf = flipud(f); return; end;

  if (a==1), Faf(shft,1) = fft(f(shft))/sN; return; end

  if (a==3), Faf(shft,1) = 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(shft,1) = fft(f(shft))/sN; end

  if (a<0.5), a = a+1; f(shft,1) = ifft(f(shft))*sN; end

  % the general case for 0.5 < a < 1.5

  alpha = a*pi/2;

  tana2 = tan(alpha/2);

  sina = sin(alpha);

  f = [zeros(N-1,1) ; interp(f) ; zeros(N-1,1)];

  % chirp premultiplication

  chrp = exp(-i*pi/N*tana2/4*(-2*N+2:2*N-2)'.^2);

  f = chrp.*f;

  % chirp convolution

  c = pi/N/sina/4;

  Faf = fconv(exp(i*c*(-(4*N-4):4*N-4)'.^2),f);

  Faf = Faf(4*N-3:8*N-7)*sqrt(c/pi);

  % chirp post multiplication

  Faf = chrp.*Faf;

  % normalizing constant

  Faf = exp(-i*(1-a)*pi/4)*Faf(N:2:end-N+1);

  function xint=interp(x)

  % sinc interpolation

  N = length(x);

  y = zeros(2*N-1,1);

  y(1:2:2*N-1) = x;

  xint = fconv(y(1:2*N-1), sinc([-(2*N-3):(2*N-3)]'/2));

  xint = xint(2*N-2:end-2*N+3);

  function z = fconv(x,y)

  % convolution by fft

  N = length([x(:);y(:)])-1;

  P = 2^nextpow2(N);

  z = ifft( fft(x,P) .* fft(y,P));

  z = z(1:N);
发表于 2006-6-21 14:28 | 显示全部楼层

什么是分数阶傅立叶变换,作甚么用?

楼上的,什么是分数阶傅立叶变换,有什么特殊的用途吗?
发表于 2006-11-22 15:14 | 显示全部楼层
simon21可以留一下你的QQ号码或者邮箱吗?想和你交流一下FRFT,
我的QQ是45157494
邮箱是qingfeng506@yahoo.com.cn
发表于 2007-4-26 20:26 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-12 14:17 编辑
原帖由 bls 于 2006-6-21 14:28 发表
楼上的,什么是分数阶傅立叶变换,有什么特殊的用途吗?

分数阶傅立叶变换是经典傅立叶变换的推广形式
它同时从时间域和频率域(或空间域)分析信号特征
发表于 2007-6-9 12:52 | 显示全部楼层
一块交流以下吧 我也对这方面感兴趣 QQ:290695558 邮箱:huangxh1985@tom.com
发表于 2008-9-11 21:59 | 显示全部楼层
simon21  请教下你,分数阶傅立叶变换,能不能应用到模态参数识别方面?我还没有找到相关的文献。
谢谢啦~~
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 04:29 , Processed in 0.057952 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表