《数字信号处理》实验指导书(完整) - 图文 下载本文

b0?b1z?1?b2z?2???bmz?mB(z)X(z)?? (2-3)

A(z)1?a1z?1?a2z?2???anz?nMATLAB信号处理工具箱提供了一个对X(z)进行部分分式展开的函数residuez,其语句格式为

[R,P,K]=residuez(B,A)

其中,B,A分别表示X(z)的分子与分母多项式的系数向量;R为部分分式的系数向量;P为极点向量;K为多项式的系数。若X(z)为有理真分式,则K为零。

【实例2-3】 试用MATLAB命令对函数X(z)?部分分式展开,并求出其z反变换。

解:MATLAB源程序为

>>B=[18]; >>A=[18,3,-4,-1]; >>[R,P,K]=residuez(B,A) R=

0.3600 0.2400 0.4000 P=

0.5000 -0.3333 -0.3333 K= []

18进行?1?2?318?3z?4z?z从运行结果可知,p2?p3,表示系统有一个二重极点。所以,X(z)的部分分式展开为

X(z)?因此,其z反变换为

0.36?0.240.4? 1?0.5z?11?0.3333z?1(1?0.3333z?1)2x(n)?[0.36?(0.5)n?0.24?(?0.3333)n?0.4(n?1)(?0.3333)n]u(n)

12

2.2.2 系统函数的零极点分析

离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即

H(z)?Y(z) (2-4) X(z)如果系统函数H(z)的有理函数表示式为

b1zm?b2zm?1???bmz?bm?1H(z)? (2-5)

a1zn?a2zn?1???anz?an?1那么,在MATLAB中系统函数的零极点就可通过函数roots得到,也可借助函数tf2zp得到,tf2zp的语句格式为

[Z,P,K]=tf2zp(B,A)

其中,B与A分别表示H(z)的分子与分母多项式的系数向量。它的作用是将

H(z)的有理分式表示式转换为零极点增益形式,即

H(z)?k(z?z1)(z?z2)?(z?zm) (2-6)

(z?p1)(z?p2)?(z?pn)【实例2-4】 已知一离散因果LTI系统的系统函数为

H(z)?z?0.32 2z?z?0.16试用MATLAB命令求该系统的零极点。

解:用tf2zp函数求系统的零极点,MATLAB源程序为

>>B=[1,0.32]; >>A=[1,1,0.16]; >>[R,P,K]=tf2zp(B,A) R= -0.3200 P= -0.8000 -0.2000 K= 1

因此,零点为z?0.32,极点为p1?0.8与p2?0.2。

若要获得系统函数H(z)的零极点分布图,可直接应用zplane函数,其语

13

句格式为

zplane(B,A)

其中,B与A分别表示H(z)的分子和分母多项式的系数向量。它的作用是在Z平面上画出单位圆、零点与极点。

【实例2-5】 已知一离散因果LTI系统的系统函数为

z2?0.36 H(z)?2z?1.52z?0.68试用MATLAB命令绘出该系统的零极点分布图。

解:用zplane函数求系统的零极点,MATLAB源程序为

>>B=[1,0,-0.36]; >>A=[1,-1.52,0.68]; >>zplane(B,A),grid on >>legend('零点','极点') >>title('零极点分布图')

程序运行结果如图14-1所示。可见,该因果系统的极点全部在单位圆内,故系统是稳定的。

图2-1 零极点分布图

2.2.3 系统函数的零极点分布与其时域特性的关系

与拉氏变换在连续系统中的作用类似,在离散系统中,z变换建立了时域函数h(n)与z域函数H(z)之间的对应关系。因此,z变换的函数H(z)从形式可以反映h(n)的部分内在性质。我们仍旧通过讨论H(z)的一阶极点情况,来说明系统函数的零极点分布与系统时域特性的关系。

14

【实例2-6】 试用MATLAB命令画出现下列系统函数的零极点分布图、以及对应的时域单位取样响应h(n)的波形,并分析系统函数的极点对时域波形的影响。

zz (2)H2(z)?

z?0.8z?0.8zzz(3)(4) (5) H3(z)?2H4(z)?H5(z)?2z?1z?1.2z?0.72z?1.6z?1(1)H1(z)?(6)Hzz6(s)?z?1.2(7)H7(z)?z2?2z?1.36

解:MATLAB源程序为

>>b1=[1,0]; >>a1=[1,-0.8]; >>subplot(121) >>zplane(b1,a1)

>>title('极点在单位圆内的正实数') >>subplot(122)

>>impz(b1,a1,30);grid on; >>figure >>b2=[1,0]; >>a2=[1,0.8]; >>subplot(121) >>zplane(b2,a2)

>>title('极点在单位圆内的负实数') >>subplot(122)

>>impz(b2,a2,30);grid on; >>figure >>b3=[1,0]; >>a3=[1,-1.2,0.72]; >>subplot(121) >>zplane(b3,a3)

>>title('极点在单位圆内的共轭复数') >>subplot(122)

>>impz(b3,a3,30);grid on; >>figure >>b4=[1,0];

15