IIR数字滤波器的MATLAB实现01.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 IIR数字滤波器的MATLAB实现 6.1 实验目的 要求掌握数字滤波器的设计原理掌握数字巴特沃斯滤波器的设计原理和步骤; 其中,和是滤波器的系数,其中中至少有一个非零。与之相对应的差分方程为: 由传递函数可以发现无限常单位冲激响应滤波器有如下特点: 单位冲激响应h(n)是无限长的。 系统传递函数H(z)在有限z平面上有极点存在。 结构上存在着输出到输入的反馈,也就是结构上是递归型的。 6.2.2 IIR数字滤波器的设计与实现 IIR数字滤波器的设计有多种方法,如频率变换法、数字域直接设计以及计算辅助设计等。下面只介绍频率变换设计法。首先考虑由模拟低通滤波器到数字低通滤波器的转换,其基本的设计过程如下: 将数字滤波器的技术指标转换为模拟滤波器的技术指标; 设计模拟滤波器G(S); 将G(S)转换成数字滤波器H(Z); 在低通滤波器的设计基础上,可以得到数字高通、带通、带阻滤波器的设计流程如下: 给定数字滤波器的设计要求(高通、带阻、带通); 转换为模拟(高通、带阻、带通)滤波器的技术指标; 转换为模拟低通滤波器的指标; 设计得到满足第三步要求的低通滤波器传递函数; 通过频率转换得到模拟(高通、带阻、带通)滤波器; 变换为数字(高通、带阻、带通)滤波器。 在matlab中设计IIR滤波器的方法及其它们所用到的函数如表6-1所示。 表6-1 matlab中设计IIR滤波器的方法列表 方法 描述 函数 模拟原型法 采用经典低通滤波器作为连续域上的设计模型,通过频率变换得到IIR数字滤波器,最后进行离散化处理 完整设计函数: Beself,butter,cheby1,cheby2,ellip 滤波器的阶估计函数: Buttord,cheb1ord,cheb2ord,ellipord 低通模拟滤波器原型函数: beselap,buttap,cheb1ap,cheb2ap,ellipap 频域变换函数: Lp2bp,lp2bs,lp2hp,lp2lp 其他函数: Bilinear,impinvar 直接设计方法 直接在离散时域上估计线性的幅度响应 yulewalk 通用butterworth 设计方法 使用butterworth设计低通数字滤波器 Maxflat 参数建模方法 寻找接近于所需要设计的滤波器的通用原型 时域上的建模函数: Lpc,prony,stmcb 频域上的建模函数: Invfreqs,invfreqz 表6-2 频率转换函数列表 频率转换 转换函数 低通到低通 [numt,dent]=lp2lp(num.den,w0) [At,Bt,Ct,Dt]=lp2lp(A,B,C,D,w0) 低通到高通 [numt,dent]=lp2hp(num.den,w0) [At,Bt,Ct,Dt]=lp2hp(A,B,C,D,w0) 低通到带通 [numt,dent]=lp2bp(num.den,w0) [At,Bt,Ct,Dt]=lp2bp(A,B,C,D,w0) 低通到带阻 [numt,dent]=lp2bs(num.den,w0) [At,Bt,Ct,Dt]=lp2bs(A,B,C,D,w0) 6.2.3 标准数字滤波器设计函数 Matlab提供了一组标准的数字滤波器设计函数,大大简化了滤波器的设计过程。 butter 功能:Butterworth模拟/数字滤波器设计 格式:[b,a]=butter(n,wn,ftype,’s’) [b,a]=butter(n,wn,ftype) 说明: 选项中加入‘S’用于设计各种模拟Butterworth滤波器;不加设计各种数字Butterworth滤波器 Ftype为缺省,设计低通滤波器 Ftype=hign,设计高通滤波器 Ftype=stop,设计带阻滤波器 【实例6-1】设计一个5阶Butterworth数字高通滤波器,阻带截止频率为250Hz。设采样频率为1000Hz。 解:源代码如下: [b,a]=butter(5,250/500,high) [z,p,k]=butter(5,250/500,high) freqz(b,a,512,1000) 程序运行后,产生结果如下所示。 b = 0.0528 -0.2639 0.5279 -0.5279 0.2639 -0.0528 a = 1.0000 -0.0000 0.6334 -0.0000 0.0557 -0.0000 z = 1 1 1 1 1 p = 0.0000 + 0.7265i 0.0000 - 0.7265i 0.0000 + 0.3249i 0.0000 -

文档评论(0)

14576 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档