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输入输出的递推关系式为:

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

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

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

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

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

切比雪夫滤波

切比雪夫(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).

对于极点的理解:

极点越多,性能越好。

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

各种滤波器比较

1.模拟vs数字

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

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

本例中模拟滤波的实现:

2.sinc窗函数vs切比雪夫

下图做了比较

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

3.滑动平均vs单极点

利用Matlab比较IIR和FIR,细说IIR滤波器和FIR滤波器的区别相关推荐

  1. m基于Matlab的fir和iir数字滤波器的设计与仿真

    目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 MATLAB系统供了许多工具箱(Toolbox),借助于信号处理工具箱(signal pro ...

  2. FIR和IIR的区别+差分方程的单位冲激响应(matlab图解)

    有限脉冲响应滤波器:FIR 无限脉冲响应滤波器:IIR 好了,有限脉冲响应和无限脉冲响应到底什么区别? 先来看下<信号与系统>下册怎么说: 根据书上提示,翻回去看下相关例子: 滤波器 相关 ...

  3. 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义

    卷积:  冲击信号会对线性系统产生冲击响应.  冲击信号可分解为平移度和幅度.其对线性系统的冲击响应可以分解为点点间的经平移和缩放的各个冲击响应的累加,通过卷积的表达式表示.  所谓的冲击响应,就是线 ...

  4. 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义。

    个人感觉很不错的一篇文章 卷积:  冲击信号会对线性系统产生冲击响应.  冲击信号可分解为平移度和幅度.其对线性系统的冲击响应可以分解为点点间的经平移和缩放的各个冲击响应的累加,通过卷积的表达式表示. ...

  5. 自适应滤波:维纳滤波器——FIR及IIR设计

    作者:桂. 时间:2017-03-23  06:28:45 链接:http://www.cnblogs.com/xingshansi/p/6603263.html [读书笔记02] 前言 仍然是西蒙. ...

  6. matlab冲激响应不变发,matlab实验七冲激响应不变法IIR数字滤波器设计

    matlab实验七冲激响应不变法IIR数字滤波器设计 (数字信号处理)实验报告实验名称 实验七 冲激响应不变法IIR数字滤波器设计 实验时间 年 月 日专业班级 学 号 姓 名 成 绩 教师评语: 一 ...

  7. butter滤波器是iir吗_学习随笔之IIR滤波器与FIR滤波器

    学习随笔之IIR滤波器与FIR滤波器 IIR滤波器(Infinite Impulse Response Digital Filter无限冲击响应数字滤波器)与FIR滤波器(Finite Impulse ...

  8. IIR滤波器和FIR滤波器的区别与联系

    IIR滤波器和FIR滤波器的区别与联系_jinjun_新浪博客  http://blog.sina.com.cn/s/blog_6281182601019rst.html 1.两种滤波器都是数字滤波器 ...

  9. FIR和IIR数字滤波器比较

    滤波器可分为两种,IIR(无限冲激响应)滤波器和FIR(有限冲激响应)滤波器. FIR和IIR滤波器的不同: 1.FIR滤波器的冲激响应在有限时间内衰减为0,输出仅取决于当前和过去的输入信号值,在Z域 ...

最新文章

  1. 使用Eclipse与Pydev开发Python
  2. CCNA考试认证教材【 ip地址 子网划分 】视频教程【高清】
  3. 「镁客·请讲」深睿医疗乔昕:AI医疗才起步,说变革尚早
  4. Git更新到最新版本
  5. 【layui】【laydate】设置可以选择相同的年份范围
  6. 【Android】7.5 RelativeLayout(相对布局)
  7. mysql存储过程删除_MySQL 存储过程删除大表
  8. NYOJ 93 汉诺塔(三) 【栈的简单应用】
  9. 定编定岗定员方案_定岗、定编、定员实施方案  (讨论稿)
  10. H5页面内实现分享给微信好友功能
  11. 基于SSM的校园二手交易平台
  12. Multisim元件库介绍以及中英文全面解析
  13. 新手学计算机剪辑,适合剪辑初学者使用的电脑剪辑软件
  14. ele-calendar 日历插件使用
  15. python的if __name__ == “__main__“语法错误SyntaxError: invalid syntax
  16. 移动端UML图应用之UML结构图——包图、部署图和组件图
  17. 《数学之美》第六章——信息的度量和作用
  18. 端到端的图像压缩----《Channel-wise Autoregressive Entropy Models For Learned Image Compression》论文笔记
  19. 功放限幅保护_为什么要对放大器限幅?
  20. linux中如何查看文件上下文,linux通过grep根据关键字查找日志文件上下文

热门文章

  1. Flutter 基础Widgets之AppBar详解
  2. SVG(网页加载显示的加载进度动态图)
  3. 终于将SAP系统完全配置通过了
  4. openwrt l7过滤qos配置
  5. 四、物理优化(2)索引视图
  6. linux自学视频资料第四讲:目录
  7. exit函数的头文件问题
  8. 算法导论之平摊分析(动态表)
  9. Leetcode 232. 用栈实现队列 解题思路及C++实现
  10. Tensorflow 模型加载及部分变量初始化