a(1)y(n)+a(2)y(n-1)+…+ana+1)y(n-ma) b(1)x(n)+b(2)x(n-1)十…+b(nb+1)x(n-nb) (1.6-1) 式中,y(n),x(n)分别是系统的输出和输入,y(n)延迟阶数为na,x(n)延迟阶数为nb,a (1),…,a(na+1);b(1),…,b(nb+1)为常系数。 方程两边进行Z变换可得 Y(z)_b(1)+b(2)z-1+…+b(nb+1)z-m H(z)=X(z)a(1)+&(2)z-1+ a(na+ 1)z (1.6-2) H(z)称为脉冲传递函数或Z传递函数(离散系统的系统函数)。和连续时间系统 样线性离散系统也满足叠加原理 162脉冲喇应序列和系统时间响应 若系统对单位脉冲序列8(n)的响应为hn),对于任意输入x(n)可表示为 x(a)=∑x(k)8(m-k) (1.6-3) 则线性时不变系统的输出应为 y(a)=T∑xk)n-k=∑xkh(n-k) 或 (n)= x(n)*h(n) (1.6-4) 式(164)说明线性离散时间系统对任意输入x(n)的响应y(n是输入序列x(n)和 该系统的单位采样响应序列h(n)的卷积。 若已知系统的传递函数H(z),则系统的单位脉冲响应序列 hn)=2-[H(z)] (1.6-5) 6.3系统频率响应 设输入序列x(a)=c,则由式(16-4)系统输出应为 y )h(k)e h(k) 令 H(e) h(n) Y(e)=eh(e") 对任意输入x(n),同样可得 Y(e)=X(e)H(e) H(e")= x (1.6-6) 上式与158)式形式上是相同的,H(e")为系统的频率响应它表示线性离散时间 系统的特性和连续时间系统相同,系统颜率特性H(e)是一个复数,它可写成以下形式 H(ei)=Re(e)+Im(e -)=H(e )lexp(arg[H(e)]) (1.67) 式中,Re(e)和lm()分别为实频响应和虚频响应,|H(e")和ag[H()分别为的 幅频响应和相频响应。 若令z=e,式(1.6-6)变为
H(x)≈Y(z) X(z) (1.6-8) 式中,H(z)为系统z的传递函数。 1.7系统的 MATLAB描述和转换 MATLAB的信号处理工具箱提供了几种线性时不变系统的模型,我们可以灵活地 选择合适的模型以满足不同应用场合的需要。信号处理工具箱提供的系统模型常用于描 述滤波器,因此在表示形式上和控制工具箱提供的系统模型有所不同,应注意区分。 1.7.1离散时间系统 MATLAB信号处理工具箱提供的离散时间系统模型用于数字滤波器这些模型包 括传递函数零极点增益形式状态空间形式部分分式、二阶级联形式格状结构和卷积 矩阵。 一传递函数形式 在 MATLAB倌号处理工具箱中数字滤波器的z传递函数具有以下形式: H(z)= b(1)+b(2)x-1+…±b(nb+1 (1)+a(2)z-1+…+a(na+1)z (1.7-1) 这种形式称为DSP( Digital Signal Processing形式,它和控制工具箱的z传递函数模 型形式不同 这一模型用z传递函数分子和分母多项式的系数构成两个向量来确定,即 um=[b(1)b(2)…b(mb+1) den=[a(1)a(2)…a(na+1)] 式中,nb和na分别为分子nm和分母den的阶数。 在数字信号处理中,要定义一个DSP形式传递函数可利用函数FLT。调用格式为 filt(num, den, Ts) 该函数在 MATLAB控制系统工具箱内。 、零极点增益形式 在 MATLAB信号处理工具箱中离散时间系统(数字滤波器的零极点增益模型表 达式为 HG)=9=K=0)g-g(2)-(=9g (1.7-2) p(z) 这一模型用零点向量q(x)和极点向量p(z)和增益K来确定,即 q(z)=[q(1),q(2),…,q(n)] p(z)=[p(1),p(2),…,P(n) MATLAB函数poy和 roots可实现传递函数形式和零极点增益形式的转换。 【例1.12】已知IR滤波器传递函数为 H(z)= 2±3x-1+472 3z-1+3 25
试确定其零极点表达式。 用 MATLAB编写程序如下 %MATLAB PROGRAM 1-13 b=[234]; a=[1331] transfer function f=filt(b, a) Convert to zero-pole-gain g=roots(b) p=roots(a) k=b(1)/a(1) Convert back to transfer function bb=k+ polyq) a=poly (p) Transfer function 2+3z^-1+4z^-2 1+3z^-1+3z^-2+z^一3 Sampling time: unspecified -0.7500+1.1990i 0.7500一1.1990 1.0000 1.0000+0.0000i 1.0000-0.0000i bb 200003.0004.0000 1.00003.00003.00001.0000 26
状态密间形式 离散时间系统(数字滤波器的状态空间表达式为 x(n+1)=Ax(n)+Bu(n) (1.7-3 Cx(n)+Du(n) 式中,u为输入,为输出,x为状态向量。 在 MATLAB信号处理工具箱中用矩阵A、BCD表示数字滤波器模型(和控制系 统工具箱一样)。 MATLAB信号处理工具箱还提供传递函数零极点和状态空间三种模型之间的相 互转换函数,它们是2PT、ZP2s、TF2SS、TFZP、 SS2TF和SS2ZP。 [Z,P,K]= tf2zp(Num, den) Lnum, den]= zp2tf(z, P, K) [A, B,C, D]=tf2ss(num, den) Inum, den]= ss2tf(A, B, C, D, iu) [A,B,C,D]=2258(Z,P,K) [Z, P,K]= ss2zP(A, B, C, D, iu) 【例1.13】已知滤波器的传递函数 H(z)= 2+3z-1 0.4x-1+ 试求该滤波器的零极点和状态空间表达式 用 MATLAB编写程序如下; %MATLAB PROGRAM 1-14 ‰ Input parameters num=[23]; den=[10.41] f=fit(num, den) disp(' Convert to zero-pole-gain ') rz,p,k]=tf2zp(num,den) disp( convert to state space) [A, B, C, D]=tf2ss(num, den) >smpl14 Transfer function 2+3z^-1 1+0.4z^-1+z-2 ampling time: unspecified Convert to zero-pole-galn 27
1.5000 -0.2000+0.979 0.2000一0.9798 Convert to state space 0.4000 1.0000 1.0000 C 四、部分分式展开式 高散时间系统(数字滤波器)的传递函数H(z)也可用下面部分分式展开式来描述: (1)若H(x)不包含重极点 Ha)=9=m(x+ 1-P(2)z-1 +k(1)+k(2)z-1+…+k(m-n+1)z"(1.74) (2)若H(x)包含重极点如p()有Sr个重极点,H(z)部分分式展开式中包含相应的 形式为 cQx+nx+)1+…+士二1 (1、7-5) 在 MATLAB信号处理工具箱中,函数 RESIDUEZ()用来把传递函数形式转变为 部分分式展开式。 调用格式为 [r, p,k]= residue(b, a) 其中,b,a分别为z传递函数的分子分母;P为传递函数极点向量r为相应极点的留 数向量;k为传递函数商向量。若愿原传递函数为寞分数此项为空向量。 RESIDUEZ也可用于将部分分式展开式转换为传递函数形式,调用格式为 a]= residue ( 【例1.14】已知系统传递函数为 H(z) 4+82 1+6z-1+8z