• IIR和FIR系统描述的是系统的抽样响应特性,其中$ x(n)=\delta(n) $

    1. 举例:一个平均器的系统是FIR系统,因为它的抽样响应仅在变量n取某3个值的时候有值,是有限长的;一阶自回归模型由于包含了从输出到输入的反馈,所以其抽样相响应是无限长的。
  • 令$ x(n)=e^{jwn}$, 得到的系统输出就是频率响应,其数学表示如下:

    \[\begin{align}
    y(n) &= \sum_{k=- \infty}^{\infty} h(k)x(n-k)=\sum_{k=- \infty}^{\infty} h(k)e^{j(n-k)w}\\
    &=e^{jwn}\sum_{k=- \infty}^{\infty}h(k)e^{-jwk}\\
    &=e^{jwn}H(e^{jw})
    \end{align}
    \]

    我们称\(e^{jwn}\)为系统的特征函数,\(H(e^{jw})\)为系统的特征值。(线性代数无处不在

  • 一个LST系统至少有四种描述方式:

    1. 频率响应
      \[H(e^{jw})=\sum_{n=0}^{\infty}e^{-jwn}\\
      \]
  1. 转移函数

    \[\begin{align}
    H(z)&=\sum_{n=0}^{\infty}h(n)z^{-n}\\
    or \quad H(e^{jw})&= \frac{Y(z)}{X(z)}=\frac{\sum_{r=0}^{M}b(r)z^{-r}}{1+\sum_{k=1}^{N}a(k)z^{-k}}
    \end{align}
    \]

    转移函数和差分方程可以互相推导,他们分别是系统物理性质的时域表达和频域表达。

  2. 差分方程

    \[y(n) = -\sum_{k=1}^{\infty}a(k)y(n-k)+\sum_{r=0}^{M}b(r)x(n-r)
    \]
  3. 卷积关系

\[y(n) = \sum_{k= -\infty} ^{\infty}x(k)h(n-k)=x(n)*h(n)
\]
  • 数字滤波器的实现原理

    1. IIR的传递函数
    \[H(z)=\frac{\sum_{k=0}^{M} b_{k} z^{-k}}{1-\sum_{k=1}^{N} a_{k} z^{-k}}=\frac{Y(z)}{X(z)}
    \]

    对应的差分方程为

\[y(n)=\sum_{k=1}^{N} a_{k} y(n-k)+\sum_{k=0}^{M} b_{k} x(n-k)
\]

​ 2. FIR的传递函数

\[H(z)=\sum_{n=0}^{N-1} h(n) z^{-n}
\]

​ 对应的差分方程为

\[y(n)=\sum_{m=0}^{N-1} h(m) x(n-m)
\]

FIR滤波器的设计

  • 线性相位

    当一个系统的相频特性满足如下的线性相位

    \[arg[H(e^{jw})]=-kw
    \]

    时,输出满足

    \[y(n) = x(n-k)
    \]

    是无失真的。

    我的理解——如要时域上偏移的点数相同,则频率越高,对应的相位越长。

    ~结论:相位延迟反映了载波信号的延迟,群延迟反映了信号包络的延迟。似乎不重要。~

  • FIR滤波器在实际中更常用,原因是FIR滤波器的单位响应是有限长的,更容易实现某种对称性,从而实现线性相位。若FIR滤波器是线性相位的,那么它应该满足:

\[h(n)=\pm h(N-1-n)
\]

  • 在这里,\(h(n)\)有偶对称和奇对称两种可能,\(N\)也有可能为奇数或者偶数。这2组可能的组合\(C_2^2\)构成四种情况,在一些文献里分别被称作类型I,类型II,类型III和类型IV。

  • 在设计一般用途的滤波器时,\(h(n)\)多取偶对称,长度n也往往取为奇数。

IIR与FIR的应用:

引用陈怀琛的“数字信号处理教程--MATLAB释义与实现”

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

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

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

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

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

辨析:IIR(Infinite Impulse Response)与FIR(Finite Impulse Response)的更多相关文章

  1. 多种下载文件方式 Response.BinaryWrite(byte[] DocContent);Response.WriteFile(System.IO.FileInfo DownloadFile .FullName);Response.Write(string html2Excel);

    通过html给xls赋值,并下载xls文件 一.this.Response.Write(sw.ToString());System.IO.StringWriter sw = new System.IO ...

  2. response.getWriter().write()和 response.getWriter().print()的区别 以及 PrintWriter对象 和 out对象 的区别

    感谢原文作者:krismile__qh 原文链接:https://blog.csdn.net/krismile__qh/article/details/89926001 一.response.getW ...

  3. response.getWriter().write()和 response.getWriter().print()的区别

    异步上传图片的代码.发现里面用了response.getWriter().print(),故联想到response.getWriter().writer(),经过一番api的查找与实操,总结如下: r ...

  4. 基于FPGA的16阶级联型iir带通滤波器实现

    警告 此文章将耗费你成吨的流量,请wifi下阅读,造成的流量浪费本人不承担任何责任.初版源代码获取(请勿用作他用,仅供学习):https://gitee.com/kingstacker/iir.git ...

  5. 半径无关单核单线程最快速高斯模糊实现(附完整C代码)

    之前,俺也发过不少快速高斯模糊算法. 俺一般认为,只要处理一千六百万像素彩色图片,在2.2GHz的CPU上单核单线程超过1秒的算法,都是不快的. 之前发的几个算法,在俺2.2GHz的CPU上耗时都会超 ...

  6. 半径无关快速高斯模糊实现(附完整C代码)

    之前,俺也发过不少快速高斯模糊算法. 俺一般认为,只要处理一千六百万像素彩色图片,在2.2GHz的CPU上单核单线程超过1秒的算法,都是不快的. 之前发的几个算法,在俺2.2GHz的CPU上耗时都会超 ...

  7. matlab 工具箱下载地址

    1.平面操作工具箱 http://cathy.ijs.si/~leon/planman.html 2.SimMechanics 工具箱 (这个好像不是免费的) http://www.mathworks ...

  8. LabTool : LPC LINK2, LPC4370 cheap scope: 80Ms/s 12 bit

    80MHz 12 bit ADC processor LPC4370.LPCxpresso do a LPC LINK2 and LABTOOLS open source oscilloscope d ...

  9. matlab toolboxes 大全

    MATLAB Toolboxes top (Top) Audio - Astronomy - BiomedicalInformatics - Chemometrics  - Chaos - Chemi ...

随机推荐

  1. 【编程开发】Python---列表

    ERROR:错误 waring:警告,还没到犯错的地步 print(r'\n')  r"字符串",字符串里的所有字符都不转义 str = "abcdef" 如果 ...

  2. 【随笔】Apache降权和禁用PHP危险函数

    测试环境: Windows Server 2003 + phpstudy 首先在win2003里运行phpstudy,这里注意需要选择应用系统服务模式,应用之后重启phpstudy. 打开系统服务(开 ...

  3. 【题解】[ZJOI2009]狼和羊的故事

    题目戳我 \(\text{Solution:}\) 显然思路,把所有羊看成一个源点,所有狼看成一个汇点,格子之间连容量为\(1\)的边,直接跑最小割. 技巧: 注意到篱笆不能把羊给割掉,狼同理.所以, ...

  4. 工业级wifi模块

    工业级wifi模块 工业级wifi模块ZLSN7004是上海卓岚开发的一款高性能的Wifi.以太网转串口模块.与普通的wifi模块定位在低成本不同,7004定位在高稳定性.丰富功能,设计目标是面向对功 ...

  5. day51 Pyhton 前端02

    内容回顾: 1.h1~h6:加粗,数字越大级别越小,自动换行 2.br:换行;hr:分割线; (特殊符号,空格) 3.p:与前边和后边内容之间有间距 4.a标签的href:本地文件连接;网络连接;锚链 ...

  6. virtualbox 网络地址转换(NAT)

    网络地址转换 虚拟机可以访问主机 通过主机请求外网 但是主机不能请求虚拟机 所以要配置端口转发才行 host-only模式下 不同网段的不同虚拟机也可以互相ping通  比如 192.168.33.1 ...

  7. js改变,设置table单双行颜色,jquery改变,设置table单双行颜色

    1.js实现单双行以不同颜色显示 $(document).ready(function () { var color = "#ffeab3"; $("#GvList tr ...

  8. 微信小程序的账号找回。

    之前注册过微信小程序,好久没用了,马上要开发微信小程序了,我今天登陆了一下突然发现 然后点击账号找回,按照流程同意点击下一步,到第二部时要输入搜索框里的提示. 这时的我早已忘了,百度搜了一下如何找回原 ...

  9. salesforce零基础学习(九十七)Big Object

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.bigobjects.meta/bigobjects/async_query ...

  10. find for /f 分割字符串 bat

    @Echo off::总用例数For /f "tokens=2" %%i in ('Type bat.txt^|Find "Ran"') do (Echo %% ...