1、1.1 市场与市场营销市场与市场营销1.2 我国汽车市场的发展与现状我国汽车市场的发展与现状复习思考题复习思考题实验7 z变换及其应用一、实验目的一、实验目的(1)加深对离散系统变换域分析z变换的理解。(2)掌握进行z变换和z反变换的基本方法,了解部分分式法在z反变换中的应用。(3)掌握使用MATLAB语言进行z变换和z反变换的常用子函数。二、实验涉及的二、实验涉及的MATLAB子函数子函数1.ztrans功能:功能:返回无限长序列函数x(n)的z变换。调用格式:调用格式:Xztrans(x);求无限长序列函数x(n)的z变换X(z),返回z变换的表达式。2.iztrans功能:功能:求函数X
2、(z)的z反变换x(n)。调用格式:调用格式:xiztrans(X);求函数X(z)的z反变换x(n),返回z反变换的表达式。3.syms功能:功能:定义多个符号对象。调用格式:调用格式:symsabw0;把字符a,b,w0定义为基本的符号对象。4.residuez功能:功能:有理多项式的部分分式展开。调用格式:调用格式:residuez(b,a);把b(z)/a(z)展开成(如式(7-3)部分分式。b,aresiduez(rpc);根据部分分式的r、p、c数组,返回有理多项式。其中:b,a为按降幂排列的多项式(如式(7-1)的分子和分母的系数数组;r为余数数组;p为极点数组;c为无穷项多项式
3、系数数组。三、实验原理三、实验原理1.用用ztrans子函数求无限长序列的子函数求无限长序列的z变换变换MATLAB为我们提供了进行无限长序列的z变换的子函数ztrans。使用时须知,该函数只给出z变换的表达式,而没有给出收敛域。另外,由于这一功能还不尽完善,因而有的序列的z变换还不能求出,z逆变换也存在同样的问题。例例7-1 求以下各序列的z变换。解解 syms w0 n z ax1an;X1ztrans(x1)x2n;X2ztrans(x2)x3(n*(n1)/2;X3ztrans(x3)x4exp(j*w0*n);X4ztrans(x4)x51/n*(n1);X5ztrans(x5)1)
4、n(n1(n)xe(n)x21)n(n(n)xn(n)xa(n)x5njw432n10程序运行结果如下:X1z/a/(z/a1)X2z/(z1)2X31/2*z/(z1)21/2*z*(z1)/(z1)3X4z/exp(i*w0)/(z/exp(i*w0)1)?Errorusingsym/maple 表示(x5)不能求出z变换ZK(Error,(inconvert/hypergeom)Summandissingularatn0intheintervalofsummationErrorinC:MATLAB6p1toolboxsymbolicsymztrans.mOnline81Fmaple(ma
5、p,ztrans,f,n,z);2.用用iztrans子函数求无限长序列的子函数求无限长序列的z反变换反变换MATLAB还提供了进行无限长序列的z反变换的子函数iztrans。例例7-2 求下列函数的z反变换。1n433221z1z1(z)X1)(zz(z)Xz)(aaz(z)X1zz(z)X解解 symsnzaX1z/(z1);x1iztrans(X1)X2a*z/(az)2;x2iztrans(X2)X3z/(z1)3;x3iztrans(X3)X4(1zn)/(1z1);x4iztrans(X4)程序运行结果如下:x11x2n*anx31/2*n1/2*n2x4iztrans(1z(n)
6、/(11/z),z,n)3.用部分分式法求用部分分式法求z反变换反变换部分分式法是一种常用的求解z反变换的方法。当z变换表达式是一个多项式时,可以表示为(7-1)将该多项式分解为真有理式与直接多项式两部分,即得到:NN2211MM22110zazaza1zbzbzbbX(z)(7-2)当式中M1,试用部分分式法求z反变换,并列出N20点的数值。解解 由表达式和收敛域条件可知,所求序列x(n)为一个右边序列,且为因果序列。将上式按式(7-1)的形式整理得:0.5z1.5zzX(z)2221z0.5z1.511X(z)求z反变换的程序如下:b1,0,0;a1,1.5,0.5;r p cresidu
7、ez(b,a)在MATLAB命令窗将显示:r 2 1p 1.0000 0.5000c 由此可知,这是多项式M0r(2).*(n1).*p(2).n.*n10;subplot(1,2,1),stem(n,h);title(用部分分式法求反变换h(n);h2impz(b,a,N);subplot(1,2,2),stem(n,h2);title(用impz求反变换h(n);执行结果如图7-2所示。图7-2 用部分分式法和impz子函数求解例7-4的z反变换注意:注意:impz是一个求解离散系统冲激响应的子函数,在实验中我们已使用过。如果把H(z)看成是一个系统的系统函数,则H(z)的z反变换就等于这
8、个系统的冲激响应。因此,可以用impz的结果来检验用部分分式法求得的z反变换结果是否正确。例例7-5 用部分分式法求解例4-2系统函数的z反变换,并用图形与impz求得的结果相比较。解解 由上式可知,该函数表示一个6阶系统。其程序如下:a1,0,0.34319,0,0.60439,0,0.20407;b0.1321,0,0.3963,0,0.3963,0,0.1321;r p cresiduez(b,a)642642z0.20407z0.60439z0.343191z0.1321z0.3963z0.39630.1321H(z)此时在MATLAB命令窗将显示:r 0.13200.0001i 0.
9、13200.0001i 0.13200.0001i 0.13200.0001i 0.65370.0000i 0.65370.0000ip 0.62210.6240i 0.62210.6240i 0.62210.6240i 0.62210.6240i 0 0.5818i 0 0.5818ic=0.6473 由于该系统函数分子项与分母项阶数相同,符合MN,因此具有冲激项。可以由r、p、c的值写出z反变换的结果。如果要求解z反变换的数值结果,并用图形表示,同时与impz求解的冲激响应结果进行比较,可以在上述程序加:N=40;n=0:N1;h=r(1)*p(1).nr(2)*p(2).nr(3)*p(
10、3).nr(4)*p(4).nr(5)*p(5).nr(6)*p(6).nc(1).*n=0;subplot(1,2,1),stem(n,real(h),k);title(用部分分式法求反变换h(n);h2=impz(b,a,N);subplot(1,2,2),stem(n,h2,k);title(用impz求反变换h(n);由该图7-3显示的结果可以看出,系统函数的z反变换与impz求解冲激响应的图形相同。可见,用部分分式求系统函数的z反变换,也是一种求解系统的冲激响应的有效方法。4.从变换域求系统的响应从变换域求系统的响应在实验4中,我们用图4-1表示了离散系统的响应与激励的关系。由图可知
11、,系统的响应既可以用时域分析的方法求解,也可以用变换域分析法求解。当已知系统函数H(z),又已知系统输入序列的z变换X(z),则系统响应序列的z变换可以由Y(z)H(z)X(z)求出。例例7-6 已知一个离散系统的函数,输入序列,求系统在变换域的响应Y(z)及时间域的响应y(n)。解 根据实验4、5、6和本实验已掌握的方法,我们可以采用各种方法求解。本例仅采用先从变换域求解Y(z),再用反变换求y(n)的方法,以巩固本实验所学习的内容。0.5z1.5zzH(z)221zzX(z)MATLAB程序如下:symszXz./(z1);Hz.2./(z.21.5*z0.5);YX.*Hyiztrans
12、(Y)程序运行后,将显示以下结果:Y z3/(z1)/(z23/2*z1/2)y 2*n2(n)如果要观察时域输出序列y(n),可以在上面的程序后编写以下程序段:n0:20;y2*n2.(n);stem(n,y);程序执行的结果如图7-4所示。图7-4 例7-6的时域输出序列y(n)四、实验任务四、实验任务(1)输入并运行例题程序,理解每一条程序的意义。(2)求以下各序列的z变换:)sin(nex2(n)xn)sin(n)xna(n)x0an4n302n1(3)求下列函数的z反变换:134j3221z1z1(z)Xezz(z)Xa)(zz(z)Xazz(z)X0(4)用部分分式法求解下列系统函
13、数的z反变换,写出x(n)的表示式,并用图形与impz求得的结果相比较,取前10个点作图。*3211z12z19z81z2010X(z)212z6z1z5X(z)z0.9(1)z0.9(11X(z)121五、实验预习五、实验预习(1)认真阅读实验原理部分,学习使用MATLAB语言进行z变换和z反变换的常用子函数。初步掌握MATLAB求解离散系统z变换和z反变换的基本方法,及部分分式法进行z反变换的步骤、方法和注意事项。(2)读懂实验原理部分的有关例题,根据实验任务编写实验程序。(3)预习思考题:使用部分分式法进行z反变换一般会遇到哪几种情况?如何处理?六、实验报告六、实验报告(1)列写已调试通过的实验任务程序,打印或描绘实验程序产生的曲线图形。(2)思考题:MATLAB中提供的ztrans和iztrans变换方法,使用中有何问题需要注意?回答预习思考题。