1.IIR滤波器构造

          之前在介绍FIR滤波器的时候,我们提到过,IIR滤波器的单位冲击响应是无限的!用差分方程来表达一个滤波器,应该是下式这个样子的。
          
        这个式子是N次差分方程的表达式。我们明显可以看出,计算输出y(n)的时候,需要以前的输出值与输入值。换言之,这个可能表达式还有反馈环节。当为0的时候,这个滤波器由于没有反馈,其单位冲击响应是有限的,是FIR滤波器。当不为0是时候,是IIR滤波器。

2.直接I型IIR滤波器

就如同之前所说一样,我们考虑这样一个滤波器。

 
        很明显,这是一个1阶才差分方程。由于不为0,这是一个1阶IIR滤波器的差分方程。为了方便观察,我们将其画系统成框图。
        很明显的,要实现这个滤波器,我们需要2个单位的存储空间,用来存储过去的输入值与输出值。这样的话,考虑N阶的滤波器,我们就需要2N个存储单元。这种结构被称作直接I型结构。

3.直接II型IIR滤波器

我们先观察上图的直接I型滤波器,将其视为有两个较小系统串联而成的系统。由于是串联,那么,顺序必定不影响输入输出结果,那么,我们将其调整一下位置。得到就像下图一样的一个新的系统。

        然后,我们可以发现,其实,这个系统完全没有必要使用两个延迟算子,可以合并使用。将其延迟算子合并,那么,可以得到下面这样一个系统。
        这个系统与之前的直接I型系统一样,拥有完全相同的输入输出特性。并且,节省了一半的延迟算子。实现这个滤波器所需要的存储空间为N。

转载 iir直接i型和直接ii型滤波器的更多相关文章

  1. (转载)wchar_t类型和char类型变量相互转换

    转载连接:https://www.cnblogs.com/zhangdewang/p/11420410.html和https://www.cnblogs.com/lanhaicode/p/105742 ...

  2. IIR滤波器设计(调用MATLAB IIR函数来实现)

    转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途         对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求 ...

  3. IIR数字滤波器的实现(C语言)

    经典滤波器和数字滤波器 一般滤波器可以分为经典滤波器和数字滤波器. 经典滤波器:假定输入信号中的有用成分和希望去除的成分各自占有不同的频带.如果信号和噪声的频谱相互重迭,经典滤波器无能为力.比如 FI ...

  4. MPI - 缓冲区和非阻塞通信

    转载自: Introduction to MPI - Part II (Youtube) Buffering  Suppose we have ) MPI_Send(sendbuf,...,,...) ...

  5. OpenCL Workshop 1 —— 数字音频滤波

    Introduction 这两年深度学习大火,Cuda跟着吃红利,OpenCL发展也很快.虽然OpenCL不是事实上的标准,但是作为开放标准,适应性是很强的,除了显卡之外,CPU/FPGA上都可以执行 ...

  6. Python语言类型

    Python是一门动态解释型的强类型语言. 对这句话进行解析,语言分为动态的和静态的,编译型和解释型的,强类型的和弱类型的语言之分. 下面对三种不同维度的类型的语言进行解释: 1.编译型和解释型 差别 ...

  7. 【转载】Recommendations with Thompson Sampling (Part II)

    [原文链接:http://engineering.richrelevance.com/recommendations-thompson-sampling/.] [本文链接:http://www.cnb ...

  8. 关于Nios II的启动分析(转载)

    原文地址:http://hi.baidu.com/goatdai/item/cc33671545d89243e75e06ad 常用到的存储器包括SDRMA.SRAM.FLASH.Onchip_memo ...

  9. (转载)OSI七层参考模型和TCP/IP四层参考模型

    Mallory   网络模型概念浅析 网络模型一般是指OSI七层参考模型和TCP/IP四层参考模型. #只是一种设计==模型# Open System Interconnect的缩写,意为开放式系统互 ...

随机推荐

  1. Linux关于yum命令Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.

    Linux关于yum命令Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx. 问题: Linux ...

  2. SQL-ALTER-change和modify区别

      ALTER 对于列的应用:   1.更改列名      格式:CHANGE old_col_name new_col_name column_definition      保留old和new列名 ...

  3. AngularJS的思考

    AngularJS实践 什么是AngularJS AngularJS的核心理念是什么? 在我看来,Angualr的核心思想是:Template + Scope => HTML, Template ...

  4. Winform与WPF异步修改控件属性

    Winform方式:     if (this.InvokeRequired)             {                 this.Invoke(                   ...

  5. LVS+Keepalived+Tomcat实现高可用性及均衡负载

    1.Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考 ...

  6. python 中 正则表达式 的应用

    python 中 正则表达式 的应用 最近作业中出现了正则表达式,顺便学习了一下. python比较厉害的一点就是自带对正则表达式的支持,用起来很方便 正则表达式 首先介绍一下什么是正则表达式. 正则 ...

  7. IE6+以上清除浮动普遍方法总结

    浮动,CSSfloat属性.学过的人应该知道这个属性,平时用的应该也是很多的.特别是在N栏布局中. 但是我们会经常遇到这样一种情况,前面的元素浮动之后会影响后面的元素,后面的元素需要用清除浮动来消灭前 ...

  8. springmvc跨域

    //mvc默认是text/plain;charset=ISO-8859-1@RequestMapping(value = "/xxx", produces = "appl ...

  9. 如何在MyEclipse中更改servlet模板 Jsp模板

    http://blog.csdn.net/sjw890821sjw/article/details/6995190 刚换上Myeclipse9.0,结果要修改servlet模板的时候不像Myeclps ...

  10. scala学习手记36 - 容器基础

    scala的容器包括Set.List和Map.三种容器的特征和Java中一样.scala为每种容器都提供了可变和不可变两种版本,分别位于scala.collection.mutable或scala.c ...