网站大量收购闲置独家精品文档,联系QQ:2885784924

实验7用双线性变化法设计IIR数字滤波器.doc

实验7用双线性变化法设计IIR数字滤波器.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验7用双线性变化法设计IIR数字滤波器

数字信号处理实验 实验目的 ?熟悉模拟巴特沃兹(Batterworth)滤波器设计和用双线性变换去设计IIR数字滤波器的方法。?? 实验原理 利用双线性变换法设计IIR数字滤波器,首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR数字滤波器的系统函数Ha(z)。如果给定的指标为数字滤波器的指标,直接利用模拟滤波器的低通原型,通过频率变换关系可一步完成数字滤波器的设计。 低通数字滤波器的设计 数字域与模拟域关系:Ωc=(2/T)tan(ωc/2);H(z)=Ha(s)|s=(2/T)(1-Z-1)/(1+Z-1)? 式中:ωc是低通数字滤波器的截止频率,T为取样周期。?? 三、实验内容? 编写用双性变换法设计巴特沃兹低通IIR数字滤波器的程序,要求通带内频率低于0.2pi rad时,容许幅度误差在1dB之内,频率在0.3rad到pi rad之间的阻带衰减大于10dB。 用双线性变换法设计Butterworth低通IIR数字滤波器,要求使用buttord, butter和bilinear函数。滤波器技术指标:取样频率1Hz,通带内临界频率0.2Hz,通带内衰减小于1dB;阻带临界频率0.3Hz,阻带内衰减大于25dB。 ? 以64?为取样间隔,在屏幕上打印出数字滤波器的频率区间[?,0]?上的幅 频响应特性曲线|)(|jweH或?|)(|log2010jweH???????。? 在屏幕上打印出H(z)的分子,分母多项式系数。 代码: (1) clear all ; %数字域 wp = 0.2 * pi ; ws = 0.3 * pi ; Rp = 1 ; Rs = 10 ; Fs = 1 ; wp2 = 2 * Fs * tan(wp / 2) ; ws2 = 2 * Fs * tan(ws / 2) ; [N , Wn] = buttord(wp2 , ws2 , Rp , Rs , s) ; [Z , P , K] = buttap(N) ; [Bap , Aap] = zp2tf(Z , P , K) ; [b , a] = lp2lp(Bap , Aap , Wn) ; [bz , az] = bilinear(b , a , Fs) ; [H , W] = freqz(bz , az) ; subplot(2 , 1 , 1) ; plot(W / pi , abs(H)) ; xlabel(f) ylabel(p-p) subplot(2 , 1 , 2) plot(W / pi , 20 * log10(abs(H))) ; xlabel(f) ylabel(db) (2) clear all ; %模拟域 wp = 0.2 * pi * 2 ; ws = 0.3 * pi * 2; Rp = 1 ; Rs = 25 ; Fs = 1 ; Ts = 1 / Fs ; wp1 = wp * Ts ; ws1 = ws * Ts ; wp2 = 2 * Fs * tan(wp1 / 2) ; ws2 = 2 * Fs * tan(ws1 / 2) ; [N , Wn] = buttord(wp2 , ws2 , Rp , Rs , s) ; [b , a] = butter(N , Wn , s) ; [bz , az] = bilinear(b , a , Fs) ; [H , W] = freqz(bz , az) ; subplot(2 , 1 , 1) ; plot(W / pi , abs(H)) ; xlabel(f) ylabel(p-p) subplot(2 , 1 , 2) plot(W / pi , 20 * log10(abs(H))) ; xlabel(f) ylabel(db) (3) clear all ; %模拟域 wp = 0.2 * pi * 2 ; ws = 0.3 * pi * 2; Rp = 1 ; Rs = 25 ; Fs = 1 ; Ts = 1 / Fs ; wp1 = wp * Ts ; ws1 = ws * Ts ; wp2 = 2 * Fs * tan(wp1 / 2) ; ws2 = 2 * Fs * tan(ws1 / 2) ; [N , Wn] = buttord(wp2 , ws2 , Rp , Rs , s) ; [Z , P , K] = buttap(N) ; [Bap , Aap] = zp2tf(Z , P , K) ; [b , a] = lp2lp(Bap , Aap , Wn) ; [bz , az] = bilinear(b , a , Fs

文档评论(0)

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

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

1亿VIP精品文档

相关文档