1信号与系统实验报告课程名称:信号与系统实验实验项目名称:离散线性时不变系统分析专业班级:姓名:学号:完成时间:年月日2一、实验目的1.掌握离散LSI系统的单位序列响应、单位阶跃响应和任意激励下响应的MATLAB求解方法。2.掌握离散LSI系统的频域分析方法;3.掌握离散LSI系统的复频域分析方法;4.掌握离散LSI系统的零极点分布与系统特性的关系。二、实验原理及方法1.离散LSI系统的时域分析描述一个N阶线性时不变离散时间系统的数学模型是线性常系统差分方程,N阶LSI离散系统的差分方程一般形式为)()(00inxbknyaMiiNkk(6.1)也可用系统函数来表示12001212120()()()()()1MiMiiMNNkNkkbzbbzbzbzYzbzHzXzazazazazaz(6.2)系统函数()Hz反映了系统响应和激励间的关系。一旦上式中ka,ib的数据确定了,系统的性质也就确定了。特别注意0a必须进行归一化处理,即01a。对于复杂信号激励下的线性系统,可以将激励信号在时域中分解为单位序列或单位阶跃序列的线性叠加,把这些单元激励信号分别加于系统求其响应,然后把这些响应叠加,即可得到复杂信号作用于系统的零状态响应。因此,求解系统的单位序列响应和单位阶跃响应尤为重要。由图6-1可以看出一个离散LSI系统响应与激励的关系。()hn()Hz()xn()Xz()()()YzXzHz()()*()ynxnhn图6-1离散LSI系统响应与激励的关系(1)单位序列响应(单位响应)单位响应()hn是指离散LSI系统在单位序列()n激励下的零状态响应,因此()hn满足线性常系数差分方程(6.1)及零初始状态,即00()()NMkikiahnkbni,(1)(2)0hh(6.3)按照定义,它也可表示为()()()hnhnn(6.4)对于离散LSI系统,若其输入信号为()xn,单位响应为()hn,则其零状态响应()zsyn为3()()*()zsynxnhn(6.5)可见,()hn能够刻画和表征系统的固有特性,与何种激励无关。一旦知道了系统的单位响应()hn,就可求得系统对任何输入信号()xn所产生的零状态响应()zsyn。MATLAB提供了专门用于求连续系统冲激响应的函数impz(),其调用格式有[h,n]=impz(b,a)求解离散系统的单位响应,其中012[,,,,]Mbbbbb,12[1,,,,]Naaaa,[0,1,2,]n;[h,n]=impz(b,a,N)求解离散系统的单位响应,采样点数由N确定,[0,1,2,,N-1]n;impz(b,a):在当前窗口,用stem(n,h)绘出图形。(2)单位阶跃响应单位阶跃响应()sn是指离散LTI系统在单位阶跃序列()un激励下的零状态响应,它可以表示为()()()()nmsnunhnhm(6.6)上式表明,离散LSI系统的单位阶跃响应是单位响应的累加和,系统的单位阶跃响应和系统的单位响应之间有着确定的关系,因此,单位阶跃响应也能完全刻画和表征一个LSI系统。MATLAB提供了专门用于求离散系统单位阶跃响应的函数stepz(),其调用格式有[s,n]=stepz(b,a):求解离散系统的单位阶跃响应,其中012[,,,,]Mbbbbb,12[1,,,,]Naaaa,[0,1,2,]n;[s,n]=stepz(b,a,N):求解离散系统的单位阶跃响应,采样点数由N确定,[0,1,2,,N-1]n;stepz(b,a):在当前窗口,用stem(n,s)绘出图形。(3)任意激励下的零状态响应已经知道,离散LSI系统可用常系数线性差分方程(6.1)式来描述,Matlab提供的函数dlsim()能对上述差分方程描述的离散LSI系统的响应进行仿真,该函数不仅能绘制指定时间范围内的系统响应波形图,而且还能求出系统响应的数值解。其调用格式有dlsim(b,a,x):求解输入序列为x的零状态响应需要特别强调的是,Matlab总是把由分子和分母多项式表示的任何系统都当作是因果系统。所以,利用impz(b,a),stepz(b,a),dlsim(b,a,x)函数求得的响应总是因果信号。同时,卷积和也是LSI系统求解零状态响应的重要工具之一。假设系统的输入信号为()xn,单位响应为()hn,则系统的零状态响应()zsyn可由(6.5)式求解。Matlab提供了专门用于求离散系统卷积和的函数conv(),其调用格式有y=conv(x,h):求解序列x,h的卷积和,若序列x的长度为n1,序列h的长度为n2,卷积和y的长度为n1+n2-1。这一点需要特别注意,否则,作图时容易造成横纵坐标长度不匹配。(4)带初始状态的任意激励下的全响应任意激励下的离散LSI系统的全响应为零输入响应和零状态响应之和,表示为()()()zizsynynyn(6.7)在理论学习的过程中,同学们对低阶差分方程的求解已颇为头痛,高阶差分方程直接求4解几乎不可能。Matlab提供了用于求离散系统全响应的函数filter(),其调用格式有y=filter(b,a,x):求解零状态响应;y=filter(b,a,x,zi):求解初始条件为zi的系统的全响应,zi向量的长度为max(length(a),length(b))-1,返回值为系统的全响应。z=filtic(b,a,y,x):将初始状态转换为初始条件,其中[(1),(2),(3),,()]xxxxxm,[(1),(2),(3),,()]yyyyyn;z=filtic(b,a,y):将初始状态转换为初始条件,其中0x,[(1),(2),(3),,()]yyyyyn。2离散LSI系统的复频域(Z域)分析(1)利用Z变换解差分方程在前面图6-1中表示了离散系统的响应与激励的关系,由图可知,系统的响应既可以用时域的方法求解,也可以用Z域的方法求解。当已知系统输入序列的Z变换()Xz,系统函数()Hz时,系统响应序列的Z变换可由()()()YzXzHz求出。Matlab提供了用于求序列Z变换和Z反变换的函数,其调用格式有X=ztrans(x):求无限长序列x的Z变换,返回Z变换的表达式,注意这里x,X都是符号表达式;x=iztrans(X):求X(z)的Z反变换x(n),返回Z反变换的表达式,注意这里x,X都是符号表达式;[r,p,c]=residuez(b,a):把b(z)/a(z)展开成部分分式;[b,a]=residuez(r,p,c):根据部分分式的r、p、c数组,返回有理多项式。(2)系统的零极点分布与系统因果性和稳定性的关系因果系统的单位响应)(nh一定满足当0n时,)(nh=0,那么其系统函数)(zH的收敛域一定包含点,即点不是极点,极点分布在某个圆的圆内,收敛域是圆外区域。系统稳定要求nnh|)(|,对照z变换定义,系统稳定要求收敛域包含单位圆。如果系统因果且稳定,收敛域包含点和单位圆,那么收敛域可表示为:10,||rzr(6.8)MATLAB提供了用于求系统零极点的函数,其调用格式有roots():利用多项式求根函数来确定系统函数的零极点位置;roots(a):求极点位置,a为系统函数)(zH分母多项式所构成的系数向量;roots(b):求零点位置,b为系统函数)(zH分子多项式所构成的系数向量;zplane(b,a):绘制由行向量b和a构成的系统函数的零极点分布图;zplane(z,p):绘制由列向量z确定的零点、列向量p确定的极点构成的零极点分布图。(3)系统的零极点分布与系统频率响应的关系将式(6.2)因式分解,得到NkkMmmzdzcAzH1111)1()1()((6.9)式中,00abA,mc是)(zH的零点,kd是其极点。A参数影响频率响应的幅度大小,影响系统特性的是零点mc和极点kd的分布。下面采用几何方法研究系统零极点分布对系统频率特性的影响。5将式(6.9)的分子、分母同乘以MNz,得到:NkkMmmMNNkkMmmdzczAzzdzcAzH111111)()()1()1()((6.10)假设系统稳定,将jez代入上式,得到频率响应)](arg[11)()()()()(jeHjjNkkjMmmjMNjjeeHdeceAeeH(6.11)设MN,由式(6.11)得到NkkjNmmjjdeceAeH11)()()((6.12)在z平面上,mjce用一根由零点mc指向单位圆(je)上任一点B的向量Bcm表示,同样kjde用一根由极点kd指向单位圆(je)上任一点B的向量Bdk来表示,Bcm和Bdk分别称为零点矢量和极点矢量,用极坐标表示为:mjmmecBc,kjkkedBd。将Bcm和Bdk表示式代入式(6.12),得到)(1111)()()()(jjNkkNmmNkkjNmmjjeeHBdBcAdeceAeHNkkNmmjdcAeH11|)(|(6.13)NkkNmm11)((6.14)系统或者信号的频率特性由式(6.13)和式(6.14)确定。按照式(6.13),知道零极点的分布后,可以很容易地确定零极点位置对系统特性的影响。当B点转到极点附近时,极点矢量长度最短,因而幅度特性可能出现峰值,且极点愈靠近单位圆,极点矢量长度愈短,峰值愈高愈尖锐。如果极点在单位圆上,则幅度特性为,系统不稳定。对于零点,情况相反,当B点转到零点附近时,零点矢量长度变短,幅度特性将出现谷值,且零点愈靠近单位圆,谷值愈接近零。当零点在单位圆上时,谷值为零。综上所述,极点位置主要影响频响的峰值位置及尖锐程度,零点位置主要影响频响的谷值位置及形状。Matlab提供了专门用于求离散系统频率响应的函数freqz(),其调用格式如下:[H,w]=freqz(b,a,n):返回数字系统的n点频率值(复数),这n个点均匀地分布在[0,π]上,系统默认的采样点数目为512点;[H,f]=freqz(b,a,n,Fs):用于对()jHe在[0,Fs/2]上等间隔采样n点,采样点频率及6相应的频响值分别存放在f和H中。H=freqz(b,a,w):用于对()jHe在[0,2π]上进行采样,采样频率点由w指定。H=freqz(b,a,f,Fs):用于对()jHe在[0,Fs]上进行采样,采样频率点由f指定。freqz(b,a,n):用于在当前图形窗口中绘制幅频和相频特性曲线。下面介绍几个实用的函数:mag=abs(H):求解系统的绝对幅频响应;db=20*log10((mag+eps)/max(mag)):求解系统的相对幅频响应;pha=angle(H):求解系统的相频响应;grd=grpdelay(b,a,w):求解系统的群延迟。三、实验内容及步骤1.某离散LSI系统的差分方程表示式为()1.5(1)0.5(2)()ynynynxn满足初始条件(1)4y,(2)10y,求系统的单位响应,单位阶跃响应,用filter子函数求系统输入为()(0.25)()nxnun时的零输入、零状态及全响应。提示:通过解差分方程,可以得到全响应为1112()[()()]()2343nnynun,使用filter子函数对系统差分方程进行求解,同时将求解结果与理论计算的结果进行比较。2.一简单的数字微分器()()(1)ynxnxn它计算输入序列的后向一阶差分。当数字微分器的输入为以下序列时,计算、画出输出序列,并对该数字微分器的实用性进行评价。(1)矩形脉冲:1()5[()(20)]xnunun(2)三角脉冲:2()[()(10)](20)[(10)(20)]xnnun