MATLAB实验三-Gibbs现象验证_第1页
MATLAB实验三-Gibbs现象验证_第2页
MATLAB实验三-Gibbs现象验证_第3页
MATLAB实验三-Gibbs现象验证_第4页
MATLAB实验三-Gibbs现象验证_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告实验三、验证周期性方波的Gibbs现象课程名称:MATLAB仿真应用专业班级:电子Z1211学生学号:学生姓名:徐斌所属院部:电子信息工程指导教师:凌云2023——2023学年第1学期实验三、验证周期性方波的Gibbs现象实验工程名称:验证周期性方波的Gibbs现象实验学时:同组学生姓名:实验地点:B203实验日期:实验成绩:批改教师:批改时间:一、实验目的和要求验证周期性方波的Gibbs现象二、实验仪器和设备计算机一台三、实验原理1连续时间周期信号的傅里叶级数频域分析法即傅里叶分析法,它是变换域分析法的基石。其中,傅里叶级数是变换域分析法的理论根底,傅里叶变换作为频域分析法的重要数学工具,具有明确的物理意义,在不同的领域得到广泛的应用1.1连续时间周期信号的分解以高等数学的知识,任何周期为T的周期函数,在满足狄里赫利条件时,那么该周期信号可以展开成傅里叶级数。傅里叶级数有三角形式和指数形式两种[2]。1.1.1三角形式的傅里叶级数三角形式的傅里叶级数为:式中系数、称为傅里叶系数,可由下式求得。其中,为基波频率,为n次谐波频率。如果将式中同频率的正弦和余弦分量合并,那么三角形式的傅里叶级数可表示为:上式中可以看出,傅里叶系数和都是或的函数,其中和是或的偶函数,即有;而和是或的奇函数,即有。1.1.2指数形式的傅里叶级数根据欧拉公式:并考虑和奇偶性可将改写为指数形式的傅里叶级数:即周期信号可分解为一系列不同频率的虚指数信号之和,式中称为傅里叶复系数,可由下式求得:1.2连续时间周期信号的傅里叶综合任何满足狄里赫里条件的周期信号,可以表示成式或的和式形式,或式常称为连续周期信号的傅里叶级数综合公式。一般来说,傅里叶级数系数有无限个非零值,即任何具有有限个间断点的周期信号都一定有一个无限项非零系数的傅里叶级数表示。但对数值计算来说,这是无法实现的。在实际的应用中,但我们可以用有限项的傅里叶级数求和来逼近。为了比拟有限项谐波的逼近情况,本次课设编写了程序来绘制波形以给读者一个直观的感受。调用函数文件,即可绘出周期矩形波信号各次谐波的合成波形。如图1.1所示。图1.1周期矩形脉冲信号的合成由图1.1可见,当它所包含的谐波分量越多时,合成波形愈接近于原来的矩形波脉冲〔。由图2.1还可以看到,合成波形所包含的谐波分量愈多时,除间断点附近外,它越接近于原矩形波脉冲。在间断点附近,随着所含谐波次数的增加,合成波形的尖峰愈接近间断点,但尖峰幅度并未明显减少。可以证明,即使合成波形所含谐波次数时,在间断点处仍有约9%的偏差,这种现象称为吉布斯〔Gibbs〕现象。在傅里叶级数的项数取得很大时,间断点处尖峰下的面积非常小以致趋近于零,因而在均方的意义上合成波形同原波形的真值之间没有区别[4]。1.3吉布斯现象 上一节中我们提到了吉布斯现象,本节我们将作重点来讨论。我们知道满足狄里赫利条件的周期函数表示成的傅立叶级数都收敛。狄里赫利条件如下:在任何周期内,x(t)必须绝对可积;在任一有限区间中,x(t)只能取有限个最大值或最小值;在任何有限区间上,x(t)只能有有限个第一类间断点。 所谓的吉布斯现象就是:在x(t)的不可导点上,如果我们只取x(t)等式右边的无穷级数中的有限项作和X(t),那么X(t)在这些点上会有起伏[1]。具表达象如下列图所示,以下分别为谐波次数为N=50,N=100,N=500合成波的情况。图1.2不同时N值时的合成波 从上面的图像中可以看出,当N=500的时候,合成波与原来的方波拟合得非常好,但是在不可导的点上,即为x=-1.5,x=-0.5,x=0.5,x=1.5这样的点的时候,合成波会有较大的波动,这就是非常明显的吉布斯现象。周期方波脉冲单边频谱的MATLAB实现图2.1周期方波脉冲的单边频谱a图2.2周期方波脉冲的单边频谱b图2.3周期方波脉冲的单边频谱c单边频谱就是双边频谱正半轴局部,其具有的规律也与双边频谱相同。四、实验要求:1〕完成脉宽为1的方波的gibbs现象的验证。〔要就给出不同情况下的误差〕t=-2:0.001:2;N1=input('N='); %N为输入要到达的最高次谐波的次数c0=0.5;fN1=c0*ones(1,length(t));forn=1:2:N1fN1=fN1+cos(pi*n*t)*sinc(n/2);endfigureplot(t,fN1);holdon;axis([-22-0.21.2])用符号运算完成脉宽为1的方波的傅里叶级数的计算。程序在下面;五、实验结果与分析符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。整个设计过程中首先对所学的信号与系统与数字信号处理有了更深的了解,比方傅立叶级数、信号频谱等;其次,实现过程是通过MATLAB软件完成的,MATLAB的图形功能强大,具有良好的人机界面,此次设计过程中熟练了MATLAB的编程,掌握了很多函数的作用及使用方法;最后,通过此次课程设计,我对设计所用到的软件MATLAB有了更加深刻地了解,MATLAB不管在数值计算方面的功能很强大,而且其图形仿真功能更能满足各个领域的需要,因此我们以后更要经常运用MATLAB软件,使其成为自己不可或缺的工具。附录程序1、(连续周期信号的分解与综合——谐波分析)function[A_sym,B_sym]=CTFS1symstnkxT=5;tao=0.2*T;a=0.5;ifnargin<4;Nf=6;endifnargin<5;Nn=32;endx=time_fun_x(t);A0=2*int(x,t,-a,T-a)/T;%求傅里叶级数展开式的系数。As=int(2*x*cos(2*pi*n*t/T)/T,t,-a,T-a);Bs=int(2*x*sin(2*pi*n*t/T)/T,t,-a,T-a);A_sym(1)=vpa(A0,Nn);fork=1:Nf %Nf为最高次谐波的次数A_sym(k+1)=vpa(subs(As,n,k),Nn);B_sym(k+1)=vpa(subs(Bs,n,k),Nn);endifnargout==0c=A_sym;disp(c)d=B_sym;disp(d)t=-8*a:0.01:T-a;f1=2*(0.2/2+0.1871.*cos(2*pi*1*t/5)+0.*sin(2*pi*1*t/5));f2=2*(0.1514.*cos(2*pi*2*t/5)+0.*sin(2*pi*2*t/5));f3=2*(0.1009.*cos(2*pi*3*t/5)+0.*sin(2*pi*3*t/5));f4=2*(0.0468.*cos(2*pi*4*t/5)+0.*sin(2*pi*4*t/5));f5=2*(-0.0312.*cos(2*pi*6*t/5)+0.*sin(2*pi*6*t/5));f6=f1+f2;f7=f6+f3;f8=f7+f4+f5;subplot(2,2,1)plot(t,f1),holdontitle('基波')subplot(2,2,2)plot(t,f6),holdontitle('基波+2次谐波')subplot(2,2,3)plot(t,f7),holdontitle('基波+2次谐波+3次谐波')subplot(2,2,4)plot(t,f8),holdontitle('基波+2次谐波+3次谐波+6次谐波')endfunctiony=time_fun_e %定义矩形脉冲函数〔绘图用〕a=0.5;T=5;h=1;tao=0.2*T;t=-8*a:0.01:T-a;e1=1/2+1/2.*sign(t+tao/2);e2=1/2+1/2.*sign(t-tao/2);y=h.*(e1-e2);functionx=time_fun_x(t) %定义矩形脉冲函数〔积分用〕h=1;x1=sym('Heaviside(t+0.5)')*h;x=x1-sym('Heaviside(t-0.5)')*h;2、〔矩形脉冲的频谱分析〕function[A_sym,B_sym]=CTFS2symstnyifnargin<3;Nf=input('pleasInput所需展开的最高谐波次数:Nf=');endT=input('pleasInput信号的周期T=');ifnargin<5;Nn=32;endy=fun_in(t);A0=2*int(y,t,0,T)/T;As=int(2*y*cos(2*pi*n*t/T)/T,t,0,T);Bs=int(2*y*sin(2*pi*n*t/T)/T,t,0,T);A_sym(1)=double(vpa(A0,Nn));fork=1:NfA_sym(k+1)=double(vpa(subs(As,n,k),Nn));B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));endifnargout==0S1=fliplr(A_sym)S1(1,k+1)=A_sym(1)S2=fliplr(1/2*S1)S3=fliplr(1/2*B_sym)S3(1,k+1)=0S4=fliplr(S3)S5=S2-i*S4;S6=fliplr(S5);N=Nf*2*pi/T;k2=-N:2*pi/T:N;S7=[S6,S5(2:end)];x=fun_mcsubplot(3,1,2)stem(k2,abs(S7));axis([-150,150,0,0.12])subplot(3,1,3)stem(k2,angle(S7));axis([-150,150,-4,4])endfunctiony=fun_in(t)symsaa1T=input('pleasInput信号的周期T=');M=input('周期与脉冲宽度之比M=');A=1;tao=T/M;a=tao/2;y1=sym('Heaviside(t+a1)')*A;y=y1-sym('Heaviside(t-a1)')*A;y=subs(y,a1,a);y=simple(y);functionx=fun_mcT=5;tao=T/5;n=4;t=-n*T:0.01:n*T;x=rectpuls(t,1);fori=1:n;x=x+rectpuls(t-i*T,1)+rectpuls(t+i*T,1);endsubplot(3,1,1)plot(t,x)holdonaxis([-20,20,0,1.2]);3、〔周期脉冲的频谱分析——方波〕function[A_sym,B_sym]=fangbosymstnkyT=10;ifnargin<4;Nf=input('pleasInput所需展开的最高谐波次数Nf=');endifnargin<5;Nn=32;endy=fangbo_1;A0=2*int(y,t,0,T)/T;As=int(2*y*cos(2*pi*n*t/T)/T,t,0,T);Bs=int(2*y*sin(2*pi*n*t/T)/T,t,0,T);A_sym(1)=double(vpa(A0,Nn));fork=1:NfA_sym(k+1)=double(vpa(subs(As,n,k),Nn));B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));endifnargout==0S1=fliplr(A_sym)S1(1,k+1)=A_sym(1)S2=fliplr(1/2*S1)S3=fliplr(1/2*B_sym)S3(1,k+1)=0S4=fliplr(S3)S5=S2-i*S4;S6=fliplr(S5);N=Nf*2*pi/T;k2=-N:2*pi/T:N;S7=[S6,S5(2:end)];subplot(2,1,1)x=fangbo_2T=5;t=-2*T:0.01:2*T;plot(t,x)title('T=5,占空比为50%的周期方波脉冲')axis([-10,10,-1.2,1.2])subplot(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论