细说IIR滤波器和FIR滤波器的区别

分享到:

1.两种滤波器都是数字滤波器。根据冲激响应的不同,将数字滤波器分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。对于FIR滤波器,冲激响应在有限时间内衰减为零,其输出仅取决于当前和过去的输入信号值。对于IIR滤波器,冲激响应理论上应会无限持续,其输出不仅取决于当前和过去的输入信号值,也取决于过去的信号输出值。

2.FIR:有限脉冲响应滤波器。有限说明其脉冲响应是有限的。与IIR相比,它具有线性相位、容易设计的优点。这也就说明,IIR滤波器具有相位不线性,不容易设计的缺点。而另一方面,IIR却拥有FIR所不具有的缺点,那就是设计同样参数的滤波器,FIR比IIR需要更多的参数。这也就说明,要增加DSP的计算量。DSP需要更多的计算时间,对DSP的实时性有影响。

以下都是低通滤波器的设计。

FIR的设计:

FIR滤波器的设计比较简单,就是要设计一个数字滤波器去逼近一个理想的低通滤波器。通常这个理想的低通滤波器在频域上是一个矩形窗。根据傅里叶变换我们可以知道,此函数在时域上是一个采样函数。通常此函数的表达式为:

sa(n)=sin(n∩)/n∏,但是这个采样序列是无限的,计算机是无法对它进行计算的。故我们需要对此采样函数进行截断处理。也就是加一个窗函数。就是传说中的加窗。也就是把这个时域采样序列去乘一个窗函数,就把这个无限的时域采样序列截成了有限个序列值。但是加窗后对此采样序列的频域也产生了影响:此时的频域便不在是一个理想的矩形窗,而是成了一个有过渡带,阻带有波动的低通滤波器。通常根据所加的窗函数的不同,对采样信号加窗后,在频域所得的低通滤波器的阻带衰减也不同。通常我们就是根据此阻带衰减去选择一个合适的窗函数。如矩形窗、汉宁窗、汉明窗、BLACKMAN窗、凯撒窗等。选择一个具体的窗函数 之后,根据所设计滤波器的参数来计算所需的阶数、此窗函数的表达式。然后用这个窗函数去和采样序列相乘,就可以得到实际滤波器的脉冲响应。

IIR的设计(双线性变换法):

IIR的设计理念是这样的:根据所要设计滤波器的参数去确定一个模拟滤波器的传输函数,然后再根据这个传输函数,通过双线性变换、或脉冲响应不变法来进行数字滤波器的设计。它的设计比较复杂,复杂在于它的模拟滤波器传输函数H(s)的确定。这一点我们可以让软件来实现。然后,我们说一下它的具体实现步骤:首先你要先确定你需要一个什么样的滤波器,巴特沃斯型,切比雪夫型,还是其它什么型的滤波器。当你选定一个型号后,你就可以根据设计参数和这个滤波器的计算公式来确定其阶数、传输函数的表达式。通常这个过程中还存在预扭曲的问题(这只是双线性变换法所需要注意的问题,脉冲响应不变法不存在这种问题)。确定H(S)后,就可以通过双线性变换得到其数字域的差分方程。

3.对于IIR和FIR的比较,有些书上有论述。我引用陈怀琛的“数字信号处理教程--MATLAB释义与实现”:

从性能上来说,IIR滤波器传递函数包括零点和极点两组可调因素,对极点的惟一限制是在单位圆内。因此可用较低的阶数获得高的选择性,所用的存储单元少,计算量小,效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。FIR滤波器传递函数的极点固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能。所以要达到高的选择性,必须用较高的阶数;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果,成本较高,信号延时也较大;如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。

从结构上看,IIR滤波器必须采用递归结构来配置极点,并保证极点位置在单位圆内。由于有限字长效应,运算过程中将对系数进行舍入处理,引起极点的偏移。这种情况有时会造成稳定性问题,甚至产生寄生振荡。相反,FIR滤波器只要采用非递归结构,不论在理论上还是在实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅里叶变换算法,在相同阶数的条件下,运算速度可以快得多。

另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有分段常数特性的滤波器,如低通、高通、带通及带阻等,往往脱离不了模拟滤波器的格局。而FIR滤波器则要灵活得多,尤其是他易于适应某些特殊应用,如构成数字微分器或希尔波特变换器等,因而有更大的适应性和广阔的应用领域。

从上面的简单比较可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。从使用要求上来看,在对相位要求不敏感的场合,如语言通信等,选用IIR较为合适,这样可以充分发挥其经济高效的特点;对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高。如果有条件,采用FIR滤波器较好。当然,在实际应用中可能还要考虑更多方面的因素。

不论IIR和FIR,阶数越高,信号延迟越大;同时在IIR滤波器中,阶数越高,系数的精度要求越高,否则很容易造成有限字长的误差使极点移到单位园外。因此在阶数选择上是综合考虑的。

IIR滤波器(切比雪夫滤波)各滤波器比较(IIR和FIR,数字和模拟) 第19,20,21章内容,主要讲IIR滤波器和滤波器的比较

IIR滤波不使用卷积运算,而是用递归(recursive)运算,因此执行速度很快,但在性能上不一定比FIR滤波好。IIR的冲击响应由衰减性指数信号构成。

IIR输入输出的递推关系式为:

1

IIR递归系数和其频率响应之间的关系可以通过Z变换来转换,Z变换在此不涉及。

通过取不同的递归系数(下图中的a和b),就可以实现不同的滤波:

2

3

当然这是最简单的应用,递归系数的取法有一定的讲究和公式,这里略了。

FIR可以做到是线性相位的,即冲击响应是左右对称的,而IIR通常是非线性相位的。这是因为FIR在设计的时候就确定了其时域波形和频响,而IIR在设计中确定的是递归的系数,并不能决定其波形是什么样子的。

4

为了使IIR实现线性相位,可以进行双向运算,如下图所示:

5

6

切比雪夫滤波

切比雪夫(Chebyshev)滤波是应用在频域上分频的,性能上当然不能和sinc窗函数滤波相比,但是它速度很快。

The Chebyshev response is a mathematical strategy for achieving a faster roll-off by allowing ripple in the frequency response. As the ripple increases (bad), the roll-off becomes sharper (good).

7

对于极点的理解:

极点越多,性能越好。

通过查表可以确定滤波器的系数。

各种滤波器比较

1.模拟vs数字

如果信号需要滤波,是在模拟阶段滤波呢?还是数字化之后滤波?

下图做了比较,可以看到数字滤波有着模拟滤波难以达到的性能,但是速度慢,而且模拟滤波的幅度以及频率的动态范围更大。

8

本例中模拟滤波的实现:

9

2.sinc窗函数vs切比雪夫

下图做了比较

10

11

sinc窗函数是用卷积来运算,而切比雪夫是用递归方程。当然卷积可以用fft卷积来做,即先DFT然后频域四则运算再DFT逆变换,这能提高速度,但是还是没有递归方程快。另一方面sinc窗函数的滤波性能可以做的很好。

12

13

3.滑动平均vs单极点

14

15

 

继续阅读
采用DSPBuilder的FIR滤波器的方案实现

在信息信号处理过程中,如对信号的过滤、检测、预测等,都要使用滤波器,数字滤波器是数字信号处理(DSP,DigitalSignalProcessing)中使用最广泛的一种器件。常用的滤波器有无限长单位脉冲响应(ⅡR)滤波器和有限长单位脉冲响应(FIR)滤波器两种[1],其中,FIR滤波器能提供理想的线性相位响应,在整个频带上获得常数群时延从而得到零失真输出信号,同时它可以采用十分简单的算法实现,这两个优点使FIR滤波器成为明智的设计工程师的首选,在采用VHDL或VerilogHDL等硬件描述语言设计数字滤波器时,由于程序的编写往往不能达到良好优化而使滤波器性能表现一般。而采用调试好的IPCore需要向Altera公司购买。笔者采用了一种基于DSPBuilder的FPGA设计方法,使FIR滤波器设计较为简单易行,并能满足设计要求。

3G移动通信中脉冲成形FIR滤波器的ASIC实现结构

为了满足3G的高技术复杂度以及高信号处理要求,基于FPGA/ASIC的专用硬件必须要符合不同用户产品的规格。也就是说,在3G无线终端发展中,产品的尺寸、重量以及功率消耗这些参数将是十分关键和重要的决定因素。由此,系统芯片(SoC)作为一门新的设计方略被引入了3G的发展。SoC要求能够将区域有效信号处理算法与结构的设计、发展都集成在一块小的芯片上。 数字滤波器作为信号处理中最为常见的元件,被广泛地应用于无线通信的各个部分中。本文针对3G标准CDMA 2000中的脉冲成形FIR滤波器的ASIC实现进行讨论

短波通信中一种时延设计方法与DSP实现

短波通信是利用地波或低电离层进行几十千米到几百千米的中、近距离通信,利用电离层反射进行数千乃至上万千米的远距离通信。受电离层中存在瑞利衰落、多径效应、多普勒频移等复杂时变因素的影响,短波通信设备在测试和定装工作耗费较大。为了测试各种短波无线通信系统的性能,通常有两种方法,一种是实验测试,另一种是信道模拟。在实验测试中,为了测试短波通信设备的性能,往往需要在实际通信环境中进行大量的、远距离的场外实验和长时间的测试,实现起来非常困难;信道模拟方法则是通过对信道特性进行理论分析,建立信道模型,在实验室环境下进行