版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、桂林电子科技大学课程设计用纸 第- 1 -页 共30页 课程设计(论文)说明书题 目:基于matlab的数字滤波器设计院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 职 称: 2010 年 12 月 19 日-2 -桂林电子科技大学课程设计用纸 第17页 共17页摘 要本文分别研究了在matlab环境下iir数字滤波器和fir数字滤波器的设计方法及实现方法。为方便分析者直观、形象、方便的分析滤波器的特性,创新的设计出了图形用户界面滤波器设计系统关键词:数字滤波器;matlab; gui;iir滤波器;fir滤波器abstractin this thesi
2、s, designs of the infinite impulse response digital filter (iir) and finite impulse response digital filter (fir) under matlab are studied. we design the graphical user interfaces (gui) of the digital filter design system makes sure of people can analysis the characteristics of the design directly a
3、nd easily. key words:digital filte;matlab;gui;iir filter;fir filter目 录引言31 数字滤波技术31.1 滤波器原理31.2 数字滤波器设计方法概述32 fir数字滤波器42.1 fir数字滤波器设计原理42.2 fir滤波器设计思想43 iir数字滤波器53.1 iir数字滤波器设计原理53.2 iir滤波器设计思想64 数字滤波器的gui设计及编程实现64.1滤波器的设计流程及要求64.2界面设计及编程74.2.1用户界面74.2.2界面的切换94.2.3组件的显示与隐藏94.2.4参数的计算94.2.5错误信息提示104.
4、2.6滤波器的设计114.3 运行和结果显示124.3.1滤波器运行画面124.3.2导入信号及滤波结果14结论15谢辞16参考文献17引言本文分别研究了在matlab环境下iir数字滤波器和fir数字滤波器的设计方法及实现方法,并进行图形用户界面设计,以显示本文所介绍滤波器的特性。在iir数字滤波器设计中,采用了完全设计法设计滤波器,讨论了巴特沃斯(butterworth)滤波器、切比雪夫(chebyshev) 滤波器、椭圆(ellipse)滤波器。在fir数字滤波器的设计中采用了窗函数法设计fir滤波器,两类滤波器整个设计过程都是按照理论分析、编程设计、具体实现的步骤进行的。本文设计出了较
5、为直观明了的人机交互界面,滤波器设计的类型、参数均有多个值可供选择,当用户选择(或输入)滤波器的参数时,能够及时显示设计好的滤波器的频谱,同时还可以实现mat信号的导入及滤波。1 数字滤波技术1.1 滤波器原理滤波器,顾名思义,其作用是对输入信号起到滤波的作用。如图1的lsi系统中,其时域输入输出关系为:h (n) x(n) y(n) 图1若y(n),x(n)的傅立叶变换存在,则输入输出的频域关系是: 当输入信号x(n) 通过滤波器系统h(n) 后,其输出 y(n) 中不再含有|c的频率成分,仅使|c的信号成分通过。因此,滤波器的形状不同,其滤波后的信号结果也不一样。若滤波器的输入、输出都是离
6、散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器(df,digital filter)。当用硬件实现一个df时,所需元件是延迟器、乘法器和加法器;而利用matlab软件时,它仅需线性卷积程序便可实现。而模拟滤波器(af,analog filter)只能用硬件实现。因此df比af容易实现,且更容易获得理想的滤波性能。数字滤波器还具有以下优点:精度和稳定性高;系统函数容易改变;灵活性高;不存在阻抗匹配问题;便于大规模集成;可实现多维滤波。1.2 数字滤波器设计方法概述数字滤波器的设计与实现,通常按下述步骤进行:1、根据不同用途提出数字滤波器的技术指标、性能要求
7、。2、设计一个稳定的、因果的数学模型h(z)来逼近所要求的技术指标,并用有限精度的运算实现所设计的系统。3、设计专用的数字硬件来实现这个数字模型,或者通过电子计算机运行程序软件予以实现。iir滤波器和fir滤波器的设计方法很不相同:iir滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计思路是:先设计模拟滤波器得到传输函数g(s),然后将g(s)按某种方法转换为数字滤波器的系统函数h(z)。这一类方法是基于模拟滤波器的设计方法相对比较成熟,它不仅有完整的设计公式,也有完整的图标供查阅,更可以直接调用matlab中的对应的函数进行设计。另一种是直接在频域或者时
8、域中进行设计,设计时必须使用计算机辅助,直接调用matlab中的程序或函数即可设计。fir滤波器不能采用由模拟滤波器设计进行转换的方法,而经常使用的是窗函数法和频率采样法。也可以借助计算机辅助设计软件采用切比雪夫等波纹逼近法进行设计。在这里我们研究窗函数法。2 fir数字滤波器2.1 fir数字滤波器设计原理fir df具有突出的优点:系统总是稳定的、易于实现线性相位、允许设计多通带(或多阻带)滤波器。因此fir df在数字信号处理中得到广泛的应用。但与iir df相比,在满足同样的阻带衰减的情况下需要较高的阶数。滤波器阶数越高将占用更多的dsp运算时间。因此,对f ir df的设计目标是在满
9、足指标要求的情况下尽量减少滤波器的阶数。数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。fir df的冲激响应h ( k)是有限长的m 阶f ir df系统函数可表示为滤波器的输出它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。本文之研究窗函数法2.2 fir滤波器设计思想在这里我们利用窗函数法设计fir滤波器。窗函数法的基本想法是选取某一种合适的理想频率选择性滤波器(这种滤波器总是有一个非因果,无限长的脉冲响应),然后将它
10、的脉冲响应截断(或加窗)以得到一个线形相位和因果的fir滤波器。因此,这种方法的重点在于选择某种恰当的窗函数和一种合适的理想滤波器。窗函数法又称傅立叶级数法, 一般是先给定所要求的滤波器的频率响应hd (ejw) , 要求设计一个fir 滤波器的频率响应h(ejw)来逼近hd(ejw) .设计是在时域进行的, 首先由傅立叶变换导出hd(n) ,因此hd(n)一定是无限长的序列,而h(n) 是有限长的, 即要用有限长的h(n)来逼近无限长的hd(n) , 最有效的方法是截断hd (n),或者说用一个有限长的窗口函数w(n) 来截取hd(n) , 即h(n) = hd(n) w(n),因而窗函数的
11、形状及长度的选择就很关键了. 在matlab 中常用的窗函数有bartlett窗, hanning 窗,hamming 窗, blackman 窗,kaiser 窗等, 这些窗函数各有优缺点, 各有利弊。利用完全设计法设计数字滤波器的一般步骤:(1)将设计指标归一化处理。(2)确定阶数n 和频率参数wn。(3)确定窗口值。windows指定窗函数类型,默认为hamming窗;可选hann、hamming、blackman、bartlett等窗,每种窗都可以由matlab的相应函数生成。(4)确定传递函数的分母系数。函数fir1的调用格式为b= fir1(n, wn, ftype, window
12、s),同时选择在此函数中选择要设计的滤波器的类型。其中,n为滤波器阶数,wc为截止频率ftype决定滤波器类型,ftype= high,设计高通fir滤波器,ftype= stop,设计带阻fir滤波器。(5)再用freqz 函数验证设计结果。3 iir数字滤波器3.1 iir数字滤波器设计原理滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。iir滤波器一般采用递归型的结构,系统的输入与输出服从n阶差分方程: 相应的传输函数为:设计iir数字滤波器就是要确定传输函数中的系数、或零极点增益、a,使滤波器的频率特性满足给定的性能指标要求。设计原理主要包括两个方面
13、:一是根据设计指标,先设计出相应的模拟滤波器再通过脉冲响应不变法或双线性变换法转换成对应的数字滤波器;二是选择一种优准则,如最小均方准则。根据设计理论,在matlab环境下设计iir数字滤波器主要有四种方法:一是典型设计法;二是完全设计法;三是最优设计法;四是工具设计法。由于完全设计法程序简单,我们在这里利用完全设计法设计滤波器。3.2 iir滤波器设计思想iir滤波器设计思想是:利用已有的模拟滤波器设计理论,首先根据设计指标设计一个合适的模拟滤波器,然后再通过脉冲响应不变法或双线性变换法,完成从模拟到数字的变换。常用的模拟滤波器有巴特沃斯(butterworth)滤波器、切比雪夫(cheby
14、shev) 滤波器、椭圆(ellipse)滤波器、贝塞尔(bessel)滤波器等,这些滤波器各有特点,供不同设计要求选用。滤波器的模拟数字变换,通常是复变函数的映射变换,也必须满足一定的要求 由于数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计指标进行归一化处理,设采样频率为fs,归一化频率的计算公式是: 利用完全设计法设计数字滤波器的步骤:(1)将设计指标归一化处理。(2)根据归一化频率,确定最小阶数n 和频率参数wn。可供选用的阶数选择函数有:buttord,cheblord,cheb2ord,ellipord 等。(3)运用最小阶数n 设计模拟低通滤波器原型。根据最小阶
15、数直接设计模拟低通滤波器原型,用到的函数有:butter, chebyl,cheby2, ellip 和bessel。如b,a = butter(n,wn,type) 设计type型巴特沃斯(butterworth)滤波器filter。n为滤波器阶数,wc为截止频率, type决定滤波器类型, type= high,设计高通iir滤波器,ftype= stop,设计带阻iir滤波器。(4)再用freqz 函数验证设计结果。4 数字滤波器的gui设计及编程实现4.1 滤波器的设计流程及要求1、首先画出设计的流程图,如图4.1所示:滤波器设计系统fir滤波器iir滤波器hannbartlettbl
16、ackmanhammingkaiserbutterchebylcheby2ellip图4.1 滤波器设计流程图2、设计要求:要有较为简单明了的人机交互界面。能够在两个界面直接切换。滤波器设计的类型、参数均有多个值可供选择或自定义。当用户选择(或输入)滤波器的参数不完整或者有无时,能够提醒用户输入正确信息。当用户选择(或输入)滤波器的参数时,能够及时显示设计好的滤波器的频谱等信息。可以实现外部信号的导入。可以实现用设计好的滤波器对导入信号的滤波并显示滤波效果。4.2界面设计及编程4.2.1用户界面在设计此图形用户界面时,根据设计流程图把滤波器分析系统分成三个界面进行设计:主界面,fir设计界面和
17、iir设计界面图4.2是滤波器的主界面,在主界面的主要安排了两个选择iir或fir滤波器的按钮和一个退出按钮。点击iir或fir按钮时,进入到相应的滤波器设计界面,点击退出系时,弹出问题对话框,确认用户是否要退出,用户确认后,关闭界面,清除所有变量。图4.2 滤波器主界面图4.3是fir滤波器的界面,界面左边的六个图形分别是用显示滤波器的频谱,相频,零极点图,窗函数图,导入信号滤波效果。右边可以对各项参数进行选择或输入。图4.3 fir滤波器界面图4.4 iir滤波器界面4.2.2界面的切换在主界面的菜单里可以选择选择iir或fir滤波器设计,点击按钮进入到相应的滤波器设计界面。如点击fir滤
18、波器设计时要先关闭当前的gui界面,然后打开fir滤波器设计的界面;当点击fir滤波器设计界面或iir设计界面的返回按钮时能返回到主界面。界面的切换主要通过通过语句:close(gcf); %关闭当前gui界面或者close(“gui的文件名”);要打开某个已设计好的gui界面,直接输入其文件名即可,如:fir_filter %打开fir滤波器设计界面这两条结合在一起即可实现两个界面的切换。4.2.3组件的显示与隐藏进入滤波器设计界面后,在滤波器的类型选择项中当选中选择低通或者高通滤波器时,应隐藏相应的带通和带阻的第二个临界频率,使其频率参数不能输入,可以将组件的“enable”设为“off”
19、,或者直接把它隐藏将它的“visible”设为“off”。set(handles.fp2,enable,off); %让fp2文本框不能输入set(handles.fs2,enable,off); %让fs2文本框不能输入执行上述两条语句后,相应的文本框变成了灰色,效果如图4.5所示。当在滤波器类型中选中带通或带阻滤波器后,应将已隐藏或设为不可用的第二个临界频率重新显示,这是只需将它们的“enable” 或“visible”设为“on”即可。效果如图4.6所示。自定义阶数文本框,“滤波”按键等的隐藏与显示同理。图4.5 低通、高通滤波器频率参数输入 图4.6 带通、带阻滤波器频率参数输入4.2
20、.4参数的计算1、滤波器阶数的计算在设计滤波器阶数时,可选择自定义阶数和利用最小阶数设计滤波器,并显示最小阶数 ,其回调函数如下:(1)最小阶数按钮选择使用最小阶数设置时,屏蔽自定义阶数的输入,此时n的值通过用户输入的参数计算得来n=2*(ceil(2.1/(ws1-wp1)+1; %计算bartlett窗低通滤波器的最小阶数计算得到相应的n值后在文本框中显示出来,如图4.7所示。set(handles.minorderdisplay,string,num2str(n)%显示最小阶数(2)自定义按钮选择自定义阶数时,将已屏蔽的文本框重新显示,直接读取用户输入的自定义阶数作为n的值,如图4.8所
21、示。n=order_value; %读取自定义阶数 图4.7 使用最小阶数设计 图4.8 使用自定义阶数设计4.2.5错误信息提示在点击确定按钮运行设计滤波器程序之前,我们首先要检查用户所输入的参数是否齐全,是否有误,如果不齐全或者有误则通过错误信息提示对话框提示用户错误信息让用户重新输入,同时还要中断程序,不让它执行后面的语句。(1) 判断是否已选择滤波器类型我们用一个条件语句来对用户是否已选择了滤波器类型进行判断:if(lpfilter_value=0&hpfilter_value=0&bpfilter_value=0&bsfilter_value=0) %判断是否已选择滤波器类型 err
22、ordlg(请先选择滤波器类型:低通、高通、带通或带阻,错误信息); returnend如果用户没有选择滤波器类型,则通过错误信息提示对话框“errordlg”提醒用户先选择相应的选项,同时用“return”中断程序并返回,如图4.9所示。图4.9 没有选择滤波器类型时的错误提示信息(2) 判断各项参数是否已填写完整或者是否有误当选择低通滤波器时,用一条条件语句来判断各项参数是否已输入完整:if(isnan(fs_value)=1)|(isnan(fp1_value)=1)|isnan(fs1_value)=1)若没有输入完整,则通过错误信息提示对话框“errordlg”提醒用户先填写完整相应
23、的选项,同时用“return”中断程序并返回,如图4.10所示。在用户填写完整相应的信息后,还要进一步检查用户输入的参数是否有误,如在设计低通滤波器时如果用户输入的fs1的值小于fp1的值,此时应采用错误信息提示对话框提示用户更正,并中断程序。如图4.11所示。 if(fs1_valuefp1_value) 图4.10 错误输入不完整的错误提示 图4.11 参数输入有误的错误提示其他类型滤波器参数是否正确的判断,是否已选择滤波器阶数的判断等同理,在此就不一一赘述。4.2.6滤波器的设计1、fir滤波器(1)求归一化频率设计低通、高通时wp1=2*fp1 /fs;ws1=2*fs1 /fs;设计
24、带通带阻滤波器时wp1=2*fp1 /fs;ws1=2*fs1 /fs;wp2=2*fp2 /fs;ws2=2*fs2 /fs;(2)确定阶数n 和频率参数wnn可以由用户自定义或者由参数计算得最小阶数n。设计低通、高通滤波器时,wn= (wp1+ws1)/2;设计带通或带阻滤波器时wn=(wp1+ws1)/2,(wp2+ws2)/2。(3) 确定窗口值window指定窗函数类型,window=hann(n+1); window=hamming(n+1)window= blackman(n+1)window=bartlett(n+1)(4) 确定传递函数的分母系数函数fir1的调用格式为b=
25、fir1(n, wn, type, windows),同时选择在此函数中选择要设计的滤波器的类型。其中,n为滤波器阶数,wc为截止频率,type决定滤波器类型,type= high,设计高通fir滤波器,ftype= stop,设计带阻fir滤波器。(5)生成频率响应参数h,f=freqz(b,1); (6)画幅频响应图plot(f,20*log(abs(h) (7)画相频响应图plot(f,angle(h); 2、iir滤波器(1)将设计指标归一化处理,方法同fir滤波器。(2)根据归一化频率,确定最小阶数n 和频率参数wn。可供选用的阶数选择函数有:buttord,cheblord,che
26、b2ord,ellipord 等。(3)运用最小阶数n 设计模拟低通滤波器原型。根据最小阶数直接设计模拟低通滤波器原型,用到的函数有:butter, chebyl,cheby2, 和ellip。如b,a = butter(n,wn,type) 设计type型巴特沃斯(butterworth)滤波器filter。(4)生成频率响应参数h,f=freqz(b,a,nn,fs_value);(5)画幅频响应图plot(f,20*log(abs(h) (6)画相频响应图plot(f,angle(h);4.2.7信号的导入与滤波(1)导入wat信号filename,pathname=uigetfile(*.mat,select the data file); file=strcat(pathname,filename); x=importdata(file);(2)滤波用以设计好的滤波器对导入的信号进行滤
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融衍生工具
- 土木工程求职信14篇
- 企业人人讲安全
- 土木工程专业实习报告模板锦集9篇
- 初中力教育课件
- 医院实习报告集锦15篇
- 2022年关于大学生实习心得10篇
- 家长给学校的感谢信集锦5篇
- 员工转正自我鉴定(合集13篇)
- 大三自我鉴定范文15篇
- 信息安全意识培训课件
- Python试题库(附参考答案)
- 道法第二单元 成长的时空 单元测试 2024-2025学年统编版道德与法治七年级上册
- MOOC 理解马克思-南京大学 中国大学慕课答案
- 海洋的前世今生智慧树知到期末考试答案2024年
- 德力西系列变频器说明书
- UleadGifAnimator教程
- 烟草专卖(公司)内部专卖管理监督工作制度
- CFG桩施工中常见问题及处理措施
- 医疗废物处置流程图
- 烟草专卖食堂燃气泄露及火灾事故现场应急处置方案
评论
0/150
提交评论