湖南文理学院课程设计报告实习名称:IIR高通滤波器的设计教学院部:电气与信息工程学院专业班级:通信工程09103班学生姓名:蓝学生学号:200916020326指导教师:朱明旱完成时间:2012年06月14日报告成绩:评阅意见:评阅教师日期摘要此报告重点介绍了用双线性不变法设计IIR数字滤波器的基本流程,比较了各种设计方法的优缺点,总结了模拟滤波器的性能特征。最后以双线性不变法设计了一个高通巴特沃斯IIR数字滤波器,介绍了设计步骤,然后在Matlab环境下进行了仿真与调试,实现了设计目标。关键词:Matlab双线性不变法IIR数字滤波器巴特沃斯高通AbstractThisreportintroducedwithemphasisofthebasicflowofdesigningtheIIRdigitfilterbythebilinearpoliticalreform,comparedwitheachkindofdesignmethod'sgoodandbadpoints,summarizedanalogfilter'sperformancecharacteristic.FinallydesignonebythebilinearpoliticalreformtopassButterworthhighIIRdigitfilter,introducedthedesignprocedure,thenhascarriedonthesimulationandthedebuggingundertheMatlabenvironment,hasachievedtheprojectobjective.Keyword:MatlabbilinearitypoliticalreformtheIIRdigitalfilterpasshighbutterworth一、设计目的课题要求设计一个IIR数字滤波器,高通,采用双线性变换法,用巴特沃斯实现,用matlab软件对其进行仿真与调试。本设计将先说明用双线性法设计IIR数字滤波器的原理,然后写出基于matlab的软件设计流程。在对设计进行调试,分析实验数据。二、设计要求(1)掌握双线性变换法设计iir高通滤波器的设计。(2)要有设计的源程序和matlab仿真的结果(3)要严谨的、要有理有据的编写课程设计报告并及时的提交给老师检查三、设计原理3.1数字滤波器的分类1、从实现的网络结构划分:无限脉冲响应(IIR)01()1MkkkNkkkbzHzaz有限脉冲响应(FIR)10()()NnnHzhnz2、数字滤波器的技术要求()()|()|jjjQHeHee|()|jHe是幅频特性,它表示信号通过该滤波器后各频率成分衰减情况,一般选频滤波器的技术要求由它给出。()Q是相频特性,反映各频率成分通过滤波器后在时间上的延时情况,如果对输出波形有要求,就要考虑相频特性的技术指标。3.2IIR数字滤波器的设计方法频率变换法:借助于模拟滤波器的设计IIR滤波器设计的主要方法是先设计低通模拟滤波器,然后转换为高通、带通或带阻数字滤波器。对于其他如高通,带通,则通过频率变换转换为设计相应的高通,带通等。在设计的全过程的各个步骤,matlab都提供相应的工具箱函数,使得IIR数字滤波器设计变得非常简单。总的来说,我的设计思路主要有以下两种:思路一:从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。模拟域冲激响应不变法频率变换双线性变换法图2-1先频率变换再离散思路二:先进行双线性变换,将模拟低通原型滤波器变换成数字低通滤波器;然后在Z域内经数字频率变换为所需类型的数字滤波器。数字域双线性变换法频率变换图2-2先离散再频率变换3.3设计的具体要求1、设计要求参数和题目采用双线性变换法设计一巴特沃斯高通滤波器,其通带截止频率为3khz,阻带上限截止频率为1.5khz,通带衰减不大于3db,阻带衰减不小于16db,采样频率为10khz归一化模拟低通原型模拟高,带通或带阻数字高,带通或带阻归一化模拟低通原型数字原型低通数字高,带通或带阻2、设计的思路IIR数字滤波器的设计借助模拟滤波器原型,再将模拟滤波器转换成数字滤波器,这些过程已经成为一整套成熟的设计程序。模拟滤波器的设计已经有了一套相当成熟的方法,它不但有完整的公式,而且还有较为完整的图表查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大的方便。已知数字低通滤波器的设计要求wp,ws,Rp和As,首先设计一个等效的模拟滤波器,然后再将它映射为所期望的数字滤波器来确定H(z)。对这个过程所要求的步骤是:1)选取T并确定模拟频率:,pspsTT利用设计参数Ωp,Ωs,Rp和As,设计一个模拟滤波器Ha(s);这可以利用模拟滤波器的原型来完成;3)再将(1)代入Ha(s),求出H(z)。3.4理论设计的参数计算1、求对应数字的频率33231020.61010ccsfwf33231020.41010ststsfwf2、求常数1c采用归一化(1cW=)原型低通滤波器作为变换的低通原型,则低通到高通的变换所需的1c10.6tan1tan()1.3763819222ccwC3、求低通原型stW设stW为满足数字高通滤波器的归一化原型模拟低通滤波器的阻带起始截止频率,则可按1cot2wC的预畸变换关系来求,得1cot1.37638191.37638191.89442722ststwC4、求阶次N按阻带衰减求原型归一化模拟低通滤波器的阶次N。有巴特沃斯低通滤波器频率响应公式去对数,即21020log|()|log[1]14NstastcHj其中1cW=解得1.4log1011.38235692.49093142log1.89442720.5549558N取N=3。5、求归一化巴特沃斯低通原型的()aHs去N=3,查表可得()LPHs为321()221LPHssss=+++6、求数字滤波器的系统函数11111()()|HPLPzsczHzHs--+=-=最终求得123321113232321111111231113232321111111111(133)221()32233222211321221221HPzzzcccHzccccccccczzzccccccccc-------+-+++=+-----+-++++++++++++将1c代入,可求得1231230.09907984(133)()10.57178480.42011670.5569325HPzzzHzzzz-------+-=+++四、原程序清单%任务指标fph=3*1000;%模拟域通带截止频率fsh=1.5*1000;%模拟域阻带截止频率fs=3*1000;%采样频率rp=3;rs=16;%通带衰减,阻带衰减omegaph=fph/(fs/2);%通带截止频率归一化omegash=fsh/(fs/2);%阻带截止频率归一化[N,wn]=cheb1ord(omegaph,omegash,rp,rs)%调用cheb1ord工具函数得到滤波器阶数和截止频率[BZ,AZ]=cheby1(N,rp,wn,'high')%调用cheby1函数得高通滤波器传递函数系数ht=impz(BZ,AZ);%调用impz函数画滤波器冲击响应n=0:511;%输入信号离散化t=n/fs;x=2*sin(2*pi*1000*t)+5*sin(2*pi*3000*t);%输入信号包含f=1000hz,f=3000hz的正弦波y=filter(BZ,AZ,x);%调用该滤波器得该输出信号%滤波器频响特性曲线figure(1);freqz(BZ,AZ,512,1.5*10000)gridon;%滤波器冲击响应曲线figure(2);plot(ht)gridon;%输入信号时域波形图figure(3);axis([0,0.01,-7,7]);plot(t,x);title('输入信号');gridon;%输出信号离散序列figure(4);stem(y,'.');title('输出序列');gridon;%输出信号时域波形图figure(5);ya=y*sinc(fs*(ones(length(n),1)*t-(n/fs)'*ones(1,length(t))));plot(t,ya);axis([0,0.01,-7,7]);title('输出波形');gridon;%输入信号频谱图figure(6);N1=512;y=fft(x,N1);f=(0:length(y)-1)'*fs/length(y);mag=abs(y);stem(f,mag);title('N1=512点');%输出信号频谱图figure(7);yb=fft(ya,N1);f=(0:length(yb)-1)'*fs/length(yb);mag=abs(yb);stem(f,mag);title('N1=512点');五、仿真结果N=3wn=0.4333BZ=0.0204-0.12250.3063-0.40840.3063-0.12250.0204AZ=1.00000.66681.58331.13200.95520.46840.1951图1滤波器频率响应曲线六.设计的心得和体会在课设之前,我对MATLAB软件,特别是滤波器设计中的函数基本上处于一种模糊状态。通过在学校的电子资源的期刊网上找了些论文资料,借阅图书,一点一滴的自学,以及和同学不断的交流,最后完成了这次课设,对滤波器的设计有了比较清楚的了解。MATLAB软件拥有出色的图形绘制功能,简洁明了的编程环境,精准的数值计算,与线性代数的巧妙结合,赋予了matlab独特的魅力与价值如今:MATLAB产品族可以用来进行以下各种工作:●数值分析●数值和符号计算●工程与科学绘图●控制系统的设计与仿真●数字图像处理技术●数字信号处理技术●通讯系统设计与仿真MATLAB在通讯系统设计与仿真的应用●财务与金融工程MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。在课程设计的过程中,我学到了很多东西,比如设计滤波器的一些基本函数的用法,各种模拟滤波器的特性,设计滤波器的一些基本方法。但更为重要的是,我对于解决一个问题的思路更加清晰,找到了属于自己的方法。当然,在设计的过程中,不可能避免的遇到了很多问题,如刚开始思路比较混乱,没有明确的方向。主要是如何将理论计算的模型转换为仿真模型。因为在理论上,将低通转换成高通,一般是变换将高通频率特征转换成低通原型频率特征;而在软件设计中,是对其传递函数进行修改,即变换其z域的表达式,设计初期一直不知道如何将其联系起来。后来发现,其实变换传递函数,也就是变换频率特征,是将变换后的频率代入原低通模型,而后得到高通模型的。总的来说,这次课程设计让我对MATLAB有了更深刻的了解,对MATLAB语言的发展和特点有了更深的了解,并且进一步掌握了MATLAB的使用方法.,熟悉其工作环境,并掌握了MATLAB的基本语法,了解了MATLAB程序书写的一般思路及一般步骤,学会了用MATLAB解决复杂信号处理等问题的方法。对数字滤波器的设计流程有了大致的了解,掌握了一些设计滤波器的基本方法,提高了理论用于实践的能力,掌握了更多专业相关的使用知识与技能。这次课程设计培养了独立思考的能力,增强了我们自己的动手能力,同时,也暴露了我很多的不足,在以后的学习中,将进一步发扬有点,克服缺点。七.参考文献[1].《数字信号处理教程(第三版)》,陈佩青,清华大学出版社。[2].《MATLAB数字信号处理与应用》