试确定其零极点表达式。 用 MATLAB编写程序如下: ‰ MATLAB PROGRAM1-13 transfer function f=filt(b, a) Convert to zero-pole-gain q=roots(b) k=b(1)/a(1) Convert back to transfer function aa=poly (p) >smp1l3 Transfer function 2+3z^-1+4z^-2 Sampling time: unspecified q 0.7500+1.1990i 0.7500-1.19901 p 0000 1.0000-0.00001 2.00003.00004.0000 1.0000 3.00003.00001.0000
三、状态空间形式 离散时间系统(数字滤波器)的状态空间表达式为 x(n +1)= Ax(n)+ Bu(n) (1.7-3) 式中,u为输入,y为输出,x为状态向量。 在 MATLAB信号处理工具箱中,用矩阵A、B、C、D表示数字滤波器模型(和控制系 统工具箱一样) MATLAB信号处理工具箱还提供传递函数零极点和状态空间三种模型之间的相 互转换函数,它们是ZP2FT、ZP2SS、TF2SS、TF2ZP、SS2TF和SS2ZP。 [num, den]= zp2tf(Z, P,K CA, B, C, D]= tf2ss(num, den) Cnum, den]= ss 2tf(A, B,C, D, iu 【例1.13】已知滤波器的传递函数 H()=1+2t2+2 试求该滤波器的零极点和状态空间表达式。 用 MATLAB编写程序如下 %MATLAB PROGRAM 1-14 %Input para [23] den=[10.41]; f=filt(num, den) disp(' convert to zero-pole-gain) disp( convert to state space) [A, B, C,D] Transfer function
1.5000 0.2000+0.9798i Convert to state space 1.0000 1.0000 C 四、部分分式展开式 离散时间系统(数字滤波器)的传递函数H(z)也可用下面部分分式展开式来描述: (1)若H(z)不包含重极点 H(a0-3-g3-+1 p(2)z 1-p(n)z-1 +k(1)+k(2)z-1+…+k(m-n+1)z-(m 1.7-4) (2)若H(z)包含重极点,如p(j)有Sr个重极点,H(z)部分分式展开式中包含相应的 形式为: +a,+1)+…++1 (1.7-5) 在 MATLAB信号处理工具箱中,函数 RESIDUEZ()用来把传递函数形式转变为 部分分式展开式。 调用格式为 [r,p, k]= residue(b,a 其中,b,a分别为z传递函数的分子、分母;p为传递函数极点向量;r为相应极点的留 数向量;k为传递函数商向量。若原传递函数为真分数,此项为空向量 RESIDUEZ也可用于将部分分式展开式转换为传递函数形式,调用格式为 [b, a]= residue(r,p,k) 【例1.14】已知系统传递函数为 +62-1+8z-
求其部分分式展开式 用 MATLAB5编写程序如下: %MATLAB PROGRAM 1-1 Input Parameters of model [168] m part [r, p, k]=residue(b, a) 115 MATLAB信号处理工具箱中引入系统的部分分式展开式,利用公式直接求传递函 数H(z)的z反变换。 如上例中,H(z)的反变换为h(n) h(n)=-12(-4)+8(-2),n=0,1,2, 五、二阶因子级联形式 任何传递函数H(z)可写为两阶因子级联形式,即 H (z) 即H(z)可化成多个两阶因式相乘,L为两阶因式的个数。这样,一个离散时间系统可用 个L×6的数组SOS表示,每一行表示一个两阶因子,分子三个系数和分母三个系数。 bor bu b2 boa b, b 1.7-7) 这种形式用于滤波器的二阶环节级联结构中 MATLAB信号处理工具箱中,提供了一般模型和SOS形式的相互转换函数 ZP2SOS、SOS2ZP、Ss2SOS、SOS2SS和SOS2TF。 函数调用格式如下:
[z, p,k]= sos 2zp(sos) [A, B, C, D]= sos 2ss(sos [num, den]= sos2tf(sos) 【例1.15】已知滤波器的二阶级形式为 SOS 确定其状态空间表达式和零极点形式。 用 MATLAB编写程序如下: %MATLAB PROGRAM 1-16 Input Parameters of model sos=[11110-1;-2311101] num, den]=sos 2tf (sos); p convert to zero-pole form') >mp116 Transfer function: 2+z^-1+2z^-2+4z^-3+z^-4 1+10 1-10z-3 ampling time: unspecified convert to zero-pole form 5000+0.8660i 0.5000-0.8660i 0.2808 9.8990 30