主要内容

离散时间系统模型

离散时间系统模型表征数字滤波器的方案。MATLAB<年代up>®技术计算环境中支持多个离散时间系统模型,以下各部分将描述:金宝app

传递函数

传递函数数字滤波器是一个基本的z域中表示,表达过滤器作为两个多项式的系数。这个工具箱是主要的离散时间模型。传递函数模型描述z变换数字滤波器的差分方程

Y ( z ) = b ( 1 ) + b ( 2 ) z 1 + + b ( n + 1 ) z n 一个 ( 1 ) + 一个 ( 2 ) z 1 + + 一个 ( + 1 ) z X ( z )

在这里,常量b(),一个()滤波器系数,过滤器的顺序是最大的n。在MATLAB环境中,存储这些系数在两个向量(行向量按照惯例),一个行向量的分子和分母。看到<一个href="//www.tatmou.com/au/au/help/signal/ug/filter-implementation-and-analysis.html" class="a">过滤器和转移函数更多细节上的传递函数形式。

Zero-Pole-Gain

分解或zero-pole-gain传递函数的形式

H ( z ) = ( z ) p ( z ) = k ( z ( 1 ) ) ( z ( 2 ) ) ( z ( n ) ) ( z p ( 1 ) ) ( z p ( 2 ) ) ( z p ( n ) )

按照惯例,多项式系数存储在行向量和列向量多项式的根。zero-pole-gain形式,因此,分子和分母的零点和极点位置的传递函数位于列向量。分解获得传递函数kMATLAB是一个标量。

的<一个href="//www.tatmou.com/au/au/help/matlab/ref/poly.html">和<一个href="//www.tatmou.com/au/au/help/matlab/ref/roots.html">函数多项式和zero-pole-gain表示之间的转换。例如,一个简单的IIR滤波器

b = (2 3 4);一个= [1 3 3 1];

这种滤波器的零和波兰

q =根(b) p =根(a)<年代p一个n年代tyle="color:#228B22">%增益系数k = b (1) / (1)

回到最初的多项式,

bb = k *聚(q) aa =保利(p)

请注意,b一个在这种情况下代表传递函数:

H ( z ) = 2 + 3 z 1 + 4 z 2 1 + 3 z 1 + 3 z 2 + z 3 = z ( 2 z 2 + 3 z + 4 ) z 3 + 3 z 2 + 3 z + 1

b = (2 3 4),函数忽略了零z等于0。事实上,错过的极点和零点的函数z等于0每当输入传递函数比零极点,反之亦然。在大多数情况下这是可以接受的。绕开这个问题,但是,只是附加零向量之前使用的长度相同函数;例如,b b = [0]

状态空间

总是有可能代表一个数字滤波器,或一个系统的差分方程,作为一个一阶差分方程。在矩阵或状态方程形式,可以把方程写成

x ( n + 1 ) = 一个 x ( n ) + B u ( n ) y ( n ) = C x ( n ) + D u ( n ) ,

在哪里u是输入,x状态向量,y是输出。对于单通道系统,一个是一个——- - - - - -矩阵过滤器的顺序,B是一个列向量,C是一个行向量,D是一个标量。状态空间表示法尤其方便多通道系统的输入u和输出y成为向量,B,C,D成为矩阵。

整数阶能够很容易地扩展,以MATLAB环境。一个,B,C,D矩形阵列;MATLAB函数把它们作为单独的变量。

的z变换了状态方程,结合他们显示了状态方程和传递函数的等价形式:

Y ( z ) = H ( z ) U ( z ) ,在那里 H ( z ) = C ( z 一个 ) 1 B + D

不要忧虑如果你不熟悉线性系统的状态方程表示。内部的一些滤波器设计算法使用状态方程形式,但不需要任何整数概念的知识成功地使用它们。如果您的应用程序使用基于状态信号处理广泛,然而,看到全面的控制系统工具箱™产品库的状态空间工具。

部分分式扩张(残留形式)

每一个传递函数也有相应的部分分式扩张或<年代p一个nclass="emphasis">残留表示形式,给出的

b ( z ) 一个 ( z ) = r ( 1 ) 1 p ( 1 ) z 1 + + r ( n ) 1 p ( n ) z 1 + k ( 1 ) + k ( 2 ) z 1 + + k ( n + 1 ) z ( n )

提供H(z)没有重复的波兰人。在这里,n的程度的分母多项式有理传递函数b(z)/一个(z)。如果r是一个极的多样性年代<年代ub>r,然后H(z)的形式:

r ( j ) 1 p ( j ) z 1 + r ( j + 1 ) ( 1 p ( j ) z 1 ) 2 + r ( j + 年代 r 1 ) ( 1 p ( j ) z 1 ) 年代 r

信号处理工具箱™<一个href="//www.tatmou.com/au/au/help/signal/ref/residuez.html">residuez功能转换传递函数的部分分式扩张形式。“z”结束residuez代表<年代p一个nclass="emphasis">z域,或者离散域。residuez在一个列向量返回波兰p相对应的残留物,波兰人在一个列向量r,任何不当的一部分原始传递函数在一个行向量kresiduez确定两个极点的大小都是一样的,如果他们的差异小于0.1%的波兰人的大小。

部分分式扩张发生在信号处理的一种方法找到的逆z变换传递函数。例如,部分分式扩张

H ( z ) = 4 + 8 z 1 1 + 6 z 1 + 8 z 2

8 b = [4];一个= (1 6 8);(r、磷、钾)= residuez (b, a)

这对应于

H ( z ) = 12 1 + 4 z 1 + 8 1 + 2 z 1

找到的逆z变换H(z),发现逆z变换之和的两个叫做加数H(z),给因果脉冲响应:

h ( n ) = 12 ( 4 ) n + 8 ( 2 ) n , n = 0 , 1 , 2 ,

来验证这个在MATLAB环境中,类型

小鬼= (1 0 0 0 0);resptf =过滤器(b, a, imp) respres =过滤器(r (1), (1 - p (1)), imp) +<年代p一个n年代tyle="color:#0000FF">…过滤器(r (2), (1 - p (2)), imp)

二阶部分(SOS)

任何传递函数H(z)有一个二阶部分表示

H ( z ) = k = 1 l H k ( z ) = k = 1 l b 0 k + b 1 k z 1 + b 2 k z 2 一个 0 k + 一个 1 k z 1 + 一个 2 k z 2

在哪里l是二阶部分,描述了系统的数量。MATLAB环境代表了二阶节的形式作为一个离散时间系统l6组紧急求救信号。每一行的紧急求救信号包含一个二阶节,行元素是描述三分子和分母系数二阶部分。

紧急求救信号 = ( b 01 b 11 b 21 一个 01 一个 11 一个 21 b 02 b 12 b 22 一个 02 一个 12 一个 22 b 0 l b 1 l b 2 l 一个 0 l 一个 1 l 一个 2 l )

有很多方法来表示一个过滤器二阶节的形式。通过仔细的配对和零极对,订购部分的级联,和乘法的扩展部分,可以降低量化噪声增益,避免溢出在一些定点滤波器实现。的函数zp2sosss2sos中所描述的,<一个href="//www.tatmou.com/au/au/help/signal/ug/linear-system-transformations.html" class="a">线性系统的转换,执行pole-zero配对、伸缩节和部分排序。

请注意

所有信号处理工具箱二阶节转换只适用于数字滤波器。

晶格结构

为一个离散<年代p一个nclass="emphasis">N整机全极或零阶滤波器所描述的多项式系数<年代p一个nclass="emphasis">一个(<年代p一个nclass="emphasis">n)<年代p一个nclass="emphasis">n= 1,2,…<年代p一个nclass="emphasis">N+ 1,<年代p一个nclass="emphasis">N相应的晶格结构系数<年代p一个nclass="emphasis">k(<年代p一个nclass="emphasis">n)<年代p一个nclass="emphasis">n= 1,2,…<年代p一个nclass="emphasis">N。的参数<年代p一个nclass="emphasis">k(<年代p一个nclass="emphasis">n)也被称为<年代p一个nclass="emphasis">反射系数的过滤器。考虑到这些反射系数,可以实现一个离散滤波器如下所示。

FIR和IIR晶格滤波器结构图

对于一般的pole-zero IIR滤波器所描述的多项式系数<年代p一个nclass="emphasis">一个和<年代p一个nclass="emphasis">b,有两个格子系数<年代p一个nclass="emphasis">k(<年代p一个nclass="emphasis">n),分母<年代p一个nclass="emphasis">一个和梯子系数<年代p一个nclass="emphasis">v(<年代p一个nclass="emphasis">n)分子<年代p一个nclass="emphasis">b。晶格/梯子滤波器可以实现

点阵图/梯式滤波器

工具箱函数<一个href="//www.tatmou.com/au/au/help/signal/ref/tf2latc.html">tf2latc接受一个多项式形式的FIR和IIR滤波器,并返回相应的反射系数。冷杉过滤多项式形式的一个例子

b = (1.0000 0.6149 0.9899 0.0000 0.0031 - -0.0082);

这个过滤器的晶格(反射系数)表示

k = tf2latc (b)

对IIR滤波器,反射系数的大小提供了一种简便的稳定性检查。如果所有的反射系数对应于一个多项式级小于1,多项式的根都在单位圆。例如,考虑一个分子多项式的IIR滤波器b从上面和分母多项式:

一个= (1 1/2 1/3);

过滤器的点阵表示

[k、v] = tf2latc (b);

因为abs (k)<1反射系数k,过滤器是稳定的。

这个函数<一个href="//www.tatmou.com/au/au/help/signal/ref/latc2tf.html">latc2tf计算多项式系数的滤波器从其晶格(反射系数)。考虑到反射系数向量k,相应的多项式形式

b = latc2tf (k);

晶格或晶格/梯子系数可用于实现过滤器使用函数latcfilt

卷积矩阵

在信号处理中,卷积两个向量或矩阵等价于过滤的输入操作数。这种关系使得表示的数字滤波器卷积矩阵

鉴于任何向量,工具箱函数<一个href="//www.tatmou.com/au/au/help/signal/ref/convmtx.html">convmtx产生一个矩阵与另一个向量的内积的卷积相当于两个向量。生成的矩阵代表一个数字滤波器,可以适用于任何向量适当的长度;操作数必须同意的内在维度计算内积。

卷积矩阵向量b分子,代表数字滤波器系数,

b = (1 2 3);x = randn (3,1);C = convmtx (b ', 3);

两个等价的卷积的方法bx如下。

日元= C * x;y2 = conv (b, x);