资源描述
实验五实验五z变换变换实验五z变换1u1 1、学会运用、学会运用MATLABMATLAB求离散时间信号的求离散时间信号的z z变换变换和和z z反变换;反变换;u2 2、学会运用、学会运用MATLABMATLAB分析离散时间系统的系分析离散时间系统的系统函数的零极点分布与时频特性分析;统函数的零极点分布与时频特性分析;一、实验目的一、实验目的1、学会运用MATLAB求离散时间信号的z变换和z反变换;一2二、实验设备二、实验设备2 2、MATLAB6.5 MATLAB6.5 软件软件1 1、计算机、计算机二、实验设备2、MATLAB6.5软件1、计算机3三、实验原理三、实验原理(1)(1)序列的正反序列的正反Z Z变换变换其中,符号表示取其中,符号表示取z变换,变换,z是复变量。是复变量。相应地,单边相应地,单边z变换定义为:变换定义为:三、实验原理(1)序列的正反Z变换其中,符号4三、实验原理三、实验原理a.a.使用使用ztrans和和iztransMATLABMATLAB符号数学工具箱提供了计算离散时间信号单边符号数学工具箱提供了计算离散时间信号单边z z变换的函数变换的函数ztransztrans和和z z反变换函数反变换函数iztransiztrans,其语句格式,其语句格式分别为分别为Z=ztrans(x)Z=ztrans(x)x=iztrans(z)x=iztrans(z)上式中的上式中的x x和和Z Z分别为时域表达式和分别为时域表达式和z z域表达式的符号表域表达式的符号表示,可通过示,可通过symsym函数来定义。函数来定义。1.1.求求z z变换变换三、实验原理a.使用ztrans和iztransMATLA5【例例1 1】试用试用ztransztrans函数求下列函数的函数求下列函数的z z变换。变换。x=sym(an*cos(pi*n);Z=ztrans(x);simplify(Z)ans=z/(z+a)%simplify(S)对表达式S进行化简【例1】试用ztrans函数求下列函数的z变换。x=s6【例例2 2】试用试用iztransiztrans函数求下列函数的函数求下列函数的z z反变换。反变换。Z=sym(8*z-19)/(z2-5*z+6);x=iztrans(Z);simplify(x)ans=-19/6*charfcn0(n)+5*3(n-1)+3*2(n-1)charfcn0(n)charfcn0(n)是是(n)函数在函数在MATLABMATLAB符号工具箱中的表示,符号工具箱中的表示,反变换后的函数形式为:反变换后的函数形式为:【例2】试用iztrans函数求下列函数的z反变换。Z7三、实验原理三、实验原理如果信号的如果信号的z z域表示式是有理函数,进行域表示式是有理函数,进行z z反变换反变换的另一个方法是对的另一个方法是对X(z)X(z)进行部分分式展开,然后进行部分分式展开,然后求各简单分式的求各简单分式的z z反变换反变换.如果如果X(z)X(z)的有理分式表的有理分式表示为:示为:b.b.使用使用部分分式展开求逆部分分式展开求逆z变换变换三、实验原理如果信号的z域表示式是有理函数,进行z反变换的另8三、实验原理三、实验原理MATLABMATLAB信号处理工具箱提供了一个对信号处理工具箱提供了一个对X(z)X(z)进行部分分式进行部分分式展开的函数展开的函数residuezresiduez,其语句格式为:,其语句格式为:R,P,K=residuez(B,A)R,P,K=residuez(B,A)其中其中:B:B,A A分别表示分别表示X(z)X(z)的分子与分母多项式的系数向量,的分子与分母多项式的系数向量,分子与分母多项式按照分子与分母多项式按照 升幂排列,从升幂排列,从z z0 0的系数开始的系数开始R R为部分分式的系数向量;为部分分式的系数向量;P P为极点向量;为极点向量;K K为多项式的系数。若为多项式的系数。若X(z)X(z)为有理真分式,则为有理真分式,则K K为零。为零。三、实验原理MATLAB信号处理工具箱提供了一个对X(z9三、实验原理三、实验原理例例3 3 用用MATLABMATLAB命令进行部分分式展开,并求出其命令进行部分分式展开,并求出其z z反变换。反变换。解:解:MATLAB源程序为源程序为B=18;A=18,3,-4,-1;R,P,K=residuez(B,A)B,A X(z)的分子与分母多项式的系数向量的分子与分母多项式的系数向量R为部分分式的系数向量;为部分分式的系数向量;P为极点向量;为极点向量;K为多项式的系数。为多项式的系数。三、实验原理例3用MATLAB命令进行部分分式展开,并求出10P=0.5000-0.3333-0.3333K=从运行结果可知表示系统有一个二重极点。所以,X(z)的部分分式展开为三、实验原理三、实验原理R=0.36000.24000.4000P=从运行结果可知表示系统有一个二重极点。三、实验原理R11例例4 用部分分式法求逆z变换:b=0,1;%初始输入分子多项式的项数a=3,-4,1;%初始输入分子多项式的项数r,p,k=residuez(b,a);MATLAB程序:得到r=0.5,-0.5p=1,1/3k=结合其ROC,可以得到信号为三、实验原理三、实验原理例4用部分分式法求逆z变换:b=0,1;%初12例例5用部分分式法求逆z变换:解:解:即即三、实验原理三、实验原理例5用部分分式法求逆z变换:解13 b=0,0,1;%初始输入分子多项式的项数a=poly(1,1,2);%初始输入分子多项式的项数r,p,k=residuez(b,a);%求三个系数r,p,k得到 r=1.0000 -0.0000+0.0000i -1.0000+0.0000ip=2.0000 1.0000+0.0000i 1.0000-0.0000ik=对比一下两种分解方式,二者是比一下两种分解方式,二者是等价的。等价的。用matlab求其部分分式 b=0,0,1;%初始输入分子多项式的项数得到14MATLAB中提供了多项式乘法和除法函数:conv(b,a)和deconv(b,a)C=conv(b,a):其中b、a是两个向量。如果是两个多项式的系数,则完成多项式的乘法;如果是任意两个数组,则完成的是卷积b*a;返回结果c。q,r=deconv(b,a):其中b、a是两个向量。如果是一个有理分式的分子、分母多项式的系数,则完成多项式的除法b/a;如果是任意两个数组,则完成的是解卷积b/a;返回结果q为商,r为余数。c.c.用长除法法求逆用长除法法求逆Z变换变换MATLAB中提供了多项式乘法和除法函数:conv(b,a15在z变换应用时,要求b,a是X(z)中按照z-1的升幂排列的分子分母的系数。计算 ,商的精度要求达到4位若要求序列x(n)的长度为Nq 即 商的长度为Nq 当分子的长度b小于分母a的长度时,补0的长度为(Na-Nb)+(Nq-1)计算序列计算序列x(n)的长度的长度:在z变换应用时,要求b,a是X(z)中按照z-1的升幂16例例6用长除法求逆z变换:P53 例2-6Nq=7;%待求解x(n)的项数b=-1;%初始输入分子多项式的系数Nb=length(b);%分子多项式的项数a=poly(4,0.25);%poly()求解多项式的系数,Na=length(a);%分母多项式的项数b=b,zeros(1,Nq+Na-Nb-1);%将b补零成为长度为Nq+Na-1的多项式Nb=length(b);%分子多项式的项数q,r=deconv(b,a)%求二个系数q,rstem(0:Nq-1,q);title(x(n);xlabel(n);ylabel(x(n);例6用长除法求逆z变换:P53例2-6Nq=7;17试验五Z变换课件18例例7用长除法求逆z变换:Nq=100;%待求解x(n)的项数b=1;%初始输入分子多项式的系数Nb=length(b);%分子多项式的项数a=poly(0.9,0.9,-0.7);%poly()可以求解多项式的系数,初始输入分母多项式的项数Na=length(a);%分母多项式的项数b=b,zeros(1,Nq+Na-Nb-1);%将b补零成为长度为Nq+Na-1的多项式Nb=length(b);%分子多项式的项数q,r=deconv(b,a)%求二个系数q,rstem(0:Nq-1,q);xlabel(n)ylabel(x(n)例7用长除法求逆z变换:Nq=100;%待求解19三、实验原理三、实验原理2 2、系统函数的零极点分析、系统函数的零极点分析离散时间系统的系统函数定义为系统零状态响应的离散时间系统的系统函数定义为系统零状态响应的z z变换与变换与激励的激励的z z变换之比变换之比:如果系统函数如果系统函数的有理函数表示式为的有理函数表示式为三、实验原理2、系统函数的零极点分析离散时间系统的系统函数定20三、实验原理三、实验原理在在MATLABMATLAB中系统函数的零极点就可通过函数中系统函数的零极点就可通过函数rootsroots得到,得到,也可借助也可借助DSPDSP工具箱中的函数工具箱中的函数tf2zptf2zp得到,得到,tf2zptf2zp的语句格的语句格式为:式为:R,P,K=tf2zp(B,A)R,P,K=tf2zp(B,A)其中,其中,B B与与A A分别表示分子与分母多项式的系数向量。分别表示分子与分母多项式的系数向量。它的作用是将它的作用是将H(z)H(z)的有理分式表示式转换为零极点增益的有理分式表示式转换为零极点增益形式:形式:MATLABMATLAB实现实现三、实验原理在MATLAB中系统函数的零极点就可通过函数ro21三、实验原理三、实验原理例例8 8 已知一离散因果已知一离散因果LTILTI系统的系统函数为:系统的系统函数为:试用试用MATLABMATLAB命令求该系统的零极点。命令求该系统的零极点。三、实验原理例8已知一离散因果LTI系统的系统函数为:试用22三、实验原理三、实验原理B=1,0.32;B=1,0.32;A=1,1,0.16;A=1,1,0.16;R,P,K=tf2zp(B,A)R,P,K=tf2zp(B,A)R=R=-0.3200 -0.3200P=P=-0.8000 -0.8000 -0.2000 -0.2000K=K=1 1极点为:极点为:因此,零点为:因此,零点为:三、实验原理B=1,0.32;极点为:因此,零点为:23三、实验原理三、实验原理若要获得系统函数的零极点分布图,可直接应用若要获得系统函数的零极点分布图,可直接应用zplanezplane函函数,其语句格式为:数,其语句格式为:zplane(B,A)zplane(B,A)其中,其中,B B与与A A分别表示的分子和分母多项式的系数向量。分别表示的分子和分母多项式的系数向量。它的作用是在它的作用是在Z Z平面上画出单位圆、零点与极点。平面上画出单位圆、零点与极点。三、实验原理若要获得系统函数的零极点分布图,可直接应用zpl24三、实验原理三、实验原理例例9 9 已知一离散因果已知一离散因果LTILTI系统的系统函数为:系统的系统函数为:试用试用MATLABMATLAB命令绘出该系统的零极点分布图。命令绘出该系统的零极点分布图。B=1,0,-0.36;B=1,0,-0.36;A=1,-1.52,0.68;A=1,-1.52,0.68;R,P,K=tf2zp(B,A)R,P,K=tf2zp(B,A)zplane(B,A),grid on;zplane(B,A),grid on;legend(legend(零点零点,极点极点););title(title(零极点分布图零极点分布图););MATLAB源程序为:源程序为:三、实验原理例9已知一离散因果LTI系统的系统函数为:试用25在离散系统中,在离散系统中,z z变换建立了时域函数变换建立了时域函数 与与z z域函数域函数之间的对应关系。因此,之间的对应关系。因此,z z变换的函数变换的函数 从形式可以从形式可以反映反映 的部分内在性质。的部分内在性质。我们通过讨论我们通过讨论H(z)H(z)的一阶极点情况,来说明系统函数的零的一阶极点情况,来说明系统函数的零极点分布与系统时域特性的关系。极点分布与系统时域特性的关系。三、实验原理三、实验原理3 3、系统函数的零极点分布与其时域特性的关系、系统函数的零极点分布与其时域特性的关系 在离散系统中,z变换建立了时域函数与z域函数三、实验26三、实验原理三、实验原理MATLABMATLAB求解单位抽样响应求解单位抽样响应 可利用函数可利用函数filterfilter,filterfilter函数的常用语句格式为:函数的常用语句格式为:y=filter(b,a,x)y=filter(b,a,x)表示由向量表示由向量b b和和a a组成的系统对输入组成的系统对输入x x进行滤波,系统进行滤波,系统的输出为的输出为y;y;三、实验原理MATLAB求解单位抽样响应可利用函数f27三、实验原理三、实验原理MATLABMATLAB另一种求单位抽样响应另一种求单位抽样响应 的方法是利用控制系的方法是利用控制系统工具箱提供的函数统工具箱提供的函数impzimpz来实现。来实现。impzimpz函数的常用语句函数的常用语句格式为格式为impz(b,a,N)impz(b,a,N)其中,参数其中,参数N N通常为正整数,代表计算单位抽样响应的通常为正整数,代表计算单位抽样响应的样值个数。样值个数。三、实验原理MATLAB另一种求单位抽样响应的方法是28三、实验原理三、实验原理例例10 10 试用试用MATLABMATLAB命令画出系统函数的零极点分布图、以命令画出系统函数的零极点分布图、以及对应的时域单位抽样响应及对应的时域单位抽样响应 的波形。的波形。b1=1;a1=1,-0.8;subplot(121)zplane(b1,a1)title(极点在单位圆内的正实数)subplot(122)impz(b1,a1,30);grid on;三、实验原理例10试用MATLAB命令画出系统函数的零极点29三、实验原理三、实验原理三、实验原理30三、实验原理三、实验原理4 4、离散时间、离散时间LTILTI系统的频率特性分析系统的频率特性分析 离散时间系统的频率响应定义为:离散时间系统的频率响应定义为:其中其中:称为离散时间系统的幅频特性称为离散时间系统的相频特性 是关于是关于 的的以以2 2 为周期的连续信号为周期的连续信号三、实验原理4、离散时间LTI系统的频率特性分析离散时间系统31三、实验原理三、实验原理MATLAB提供了求离散时间系统频响特性求离散时间系统频响特性的函数freqzfreqz的调用格式1:其中:B与A表示系统函数的分子和分母多项式的系数向量;N为正整数,表示对频域离散化的点数,默认值为512;返回值w:包含 范围内的N个频率等分点;返回值H:是离散时间系统频率响应。格式2:H,w=freqz(B,A,N)H,w=freqz(B,A,N,whole)与第一种方式不同之处在于角频率的范围扩展到与第一种方式不同之处在于角频率的范围扩展到三、实验原理MATLAB提供了求离散时间系统频响特性的函数f32三、实验原理三、实验原理例例11 11 试用试用MATLABMATLAB命令绘制以下系统的频率响应曲线。命令绘制以下系统的频率响应曲线。解:利用函数解:利用函数freqz计算出算出利用函数利用函数abs和和angle分分别求出幅求出幅频特性与相特性与相频特性特性最后利用最后利用plot命令命令绘出曲出曲线三、实验原理例11试用MATLAB命令绘制以下系统的频率响33三、实验原理三、实验原理b=1-0.960.9028;a=1-1.560.8109;H,w=freqz(b,a,400,whole);Hm=abs(H);Hp=angle(H);subplot(211)plot(w,Hm),gridonxlabel(omega(rad/s),ylabel(Magnitude)title(离散系统幅频特性曲线离散系统幅频特性曲线)subplot(212)plot(w,Hp),gridonxlabel(omega(rad/s),ylabel(Phase)title(离散系统相频特性曲线离散系统相频特性曲线)MATLAB源程序为:源程序为:角频率范围角频率范围三、实验原理b=1-0.960.9028;MATLA34三、实验原理三、实验原理三、实验原理35四、实验内容四、实验内容 【1 1】试用试用ztransztrans函数求下列函数的函数求下列函数的z z变换。变换。【2 2】试用试用iztransiztrans函数求下列函数的函数求下列函数的z z反变换。反变换。四、实验内容【1】试用ztrans函数求下列函数的z变换36四、实验内容四、实验内容【3 3】试用试用MATLABMATLAB的的residuezresiduez函数,求出函数,求出X(z)X(z)的部分分的部分分式展开和。式展开和。【4】:计算 的逆Z变换。【5】用长除法法求逆z变换:四、实验内容【3】试用MATLAB的residuez函数,37四、实验内容四、实验内容【6 6】试用试用MATLABMATLAB画出下列因果系统的系统函数零极点画出下列因果系统的系统函数零极点分布图分布图,以及对应的时域单位抽样响应以及对应的时域单位抽样响应h(n)h(n)的波形。的波形。【7 7】试用试用MATLABMATLAB绘制以下系统的频率响应曲线。绘制以下系统的频率响应曲线。四、实验内容【6】试用MATLAB画出下列因果系统的系统函38五、实验报告要求五、实验报告要求 记录实验主要程序及结果。记录实验主要程序及结果。五、实验报告要求记录实验主要程序及结果。39
展开阅读全文