您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 用matlab制作带通滤波器
学科分类号(二级)510.8020本科学生毕业论文(设计)题目用MATLAB设计带通滤波器姓名杨洪斌学号074090092院、系物理与电子信息学院专业物理学指导教师王六玲职称(学历)副教授1用MATLAB设计带通滤波器摘要:关于滤波器设计的传统思路,本文借助Matlab软件中滤波器设计工具,探讨一种更为简洁、高效的设计方式。传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用MATLAB信号处理工具箱(SignalProcessingToolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。本文给出了使用MATLAB语言进行程序设计和利用信号处理工具箱的FDATool工具进行界面设计的方法。利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。关键词:带通滤波器;MATLAB;设计工具随着信息科学与计算技术的迅速发展,数字信号处理的理论与应用得到飞跃式发展,形成了一门极为重要的学科[1]。滤波技术是信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。故滤波技术是极为敏感与热门的课题,对滤波器的研制也历来为各国所重视[3]。1MATLAB软件简介和滤波器概述1.1MATLAB软件简介MATLAB软件具有很强的开放性和适应性。在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按其功能可分为:图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。1.2滤波器滤波器,顾名思义,其作用是对输入信号起到滤波的作用,数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。2IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以iir滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效的设计数字滤波器,大大的简化了计算量,直观简便。1.3带通滤波器带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。一个模拟带通滤波器的例子是电阻-电感-电容电路(RLCcircuit)。这些滤波器也可以用低通滤波器同高通滤波器组合来产生。除了电子学和信号处理领域之外,带通滤波器应用的一个例子是在大气科学领域,很常见的例子是使用带通滤波器过滤最近3到10天时间范围内的天气数据,这样在数据域中就只保留了作为扰动的气旋。还有,许多音响装置的频谱分析器均使用此电路作为带通滤波器,以选出各个不同频段的信号,在显示上利用发光二极管点亮的多少来指示出信号幅度的大小。带通滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。2滤波器设计工具2.1基本功能滤波器设计工具以MATLAB的计算环境和信号处理工具箱(SPTool)为基础。主要功能包括:仿真分析滤波器、FFT和IFFT计算、滤波器设计计算(包括自适应滤波器)、支持滤波器的频带变换。操作该工具可以设计出满足各种性能指标的滤波器,并可方便的查看它们的各性能分析图形。设计完成后,可以把其系数结果直接导出为MATLAB变量保存记录。2.2基本操作在安装了MATLAB的PC机上运行该软件,在其命令窗口输入FDATool便可打开该设计工具,如图1所示:3图1滤波器设计分析工具Fig.1filterdesignanalysistoolsFDATool界面总共分两大部分,一部分是designfilter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。designfilter部分主要分为:filtertype(滤波器类型)选项,包括lowpass(低通)、highpass(高通)、bandpass(带通)、bandstop(带阻)和特殊的fir滤波器。designmethod(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshevtypei(切比雪夫i型)法、chebyshevtypeii(切比雪夫ii型)法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window(窗函数)法。filterorder(滤波器阶数)选项,定义滤波器的阶数,包括specifyorder(指定阶数)和minimumorder(最小阶数)。在specifyorder中填入所要设计的滤波器的阶数(n阶滤波器,specifyorder=n-1),如果选择minimumorder则matlab根据所选择的滤波器类型自动使用最小阶数。frenquencyspecifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filtertype选项和designmethod选项决定,例如bandpass(带通)滤波器需要定义fstop1(下阻带截止频率)、fpass1(通带下限截止频率)、fpass2(通带上限截止频率)、fstop2(上阻4带截止频率),而lowpass(低通)滤波器只需要定义fstop1、fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。magnitudespecifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义wstop1(频率fstop1处的幅值衰减)、wpass(通带范围内的幅值衰减)、wstop2(频率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。windowspecifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。3带通滤波器设计3.1设计要求在小电流接地系统中注入83.3hz的正弦信号,对其进行跟踪分析,要求设计一带通滤波器,滤除工频及整次谐波,以便在非常复杂的信号中分离出该注入信号。参数要求:96阶fir数字滤波器,采样频率1000hz,采用hamming窗函数设计。3.2设计工具本例中,首先在filtertype中选择bandpass(带通滤波器);(1)在designmethod选项中选择firwindow(fir滤波器窗函数法),接着在windowspecifications选项中选取hamming;(2)指定filterorder项中的specifyorder=95;(3)由于采用窗函数法设计,只要给出通带下限截止频率fc1和通带上限截止频率fc2,选取fc1=70hz,fc2=84hz。(4)设置完以后点击designfilter即可得到所设计的fir滤波器。(5)通过菜单选项analysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计完成后保存为1.fda文件。在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的fir滤波器和iir滤波器也都可以使用fdatool来设计。3.3设计编程MATLAB内部有丰富的函数可供调用,使用者只需要根据自己的需要查到所需要的函数名,那就可以直接调用使用了.不需要自己把函数详细的编写出来.使编写内部程序变的简单。MATLAB信号工具箱主要提供了以下几种窗函数,如表1所示:程序法只以hanning窗为示例,其他窗函数的程序大体相同,只是在window=hanning(N)和hn=fir1(N-1,wc,hanning(N))处要调自己的窗函数即可。5表1MATLAB窗函数Tab.1MATLABwindowfunction窗窗函数矩形窗Boxcar巴特利特窗Barlett三角窗Triang布莱克曼窗Blackman海明窗Hamming汉宁窗Hanning凯塞窗Kaiser切比雪夫窗Chebwinhanning窗设计程序:wls=0.2*pi;wlp=0.35*pi;whp=0.65*pi;wc=[wlp/pi,whp/pi];B=wlp-wls;N=ceil(8/0.15);n=0:N-1;window=hanning(N);[h1,w]=freqz(window,1);figure(1);stem(window);axis([06001.2]);grid;xlabel('n');title('Hanning窗函数');figure(2);plot(w/pi,20*log(abs(h1)/abs(h1(1))));axis([01-3500]);grid;xlabel('w/pi');ylabel('幅度(dB)');title('Hanning窗函数的频谱');hn=fir1(N-1,wc,hanning(N));[h2,w]=freqz(hn,1,512);6figure(3);stem(n,hn);axis([060-0.250.25]);grid;xlabel('n');ylabel('h(n)');title(‘Hanning窗函数的单位脉冲响应’);figure(4);plot(w/pi,20*log(abs(h2)/abs(h2(1))));grid;xlabel('w/pi');ylabel('幅度(dB)');title(‘Hanning窗函数的单位幅频响应’);4仿真结果与分析4.1仿真结果图2汉宁窗函数波形图Fig.2hanningwindowfunctionwaveformfigure汉宁窗(Hanning)函数时域形式表示为:)(12cos121nRNnnWN(公式1)汉宁窗是典型的升余弦窗,在运行程序后得到Hanning窗函数波形类似余弦函数波形,基本符合汉宁窗函数的时域表达式。7图3汉宁窗函数频谱图Fig.3hanningwindowfunctionspectrumdiagram利用傅利叶变换的调制特性,由公式1可得汉宁窗的频谱函数为:21121225.05
本文标题:用matlab制作带通滤波器
链接地址:https://www.777doc.com/doc-5087424 .html