您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 基于MATLAB的低通IIR滤波器设计
吉首大学信息科学与工程学院课程设计报告书课程通信系统设计与仿真课题:基于MATLAB的低通IIR滤波器设计姓名:曾杰、刘潇雄、刘送杰学号:20124055079、2012405507620124055077专业:通信工程年级:2012级指导教师:雷可君基地指导教师:雷可君2015年11月2一、项目介绍与设计目的Matlab信号工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用这些函数就可以很方便地对滤波器进行设计。用切比雪夫Ⅱ设计数字滤波器的函数如下:ChebysheveⅡ型滤波器:[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs)[b,a]=cheby2(N,Rs,Wn)[b,a]=cheby2(N,Rs,Wn,′ftype′)[h,f]=freqz(b,a,n,Fs)IIR数字滤波器具有无限宽的冲击响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。例如利用脉冲响应不变法设计IIR数字滤波器,其基本设计思路是直接设计一个数字滤波器并让它的时间特性逼近一个模拟滤波器。为了达到时间特性的最佳逼近,把模拟滤波器的冲击响应均匀取值,作为数字滤波器的单位脉冲响应,即:h(n)=h(t)|t-nT然后将h(n)通过z变换即求得H(z)。因此,脉冲响应不变法实际是时域取样法,整个过程是先根据给定的指标设计一个模拟滤波器,进而按下列变换的顺序,最后求得数字滤波器的系统函数H(z),即:H(s)→h(t)→h(n)→H(z)在对滤波器进行实际设计时,整个过程运算量是很大的。设计完成后要对已设计的滤波器的频率响应进行校核,得到幅频相频响应特性,运算量也是很大的。通常,待设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断进行调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量,直观简便。3二、设计方案1.项目环境要求MATLAB7.0、windowXP2.项目功能模块IIR数字滤波器的设计流程图如下:3.设计内容1.利用FDATool界面设计FDATool(FilterDesign&AnalysisTool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB6.0以上的版本还专门增加了滤波器设计工具箱(FilterDesignToolbox)。FDATool界面为滤波器的设计提供了一个交互式的设计环境,用户可以根据对幅值和零极点图的设置,设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方法,它们都具有标准的频率带宽结构。下面以模拟巴特沃斯滤波器设计数字低通滤波器为例,具体介绍如何利用FDATool界面设计IIR数字滤波器的方法。应用实例:设计通带截止频率为500Hz、阻带截止频率为600Hz、通带的最大衰减为1dB、阻带的最小衰减为50dB、采样频率为2000Hz的数字低通巴特沃斯滤波器。首先打开FDATool的设计界面,按照题目要求给出各项参数的设置,如图1所示。图1FDATool设计界面图1中,在FilterType中选择带宽结构为Lowpass(低通滤波器);在DesignMethod选项中选择IIRButterworth(巴特沃斯滤波器);在FilterOrder项中选取该滤波器类型的阶4数为MinimumOrder(最小阶数);在FrequencySpecifications项中给出设计滤波器的频率响应性能参数,采样频率Fs=2000Hz,通带截止频率Fpass=500Hz,阻带截止频率Fstop=600Hz;在MagnitudeSpecifications项中给出设计滤波器的幅值响应性能参数,通带的最大衰减Apss=1dB,阻带的最小衰减Astop=50dB。设置完以后点击DesignFilter即可得到所设计的IIR滤波器。通过菜单选项Analysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。在整个设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的FIR滤波器和IIR滤波器也都可以使用FDATool来设计。3.Simulink仿真Simulink是MATLAB软件的扩展,是一个实现动态系统建模和仿真的软件包。它与MATLAB语言的主要区别在于:Simulink与用户交互接口是基于Windows的模型化图形输入,因而用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。所谓模型化图形输入是指Simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型,进而进行仿真与分析下面介绍如何调用Simulink中的功能模块来实现IIR数字滤波器仿真的方法,在仿真过程中,可以双击各功能模块,随时改变参数,以便获取不同状态下的仿真结果。本次设计是对带有白噪音的正弦波信号进行滤波处理,调用Simulink中的功能模块构成数字滤波器的仿真框图,如图2所示。在图2中,应用了Simulink环境中的SignalProcessingBlockset工具箱。该工具箱提供了一些滤波器模型,在设计时通过设置相应的参数即可得到需要的数字滤波器模型。对于输入信号,通过DSPSources模块中的一个白噪音信号模块RandomSource和一个正弦波信号模块SineWave,叠加在一起形成一个带有干扰信号的杂质波。对于滤波器的图2IIR数字滤波器仿真图设计,通过FilterDesigns模块中的DigitalFilterDesign模块设计符合要求的低通滤波器,对带有干扰的原始信号进行滤波。此外,图2中还有两个信号输出模块,分别应用DSPSinks模块中的VectorScope模块输出滤波前和滤波后的波形图,VectorScope1用来输出5带有干扰的原始信号,VectorScope用来输出经滤波器滤波之后的信号,以便在仿真运行的过程中可以动态地观察滤波效果。例如在滤波器设计模块中设置2阶低通IIR数字滤波器,采样频率为1000Hz仿真运行后的结果如图3所示。从图3中可以看到,该数字滤波器仿真模型实现了对原始信号进行动态数字滤波的功能,滤除了原始波中的忙刺,得到了很好的正弦波信号,在数字信号传输和处理过程中对信号杂质作了清除,达到了滤波器的设计要求。图3滤波前和滤波后的波形图三、总结和分析利用MATLAB的强大运算功能,应用基于MATLAB的IIR数字滤波器设计方法可以快速有效地实现由软件组成的常规IIR数字滤波器的仿真,设计方便、快捷,极大地减轻了工作量,在设计过程中还可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化,为滤波器的设计和实现开辟了广阔的天地。通过这次论文的写作,加强了我们动手、思考和解决问题和搜索查找有用信息的能力。也加深了对数字信号处理知识的理解。通过本学期对数字信号处理的学习,让我学会了一些基本的函数使用,更加深入了解了数字信号处理,以及滤波器的设计,如何设计模拟低通滤波器,如何低通变便带通,如何模拟转换成数字等。本次我的课题是切比雪夫II型数字带通滤波器(模拟频率变换)的设计,通过课程设计,我对平时所学的知识有了更深入的了解,对MATLAB的应用也较以前熟练,知识与应用相结合提高了我的学习热情,希望在一次次的课程设计中可以不断进步,不断提高。6指导老师评语:成绩评定:指导老师签名:基地指导老师签名:年月日教研室意见教研室主任签章年月日学院意见分管院长签章年月日
本文标题:基于MATLAB的低通IIR滤波器设计
链接地址:https://www.777doc.com/doc-2534393 .html