版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二、傅里叶级数与傅里叶变换一、傅里叶级数:例题:绘制矩形函数及其频谱的图形。解:%Fig2d2.mT=1;tau=0.2;H=1;t=-0.5*T:0.01:0.5*T;f=(t>=-tau/2 & t<=tau/2);f1=(t-T)>=(-tau/2-T) & (t-T)<=(tau/2-T);f2=(t+T)>=(-tau/2+T) & (t+T)<=(tau/2+T);subplot(121)plot(t-T t t+T,H*f1 f f2)axis(-2 2 0 H+0.3)xlabel('t')ylab
2、el('f(t)')title('矩形脉冲')k=0:10;wk=2*k*pi/T;Ak=abs(2*H/T*sin(wk*tau/2)./(wk/2);Ak(1)=2*H*tau/T;subplot(122)plot(k,Ak,'b-')hold onstem(k,Ak,'o')xlabel('k')ylabel('A_k')title('幅频响应曲线')set(gca,'xtick',0:10)二、傅里叶变换例题:单个矩形脉冲的傅里叶变换。解:%Fig2d3.mx
3、=-1:0.1:1;y=(x>=-0.3&x<=0.3);Y=fft(y); %求傅里叶变换n=fix(length(Y)/2);freq=0:n-1./length(Y);Y1=fft(y,256);n1=fix(length(Y1)/2);freq1=0:n1-1./length(Y1);x1=-1:0.1:-0.3;x2=-0.3:0.1:0.3;x3=0.3:0.1:1;x4=x1 x2 x3;y1=zeros(1,length(x1) ones(1,length(x2) zeros(1,length(x3);subplot(121)subplot(121)plot
4、(x4,y1,'-*r')xlabel('x')ylabel('f(x)')title('单个矩形脉冲')subplot(122)plot(freq,abs(Y(1:n),freq1,abs(Y1(1:n1),'r-.')xlabel('f')ylabel('|F(2pif)|')title('单个矩形脉冲的频谱')三、广义傅里叶级数1、勒让德函数的母函数利用勒让德函数的母函数公式,有% Fig2d7.mclose allclear allX,Z=meshgrid(0
5、:0.1:2,0:0.1:3);Q,R=cart2pol(Z,X);R(find(R=1)=NaN;u=1./sqrt(1-2*R.*cos(Q)+R.2);meshc(Z,X,u)xlabel('z')ylabel('x')Rin=R;Rin(find(Rin>1)=NaN;Rout=R;Rout(find(Rout<1)=NaN;Uin=1;Uout=1./Rout;for k=1:20 Leg=legendre(k,cos(Q); %产生k阶连带勒让德多项式 Legk=squeeze(Leg(1,:,:); %产生k阶勒让德多项式 uin=Ri
6、n.k.*Legk; uout=1./Rout.(k+1).*Legk; Uin=Uin+uin; Uout=Uout+uout;endfiguremeshc(Z,X,Uin)hold onmeshc(Z,X,Uout)xlabel('z')ylabel('x') 勒让德函数的母函数等式左边的图形 勒让德函数的母函数等式右边的图形2、贝塞尔函数的母函数贝塞尔函数的母函数公式是%Fig2d8.mclear allclose allm=30;r=(0.3*m:m)'/m;theta=pi*(-m:m)/m;z=r*exp(i*theta);z(find(z=
7、0)=NaN;subplot(121)cplxmap(z,exp(z-1./z) %x=2title('贝塞尔函数的母函数等式左边的图形')view(34,44)w=0;for k=-20:20 u=besselj(k,2).*z.k; %x=2 w=w+u;endsubplot(122)cplxmap(z,w)title('贝塞尔函数的母函数等式右边的图形')view(34,44)3、平面波展开为球面波的叠加注:第一类球贝塞尔函数与第一类柱贝塞尔函数的联系公式是:。%Fig2d9.mclose allclear allX,Z=meshgrid(0.05:0.1
8、:10);subplot(231)Q,R=cart2pol(X,Z);sqrtR=sqrt(pi/2./R);Leg0=legendre(0,cos(Q);Bes0=sqrtR.*besselj(0,R);qiu=Bes0.*Leg0;surfc(X,Z,qiu)title('l=0')xlabel('x')ylabel('z')for k=1:5 Leg=legendre(k,cos(Q); Legk=squeeze(Leg(1,:,:); %提取k阶勒让德函数 Bes=sqrtR.*besselj(k,R); qiuk=Bes.*Legk;
9、subplot(2,3,k+1) surfc(X,Z,qiuk) title('l=',num2str(k) xlabel('x') ylabel('z')end取上式两边的实部,在等式的右边,当时得实部,%Fig2d12.mclose allclear allX,Z=meshgrid(0.05:0.1:10);subplot(221)g=cos(X);contour(g)meshc(X,Z,g)xlabel('z')ylabel('x')title('向Z方向传播的平面波')Q,R=cart2po
10、l(X,Z);sqrtR=sqrt(pi/2./R);Leg0=legendre(0,cos(Q);Bes0=sqrtR.*besselj(0,R);qiu=Bes0.*Leg0;for k=2:2:10 Leg=legendre(k,cos(Q); Legk=squeeze(Leg(1,:,:); %求k阶勒让德多项式 Bes=sqrtR.*besselj(k,R); %求k阶贝塞尔函数 qiuk=(2*k+1)*ik*Bes.*Legk; qiu=qiu+qiuk;endsubplot(222)meshc(X,Z,qiu)xlabel('z')ylabel('x')title('10次迭代得到的球面波叠加的图形')for k=12:2:50 Leg=legendre(k,cos(Q); Legk=squeeze(Leg(1,:,:); %求k阶勒让德多项式 Bes=sqrtR.*besselj(k,R); %求k阶贝塞尔函数 qiuk=(2*k+1)*ik*Bes.*Legk; qiu=qiu+qiuk;endsubplot(224)meshc(X,Z,qiu)xlabel('z')ylabel('x')title('
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论