资源描述:
《双线性变换法设计IIR数字滤波器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、双线性变换法设计IIR数字滤波器一、实验目的1.掌握利用双线性变换法设计IIR数字滤波器的原理和具体方法。2.深理解利用双线性变换法设计IIR数字滤波器的优缺点及使用范围。二、实验内容1.利用巴特沃思模拟滤波器,通过双线性变换法设计巴特沃思数字滤波器,数字滤波器的技术指标为通带临界频率fp=0.2πrad ,通带内衰减小于rp=1dB; 阻带临界频率fs=0.3πrad,阻带内衰减大于rs=10dB;采样频率为FS=π/64.程序代码T=64/pi;%设置采样周期为π/64fs=1/T;%采样频率为周期倒数wpz=0.2;wsz=0.3;%设置归一化通带和阻带截止频率Wp=2*tan(wpz*
2、pi/2);Ws=2*tan(wsz*pi/2);Ap=1;As=10;%设置通带最大和最小衰减[N,Wc]=buttord(Wp,Ws,Ap,As,'s');%调用butter函数确定巴特沃斯滤波器阶数[B,A]=butter(N,Wc,'s');%调用butter函数设计巴特沃斯滤波器W=linspace(0,pi,400*pi);%指定一段频率值[D,C]=bilinear(B,A,fs);%调用双线性变换法[Hz,W]=freqz(D,C,W);%返回频率响应sys=tf(D,C,T)%给出传输函数H(z)subplot(3,1,1);plot(W,abs(Hz)/abs(Hz(1))
3、);%绘出巴特沃斯数字低通滤波器的幅频特性曲线gridon;title('巴特沃斯数字滤波器1');xlabel('Frequency/Hz');ylabel('Magnitude');subplot(3,1,2);plot(W,20*log10(abs(Hz)));gridon;title('巴特沃斯数字滤波器1');xlabel('Frequency/Hz');ylabel('dB');[Nd,wdc]=buttord(wpz,wsz,Ap,As);[Bdz,Adz]=butter(Nd,wdc);[Hzz,W]=freqz(Bdz,Adz,W);subplot(3,1,3);plot(W
4、,abs(Hzz)/abs(Hzz(1)));gridon;title('巴特沃斯数字滤波器2');xlabel('Frequency/Hz');ylabel('Magnitude');总结与体会 在课设之前,我对滤波器设计中的函数基本上处于一种模糊状态。通过在学校的电子资源的期刊网上找了些资料一点一滴的自学,以及和同学不断的交流,最后完成了这次课设,对滤波器的设计有了比较清楚的了解。 在课程设计的过程中,我学到了很多东西,比如设计滤波器的一些基本函数的用法,各种模拟滤波器的特性,设计滤波器的一些基本方法。但更为重要的是,我对于解决一个问题的思路更加清晰,找到了属于自己的方法。当然,在设计的过
5、程中,不可能避免的遇到了很多问题,如刚开始思路比较混乱,没有明确的方向。主要是如何将理论计算的模型转换为仿真模型。。 总的来说,这次课程设计让我对MATLAB有了更深刻的了解,对数字滤波器的设计流程有了大致的了解,掌握了一些设计滤波器的基本方法,提高了理论用于实践的能力,掌握了更多专业相关的使用知识与技能。同时,也暴露了我很多的不足,在以后的学习中,将进一步发扬有点,克服缺点。