赞
踩
关于本博文的说明:本博文为翻译文章,主要分享数字滤波器相关知识,包括有限脉冲响应数字滤波器(finite impulse response, FIR)和无限脉冲响应数字滤波器(infinite impulse response, IIR). 原文为‘Introduction to Filters: FIR versus IIR’,由Siemens Phenom发布,原文链接为https://community.plm.automation.siemens.com/t5/Testing-Knowledge-Base/Introduction-to-Filters-FIR-versus-IIR/ta-p/520959
滤波器在数据采集和分析中具有很多应用. 它们通过减小或放大某些频率来改变时间信号的频率成分. 例如,如图1所示,低通滤 波器以三种不同的方式影响信号中的频率成分:一些频率成分保持不变,而其它频率成分的幅度变小或从信号中完全移除.
Figure 1: A low pass filter passes low frequencies unaltered (left) and removes high frequencies (right)..
滤波器还可以放大特定的频带,而不仅仅是减弱或删除部分频带. 滤波器调整信号的幅度可以用线性形式表示(即放大系数)或增益/衰减分贝,如图2所示.
Figure 2: Left graph – Linear filter amplitude in multiplication factor versus frequency, Right graph – Same filter in decibel scale of attenuation versus frequency.
线性度量指标和分贝度量指标有以下等价关系:
虽然在频域查看滤波器特性很有用,但是滤波器是在时域进行工作的(图3). 滤波器以时域信号为输入,修改频率内容,得到新的时域信号.
Figure 3: An input signal with high frequency noise is passed through a low pass filter. The resulting output has the high frequency noise removed, resulting in a clean signal. (带有高频噪声的输入信号经过低通滤波器后得到纯净的输出信号)
滤波器可用于信号清理与信号分析. 在某些应用中,滤波器用于通过衰减不需要的频率内容来调节时域信号. 例如:
有时滤波器用于将特定的信号特性保留下来用于后续分析:
Figure 4: A-weighting filter frequency domain shape. Y-axis is gain or attenuation in dB versus X-axis in frequency.
滤波器可应用于模拟系统(针对实时信号),或数字系统(针对PC上已记录的信号).
滤波器可以针对不同的任务进行设计. 例如,滤波器可以分为高通(high pass)、低通(low pass)、带阻(band stop)或带通(band pass)滤波器(参见图5).
Figure 5: Types of Filters
滤波器类型:
这些滤波器类型可以使用FIR或IIR滤波器来实现, 也可以使用这些组合来生成任意形状的滤波器.
两类数字滤波器是有限脉冲响应(Finite Impulse Response, FIR)和无限脉冲响应(Infinite Impulse Response , IIR).
脉冲响应是指滤波器在时域内的出现,滤波器通常具有较宽的频率响应,这对应于时域内的短时间脉冲,如图6所示.
Figure 6: Frequency (left) and time (right) domain representations of filter shape.
IIR和FIR滤波器的方程如式1所示. 滤波器的输入为时间序列x(n),滤波器的输出为时间序列y(n). 第一个样本点在n=0处.
Equation 1: Finite Impulse Response (FIR) filter equations versus Infinite Impulse Response (IIR) filter.
IIR和FIR实现之间的数学区别在于IIR滤波器使用一些滤波器的输出作为输入. 这使得IIR滤波器成为一个递归函数.
每个方程都有三个数字序列: 输入时间序列、滤波器和输出时间序列(图7).
Figure 7: Time series for input time history, “x(n)” , FIR filter - Series “a(k)”, and output time history, “y(n)”.
在实践中,FIR和IIR滤波器具有重要的性能差异,如图8所示.
Figure 8: Summary of differences between IIR and FIR filters.
IIR滤波器的优点是,对于与FIR类似的滤波器,可以使用较低的阶数或项数. 这意味着实现相同结果所需的计算量更少,使得IIR的计算速度更快. 然而,IIR具有非线性相位和稳定性问题. 这有点像龟兔赛跑的寓言,FIR滤波器就像赛跑中的乌龟—缓慢而稳定,总是能跑完全程. 兔子就像IIR滤波器—非常快,但有时崩溃,并没有完成比赛.
由式1中的FIR滤波器方程可知,N越大,滤波器的阶数越高. 例如,如果滤波器项数为10,而不是5,那么滤波器的计算将花费两倍的时间。然而,滤波器的频率下降会更清晰,如图9所示.
Figure 9: Top – The roll off sharpness of the filter (top) with fewer terms is less sharp than filter with more terms (bottom).
包含更多项(阶数更高)滤波器在通过频率和截止频率之间有更剧烈的转换. 图10显示了相同滤波器类型在使用不同阶数计算时的幅频响应图. 使滤波器的幅频响应变化更锐利是通过增加滤波器阶数来实现的,这意味着需要更多的计算,同时也会影响滤波器引入的时间延迟.
Figure 10: Increasing the order of filter, but keeping all else the same, increases the sharpness of the filter roll off.
阶数越高,滤波器的幅频响应变化曲线越陡峭,滤波器对滤除的频率截断效果越显著.
对于相同的阶数,FIR和IIR滤波器的锐度差别很大,如图11所示. 由于IIR滤波器的递归性质(见公式1),其中部分滤波器输出用作输入,它可以使用相同阶的滤波器实现更陡峭的增益变化.
Figure 11: For the same order, the IIR filter has a sharper roll off than a FIR filter.
因此,IIR可以使用更少的阶数来实现与FIR相同的性能,如图12所示.
Figure 12: An IIR filter can achieve similar performance to an FIR filter with a lower order.
从计算的角度来看,这使得IIR滤波器比FIR滤波器更快. 如果必须在实时应用程序中实现滤波器(例如在监听时进行交互过滤),通常选择IIR.
然而,使用IIR滤波器也有一些潜在的缺点:
即想要达到相同的滤波效果,IIR滤波器所需的阶数更少,计算量更小,速度也就更快.
滤波后的时间序列,与原始时间序列相比,会出现轻微的偏移或时间延迟. 图13显示了同步采集的声音数据(红色曲线,顶部)和振动数据(蓝色曲线,底部). 对声音数据滤波器后(绿色曲线,顶部)会导致声音和振动数据之间出现时延现象.
Figure 13: Top - Original time signal (red) is time delayed (green) by filter. Bottom – Vibration signal (blue) no longer aligned with filtered sound signal (green).
在某些应用程序中,这不是问题,因为偏移量是已知的,可以忽略. 而在其他应用程序中,这种延迟可能很重要. 例如:
是什么原因导致滤波器在输出时间序列中引入了时间延迟?
从图14中得到FIR滤波器的方程,通过对该方程的分析,可以看出产生时延的原因.
Figure 14: To be fully realized (i.e., actually work) the filter requires as many data points (n) as the terms (N) to be passed through the filter.
输入信号(x)中的一些时间序列样本必须通过与项数(N)成比例的滤波器,然后滤波器才会工作。此外,在输入滤波器的样本点数(n)大于N以前,滤波后的时间序列不会开始输出.
因为必须先有一些数据通过滤波器才能创建输出,所以与输入时间序列(x)相比,输出时间序列(y)的创建会有一个延迟,如图13所示. 滤波器的幅频响应变化曲线越陡峭锐利,这种延迟就越长.
FIR和IIR滤波器的延迟特性有很大的不同,如图15所示. FIR滤波器在所有频率上具有相同的时延,而IIR滤波器的时延随频率而变化. 通常IIR滤波器中最大的时延出现在滤波器的截止频率处.
Figure 15: IIR and FIR Filter amplitude (top) and time delay (bottom). A FIR has equal delay at all frequencies while the IIR filter time delay varies with frequency.
FIR滤波器在所有频率上具有相同的时延,而IIR滤波器的时延随频率而变化.
所有的滤波器都会产生某种时延(模拟或数字),根据滤波器的特性,延迟或长或短,它们也可以是频率的函数.
通过“前向和后向”滤波,输出时间序列中的时延可以被消除. 在对x(n)滤波得到输出y(n)之后,可以对y(n)再次进行滤波,首先将y(n)中的数据点反转,再输入滤波器进行滤波. 这就是所谓的零相位滤波(zero phase filtering),结果如图16所示.
Figure 16: Original signal (red) filtered directly (green) and with zero phase (blue). Zero phase removes the delay, but data is lost at the end of zero phase filtered time history.
注意,时间延迟位于零相位滤波输出的末尾(蓝色).
零相位滤波的输出y(n)与x(n)实现了对齐,但数据由于滤波了两次,衰减加倍. 当使用零相位滤波器时,需要进行以下权衡:
可以选择滤波器的系数a(n)来控制特定的滤波器属性,如图17所示.
Figure 17: Pass, Transition, and Stop band.
滤波器有四个主要的属性:
下面列出了有限脉冲响应(FIR)滤波器的方法,如图18所示.
Figure 18: FIR Filter Methods.
FIR方法在从频域到时域的转换中使用了不同的谱窗。一些窗口方法包括:
无限脉冲响应滤波器的方法如图19所示.
Figure 19: Comparison of Low Pass IIR filters with same order and cutoff frequency.
不同IIR滤波方法的属性:
The END.
由于翻译水平有限(主要是对滤波器相关知识理解得不是很到位),文中可能存在一些错误,还请各位看官结合原文进行深度理解 :-).
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。