1课程设计课程设计名称:基于双线性变换法设计C-hebyshev-II型IIR数字低通滤波器专业班级:电信学生姓名:星空学号:指导教师:课程设计时间:2013年6月30日2数字信号处理专业课程设计任务书学生姓名星空专业班级电信学院名称信息科学与工程学院题目基于双线性变换法设计Chebyshev-II型IIR数字低通滤波器课题性质工程技术研究课题来源自拟指导教师同组姓名主要内容设计一个具有如下性能指标的Chebyshev-II型IIR数字低通滤波器:p=0.25,s=0.4,p=0.01,s=0.001;分析最后设计结果性能。任务要求1.掌握双线性变换法设计数字滤波器的基本流程;2.掌握Chebyshev-II型模拟低通原型滤波器;3.求出所设计滤波器的传输函数;4.绘制所设计滤波器的幅频特性图。参考文献[1]胡广书.数字信号处理—理论、算法与实现[M].北京:清华大学出版社,1997.[2]R.Lyons.UnderstandingDigitalSignalProcessing[M].2nded.PrenticeHallPTR.,2004.[3]A.V.奥本海姆,R.W.谢弗andJ.R.巴克.离散时间信号处理[M].第二版.西安交通大学出版社,2001.[4]S.K.Mitra.DigitalSignalProcessing:AComputer-BasedApproach[M].3rded.McGraw-Hill,2005.审查意见指导教师签字:教研室主任签字:2013年6月23日说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页31需求分析在本次课程设计中,我做的是基于双线性变换法设计Chebyshev-II型IIR数字低通滤波器,看到这个题目,我们很快就能联系到数字信号处理中的IIR数字滤波器的设计,根据以前学习的东西我们知道,要想设计一个数字低通滤波器,我们可以把所给的数字指标转换为模拟参数,通过设计一个模拟低通的滤波器,对设计好的模拟低通滤波器进行数字化就可以得到一个数字低通滤波器。在本次实验中,我们首先将所给的滤波器数字指标转换为模拟指标,利用Chebyshev-II型函数设计一个Chebyshev-II型低通模拟滤波器,然后对所设计好的Chebvshev-II型低通模拟滤波器进行参数分析,接下来利用双线性变化法将此模拟低通滤波器转变为数字低通滤波器。2概要设计图1滤波器设计流程方框图IIR滤波器的设计包括三个步骤:①给出所需要的滤波器的技术指标;②设计一个H(z)使其逼近所需要的技术指标:③实现所设计的H(z),IIR数字滤波器设计的最通用的方法是借助于模拟滤波器的设计方法。所以IIR数字低通滤波器的设计步骤是:①按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;②根据转换后的技术指标设计模拟低通滤波器G(s):③再按一定规则将G(s)转换成H(z)。确定数字低通滤波器的各项性能指标数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标按照模拟低通滤波器的技术指标设计模拟低通滤波器利用双线性变换法将模拟滤波器转变为数字低通滤波器利用模拟切比雪夫滤波器设计数字滤波器4在此过程中,我们用到了很多MATLAB中的函数,如设计切比雪夫低通滤波器的函数afd_chebl、由直接型转换为级联型的函数dir2cas、双线性变换的函数bilinear等。其中afd_chebl用于实现用模拟指标设计一个低通模拟滤波器,bilinear用于利用双线性变换法将模拟低通滤波器转换为数字低通滤波器。3运行环境硬件环境:PC机,windows2000及其以上,CPU,内存,硬盘软件环境:Windows7操作系统Matlab软件4开发工具和编程语言MATLAB软件,编程语言为DSP设计语言5详细设计在本次课程设计中,我们用到了很多关于函数调用的程序,下面我将详细的介绍一下本次课程设计中用到的部分程序。实验源程序代码:%归一化低通滤波器的技术指标clc;clearallAp=0.08;%通带最大衰减由AP=-20lg(1-p)得As=60;%阻带最小衰减由AP=-20lg(s)得Wp=0.25*pi;%通带截频Ws=0.4*pi;%阻带截频wp=tan(Wp/2);ws=tan(Ws/2);ws1=1%归一化wp1=wp/ws%用MTALAB算法设计归一化切比雪夫II型低通模拟滤波器[N,Wn]=cheb2ord(ws1,wp1,Ap,As,'s');%估计滤波器的阶数(N:阶数,wn:阻带截止频率)5wn1=Wn/pi;[BT,AT]=cheby2(N,60,Wn,'s');%计算低通滤波器系统函数多项式系数subplot(2,2,1);[Z,P,K]=cheby2(N,0.08,Wn,'s');[H,W]=zp2tf(Z,P,K);figure(1);[P,Q]=freqs(H,W);freqs(H,W);figure(2);subplot(1,1,1);fk=0:12000/512:12000;wk=2*pi*fk;Hk=freqs(BT,AT,wk);plot(fk/1000,20*log10(abs(Hk)));gridonxlabel('Frequency(Hz)')ylabel('MagnitudeResponse')%用双线性变换法将)(sH转换成数字滤波器)(zH,即[num,den]=bilinear(BT,AT,0.5)%复变量映射s-z[z,p,k]=tf2zp(num,den);%显示传输函数disp('分子系数:');disp(num);disp('分母系数:');disp(den);%计算增益响应w=linspace(0,pi,2048);%w=0:pi/255:pi;h=freqz(num,den,w);g=20*log10(abs(h)/max(abs(h)));%绘制增益响应figure;plot(w/pi,g);gridon;%绘制切比雪夫低通滤波器幅频特性axis([01-1001]);6xlabel('\omega/\pi');ylabel('增益/dB');title('切比雪夫2型低通滤波器幅频响应曲线');figure;zplane(z,p);%绘制传输函数零极点title('传输函数的零极点');subplot(1,1,1),plot(w/pi,angle(h)/pi);grid;xlabel('Normalizedfrequency');ylabel('相位响应');axis([01-11]);6调试分析编写程序有一定难度,起初是不会编写,经查找资料最终一步步编写出来,调试是不断出错,更多的错误是:函数未定义,函数功能调用错误,好几次因为输入法错误而导致运行失败,不过经过耐心的学习,最终还是调试出了比较理想的结果。7测试结果图二代码运行结果7图三切比雪夫2型模拟低通滤波器幅频曲线和相频曲线图四切比雪夫2型模拟低通滤波器幅值相应8图五切比雪夫2型数字低通滤波器幅频相应曲线图六切比雪夫2型数字低通滤波器相位相应曲线98参考文献[1]程佩青著,《数字信号处理教程》,清华大学出版社,2001[2]《数字信号处理实验指导书(MATLAB版)》SanjitK.Mitra著,电子工业出版社,2005年1月[3]郭仕剑等,《MATLAB7.x数字信号处理》,人民邮电出版社,2006年[4]胡广书,《数字信号处理理论算法与实现》,清华大学出版社,2003年[5]刘泉,阙大顺编数字信号处理原理与实现,电子工业出版社,2005年6月[6]苏金明,王永利编Matlab7.0使用指南,电子工业出版社,2004年11月[7]薛定宇陈阳泉编基于matlab/simulink的系统仿真技术与应用,清华大学出版社2002年10心得体会本次课程设计中,我的任务是用双线性变换法设计切比雪夫2型低通数字滤波器,并应用MATLAB软件进行仿真分析。这是数字信号处理的知识与软件应用相结合的一次训练,我受益匪浅。通过本次课程设计,我对平时所学的知识有了更深入的了解,对MATLAB的应用也较以前熟练,知识与应用相结合提高了我的学习热情,在实验中,我确实遇到了一些问题,但通过我们的共同努力,最终还是解决了问题,收获了宝贵的经验。我相信,在下一阶段的学习中,我会取得更优异的成绩。