资源描述:
《2010信号与系统实验指导书学生》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《信号与系统》实验指导书王海燕编写中国石油大学(华东)计通学院2010年9月前言《信号与系统实验》是通信工程专业学生的必修课。本指导书的主旨是通过MATLAB设计实验,解决手工绘图进行信号与系统分析时带来的不便,利用MATLAB强大的图形显示功能帮助学生更好的理解《信号与系统》课程所涉及的基本理论。设置的具体实验项目有6个,全部实验为设计性实验。实验一信号的基本运算:含有跳变点的信号的求导;两个时限信号的卷积。实验二LIT连续系统的时域分析:零状态响应的时域求解。实验三信号的频域分析:周期信号频谱及连续非周期信号频谱的特点,根据信号频谱求解信号的能量带宽、3dB带宽。实验四LIT连续系
2、统的频域分析:根据系统的频率响应函数分析系统特性;求解系统响应的正余弦函数响应法;周期信号通过RC低通系统的响应,理想低通滤波器的幅频特性及相频特性的特点;多路调制信号的时域与频域的波形,熟悉FDMA频分多路复用的特点。实验五抽样定理:连续信号的采样及重建的基本过程;取样信号的频谱混叠现象;信号恢复时低通滤波器的截止频率的选择。实验六LTI离散系统的z域分析:LTI离散系统的特性。在更好地理解和深刻地把握上述基本理论的基础上,可训练和培养学生利用MATLAB进行程序设计及进行理论分析的基本技能,为进一步学习通信原理、数字信号处理奠定基础。为使学生把主要精力投入到实验所要求的主要知识点的
3、程序设计上,而不必因MATLAB程序设计的细节所困扰,在实验原理的内容中附有相关的辅助程序,以便学生参考。该指导书适用于学习《信号与系统》的相关各专业。编者2010年9月目录前言I目录II实验一基本信号在MATLAB中的表示和运算1实验二信号的卷积与相关及其应用6实验三信号的频域分析11实验四信号的抽样及抽样定理19实验五LTI连续系统的频域分析26实验一基本信号在MATLAB中的表示和运算一、[实验目的]1.学会常用连续信号的MATLAB表示方法;2.学会用MATLAB进行信号的基本运算,为信号分析和系统设计奠定基础;3.通过信号的求导,观察信号在跳变点处的导数。二、[实验原理]1.
4、连续信号的MATLAB表示MATLAB提供了大量生成基本信号的函数,如常用的指数信号、正(余)弦信号均是MATLAB的内部函数,可直接调用。(1)抽样信号抽样信号在MATLAB中用函数表示,其定义为,则绘制函数的波形程序如下:t=-10:pi/100:10;ft=sinc(t/pi);plot(t,ft);gridonaxis([-10.110.1-0.51.2])图1-1抽样信号(2)矩形脉冲信号矩形脉冲信号在MATLAB中用rectpuls函数产生,其调用格式为:,用以产生一个幅度为1,宽度为width且以t=0为对称轴的矩形波。width的默认值为1。产生一个幅度为1,宽度为2且
5、以t=2为对称轴的矩形波其程序及波形如下:t=0:0.001:4;ft=rectpuls(t-2,2);plot(t,ft);gridon;axis([0,4-0.5,1.5]);图图1-2矩形脉冲信号(3)三角波脉冲信号三角波脉冲信号在MATLAB中可调用tripuls函数产生,其调用格式为:。用以产生一个幅度为1,宽度为width且以t=0为中心左右各展开width/2的范围,斜度为skew(介于-1和1之间的值)的三角波。其程序及波形如下:t=-3:0.001:3;ft=tripuls(t,4,0.5);plot(t,ft);gridon;axis([-3,3,-0.5,1.5]
6、);图图1-3矩形脉冲信号(4)阶跃信号阶跃信号用“(t>=0)”产生。MATLAB表达式“y=(t>=0)”的含义就是时,y=1,而当t<0时y=0。所以延时的阶跃信号用表达式“y=(t>=T)”来实现。例如产生,程序及波形如下:t=-4:0.001:4;%t=-4:4y=(t>=2);plot(t,y);%stairs(t,y);axis([-4,4,-0.1,1.1]);gridon;图1-4阶跃信号2.信号基本运算的MATLAB实现(1)连续信号的微分与积分连续信号的微分可以用diff近似计算。例如可由以下MATLAB程序近似计算:h=0.001;x=0:h:pi;y=diff
7、(sin(x.^2))/h;连续信号的定积分可由MATLAB中的quad或quad8函数来计算。其调用格式为:quad(‘function_name’,a,b)其中,function_name为被积函数名,a和b为积分区间。例:对图1-3所示的三角波f(t),试用MATLAB画出和的波形。解:为了应用quad函数,需将图1-3所示的三角波写成MATLAB函数,函数名为fun1,其程序如下:functionyt=fun1(t);yt=tripul