离散时间系统模型
离散时间系统模型表征数字滤波器的方案。MATLAB<年代up>®技术计算环境中支持多个离散时间系统模型,以下各部分将描述:金宝app
传递函数
的传递函数数字滤波器是一个基本的z域中表示,表达过滤器作为两个多项式的系数。这个工具箱是主要的离散时间模型。传递函数模型描述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传递函数的形式
按照惯例,多项式系数存储在行向量和列向量多项式的根。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
和一个
在这种情况下代表传递函数:
为b = (2 3 4)
,根
函数忽略了零z等于0。事实上,错过的极点和零点的函数z等于0每当输入传递函数比零极点,反之亦然。在大多数情况下这是可以接受的。绕开这个问题,但是,只是附加零向量之前使用的长度相同根
函数;例如,b b = [0]
。
状态空间
总是有可能代表一个数字滤波器,或一个系统的差分方程,作为一个一阶差分方程。在矩阵或状态方程形式,可以把方程写成
在哪里u
是输入,x
状态向量,y
是输出。对于单通道系统,一个
是一个米
——- - - - - -米
矩阵米
过滤器的顺序,B
是一个列向量,C
是一个行向量,D
是一个标量。状态空间表示法尤其方便多通道系统的输入u
和输出y
成为向量,B
,C
,D
成为矩阵。
整数阶能够很容易地扩展,以MATLAB环境。一个
,B
,C
,D
矩形阵列;MATLAB函数把它们作为单独的变量。
的z变换了状态方程,结合他们显示了状态方程和传递函数的等价形式:
不要忧虑如果你不熟悉线性系统的状态方程表示。内部的一些滤波器设计算法使用状态方程形式,但不需要任何整数概念的知识成功地使用它们。如果您的应用程序使用基于状态信号处理广泛,然而,看到全面的控制系统工具箱™产品库的状态空间工具。
部分分式扩张(残留形式)
每一个传递函数也有相应的部分分式扩张或<年代p一个nclass="emphasis">残留表示形式,给出的
提供H(z)没有重复的波兰人。在这里,n的程度的分母多项式有理传递函数b(z)/一个(z)。如果r是一个极的多样性年代<年代ub>r,然后H(z)的形式:
信号处理工具箱™<一个href="//www.tatmou.com/au/au/help/signal/ref/residuez.html">residuez
功能转换传递函数的部分分式扩张形式。“z
”结束residuez
代表<年代p一个nclass="emphasis">z域,或者离散域。residuez
在一个列向量返回波兰p
相对应的残留物,波兰人在一个列向量r
,任何不当的一部分原始传递函数在一个行向量k
。residuez
确定两个极点的大小都是一样的,如果他们的差异小于0.1%的波兰人的大小。
部分分式扩张发生在信号处理的一种方法找到的逆z变换传递函数。例如,部分分式扩张
是
8 b = [4];一个= (1 6 8);(r、磷、钾)= residuez (b, a)
这对应于
找到的逆z变换H(z),发现逆z变换之和的两个叫做加数H(z),给因果脉冲响应:
来验证这个在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)有一个二阶部分表示
在哪里l是二阶部分,描述了系统的数量。MATLAB环境代表了二阶节的形式作为一个离散时间系统l6组紧急求救信号
。每一行的紧急求救信号
包含一个二阶节,行元素是描述三分子和分母系数二阶部分。
有很多方法来表示一个过滤器二阶节的形式。通过仔细的配对和零极对,订购部分的级联,和乘法的扩展部分,可以降低量化噪声增益,避免溢出在一些定点滤波器实现。的函数zp2sos
和ss2sos
中所描述的,<一个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);
两个等价的卷积的方法b
与x
如下。
日元= C * x;y2 = conv (b, x);