资源描述:
《信号与系统实验-周期信号的合成与分解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、武汉大学教学实验报告电子信息学院专业年月日实验名称周期信号的合成与分解指导教师姓名年级学号成绩一、预习部分1.实验目的2.实验基本原理3.主要仪器设备(含必要的元器件、工具)一、实验目的1.在理论学习的基础上,通过实验深刻领会周期信号傅里叶级数分解的物理意义。2.理解实际应用中通常采用有限项级数来逼近无限项级数,此时方均误差随项数的增加而减小。3.观察并初步了解Gibbs现象。4.深入理解周期信号的频谱特点,比较不同周期信号频谱的差异。二、实验原理19满足Dirichlet条件的周期信号f(t)可以分解成三角函数形式的傅里叶级数,表达式为:式
2、中n为正整数;角频率ω1由周期T1决定:。该式表明:任何满足Dirichlet条件的周期信号都可以分解成直流分量及许多正弦、余弦分量。这些正弦、余弦分量的频率必定是基频的整数倍。通常把频率为的分量称为基波,频率为n的分量成为n次谐波。周期信号的频谱只会出现在0,,2,…,n,…等离散的频率点上,这种频谱称为离散谱,是周期信号频谱的主要特点。f(t)波形变化越剧烈,所包含的高频分量的比重就越大;变化越平缓,所包含的低频分量的比重就越大。一般来说,将周期信号分解得到的三角函数形式的傅里叶级数的项数是无限的。也就是说,通常只有无穷项的傅里叶级数才能
3、与原函数精确相等。但在实际应用中,显然无法取至无穷多项,而只能采用有限项级数来逼近无穷项级数。而19且,所取项数越多,有限项级数就越逼近原函数,原函数与有限项级数间的方均误差就越小,而且低次谐波分量的系数不会因为所取项数的增加而变化。当选取的傅里叶有限级数的项数越多,所合成的波形的峰起就越靠近f(t)的不连续点。当所取得项数N很大时,该峰起值趋于一个常数,约等于总跳变值的9%,这种现象称为Gibbs现象。三、需要掌握的MATLAB函数结果的显示会用到plot函数,请参考MATLAB帮助。一、实验操作部分1.实验数据、表格及数据处理2.实验操作
4、过程(可用图表示)3.实验结论19四、实验内容1.周期对称方波信号的合成图示方波既是一个奇对称信号,又是一个奇谐信号。根据函数的对称性与傅里叶系数的关系可知,它可以用无穷个奇次谐波分量的傅里叶级数来表示:选取奇对称周期方波的周期T=0.02s,幅度E=6,请采用有限项级数替代无限项级数来逼近该函数。分别取前1、2、5和100项有限级数来近似,编写程序并把结果显示在一幅图中,观察它们逼近方波的过程。MATLAB程序如下:%奇对称方波合成f(t)=2*E/pi*(sum(sin(2*pi*f*t*(2*i+1)/(2*i+1));i=0,1,2¡
5、¡)t=0:0.001:0.1;E=6;A=2*E/pi;19T=0.02;f=1/T;y=A*sin(2*pi*f*t);subplot(221)plot(t,y);axis([0,0.1,-4,4]);xlabel('time');ylabel('前1项有限级数');y=A*(sin(2*pi*f*t)+sin(2*pi*f*t*3)/3);subplot(222);plot(t,y);axis([0,0.1,-4,4]);xlabel('time');ylabel('前2项有限级数');y=A*(sin(2*pi*f*t)+sin(2*
6、pi*f*t*3)/3+sin(2*pi*f*t*5)/5+sin(2*pi*f*t*7)/7+sin(2*pi*f*t*9)/9);subplot(223)plot(t,y);axis([0,0.1,-4,4]);xlabel('time');19ylabel('前5项有限级数');t=0:0.001:0.1;y=0;N=10;fori=1:N%设置N的值来选项数;y=y+A*(sin((2*i-1)*2*pi*f*t)/(2*i-1));endsubplot(224);plot(t,y);axis([0,0.1,-4,4]);xlabel
7、('time');ylabel('前10项有限级数');显示结果如图4-2所示。19图4-2奇对称方波信号的合成2.观察Gibbs现象分别取前5,6,7和8项有限级数来逼近奇对称方波,观察Gibbs现象。MATLAB程序如下:%观察Gibbs现象%奇对称方波合成,观察Gibbs现象t=0:0.001:0.04;sishu=12/pi;y=0;fori=1:5y=y+sishu*(sin((2*i-1)*100*pi*t)/(2*i-1));endsubplot(221)19plot(t,y);axis([0,0.04,-4,4]);xlabe
8、l('time');ylabel('前5项有限级数);y=0;fori=1:6y=y+sishu*(sin((2*i-1)*100*pi*t)/(2*i-1));e