FIR和IIR 滤波器
展开全部
两类数字滤波器是
有限脉冲响应(Finite Impulse Response, FIR)
无限脉冲响应(Infinite Impulse Response , IIR).
脉冲响应是指滤波器在时域内的出现,滤波器通常具有 较宽的频率响应 ,这对应于 时域内的短时间脉冲 ,如图所示.
IIR和FIR滤波器的方程如式1所示. 滤波器的输入为时间序列x(n),滤波器的输出为时间序列y(n). 第一个样本点在n=0处.
IIR和FIR实现之间的数学区别在于IIR滤波器使用一些滤波器的输出作为输入. 这使得IIR滤波器成为一个递归函数.
每个方程都有三个数字序列: 输入时间序列、滤波器和输出时间序列.
x(n)—输入时间序列是x(0), x(1), x(2), ..., x(n). 小写n是输入时间序列中数据点的总数
a(k)—FIR滤波器用字符“a” 表示,IIR滤波器用字符“a”和“b”. 大写字母N和P分别表示滤波器中的项数,也称为滤波器的阶数
y(n)—输出时间序列y(0), y(1), y(2), …
IIR滤波器的优点是,对于与FIR类似的滤波器,可以使用较低的阶数或项数. 这意味着实现相同结果所需的计算量更少,使得IIR的计算速度更快. 然而,IIR具有非线性相位和稳定性问题. 这有点像龟兔赛跑的寓言,FIR滤波器就像赛跑中的乌龟—缓慢而稳定,总是能跑完全程. 兔子就像IIR滤波器—非常快,但有时崩溃,并没有完成比赛.
由式1中的FIR滤波器方程可知,N越大,滤波器的阶数越高. 例如,如果滤波器项数为10,而不是5,那么滤波器的计算将花费两倍的时间。然而,滤波器的频率下降会更清晰,如图所示.
包含更多项(阶数更高)滤波器在通过频率和截止频率之间有更剧烈的转换. 图显示了相同滤波器类型在使用不同阶数计算时的幅频响应图. 使滤波器的幅频响应变化更锐利是通过增加滤波器阶数来实现的,这意味着需要更多的计算,同时也会影响滤波器引入的时间延迟.
阶数越高,滤波器的幅频响应变化曲线越陡峭,滤波器对滤除的频率截断效果越显著.
对于相同的阶数,FIR和IIR滤波器的锐度差别很大,如图所示. 由于IIR滤波器的递归性质(见公式),其中部分滤波器输出用作输入,它可以使用相同阶的滤波器实现更陡峭的增益变化.
因此,IIR可以使用更少的阶数来实现与FIR相同的性能,如图所示.
从计算的角度来看,这使得IIR滤波器比FIR滤波器更快. 如果必须在实时应用程序中实现滤波器( 例如在监听时进行交互过滤 ),通常选择IIR.
然而, 使用IIR滤波器也有一些潜在的缺点:
延迟—IIR在不同频率下的延迟不同,而FIR在每个频率的延迟一致
稳定性—由于其结构的特殊性,IIR滤波器有时可能是不稳定的,可能出现无法计算或应用于数据的情况,而FIR滤波器的计算始终是稳定的
即想要达到相同的滤波效果,IIR滤波器所需的阶数更少,计算量更小,速度也就更快.
滤波后的时间序列,与原始时间序列相比,会出现轻微的偏移或时间延迟. 图显示了同步采集的声音数据(红色曲线,顶部)和振动数据(蓝色曲线,底部). 对声音数据滤波器后(绿色曲线,顶部)会导致声音和振动数据之间出现时延现象.
在某些应用程序中,这不是问题,因为偏移量是已知的,可以忽略. 而在其他应用程序中,这种延迟可能很重要. 例如:
故障排除(Troubleshooting)—对于多通道的声音和振动数据,如果只对声音通道使用滤波器,相对于振动通道,滤波后的声音会引入一个时间延迟(见图13底部图). 当试图确定一个振动事件是否产生了一个声音时,这一次的不对齐将很难看到振动和声音事件是否相关
运行变形振型(Operational Deflection Shapes)—如果运行变形振型中的某些振动通道使用了滤波器,而其它通道没有,这将导致这些通道之间的相位关系发生改变,结果其animation(实在不知道该如何翻译,超出大纲了TAT)将不正确
是什么原因导致滤波器在输出时间序列中引入了时间延迟?
从图中得到FIR滤波器的方程,通过对该方程的分析,可以看出产生时延的原因.
输入信号(x)中的一些时间序列样本必须通过与项数(N)成比例的滤波器,然后滤波器才会工作。此外,在输入滤波器的样本点数(n)大于N以前,滤波后的时间序列不会开始输出.
因为必须先有一些数据通过滤波器才能创建输出,所以与输入时间序列(x)相比,输出时间序列(y)的创建会有一个延迟,如图所示. 滤波器的幅频响应变化曲线越陡峭锐利,这种延迟就越长.
FIR和IIR滤波器的延迟特性有很大的不同,如图所示. FIR滤波器在所有频率上具有相同的时延,而IIR滤波器的时延随频率而变化. 通常IIR滤波器中最大的时延出现在滤波器的截止频率处.
FIR滤波器在所有频率上具有相同的时延,而IIR滤波器的时延随频率而变化.
所有的滤波器都会产生某种时延(模拟或数字),根据滤波器的特性,延迟或长或短,它们也可以是频率的函数.
可以选择滤波器的系数a(n)来控制特定的滤波器属性,如图所示.
滤波器有四个主要的属性:
通频带(Pass Band)–通频带中的数据直接输出到输出时间序列. 为了保证通频带内的数据与原始时程数据一致,滤波器中不应有纹波. 纹波是振幅随频率的微小变化,理想情况下,在这个波段,滤波器的振幅应该恰好为1.
过渡带宽(Transition Width)–根据应用程序的不同,可能希望通过和截止频带之间的转换在频率方面尽可能窄,该方法和滤波器的阶数决定了通带和截止带之间转换发生的速度.
截止频带(Stop Band)–如果滤波器有纹波,截止带也可以包含输出数据. 在某些应用中,纹波的存在可能无关紧要,而在某些特定的场合下,则不能接受纹波的存在.
群时延(Group Delay/Phase)–滤波器在输出时间序列中引入了时延,该时延可能是随频率变化的函数. 如前所述,通过前向和后向滤波器(零相位滤波器)可以消除输出时间序列中的时延现象. 在某些应用程,相位也是很重要的,此时就不能再用零相位滤波器了.
下面列出了有限脉冲响应(FIR)滤波器的方法,如图所示.
FIR方法在从频域到时域的转换中使用了不同的 谱窗 。一些窗口方法包括:
Chebyshev - 停止带纹波最小,过渡带最宽
Hamming - 过渡区窄,波纹比Hanning小
Kaiser - 在停止区有较小的纹波
Hanning - 过渡带最窄,停止带纹波较大
Rectangular - 纹波最大,甚至影响通带
无限脉冲响应滤波器的方法如图19所示.
不同IIR滤波方法的属性:
Butterworth - 在通带和停止带响应平稳,但过渡区较宽
Inverse Chebyshev - 通带平坦,过渡带宽度比巴特沃斯滤波器窄,但在停止带有波纹
Chebyshev - 在通带可以有纹波,但其过渡带比反向Chebyshev更短
Cauer - 过渡带最短,通带和停止带均有纹波
Bessel - 在通带和停止带均出现幅度倾斜(Sloping),过度带非常宽
有限脉冲响应(Finite Impulse Response, FIR)
无限脉冲响应(Infinite Impulse Response , IIR).
脉冲响应是指滤波器在时域内的出现,滤波器通常具有 较宽的频率响应 ,这对应于 时域内的短时间脉冲 ,如图所示.
IIR和FIR滤波器的方程如式1所示. 滤波器的输入为时间序列x(n),滤波器的输出为时间序列y(n). 第一个样本点在n=0处.
IIR和FIR实现之间的数学区别在于IIR滤波器使用一些滤波器的输出作为输入. 这使得IIR滤波器成为一个递归函数.
每个方程都有三个数字序列: 输入时间序列、滤波器和输出时间序列.
x(n)—输入时间序列是x(0), x(1), x(2), ..., x(n). 小写n是输入时间序列中数据点的总数
a(k)—FIR滤波器用字符“a” 表示,IIR滤波器用字符“a”和“b”. 大写字母N和P分别表示滤波器中的项数,也称为滤波器的阶数
y(n)—输出时间序列y(0), y(1), y(2), …
IIR滤波器的优点是,对于与FIR类似的滤波器,可以使用较低的阶数或项数. 这意味着实现相同结果所需的计算量更少,使得IIR的计算速度更快. 然而,IIR具有非线性相位和稳定性问题. 这有点像龟兔赛跑的寓言,FIR滤波器就像赛跑中的乌龟—缓慢而稳定,总是能跑完全程. 兔子就像IIR滤波器—非常快,但有时崩溃,并没有完成比赛.
由式1中的FIR滤波器方程可知,N越大,滤波器的阶数越高. 例如,如果滤波器项数为10,而不是5,那么滤波器的计算将花费两倍的时间。然而,滤波器的频率下降会更清晰,如图所示.
包含更多项(阶数更高)滤波器在通过频率和截止频率之间有更剧烈的转换. 图显示了相同滤波器类型在使用不同阶数计算时的幅频响应图. 使滤波器的幅频响应变化更锐利是通过增加滤波器阶数来实现的,这意味着需要更多的计算,同时也会影响滤波器引入的时间延迟.
阶数越高,滤波器的幅频响应变化曲线越陡峭,滤波器对滤除的频率截断效果越显著.
对于相同的阶数,FIR和IIR滤波器的锐度差别很大,如图所示. 由于IIR滤波器的递归性质(见公式),其中部分滤波器输出用作输入,它可以使用相同阶的滤波器实现更陡峭的增益变化.
因此,IIR可以使用更少的阶数来实现与FIR相同的性能,如图所示.
从计算的角度来看,这使得IIR滤波器比FIR滤波器更快. 如果必须在实时应用程序中实现滤波器( 例如在监听时进行交互过滤 ),通常选择IIR.
然而, 使用IIR滤波器也有一些潜在的缺点:
延迟—IIR在不同频率下的延迟不同,而FIR在每个频率的延迟一致
稳定性—由于其结构的特殊性,IIR滤波器有时可能是不稳定的,可能出现无法计算或应用于数据的情况,而FIR滤波器的计算始终是稳定的
即想要达到相同的滤波效果,IIR滤波器所需的阶数更少,计算量更小,速度也就更快.
滤波后的时间序列,与原始时间序列相比,会出现轻微的偏移或时间延迟. 图显示了同步采集的声音数据(红色曲线,顶部)和振动数据(蓝色曲线,底部). 对声音数据滤波器后(绿色曲线,顶部)会导致声音和振动数据之间出现时延现象.
在某些应用程序中,这不是问题,因为偏移量是已知的,可以忽略. 而在其他应用程序中,这种延迟可能很重要. 例如:
故障排除(Troubleshooting)—对于多通道的声音和振动数据,如果只对声音通道使用滤波器,相对于振动通道,滤波后的声音会引入一个时间延迟(见图13底部图). 当试图确定一个振动事件是否产生了一个声音时,这一次的不对齐将很难看到振动和声音事件是否相关
运行变形振型(Operational Deflection Shapes)—如果运行变形振型中的某些振动通道使用了滤波器,而其它通道没有,这将导致这些通道之间的相位关系发生改变,结果其animation(实在不知道该如何翻译,超出大纲了TAT)将不正确
是什么原因导致滤波器在输出时间序列中引入了时间延迟?
从图中得到FIR滤波器的方程,通过对该方程的分析,可以看出产生时延的原因.
输入信号(x)中的一些时间序列样本必须通过与项数(N)成比例的滤波器,然后滤波器才会工作。此外,在输入滤波器的样本点数(n)大于N以前,滤波后的时间序列不会开始输出.
因为必须先有一些数据通过滤波器才能创建输出,所以与输入时间序列(x)相比,输出时间序列(y)的创建会有一个延迟,如图所示. 滤波器的幅频响应变化曲线越陡峭锐利,这种延迟就越长.
FIR和IIR滤波器的延迟特性有很大的不同,如图所示. FIR滤波器在所有频率上具有相同的时延,而IIR滤波器的时延随频率而变化. 通常IIR滤波器中最大的时延出现在滤波器的截止频率处.
FIR滤波器在所有频率上具有相同的时延,而IIR滤波器的时延随频率而变化.
所有的滤波器都会产生某种时延(模拟或数字),根据滤波器的特性,延迟或长或短,它们也可以是频率的函数.
可以选择滤波器的系数a(n)来控制特定的滤波器属性,如图所示.
滤波器有四个主要的属性:
通频带(Pass Band)–通频带中的数据直接输出到输出时间序列. 为了保证通频带内的数据与原始时程数据一致,滤波器中不应有纹波. 纹波是振幅随频率的微小变化,理想情况下,在这个波段,滤波器的振幅应该恰好为1.
过渡带宽(Transition Width)–根据应用程序的不同,可能希望通过和截止频带之间的转换在频率方面尽可能窄,该方法和滤波器的阶数决定了通带和截止带之间转换发生的速度.
截止频带(Stop Band)–如果滤波器有纹波,截止带也可以包含输出数据. 在某些应用中,纹波的存在可能无关紧要,而在某些特定的场合下,则不能接受纹波的存在.
群时延(Group Delay/Phase)–滤波器在输出时间序列中引入了时延,该时延可能是随频率变化的函数. 如前所述,通过前向和后向滤波器(零相位滤波器)可以消除输出时间序列中的时延现象. 在某些应用程,相位也是很重要的,此时就不能再用零相位滤波器了.
下面列出了有限脉冲响应(FIR)滤波器的方法,如图所示.
FIR方法在从频域到时域的转换中使用了不同的 谱窗 。一些窗口方法包括:
Chebyshev - 停止带纹波最小,过渡带最宽
Hamming - 过渡区窄,波纹比Hanning小
Kaiser - 在停止区有较小的纹波
Hanning - 过渡带最窄,停止带纹波较大
Rectangular - 纹波最大,甚至影响通带
无限脉冲响应滤波器的方法如图19所示.
不同IIR滤波方法的属性:
Butterworth - 在通带和停止带响应平稳,但过渡区较宽
Inverse Chebyshev - 通带平坦,过渡带宽度比巴特沃斯滤波器窄,但在停止带有波纹
Chebyshev - 在通带可以有纹波,但其过渡带比反向Chebyshev更短
Cauer - 过渡带最短,通带和停止带均有纹波
Bessel - 在通带和停止带均出现幅度倾斜(Sloping),过度带非常宽
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询