数字滤波器广泛应用于硬件电路设计,一般分为FIR滤波器和IIR滤波器。那么FIR滤波器和IIR滤波器有什么区别呢?本文通过几个例子做一个简单的总结。

一、FIR滤波器

定义:

FIR滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。

特点:

  • FIR滤波器的最主要的特点是没有反馈回路,稳定性强,故不存在不稳定的问题;

  • FIR具有严格的线性相位,幅度特性随意设置的同时,保证精确的线性相位;

  • FIR设计方式是线性的,硬件容易实现;

  • FIR相对IIR滤波器而言,相同性能指标时,阶次较高,对CPU的性能要去较高。

图1 FIR滤波原理图

二、IIR滤波器

定义:

IIR滤波器是无限脉冲响应滤波器,又称递归型滤波器,即结构上带有反馈环路。

特点:

  • IIR数字滤波器的系统函数可以写成封闭函数的形式,具有反馈回路;

  • IIR数字滤波器的相位非线性,相位特性不好控制,随截止频率变化而变化,对相位要求较高时,需加相位校准网络;

  • IIR滤波器有历史的输出参与反馈,同FIR相比在相同阶数时取得更好的滤波效果;

  • IIR数字滤波器采用递归型结构,由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。

图2 IIR基础原理图

三、区别

1、稳定性

由于FIR滤波器没有反馈回路,稳定性要强于IIR。

2、相位特性

FIR 为线性相位延迟,IIR 为非线性相位延迟。

如下图所示为10Hz的方波信号,采样率为1KHz。

图3 方波信号

FIR滤波器后,滤波后效果图下图所示。

图4 FIR滤波效果图

IIR滤波器后,滤波后效果图下图所示。

图5 IIR滤波效果图

通过对比不难发现,IIR滤波器存在非线性相位延迟,校正时需要双向滤波进行校正,复杂不易控制;FIR滤波器为线性延迟,可通过左右平移的方式直接校正,误差小。

3、信号处理速度

FIR的滤波输出取决于当前输入数据和历史输入数据,IIR的滤波输出取决于当前输入数据、历史输入数据和历史输出数据。以基于FPGA硬件的数字滤波器为例,FIR在处理信号时不需等待前一个信号的滤波输出,只需要考虑输入数据便可实时滤波;IIR需要等待上一个信号的滤波输出,存在一定的时间延迟,所以处理速度上没有FIR快。

图6 FIR和IIR滤波对比图

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

ZDS3000/4000系列示波器标配FIR硬件滤波,截止频率从50Hz-200MHz可调,对ADC采样的信号进行实时低通滤波,主要应用于电机、电源测试等场合有效滤出噪声与干扰信号。

图7 FIR滤波界面

图8 FIR噪声滤波效果图

【收藏】详解FIR滤波器和IIR滤波器的区别相关推荐

  1. 详解FIR滤波器和IIR滤波器的区别

    数字滤波器广泛应用于硬件电路设计,一般分为FIR滤波器和IIR滤波器.下面说一下它的具体区别 一.FIR滤波器 定义: FIR滤波器是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统 ...

  2. 简谈FIR滤波器和IIR滤波器的区别

    最近总是遇到很多大侠在问滤波器相关的问题,之前对这一方面接触不是很多,最近也是在学习一些这方面的知识,今天先和大侠简单聊一聊FIR滤波器和IIR滤波器的区别,后续等研究的差不多了,再更新有关滤波器的详 ...

  3. FIR滤波器和IIR滤波器区别

    本文总结了FIR滤波器和IIR滤波器的原理和区别 保研夏令营的时候复习到了,但其实还有些地方没有完全弄通. 这里主要是介绍如何构造数字滤波器. 滤波器的表示 非递归(有限脉冲响应滤波器):输出仅依赖于 ...

  4. Java implement意思_详解JAVA中implement和extends的区别

    详解JAVA中implement和extends的区别 发布于 2020-4-14| 复制链接 摘记: 详解JAVA中implement和extends的区别extends是继承父类,只要那个类不是声 ...

  5. java中implement_详解JAVA中implement和extends的区别

    详解JAVA中implement和extends的区别 extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,Java中不支持多重继承,但是可以用接口来实 ...

  6. vlan标签详解 access、trunk和hybrid的区别

    vlan标签详解 access.trunk和hybrid的区别 我们知道,不同网段间需要通过路由转发才能通信: 那在同一网段不同vlan之间的PC,是不能互相通信的.其实这并不是绝对的.了解vlan的 ...

  7. c语言中的fscanf是啥意思,详解C语言中fgets和fscanf区别

    fscanf函数是C语言的文件格式读取函数的方法之一,它使用空格.制表符和回车来分割不同的单词,这样可以让我们使用起来更方便,下面就让爱站技术频道小编带你来学习详解C语言中fgets和fscanf区别 ...

  8. 详解Javascript本地存储的方式、区别及应用场景

    详解Javascript本地存储的方式.区别及应用场景 一.方式 javaScript本地缓存的方法我们主要讲述以下四种: cookie sessionStorage localStorage ind ...

  9. fir 滤波参数的含义_详解FIR滤波器与IIR滤波器的具体区别

    姓名:高新诚       学号:17021223282 原文链接:http://mp.weixin.qq.com/s/tC_mdXIeusuggDV1tn3sOw [嵌牛导读]:在大学中学习到了FIR ...

最新文章

  1. CVPR 2019论文阅读:Libra R-CNN如何解决不平衡对检测性能的影响?
  2. MATLAB中PI调节器设计,华中科技大学电气学院matlab选修课大作业pi控制器的设计...
  3. pyton BeautifulSoup中文API
  4. 科技边框_智能手机窄边框喷射点胶机欧力克斯
  5. 哈儿小波分解和重构(降维和升维)实现算法
  6. 第一代计算机主要应用领域为数据处理,第一代计算机主要应用领域为____。    A.数据处理 B.人工智能 C.科学计算 D.过程控制...
  7. Symbol MC1000 扫描 冲突问题 把下面文件做成scanwedge.reg的注册表文件,放在Application重起
  8. 面试题 17.24. 最大子矩阵
  9. 一周年工作总结--wfdb库使用
  10. React 详解,组件,条件渲染
  11. 智慧社区智能化管理系统搭建
  12. 网站/APP统计分析工具及教程
  13. telink BDT 工具使用说明
  14. Springboot测试
  15. 关于MySql中explain结果filtered的理解
  16. JavaWeb 获取客户端的真实IP地址
  17. Robocup3d比赛环境的搭建及常用函数简介
  18. 团队管理:新业务团队如何结合绩效来度量开发目标
  19. 90、生产的火灾危险性分类
  20. BZOJ [Ahoi2008]Meet 紧急集合

热门文章

  1. 完美解决Setup has encountered an error(system file time out of sync,error code is 800b0101)
  2. 免费的午餐——编程利用Google日历API发短信、Email
  3. 为企业上云号脉,听听这些ISV如何说?
  4. 简单的图书管理系统(本地存储,不用数据库)
  5. jsoup-1.11.2.jar,JsoupXpath-0.3.2.jar相关jar包及Jsoup开发说明文档
  6. 《摩诃般若波罗蜜多心经》
  7. 解密PDF文件口令密码
  8. 项目实训(十一)——FPS游戏(第一人称射击游戏)初步开发
  9. Nginx集群部署方案
  10. QGIS 3D:三维DEM数据加载渲染漫游