《MATLA在数字滤波器设计中的应用课程设计 .doc》由会员分享,可在线阅读,更多相关《MATLA在数字滤波器设计中的应用课程设计 .doc(7页珍藏版)》请在三一办公上搜索。
1、MATLAB程序设计与应用课 程 论 文MATLA在数字滤波器设计中的应用课 程 名 称 MATLAB程序设计与应用 考 查 学 期 第三学年第一学期 考 查 方 式 课程论文 姓 名 陈婉 学 号 14082300956 专 业 通行工程 成 绩 指 导 教 师 万力 摘要:传统的数字滤波方法仅仅依靠外部信号的正负信息,根本没有办法对信号进行准确的滤波处理,得不到真正的外部信号信息,而且设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。然而数字滤波是语音和图像处理、模式识别、频谱分析等应用中的一个基本处理算法,在数字信号处理中占有极其重要的地位。本文利用MATLAB设计FIR滤波
2、器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。本文还介绍了如何利用MATLAB环境下的仿真软件Simulink对所设计的滤波器进行模拟仿真。 关键词:数字滤波器 FDATool Matlab 滤波 Simulink引言 滤波器的设计方法分为传统的滤波方法和数字滤波方法。传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,在设计滤波器尤其是高阶滤波器时工作量很大。利用MATLAB信号处理工具箱(Signal Processing Toolbox)和simulink可以快速有效的实现数字滤波器的设计与仿真。随着科学技术的发展,数字
3、滤波器在数字信号处理领域中已经得到了广泛应用。一 数字滤波器、Matlab和Simulink的简要介绍数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。FIR数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要
4、求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等
5、软件的优点,使MATLAB成为一个强大的数学软件。Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真
6、结果。二 FDATool的介绍FDATool(Filter Design & Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,可以设计几乎所有的基本的常规滤波器,包括FIR和IIR的各种设计方法。它操作简单,方便。FDATool界面总共分两大部分,一部分是Design Filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。Design Filter部分主要分为:Filter Type(滤波器类型)选项,包括Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandst
7、op(带阻)和特殊的FIR滤波器。Design Method(设计方法)选项,包括IIR滤波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(椭圆滤波器)法和FIR滤波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函数)法等。Filter Order(滤波器阶数)选项,定义滤波器的阶数,包括Specify Order(指定阶数)和Minimum Order(最小阶数)。在Specify Order中填入所要设计的滤波器的阶数(N阶滤波
8、器,Specify OrderN-1),如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是
9、由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。Window Specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。三 带阻滤波器设计实例本文将以一个IIR 滤波器的设计为例来说明如何使用MATLAB设计数字滤波器:设计一个
10、椭圆带阻滤波器。参数要求:系统采样频率Fs=8000Hz,要求滤除2025-2225Hz频段的频率成分,保留0-1500Hz和2700Hz以上频段的频率成分,衰减大于40dB。首先在Response Type中选择bandstop(带阻滤波器);在Design Method选项中选择IIR 和Elliptic(椭圆滤波器),指定Filter Order项中的Specify Order6,在Frequency Specifications中把Units设置为Hz,Fpass1=2025,Fpass2=2500,设置完以后点击Design Filter即可得到所设计的椭圆带阻滤波器。通过菜单选项A
11、nalysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计结果如下图:在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的FIR滤波器和IIR滤波器也都可以使用FDATool来设计。四 程序设计法上例的带阻滤波器用程序设计:fsl=2025;fsu=2225;fpl=1500;fpu=2700;Fs=8000;ws=2*fsl/Fs,2*fsu/Fs;wp=2*fpl/Fs,2*fpu/Fs; %计算滤波器的边界频率rp=1;rs=40;N,wpo=ellipord(wp,ws,rp,rs)%调用
12、计算滤波器阶数N和通带截止频率wpoB,A=ellip(N,rp,rs,wpo,stop)%调用ellip计算带阻滤波器系统函数系数向量B和A freqz(B,A);用Matlab运行,结果如下:N =3wpo =0.3750 0.6750B = 0.3521 0.1819 1.0416 0.3576 1.0416 0.1819 0.3521A =1.0000 0.3531 1.0547 0.3038 0.7232 0.0645 0.0095五 Simulink仿真 本文通过调用Simulink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下
13、的仿真结果。例如构造以基波为主的原始信号,通过Simulink环境下的Digital Filter Design(数字滤波器设计)模块,把Digital Filter Design模块放到*mdl文件中,双击设置上例中所设置的带阻滤波器,然后把我所需要的模块一一添加进去。仿真图和滤波效果图如图2。 仿真图 滤波之前的信号滤波之后的信号结束语利用MATLAB的强大运算功能,基于MATLAB信号处理工具箱(Signal Processing Toolbox)的数字滤波器设计法可以快速有效的设计由软件组成的常规数字滤波器,设计方便、快捷,极大的减轻了工作量。在设计过程中可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。参考文献:1 楼顺天、李博菡. 基于MATLAB的系统分析与设计信号处理【M】西安:西安电子科技大学出版社,1998.2 高西全、丁玉美. 数字信号处理:西安电子科技大学出版社,2010.3 飞思科技产品研发中心. MATLAB7基础与提高:电子工业出版社,2005.