Remove ads
来自维基百科,自由的百科全书
有限冲激响应(英语:Finite impulse response,缩写FIR)滤波器是其冲激响应为有限长度的滤波器,脉冲输入信号的响应会在有限时间内变为零,此特性和无限冲激响应(IIR)滤波器相反,无限冲激响应滤波器存在反馈回路,其冲激响应可能是无限长度的(不过一般会衰减)。
N阶离散时间的FIR滤波器,其冲激响应(对应克罗内克δ函数输入的输出)在变为零之前,最多只持续个采样点(从第一个非零采样点,到最后一个非零采样点)。
针对因果离散时间的N阶滤波器,输出序列的每一个值都是最近输入的加权和:
其中
计算也称为离散卷积。
上述项中的常称为tap(抽头),依数字延迟线的结构而定,在许多实现或方块图中,会将延迟输入进行乘法运算。
滤波器的冲激响应定义为有限区间内的非零值。包括零值在内,冲激响应是无限数列:
若FIR滤波器是非因果的,其冲激响应上的非零值范围可能从前就开始。
FIR滤波器相较于IIR滤波器,有以下的优点:
FIR滤波器的主要缺点是若要求要求低频(相对于采样率)截止频率,在相同的锐利程度或是选择性情形下,在通用处理器上的运算量要比IIR滤波器要大。不过目前有许多数字信号处理器提供特别的硬件来使FIR滤波器有类似IIR滤波器一样有效率。
数列的滤波效果可以用卷积定理,在频域上描述:
其中运算子和表示离散时间傅里叶变换(DTFT)和其倒数。因此,复数值的乘性函数是滤波器的频率响应,可以用以下的傅里叶级数定义:
其中加上下标表示2π周期性。此处的是正规单位(radians/sample)下的频率。在许多滤波器设计的程式中都较常用的定义,将频率单位改为cycles/sample,其周期为1[A]。当x[n]序数是已知的采样率 samples/second,的取代会将频率单位变为cycles/second(赫兹),周期性是。的值会对应 Hz cycles/sample的频率,也就是奈奎斯特频率。
也可以用滤波器冲激响应的离散时间傅里叶变换表示:
数字滤波器的设计理念是直接去近似某个离散时间系统的理想频率响应。在设计有限冲激响应滤波器时,要找到符合特定规格的系数以及阶数,规格可能是时域的(匹配滤波器),也可能是频域的(较常见的情形)。匹配滤波器是将输入信号和已知形状的脉冲进行互相关(cross-correlation)。FIR卷积(FIR convolution)是脉冲响应的逆时间复本(time-reversed copy)和输入信号进行互相关。因此匹配滤波器的脉冲是用针对已知脉冲进行采样,再将采样信号倒序,做为滤波器的系数[1]。
若希望有特定的频率响应,以下是一些常见的滤波器设计方式:
目前已有许多软件可以进行滤波器设计,例如MATLAB、GNU Octave、Scilab和SciPy等。
移动平均滤波器是简单的FIR滤波器,有时会称为Boxcar 函数滤波器(特别在之后有降采样的情形下)。滤波器的系数可以用以下公式求得:
以下是更具体的例子,选择滤波器的阶数:
其冲激响应如下:
右边的方块图是以下要讨论的二阶移动平均滤波器。其递移函数为:
下一个图是滤波器的极零点图。零频率(直流)对应(1, 0),正频率会绕原点逆时针旋转,直到(−1, 0)的奈奎斯特频率。在原点有二个极点,二个零点在,。
若以正规化频率ω表示,频率响应为:
图上有其振幅和相位的响应,不过此图也可以用冲激响应的离散傅里叶变换得到
因为其对称性,滤波器设计或是显示软件多半只会显示 [0, π]区域。可以看出移动平均滤波器的低频增益接近1,但会衰减高频的信号,因此是简单的低通滤波器。相位图是线性的,但在增益降到零时出现不连续,不连续的大小是π,意思是有变号的情形。最后一张图的振幅允许正负,此时的相位就都是线性的。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.