基于MATLAB的数字滤波器设计毕业论文设计(原创版)精品资料.doc
《基于MATLAB的数字滤波器设计毕业论文设计(原创版)精品资料.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的数字滤波器设计毕业论文设计(原创版)精品资料.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、淮安信息职业技术学院编号 淮安信息职业技术学院毕业论文题 目基于MATLAB的数字滤波器设计学生姓名。学 号。系 部。专 业。班 级。指导教师。 顾问教师。 。摘 要本论文介绍了FIR数字滤波器的设计方法,即窗函数法。在此基础上,用MATLAB实现IIR数字滤波器。介绍了IIR数字滤波器的传统设计思想与步骤,及其计算机辅助设计方法。以一数字带通滤波器为例,着重说明了基于MATLAB的三种滤波器的实现手段:模拟低通原型、合适模拟带通及直接原型,为数字滤波器设计带来全新的实现手段。关键词:滤波 IIR滤波器 FIR滤波器 MATLAB目 录第一章 前言 1.1 MATLAB 软件简介 (4)1.2
2、数字滤波器技术的发展状况 (5)第二章 数字滤波器的基本概念2.1数字滤波器的概况 (6)2.2 FIR 数字滤波器的基本概念 (6)2.2.1 FIR 数字滤波器的窗函数设计法 (7)2.2.2 窗函数设计法的步骤 (7)2.3 MATLAB环境下的实例 (9)2.3.1高通滤波器的设计 (9)2.3.2低通滤波器的设计 (10)第三章 IIR数字滤波器的设计过程及方法3.1 IIR滤波器的基本特点 (13)3.2 IIR滤波器的设计思路与步骤 (14)3.3 IIR 滤波器的设计 (14)3.4 IIR滤波器设计方法MATLAB的实现 (15)3.4.1 基于模拟低通原型的MATLAB实现
3、 (15)3.4.2基于合适类型模拟滤波器的MATLAB实现 (16)3.4.3 基于直接原型变换法的MATLAB实现 (18)总 结(19)参考文献(20)第一章 前言1.1. MATLAB简介MATLAB (Matrix Laboratory)为美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件,其功能不断扩充,版本不断升级,1992年推出划时代的4.0版,1993年推出了可以配合Microsoft Windous使用的微机版,95年4.2版,97年5.0版,99年5.3版,5.X版无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,可以方便的
4、浏览。至2001年6月推出6.1版,2002年6月推出6.5版,继而推出6.5.1版, 2004年7月MATLAB7和Simulink6.0被推出,目前的最新版本为7.1版。 MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态
5、系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。 MATLAB6.1 的新功能 (1) 全新的开发环境GUIDE(GUI Development Environment):由早期的单一命令窗口发展为将一些常用的交互式工作界面高度的集中于操作桌面; (2) 在命令窗口增加了错误跟踪功能(error display message and abort func
6、tion); (3) 提供了许多新的数值处理功能(numerical Treatment Techniques),更新了部分函数的功能和算法,增加了许多新函数; (4) 在图形窗口增加了曲线拟合、数据统计等交互工具;(Curve Fitting, Data Analyzing ) (5) 引入了类与对象及函数句柄等概念;(Object,Handle) 用户可以创建自己定义的类函数和函数句柄; (6) 改进了编辑/调试器的界面及功能; (Editor/Debugger)增加了行号和书签等功能; (7) 属性编辑器功能更强(Property Debugger),使用更方便; (8) 建立了一个与以
7、前完全不同的图形用户界面(GUI)图形窗口,(Graphical Window)使用更加方便灵活; (9) 增加了虚拟现实工具箱,(Virtual Reality Toolbox)使用标准的虚拟现实建模语言(VRML)技术,可以创建由MATLAB和simulink环境驱动的三维动画场景; (10) 在应用程序接口方面增加了与Java的接口(Interface for Java),并为二者的数据交换提供了相应的程序库。1.2数字滤波器技术的发展状况及简介 数字滤波器是数字信号处理理论的一部分。数字信号处理主要是研究用数字或符号的序列来表示信号波形,并用数字的方式去处理这些序列,把它们改变成在某种
8、意义上更为有希望的形式,以便估计信号的特征参量,或削弱信号中的多余分量和增强信号中的有用分量。具体来说,凡是用数字方式对信号进行滤波、变换、调制、解调、均衡、增强、压缩、固定、识别、产生等加工处理,都可纳入数字信号处理领域。 滤波器的种类很多,从功能上可以分为低通、高通、带通和带阻滤波器,上述每种滤波器又可以分为模拟滤波器和数字滤波器。如果滤波器的输入输出都是数字信号,则这样的滤波器称之为数字滤波器,它通常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波。根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应
9、(FIR)滤波器。有数字信号处理的一般理论可知,IIR滤波器的特征是具有无限持续时间的冲激响应,而FIR滤波器使冲激响应只能持续一定的时间。第二章 数字滤波器的基本概念2.1数字滤波器的概况数字滤波技术是数字信号处理的一个重要组成部分,滤波器的设计是信号处理的核心问题之一。根据FIR滤波器的原理,提出了FIR滤波器的窗函数设计法,并对常用的几种窗函数进行了比较。给出了在MATLAB环境下,用窗函数法设计FIR滤波器的过程和设计实例。仿真结果表明,设计的FIR滤波器的各项性能指标均达到了指定要求,设计过程简便易行。该方法为快速、高效地设计FIR滤波器提供了一个可靠而有效的途径。 随着信息时代的到
10、来,数字信号处理已经成为当今一门极其重要的学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用。在数字信号处理中,数字滤波器占有极其重要的地位,它具有精度高、可靠性好、灵活性大等特点。现代数字滤波器可以用软件或硬件两种方式来实现。软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最忧化,是数字滤波器设计的强有力工具。 2.2 FI
11、R数字滤波器的基本概念 R滤波器的数学表达式为:式中,N是FIR滤波器的抽头数,x(n)表示第n时刻的输入样本;h(i)是FIR滤波器的第i级抽头系数。普通的直接型FIR滤波器结构如图1所示。FIR滤波器实质上是一个分节的延迟线,把每一节的输出加权累加,便得到滤波器的输出。对于FIR滤波器,幅度上只需满足以下两个条件之一,就能构成线性相位FIR滤波器。h(n)=h(N-1-n) (2)h(n)=-h(N-1-n) (3)(没有式一?)式(2)称为第一类线性相位的幅度条件(偶对称),式(3)称为第二类线性相位的幅度条件(奇对称)。2.2.1 FIR滤波器的设计 根据冲激响应的时域特性,数字滤波器
12、可分为无限长冲激响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。FIR的突出优点是:系统总是稳定的、易于实现线性相位、允许设计多通带(或多阻带)滤波器,但与IIR相比,在满足同样阻带衰减的情况下需要的阶数较高。滤波器的阶数越高,占用的运算时间越多,因此在满足指标要求的情况下应尽量减少滤波器的阶数。FIR滤波器的基本结构可以理解为一个分节的延时线,把每一节的输出加权累加,可得到滤波器的输出。FIR滤波器的冲激响应h(n)是有限长的,数学上M阶FIR滤波器可以表示为:FIR滤波器的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数的问题,设计方法主要有窗函数法、频率采样法和等波纹最佳
13、逼近法等。2.2.2 窗函数设计法的步骤窗函数设计法是一种通过截短和计权的方法使无限长非因果序列成为有限长脉冲响应序列的设计方法。通常在设计滤波器之前,应该先根据具体的工程应用确定滤波器的技术指标。在大多数实际应用中,数字滤波器常常被用来实现选频操作,所以指标的形式一般为在频域中以分贝值给出的相对幅度响应和相位响应。用窗函数法设计FIR滤波器的步骤如下:(1)根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1)。窗函数类型可根据最小阻带衰减AS独立选择,因为窗口长度N对最小阻带衰减AS没有影响。在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口
14、长度N。设待求滤波器的过渡带宽为,它与窗口长度N近似成反比。窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正。原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N。在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。(2)根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n)。如果给出待求滤波器的频率响应为Hd(ej),则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示。从=0到=2采样N点,采用离散傅里叶反变换(IDFT)即可求出。(3)计算滤波器
15、的单位脉冲响应h(n)。它是理想单位脉冲响应和窗函数的乘积,即h(n)=hd(n)wd(n),在MATLAB中用点乘命令表示为h=hdwd。(4)验算技术指标是否满足要求。为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。使用窗函数法设计时要满足以下两个条件:(1)窗谱主瓣尽可能地窄,以获得较陡的过渡带;(2)尽量减少窗谱的最大旁瓣的相对幅度,也就是使能量尽量集中于主瓣,减小峰肩和纹波,进而增加阻带的衰减。根据工程经验,给定的滤波器指标参数一般为通带截止频率p、阻带截止频率s、实际通带波动Rp和最小阻带衰减As。窗
16、函数设计的经验公式为:在实际工程中常用的窗函数有五种,即矩形窗、三角窗、汉宁窗、海明窗和凯泽窗。这些窗函数在MATLAB中分别用boxcar、triang、hanning、hamming、kaiser实现,它们之间的性能比较如表1所示。表1 5种窗函数性能比较窗类型旁瓣峰值主瓣峰值最小阻带衰减矩形窗13dB4/M21dB三角窗25dB8/M25dB汉宁窗31dB8/M44dB海明窗41dB8/M53dB凯泽窗57dB12/M74dB2 .3 MATLAB环境下的设计实例2.3.1 高通滤波器的设计用窗函数设计高通滤波器,性能指标如下:通带截止频率s=0.2,阻带截止频率p=0.3,实际通带波动
17、Rp=0.25dB,最小阻带衰减As=70dB。分析:从表1可以看出凯泽窗能提供74dB的最小阻带衰减,所以选用凯泽窗进行设计,程序主要部分如下:As=70;s=0.2*;p=0.3*tr_width=p-s;%计算过渡带宽M=ceil(As-7.95)*2*/(14.36*tr_width)+1)+1;按凯泽窗计算滤波器长度disp(滤波器的长度为,num2str(M);beta=0.1102*(As-8.7); %计算凯泽窗的值n=0:1:M-1;disp(线性相位斜率为,num2str(beta); w_kai=(kaiser(M,beta); %求凯泽窗函数 c=(s+p)/2; hd
18、=ideal_lp(,M)-ideal_lp(c,M); %求理想脉冲响应 h=hd*w_kai; %设计的脉冲响应为理想脉冲响应与窗函数乘积 db,mag,pha,grd,=freqz_m(h,1); delta_=2*/1000; Rp=-(min(db(p/delta_+1:1:501); disp(实际通带波动为,num2str(Rp);%以下为作图程序 As=-round(max(db(1:1:s/delta_+1); disp(最小阻带衰减为,num2str(As);subplot(1,1,1);subplot(2,2,1);stem(n,hd);title(理想脉冲响应);axi
19、s(0 M-1 -0.4 0.8);ylabel(hd(n);subplot(2,2,2);stem(n,w_kai);title(凯泽窗); axis(0 M-1 0 1.1);ylabel(wd(n);subplot(2,2,3);stem(n,h);title(实际脉冲响应);axis(0 M-1 -0.4 0.8);xlabel(n);ylabel(h(n);subplot(2,2,4);plot(/,db);title(幅度响应/dB);axis(0 1 -100 10);grid;xlabel(以为单位的频率);ylabel(分贝数/dB);程序运行结果如图1所示。实际通带波动为0
20、.04369,最小阻带衰减为70,滤波器长度为89,线性相位斜率为6.7553,符合设计要求。(下图是否能通过仿真完成?)2.3.2 低通滤波器的设计用窗函数设计低通滤波器,性能指标如下:通带截止频率p=0.1,阻带截止频率s=0.25,实际通带波动Rp=0.10dB,最小阻带衰减As=40dB。分析:从表1可以看出,汉宁窗、海明窗和凯泽窗能提供大于40dB的最小阻带衰减。但汉宁窗的旁瓣峰值较小,而主瓣宽度和海明窗一样。可以使滤波器的阶数较少,所以选用汉宁窗进行设计,程序主要部分如下:p=0.10*;s=0.25*;tr_width=s-p; %计算过渡带宽M=ceil(6.6*/tr_wid
21、th)+1; %按汉宁窗计算滤波器长度disp(滤波器的长度为,num2str(M);n=0:M-1;c=(s+p)/2; %截止频率取为两边缘频率的平均值hd=ideal_lp(c,M); %求理想脉冲响应w_han=(hanning(M); %求汉宁窗函数h=hd*w_han; %设计的脉冲响应为理想脉冲响应与窗函数乘积db,mag,pha,grd,=freqz_m(h,1);%以下为作图语句delta_=2*/1000;Rp=-(min(db(1:1: p/delta_+1);disp(实际通带波动为,num2str(Rp); %以下为作图程序As=-round(max(db(s/del
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于MATLAB的数字滤波器设计毕业论文设计原创版 精品资料 基于 MATLAB 数字滤波器 设计 毕业论文 原创 精品 资料
限制150内