欢迎来到天天文库
浏览记录
ID:37731881
大小:301.00 KB
页数:14页
时间:2019-05-29
《分数阶傅里叶变换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、分数阶傅里叶变换的MATLAB仿真计算以及几点讨论在HaldunM.Ozaktas和OrhanArikan等人的论文《DigitalcomputationofthefractionalFouriertransform》中给出了一种快速计算分数阶傅里叶变换的算法,其MATLAB计算程序可在www.ee.bilkent.edu.tr/~haldun/fracF.m上查到。现在基于该程序,对一方波进行计算仿真。注:网上流传较为广泛的FRFT计算程序更为简洁,据称也是HaldunM.Ozaktas和OrhanArikan等人的论文
2、《DigitalcomputationofthefractionalFouriertransform》使用的算法。但是根据AdhemarBultheel和HectorE.MartnezSulbaran的论文《ComputationoftheFractionalFourierTransform》中提到,Ozaktas等人的分数阶傅里叶变换的计算程序仅有上述网站这一处,而两个程序的计算结果基本相符。本文使用较为简洁的计算程序,Ozaktas等人的计算程序在附表中给出。程序如下:clearclc%构造方波dt=0.05;T=20
3、;t=-T:dt:T;n=length(t);m=1;fork=1:n;%tt=-36+k;tt=-T+k*dt;iftt>=-m&&tt<=mx(k)=1;elsex(k)=0;endend%确定α的值alpha=0.01;p=2*alpha/pi%调用计算函数Fx=frft(x,p);Fx=Fx';Fr=real(Fx);Fi=imag(Fx);A=abs(Fx);figure,subplot(2,2,1);plot(t,Fr,'-',t,Fi,':');title('α=0.01时的实部和虚部π');axis([-4
4、,4,-1.5,2]);subplot(2,2,2);plot(t,A,'-');title('α=0.01时的幅值');axis([-4,4,0,2]);分数阶傅里叶变换计算函数如下:functionFaf=frft(f,a)%ThefastFractionalFourierTransform%input:f=samplesofthesignal%a=fractionalpower%output:Faf=fastFractionalFouriertransformerror(nargchk(2,2,nargin));f=
5、f(:);N=length(f);shft=rem((0:N-1)+fix(N/2),N)+1;sN=sqrt(N);a=mod(a,4);%dospecialcasesif(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;endif(a==3),Faf(shft,1)=ifft(f(shft))*sN;return;end%reducetointerval0.56、.5if(a>2.0),a=a-2;f=flipud(f);endif(a>1.5),a=a-1;f(shft,1)=fft(f(shft))/sN;endif(a<0.5),a=a+1;f(shft,1)=ifft(f(shft))*sN;end%thegeneralcasefor0.57、rp=exp(-i*pi/N*tana2/4*(-2*N+2:2*N-2)'.^2);f=chrp.*f;%chirpconvolutionc=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);%chirppostmultiplicationFaf=chrp.*Faf;%normalizingconstantFaf=exp(-i*(1-a)*pi/4)*Faf(N:2:end-N+1);functio8、nxint=interp(x)%sincinterpolationN=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+
6、.5if(a>2.0),a=a-2;f=flipud(f);endif(a>1.5),a=a-1;f(shft,1)=fft(f(shft))/sN;endif(a<0.5),a=a+1;f(shft,1)=ifft(f(shft))*sN;end%thegeneralcasefor0.57、rp=exp(-i*pi/N*tana2/4*(-2*N+2:2*N-2)'.^2);f=chrp.*f;%chirpconvolutionc=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);%chirppostmultiplicationFaf=chrp.*Faf;%normalizingconstantFaf=exp(-i*(1-a)*pi/4)*Faf(N:2:end-N+1);functio8、nxint=interp(x)%sincinterpolationN=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+
7、rp=exp(-i*pi/N*tana2/4*(-2*N+2:2*N-2)'.^2);f=chrp.*f;%chirpconvolutionc=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);%chirppostmultiplicationFaf=chrp.*Faf;%normalizingconstantFaf=exp(-i*(1-a)*pi/4)*Faf(N:2:end-N+1);functio
8、nxint=interp(x)%sincinterpolationN=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+
此文档下载收益归作者所有