实验项目一:表示信号与系统的MATLAB函数、工具箱一、实验项目名称:表示信号、系统的MATLAB函数、工具箱二、实验目的与任务:目的:1、加深对常用离散信号的理解;2、熟悉表示信号的基本MATLAB函数。任务:基本MATLAB函数产生离散信号;基本信号之间的简单运算;判断信号周期。三、实验原理:利用MATLAB强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB函数来构成信号。常见的基本信号可以简要归纳如下:1.单位抽样序列01)(n00nn在MATLAB中可以利用zeros()函数实现。;1)1();,1(xNzerosx如果)(n在时间轴上延迟了k个单位,得到)(kn即:01)(kn0nkn2、单位阶跃序列01)(nu00nn在MATLAB中可以利用ones()函数实现。);,1(Nonesx3、正弦序列)/2sin()(FsfnAnx采用MATLAB实现)/***2sin(*1:0faiFsnfpiAxNn4、复正弦序列njenx)(采用MATLAB实现)**exp(1:0nwjxNn5、指数序列nanx)(采用MATLAB实现naxNn.^1:0四、实验内容:实验内容(一)、使用实验仿真系统实验步骤:1、在MATLAB环境下输入命令xhxt启动《信号与系统》MATLAB实验工具箱,界面如图4.1-1。点击按钮“点击进入”,进入工具箱主界面,如图4.1-2所示。选中实验模块对应列表框的第一项“实验一表示信号、系统的MATLAB函数、工具箱”,点击按钮“进入实验”;图4.1-1启动界面图4.1-2实验仿真系统主界面2、实验一的启动界面,如图4.1-3所示。仔细阅读实验目的和实验内容,然后点击按钮“进入实验”,打开实验一主界面,如图4.1-4。3、点击信号下拉列表,可以选择感兴趣的信号,如单位阶跃序列、正弦序列、指数序列、方波序列等等。同时可以改变信号的幅值、频率和初相,如图4.1-5所示。图4.1-3实验一启动界面4、点击实验界面上的按钮“信号相加”,可以将信号一和信号二相加得到一个新的信号,如图4.1-6所示。图中的新信号是由一个方图4.1-4实验一图4.1-5选择信号示意图波序列和一个单位阶跃序列相加所得。5、点击实验界面上的按钮“信号相乘”,可以将信号一和信号二相乘得到一个新的信号。6、点击实验界面上的按钮“拆分序列”,将启动图4.1-7来演示一个离散序列可以分解成一个奇序列和一个偶序列之和。此图是以单位阶跃序列为例,拆分而得到一个奇序列和一个偶序列。图4.1-6信号相加示意图实验内容(二)、MATLAB仿真实验步骤:编制程序产生上述5种信号(长度可输入确定),并绘出其图形。1、单位抽样序列N=[-5:5]x=[zeros(1,5)1zeros(1,5)]stem(N,x)图4.1-7信号分解示意图2、单位阶跃序列N=[-10:10]x=[zeros(1,10)ones(1,11)]stem(N,x)3、正弦序列requency=100fai=pi/3A=1Fs=100n=[0:100]x=A*sin(2*pi*fai*n/Fs+fai)stem(n,x)4、复正弦序列N=100w=100n=[0:N]x=exp(i*w*n)stem(n,x)5、指数序列N=10A=3n=[0:N]x=A.^nstem(n,x)在310n内画出下面每一个信号:1223[]sin()cos()44[]cos()4[]sin()cos()48nnxnnxnnnxn1)a.源代码:N=31n=[0:N]x1=sin(pi*n/4).*cos(pi*n/4)stem(n,x1)b.输出结果如下:2)a.源代码:N=31n=[0:N]x1=cos(pi*n/4).*cos(pi*n/4)stem(n,x1)b.输出结果如下:3)a.源代码:N=31n=[0:N]x1=sin(pi*n/4).*cos(pi*n/8)stem(n,x1)B.输出结果如下:思考问题:每个信号的基波周期是什么?对于这3个信号中的每一个,不依赖MATLAB,如何来确定基波周期?答:第一个信号的基波周期是4,第二个信号的基波周期也是4,第三个信号的基波周期是32。如果不依赖于MATLAB,可根据周期公式进行计算即可。五、项目需用仪器设备名称:计算机、MATLAB软件。六、所需主要元器件及耗材:无实验项目六:离散系统的冲激响应、卷积和一、实验项目名称:离散系统的冲激响应、卷积和二、实验目的与任务:目的:加深对离散系统冲激响应、卷积和分析方法的理解。任务:利用MATLAB函数conv、filter计算卷积及系统输出。三、实验原理:在离散时间情况下,最重要的是线性时不变(LTI)系统。线性时不变系统的输入输出关系可通过冲激响应][nh表示kknhkxnhnxny][][][][][其中表示卷积运算,MATLAB提供了求卷积函数conv,即y=conv(x,h)这里假设x[n]和h[n]都是有限长序列。如果x[n]仅在1xxxNnnn区间内为非零,而h[n]仅在1hhhNnnn上为非零,那么y[n]就仅在2)()(hxhxhxNNnnnnn内为非零值。同时也表明conv只需要在上述区间内计算y[n]的1hxNN个样本值。需要注意的是,conv并不产生存储在y中的y[n]样本的序号,而这个序号是有意义的,因为x和h的区间都不是conv的输入区间,这样就应负责保持这些序号之间的联系。filter命令计算线性常系数差分方程表征的因果LTI系统在某一给定输入时的输出。具体地说,考虑一个满足下列差分方程的LTI系统:MmmNkkmnxbknya00][][式中x[n]是系统输入,y[n]是系统输出。若x是包含在区间1xxxNnnn内x[n]的一个MATLAB向量,而向量a和b包含系数ka和kb,那么y=filter(b,a,x)就会得出满足下面差分方程的因果LTI系统的输出:MmNkmnxmbknyka00][)1(][)1(注意,kaka)1(和mbmb)1(,因为MATLAB要求所有的向量序号都从1开始。例如,为了表示差分方程]1[3][]1[2][nxnxnyny表征的系统,就应该定义a=[12]和b=[1-3]。由filter产生的输出向量y包含了y[n]在与向量x中所在样本同一区间上的样本,即1xxxNnnn,以使得两个向量x和y中都包含了xN个样本。四、实验内容实验内容(一)、使用实验仿真系统实验步骤:1、启动工具箱主界面,选中“实验二离散系统的冲激响应、卷积和”,点击按钮“进入实验”,启动实验二的启动界面,如图4.2-1所示。2、仔细阅读实验目的和实验内容,点击按钮“进入实验”,打开实验二主界面,如图4.2-2。3、求离散信号的卷积和。设定输入序列][21naaax和][21mbbby,以及它们相应的取值范围max]:min[xxnx和max]:min[yyny,点击“确定”按钮,可以得到信号x和y的卷积结果的图形。注意输入序列的长度和相应取值范围的长度要相等,否则会得到警告消息。图4.2-1实验二启动界面4、由离散信号的差分方程求系统输出。根据线性常系数差分方程:][]1[][][]1[][1010mnxbnxbnxbknyanyanyamk和输入序列][nx,求得输出序列][ny。因此输入系数向量a和b的值,以及输入信号x的值及其取值范围,点击按钮“确定”,将得到输出信号y的图形。如果没有输入x的取值范围,将默认为x的起始坐标点为1。实验内容(二)、MATLAB仿真实验步骤:图4.2-2实验二考虑有限长信号1,05[]0,nxnn其余,05[]0,nnhnn其余(a)首先用解析方法计算[][]*[]ynxnhn。(b)接下来利用conv计算[][]*[]ynxnhn的非零样本值,并将这些样本存入向量y中。构造一个标号向量ny,对应向量y样本的序号。用stem(ny,y)画出这一结果。验证其结果与(a)是否一致。源代码:N=[0:10]x=[111111]h=[111111]y=conv(h,x)stem(N,y)输出结果如下:对以下差分方程描述的系统]2[2]1[][5.0][nxnxnxny][2]1[8.0][nxnyny]1[2]1[8.0][nxnyny分别利用filter计算出输入信号][][nnunx在41n区间内的响应y[n]。实验源代码分别如下:1.a=1b=[0.512]x=[1234]nx=[1:4]y=filter(b,a,x)stem(nx,y)2.a=[1-0.8]b=2x=[1234]nx=[1:4]y=filter(b,a,x)stem(nx,y)3.a=[1-0.8]b=[02]x=[1234]nx=[1:4]y=filter(b,a,x)stem(nx,y)输出图形分别如下所示:思考问题:考虑函数conv和filter之间的关系,试利用filter函数来实现离散时间信号的卷积。答:其中y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。Y=conv(x,h)是用来实现卷积的,对x序列和h序列进行卷积,输出的结果个数等于x的长度和h的长度之各减去1。五、项目需用仪器设备名称:计算机、MATLAB软件。六、所需主要元器件及耗材:无实验项目七:离散系统的转移函数,零、极点分布一、实验项目名称:离散系统的转移函数,零、极点分布和模拟二、实验目的与任务:目的:1、加深对离散系统转移函数、零极点概念的理解;2、根据系统转移函数求系统零极点分布。任务:利用MATLAB函数tf2zp、zplane求系统零极点及绘制零极点图;根据系统零极点图求系统的频率响应。三、实验原理:离散系统的时域方程为MmmNkkmnxbknya00][][其变换域分析方法如下:系统的频率响应为jNNjjMMjjjjeaeaaebebbeAeBeH......)()()(1010Z域)()()(][][][][][zHzXzYmnhmxnhnxnym系统的转移函数为NNMMzazaazbzbbzAzBzH......)()()(110110分解因式NiiMiiNiikMiikzzKzazbzH111100)1()1()(,其中i和i称为零、极点。在MATLAB中,可以用函数[z,p,K]=tf2zp(num,den)求得有理分式形式的系统转移函数的零、极点,用函数zplane(z,p)绘出零、极点分布图;也可以用函数zplane(num,den)直接绘出有理分式形式的系统转移函数的零、极点分布图。四、实验内容:实验内容(一)、使用实验仿真系统实验步骤:1、启动工具箱主界面,选中“实验三离散信号的转移函数、零极点分布和模拟(综合性)”,点击按钮“进入实验”,启动实验三的启动界面,如图4.3-1所示。2、仔细阅读实验目的和实验内容,点击按钮“进入实验”,打开实验三主界面,如图4.3-2。3、由离散信号系统的转移函数绘制系统的零极点图。根据线性常系图4.3-1实验三启动界面数差分方程:][]1[][][]1[][1010mnxbnxbnxbknyanyanyamk来确定系统的转移函数。给定向量b和向量a的值来设定系统转移函数的分子、分母向量。4、点击“绘制系统零极点图”按钮,就可以得到系统的零极点图。图4.3-2实验三实验内容(二)、MATLAB仿真实验步骤:对系统系统21