- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAGE
第=1+1页共sectionpages7页
实验5IIR数字滤波器的设计
一、实验目的
(1)加深对脉冲响应不变法、双线性变换法的了解;
(2)掌握MATLAB进行滤波器设计的子函数。
二、知识点提示
本章节的主要知识点是使用脉冲响应不变法、双线性变换法设计IIRDF;重点是掌握利用脉冲响应不变法、双线性变换法设计数字低通、高通、带通、带阻滤波器的方法;难点是MATLAB相关子函数的使用。
三、实验涉及的MATLAB子函数
1.buttord
功能:确定巴特沃斯滤波器的阶数和3dB截止频率。
调用格式:①[n,wn]=buttord(wp,ws,Rp,As)
其中,,其值为1时表示0.5Fs。Rp为通带最大衰减指标,As为阻带最小衰减指标。
②[n,wn]=buttord(wp,ws,Rp,As,’s’)
wp、ws可以是实际的频率值或角频率值,wn将取相同的量纲。Rp为通带最大衰减指标,As为阻带最小衰减指标。当wpws时为高通滤波器,当wp、ws为二元向量时,为带通或带阻滤波器,此时wn也为二元向量。
2.buttap
功能:巴特沃斯模拟滤波器原型
调用格式:[z,p,k]=buttap(n)
3.lp2lp、lp2hp、lp2bp、lp2bs模拟域频率变换的子函数
功能:低通原型到模拟低通滤波器的变换、低通原型到模拟高通滤波器的变换、低通原型到模拟带通滤波器的变换、低通原型到模拟带阻滤波器的变换。
调用格式:[bt,at]=lp2lp(b,a,w0)
将传递函数表示的截止频率为1rad/s的模拟低通滤波器原型变换成截止频率为w0的低通滤波器。
4.butter
功能:巴特沃斯滤波器设计的完全函数。
调用格式:[b,a]=butter(n,wn,’ftype’)
n为滤波器阶数,wn为滤波器截止频率(0~1)。(在MATLAB滤波器设计工具函数中,数字频率采用标准化频率,取值范围为0~1之间,标准化频率1对应数字频率π,对应的模拟频率为采样频率的一半。)’ftype’为滤波器类型:’high’为高通,截止频率wn;’stop’为带阻,截止频率wn=[w1,w2];缺省时为低通和带通滤波器,低通滤波器时wn为截止频率,带通滤波器时wn=[w1,w2]。
5.impinvar
功能:用脉冲响应不变法实现模拟到数字滤波器的变换。
调用格式:[bd,ad]=impinvar(b,a,Fs)
将模拟滤波器系数b,a变换成数字滤波器系数bd,ad,两者冲激响应不变。Fs缺省值为1Hz。
6.bilinear
功能:双线性变换,将s域映射到z域的标准方法。
调用格式:①[numd,dend]=bilinear(num,den,fs)
将模拟域传递函数变换为数字域传递函数,fs为取样频率。
②[numd,dend]=bilinear(num,den,fs,fp)
将模拟域传递函数变换为数字域传递函数,fs为取样频率,fp为通带截止频率。
四、实验原理
在MATLAB中,经典设计IIR数字滤波器采用下面步骤:
(1)根据给定的性能指标和方法,首先对设计性能指标中的频率指标进行转换,转换后的频率指标作为模拟滤波器原型设计指标;
wp=0.2*pi;ws=0.3*pi;rp=1;as=15;fs=10000;omgp=wp*fs;omgs=ws*fs;
(2)估计模拟滤波器最小阶数和边界频率,可利用MATLAB工具函数buttord,cheblord等。
[n,omgc]=buttord(omgp,omgs,rp,as,s);
(3)设计模拟低通滤波器原型,可利用MATLAB工具函数buttap,cheblap等;
[z,p,k]=buttap(n);
(4)由模拟低通原型经频率变换得到模拟滤波器(低通、高通、带通、带阻),可利用MATLAB工具函数lp2lp,lp2hp,lp2bp,lp2bs等;
[bap,aap]=zp2tf(z,p,k);[ba,aa]=lp2lp(bap,aap,omgc);
【或者将上面的两步合并,利用巴特沃斯设计的完全函数butter实现[ba,aa]=butter(n,omgc,s);】
(5)将模拟滤波器离散化得到IIR数字滤波器,可利用MATLAB工具函数bilinear,impinvar等。
[bd,ad]=impinvar(ba,aa,fs);
五、实验内容
1.利用脉冲响应不变法,用巴特沃斯滤波器原型设计一个低通滤波器,满足:采样频率为10KHz,通带截止频率、通带最大衰减、阻带截止频率和阻带最小衰减分别为
代码:
wp=0.2*pi;
ws=0.3*pi;
rp=1;
as=15;
fs=10000;
omgp=wp*fs;
omgs=ws*fs;
[
文档评论(0)