主要内容

滤波器的实现

卷积和过滤

卷积滤波的数学基础。有限脉冲响应(杉木)过滤器,输出y(k)的输入信号的卷积滤波操作x(k)与脉冲响应h(k):

y ( k ) = l = h ( l ) x ( k l )

如果输入信号也有限长度的,您可以使用MATLAB实现过滤操作®conv函数。例如,过滤five-sample随机向量的三阶平均滤波器,可以存储x(k)在一个向量x,h(k)在一个向量h,卷二:

x = randn (5、1);h = [1 1 1 1] / 4;%三阶滤波器长度为4y = conv (h, x)
y = -0.3375 0.4213 0.6026 0.5868 1.1030 0.3443 0.1629 0.1787
的长度y是一个小于长度的总和xh

过滤器和转移函数

滤波器的传递函数是z变换的脉冲响应。的滤波器输出的z变换y,Y(z)传递函数的乘积和X(z),输入的z变换x:

Y ( z ) = H ( z ) X ( z ) = ( h ( 1 ) + h ( 2 ) z 1 + + h ( n + 1 ) z n ) X ( z )

多项式的系数h(1),h(2)、…h(n+ 1)对应的脉冲响应系数n阶滤波器。

请注意

滤波器系数指数从1到运行(n+ 1),而不是从0到n。这反映了标准索引方案用于MATLAB向量。

FIR滤波器也称为零、nonrecursive或滑动平均(MA)过滤器。

无限脉冲响应(IIR)过滤器,传递函数不是一个多项式,但有理函数。z变换的输入和输出信号是相关的

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

在哪里b(),一个(滤波器系数。在这种情况下,过滤器的顺序是最大的n。IIR滤波器与n= 0整机全极,也称为递归,或自回归(AR)过滤器。IIR滤波器与n大于零的也叫pole-zero,递归,或自回归移动平均(ARMA)过滤器。缩写AR、马和ARMA通常应用于过滤器过滤后的随机过程。

过滤的过滤器函数

IIR滤波器的滤波操作描述的不是一个简单的卷积,但由差分方程,可以发现从传输函数关系。假设一个(1)= 1分母移到左边,逆z变换来获得

y ( k ) + 一个 ( 2 ) y ( k 1 ) + + 一个 ( + 1 ) y ( k ) = b ( 1 ) x ( k ) + b ( 2 ) x ( k 1 ) + + b ( n + 1 ) x ( k n )

当前和过去的输入,和过去的输出,y(k)是

y ( k ) = b ( 1 ) x ( k ) + b ( 2 ) x ( k 1 ) + + b ( n + 1 ) x ( k n ) 一个 ( 2 ) y ( k 1 ) 一个 ( + 1 ) y ( k ) ,

这是标准的数字滤波器的时域表示。从y(1)假设因果系统零初始条件,表示是等价的

y ( 1 ) = b ( 1 ) x ( 1 ) y ( 2 ) = b ( 1 ) x ( 2 ) + b ( 2 ) x ( 1 ) 一个 ( 2 ) y ( 1 ) y ( 3 ) = b ( 1 ) x ( 3 ) + b ( 2 ) x ( 2 ) + b ( 3 ) x ( 1 ) 一个 ( 2 ) y ( 2 ) 一个 ( 3 ) y ( 1 ) y ( n ) = b ( 1 ) x ( n ) + + b ( n ) x ( 1 ) 一个 ( 2 ) y ( n 1 ) 一个 ( n ) y ( 1 )

要实现这个过滤操作,您可以使用MATLAB过滤器函数。过滤器商店两个行向量的系数,分子和分母。例如,解决差分方程

y ( n ) 0.9 y ( n 1 ) = x ( n ) Y ( z ) = 1 1 0.9 z 1 X ( z ) = H ( z ) X ( z ) ,

您可以使用

b = 1;一个= -0.9 [1];y =过滤器(b, a, x);
过滤器给你尽可能多的输出作为输入样本,样本的长度y的长度是一样的吗x。的第一个元素一个不是1,然后过滤器通过把系数一个(1)实现差分方程。

另请参阅

应用程序

功能