求其部分分式展开式。 用 MATLAB5编写程序如下 %MATLAB PROGRAM 1-15 Input Parameters of model b=[-48]; [168 %transform partial-fraction expansion [r,p,k]=residue(b, a) smp1l5 8 p k H(z)= 1+4z-+,8 1+2z-1 MATDAB信号处理工具箱中引入系统的部分分式展开式,利用公式直接求传递函 数H(z)的z反变换。 如上例中H()的反变换为h(n), h(n)=-12(-4)°+8(-2),n=0,1,2, 五、二阶因子级联形式 任何传递函数H(z)可写为两阶因子级联形式,即 H(z)=ⅡH(2)=正 bok+ buzz+bz- .7-6) 即H(z)可化成多个两阶因式相乘L为两阶因式的个数这样,一个离散时间系统可用 个L×6的数组SOS表示每一行表示一个两阶因子分子三个系数和分母三个系数 a SOS boz b12 bxx aoz alag (1.7-7) 这种形式用于滤波器的二阶环节级联结构中。 MATLAB信号处理工具箱中提供了一般模型和S0S形式的相互转换函数 ZPS0S、SO2Z、SS2S0S、SOS2SS和SOs2TF。 函数调用格式如下:
zp2sos(z, p, k) [z,p,k]=8022p(90s) sos= ss2sos(A, B, C, D) [A, B,C, D]= sos2ss(sos Inum, den]= sos2tf(sos) 【例1.15】已知滤波器的二阶级形式为 SOs 11110一1 2311101 确定其状态空间表达式和零极点形式 用 MATLAB编写程序如下 %MATLAB PROGRAM 1-16 %Input Parameters of model 908=[11110-1y-2311101] Inum, den]=sos2tf(sos), f=filt(num, den) disp(convert to zero-pole form') [z,, k]=sos2zp(sos >smp1l6 Transfer function: -2+z^-1+2z^-2+4z^-3+z^-4 1+10z 10z"-3 Sampling time: unspecified convert to zero-pole form 0.5000+0.8660 0.5000-0.8660 1.7808 0.2808 9.8990 30
0.1010 六、格状结构 滤波器的实现通常采用格状结构。 对于N阶全零点或全极点滤波器采用格型结构。可以用多项式a(n),n=1,2,…, N来描述也可通过格型结构反射系数k(n),n=1,2,…,N来描述。 对于一般IR滤波器采用格型/梯形结构,它既包含零点,也包含极点。因此可通过 传递函数分子多项式b和分母多项式a来描述,也可以通过和分母多项式&对应的格型 反射系数k(n)及分子多项式b对应的梯形系数v(n)来描述 总之,对于格状结构滤波器的描述可用系数kn)和c(n)来描述 MATLAB信号处理工具箱提供了滤波器格状结构转换函数 LATCFILT、POLY2R C、Rc2POLY、LATC2TF和TF2LATC。请阅读第五章有关内容。 【例1.16】把下面传递函数形式的IR滤波器转变为格型/梯形结构。 H()=-1+2x+2-2+x3 1 13 5 用 MATLAB5编写程序如下: %MATLAB PROGRAM 1-17 Input Pa rs of model mm=[1221]y den=[113/245/81/3]; %Transfer function to lattice filter conversion kk,v]=tf2latc(num, den) >smpl k 0.2500 0.5000 0.3333 0.2695 0.8281 1.4583 1.0000 七卷积矩阵 若有两个向量h和x满足下面等式的矩阵c称为卷积矩阵
·X三 h杀X (1.7-8) 由式(1.65)可见当滤波器的单位采样响应序列为h(n),滤波器输入为x(n),滤波 器输出信号为 y(n)=hX=C·x (1.7-9) 可见,卷积矩阵是数字滤波器的另一种描述形式 MATLAB信号处理工具箱提供了计算卷积矩阵函数 CONVMTX。调用格式为 C convmtx(h, n) 式中,h为m×1列向量n为x列向量维数;c为m+n-1)n阶卷积矩阵。 例1.17】已知h=[1232],x为4×1随机序列,求其卷积矩阵。 用 MATLAB编写程序如下 %MATLAB PROGRAM 1-18 A Input Parameters of model h=[1232 randn('seed, 0), x=randn(n,1) Find convolution matrix C=convmtx(h,n) yl=C*X y2=conv(h,x) >smp1l8 123200 3200 2320 001232 1.1650 2.9567 4.8236 4.7122 2
2.1821 0.7032 2= 1.1650 4.7122 2.1821 1.2050 0.7032 程序运行结果证实式(1.79)所定义的卷积矩阵的概念。 1.7.2连缤时间系统 连续时间系统模型用来描述模拟滤波器连续时间系统可以用下面几种形式来描述: (1)状态空间表达式 Ax+ Bu (2)传递函数 H()=5=)+b(2)y (s)a(1)s"十a(2)sm+ (1.7-11) (3)零极点增益 H(=3=k=2(1)9=22)=m 17-12) ()部分分式展开式 部分分式展开式和式(1.4-23)、(1.424)形式类似。 在离散时间系统中所述的有关 MATLAB函数也适用于连续时间系统。 1.8卷积及时域响应的求解 由式(15-5)和式(164)可知卷积运算可用于计算线性系统的时间响应因此卷积 运算在信号处理中是十分重要的。 对于序列卷积 y(n)=x(n)*h(n)=>x(k)h(n-k) (17-13) MATLAB提供卷积计算的函数有 CONV CONV2和 CONN。 函数cONV用于计算向量卷积和多项式乘。调用格式为 其中,,b为两个序列,c=a“b 33