广东工业大学实验报告信息工程学院成绩评定_______学号:姓名:教师签名_______预习情况操作情况考勤情况数据处理情况实验4题目:周期信号的合成与分解第7周星期3第8、9节一、实验目的1.熟悉信号的合成、分解原理,加深对傅立叶级数的理解;2.了解和认识吉布斯现象(Gibbs)。一、实验原理信号可以分解为一个直流分量和许多不同频率的正弦分量之和。主要表现各频率的正弦分量在信号所占比重大小的不同。根据周期信号的傅立叶级数展开式可知,任何非正弦周期信号,只要满足狄里赫利条件都可以分解为一直流分量和由基波及各次谐波(基波的整数倍)分量的叠加。同样,由基波及各次谐波分量也可以叠加出一个周期方波信号。至于叠加出来的信号与原信号的误差,则取决于傅立叶级数的项数。根据傅立叶的原理,任何周期信号都可以分解为用一组三角函数{sin(tnf02),cos(tnf02)}的组合表示。合成波形所包含的谐波分量越多,除间断点附近外,它越接近于原方波信号,在间短点附近,随着所含谐波次数增高,合成波形的尖峰越靠近间断点,但尖峰幅度并未明显减小,即当合成波形包含的谐波次数n,在间断点附近仍有9%的偏差,这种现象称为吉布斯现象(Gibbs)。二、验证性实验1、信号的合成、分解方法一:clearallclcx0=-pi:0.01:pi;sum=0.0;for(n0=1:1:5)p0=4*sin(n0*pi/2)*cos(n0*x0)/(n0*pi);sum=sum+p0;endplot(x0,sum,'b')text(2.1,-1.2,'n=5')holdon;x1=-pi:0.01:pi;sum=0.0;for(n1=1:1:20)p1=4*sin(n1*pi/2)*cos(n1*x1)/(n1*pi);sum=sum+p1;endplot(x1,sum,'r')text(3.1,-1.2,'n=20')holdon;x2=-pi:0.01:pi;sum=0.0;for(n2=1:1:150)p2=4*sin(n2*pi/2)*cos(n2*x2)/(n2*pi);sum=sum+p2;endplot(x2,sum,'y')text(1.6,1.3,'n=150')holdon;x3=-pi:0.01:pi;sum=0.0;for(n3=1)p3=4*sin(n3*pi/2)*cos(n3*x3)/(n3*pi);sum=sum+p3;endplot(x3,sum,'g')text(2,-0.5,'n=1')holdon;x4=-pi:0.01:pi/2;y1=-1;plot(x4,y1,'g')holdonx5=-pi/2:0.01:pi/2;y2=2;plot(x5,y2,'g')holdonx6=pi/2:0.01:pi;y3=-1;plot(x6,y3,'g')holdony4=-1:0.01:1;x7=-pi/2;plot(x7,y4,'g')holdonx8=pi/2;plot(x8,y4,'g');xlabel('x');ylabel('y');2、信号的合成、分解方法二:clearallclcT=2;w0=2*pi/T;fw=3;t=-fw:0.001:fw;N=input('NumberOfHarmonics:');a0=0;An=a0*ones(1,length(t));forn=1:2:NAn=An+4/n/pi*sin(n*w0*t);endplot(t,An);ylim([-1.51.5]);holdonplot(t,zeros(1,length(t)));holdoffclearallclcT=2;w0=2*pi/T;fw=3;t=-fw:0.001:fw;N=input('NumberOfHarmonics:');F0=0;Fn=F0*ones(1,length(t));forn=1:2:NFn=Fn+2/pi/j*((exp(j*n*w0*t)-exp(-j*n*w0*t))/n);endplot(t,Fn);ylim([-1.51.5]);holdonplot(t,zeros(1,length(t)));holdoff三、程序设计实验:clearallclcT=0.02;w0=2*pi/T;fw=0.03;t=-fw:0.001:fw;N=9;a0=0;An=a0*ones(1,length(t));forn=1:2:N;An=An+3*(4/n/pi*sin(n*w0*t));endplot(t,An);ylim([-55]);holdonplot(t,zeros(1,length(t)));holdoff五、思考与讨论设计一个三角波合成实验,写出实验步骤和程序。clearallclcT=2;w0=2*pi/T;fw=3;t=-fw:0.001:fw;N=100;a0=0;An=a0*ones(1,length(t));forn=1:2:N;An=An+3*(4/n^2/pi^2*cos(n*w0*t));endplot(t,An);ylim([-55]);holdonplot(t,zeros(1,length(t)));holdoff-3-2-10123-5-4-3-2-1012345