三iir数字滤波器的设计-read.ppt

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

实验三 IIR数字滤波器的设计 一、实验目的 掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。 熟悉Butterworth滤波器、Chebyshev滤波器和椭圆滤波器的频率特性。 二、实验原理与方法 (1)??? 脉冲响应不变法 用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值,即 h(n)= ha(nT) 其中T为采样间隔,如果以Ha(S)及H(z)分别表示ha(t)的拉式变换及h(n)的Z变换 (2) 双线性变换法 以低通数字滤波器为例,将设计步骤归纳如下: 确定数字滤波器的性能指标:通带临界频率fp、阻带临界频率fr;通带内的最大衰减Ap;阻带内的最小衰减Ar;采样周期T; 确定相应的数字角频率,ωp=2πfpT;ωr=2πfrT; 计算经过预畸的相应模拟低通原型的频率 根据Ωp和Ωr计算模拟低通原型滤波器的阶数N,并求得低通原型的传递函数Ha(s); 用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z); 分析滤波器特性,检查其指标是否满足要求。 三、实验内容及步骤 (1)、fp=0.3KHz,Ap=0.8dB, fr=0.2KHz,Ar=20dB,T=1ms;设计一Chebyshev高通滤波器;观察其通带损耗和阻带衰减是否满足要求。 方法一:采用双线性变换法 参考源程序如下: wc=2*1000*tan(2*pi*300/(2*1000)) wr=2*1000*tan(2*pi*200/(2*1000)); [N,wn]=cheb1ord(wc,wr,0.8,20,s) [B,A] = cheby1(N,0.8,wn,high,s); [num,den]=bilinear(B,A,1000); [h,w]=freqz(num,den); f = w/(2*pi)*1000; plot(f,20*log10(abs(h)),r); axis([0,500,-80,10]); grid; xlabel(频率/Hz ) ylabel(幅值/dB) 方法二:用matlab函数设计数字滤波器 % 方法:利用matlab提供的cheby1函数直接设计数字滤波器,源程序如下: wc=300/500 wr=200/500; [N,wn]=cheb1ord(wc,wr,0.8,20) [B1,A1] = cheby1(N,0.8,wn,high) [h1,w] = freqz(B1,A1); f = w/(2*pi)*1000; plot(f,20*log10(abs(h1)),r); axis([0,500,-80,10]); grid; xlabel(频率/Hz ) ylabel(幅值/dB) (2)、fp=0.2KHz,Ap=1dB, fr=0.3KHz,Ar=25dB,T=1ms;分别用脉冲响应不变法及双线性变换法设计一Butterworth数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。比较这两种方法的优缺点。 %上机实验内容(2)分别用脉冲响应不变法和双线性变换法设计巴特沃思数字低通滤波器 T = 0.001; fs = 1000; fc = 200; fr = 300; wp1 = 2*pi*fc wr1 = 2*pi*fr [N1,wn1] = buttord(wp1,wr1,1,25,s) [B1,A1] = butter(N1,wn1,s); [num1,den1] = impinvar(B1,A1,fs); [h1,w] = freqz(num1,den1); wp2 = 2*fs*tan(2*pi*fc/(2*fs)) wr2 = 2*fs*tan(2*pi*fr/(2*fs)) [N2,wn2] = buttord(wp2,wr2,1,25,s) [B2,A2] = butter(N2,wn2,s); [num2,den2] = bilinear(B2,A2,fs); [h2,w] = freqz(num2,den2); f = w/(2*pi)*fs; plot(f,20*log10(abs(h1)),-.,f,20*log10(abs(h2)),-); axis([0,500,-80,10]); grid; xlabel(频率/Hz ) ylabel(幅值/dB) (3

文档评论(0)

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

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

1亿VIP精品文档

相关文档