- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字信号处理实验指导书(四).doc
“数字信号处理”实验指导书(四)
一、实验课程编码:105003
二、实验课程名称:数字信号处理
三、实验项目名称:应用MATLAB设计IIR数字滤波器
四、实验目的
掌握应用MATLAB设计IIR数字滤波器的方法,即熟悉应用MATLAB设计IIR滤波器相关的函数。
五、主要设备
安装有MATLAB软件的电脑
六、实验内容
编写MATLAB程序,实现下列题目:
1.设计数字低通滤波器,要求在通带内频率低于0.2πrad时,允许幅度误差在1dB以内,在频率0.3πrad~πrad之间的阻带衰减大于15dB,
即ωp=0.2πrad,Rp=1dB,ωs=0.3πrad,AS =15dB
用脉冲响应不变法设计数字滤波器,模拟滤波器采用切比雪夫I型滤波器原型,T=1。画出所设计的滤波器的幅度响应。
2.设计低通数字滤波器,要求
ωp=0.2πrad , Rp =1dB, ωs=0.3πrad, AS=15dB
用双线性变换法设计数字滤波器,模拟滤波器采用巴特沃斯滤波器原型,T=1。画出所设计的滤波器的幅度响应。并与上题结果进行比较。
3.设计一个巴特沃斯高通滤波器,要求
ωp=0.6πrad , Rp =1dB, ωs=0.4πrad, AS=15dB
用MATLAB提供的直接设计IIR数字滤波器的函数buttord及butter。T=1。
4. 利用切比雪夫I型设计一个数字高通滤波器,使其满足:
采用数字域频率变换法、双线性变换法。T=1。
5. 利用切比雪夫I型设计一个数字带通滤波器,使其满足:
采用数字域频率变换法、双线性变换法。T=1。
七、实验步骤
1、熟悉与离散信号频谱分析相关的MATLAB函数(参考附录1);
2、通过运行附录2中提供的例题,熟悉用MATLAB设计IIR数字滤波器的基本方法;
3、根据“六、实验内容”中各个题目的要求,编写MATLAB程序代码,调试程序,分析并保存结果。
八、实验结果
对实验练习题编写MATLAB程序并运行,在计算机上输出仿真结果。
附录1 主要的相关MATLAB函数
1.buttord.m
调用格式:〔N,Wn〕=buttord(Wp,Ws, Rp, Rs)
〔N,Wn〕=buttord(Wp,Ws, Rp, Rs,’s’)
2.buttap.m
调用格式:〔z,p,k〕=buttap(N)
3.butter.m
调用格式:〔B,A〕=butter(N,Wn,’TYPE’)
4.cheb1ord.m
5.cheb1ap.m
6.cheby1.m
7.cheb2ord.m
8.cheb2ap.m
9.cheby2.m
文件4~9的调用格式与文件1~3的调用格式类似。
10.bilinear.m
调用格式:〔Bz,Az〕=bilinear(B,A,Fs)
11.impinvar.m
调用格式:〔Bz,Az〕=impinvar(B,A,Fs)
附录2 例题
例1、设计一个低通模拟巴特沃斯滤波器,使其满足:
通带:
阻带:
[MATLAB程序]:
% design Butterworth lowpass filter.
% Wp,Ws:rad/s,Rp,As:dB
Wp=20000*pi;
Ws=30000*pi;
Rp=1;
As=15;
Ripple=10^(-Rp/20);
Attn=10^(-As/20);
% Analog filter design;
[b,a]=afd_butt(Wp,Ws,Rp,As);
%calculation of second-order sections:
[C,B,A]=sdir2cas(b,a);
% calculation of frequency response;
[dB,mag,pha,w]=freqs_m(b,a,50000*pi);
% calculation of impulse response:
[ha,x,t]=impulse(b,a);
% plot figures
figure(1),clf;
subplot(2,2,1);
plot(w/pi,mag);
title(Magnitude Response);
xlabel(Analog frequency in pi units);
ylabel(H);
axis([0,50000,0,1.1]);
set(gca,XTickMode,manual,XTick,[0,20000,30000,50000]);
set(gca,YTickMode,manual,YTick,[0,Attn,Ripple,1]);
grid;
subplot(2,2,2);
plot(w/pi,dB);
title(Magnitu
文档评论(0)