基于MATLAB数字滤波器设计.docx

上传人:b****6 文档编号:6024300 上传时间:2023-01-03 格式:DOCX 页数:16 大小:277.48KB
下载 相关 举报
基于MATLAB数字滤波器设计.docx_第1页
第1页 / 共16页
基于MATLAB数字滤波器设计.docx_第2页
第2页 / 共16页
基于MATLAB数字滤波器设计.docx_第3页
第3页 / 共16页
基于MATLAB数字滤波器设计.docx_第4页
第4页 / 共16页
基于MATLAB数字滤波器设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于MATLAB数字滤波器设计.docx

《基于MATLAB数字滤波器设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB数字滤波器设计.docx(16页珍藏版)》请在冰豆网上搜索。

基于MATLAB数字滤波器设计.docx

基于MATLAB数字滤波器设计

目录

1绪论2

1.1数字滤波器的研究背景与意义2

1.2数字滤波器的使用现状和发展趋势2

1.3数字滤波器的实现方法分析5

1.4MATLAB软件简介5

2数字滤波器的概述7

2.1IIR数字滤波器8

2.2数字滤波器的设计原理9

3IIR带通滤波器的原理及结构11

3.1直接型结构11

3.2级联型结构12

3.3并联型结构13

4IIR带通滤波器的MATLAB仿真14

4.1仿真程序14

4.2仿真结果16

4.3仿真结果分析17

5心得体会18

参考文献19

 

1绪论

1.1数字滤波器的研究背景与意义

当今,数字信号处理的技术飞速发展,它不但自成一门学科,更是以不同的形式影响和渗透到其他的学科。

它与国民经济息息相关,与国防建设紧密相连,它影响或改变着我们的生产,生活方式,因此受到人们的普遍的关注。

智能化,数字化和网络化是当今信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号,电视信号,雷达信号,通信信号,导航信号,射电天文信号,生物医学信号,控制信号,气象新号,地震勘测信号,机械振动信号,遥感遥测信号,等等。

上述的这些信号大部分是模拟信号,也有小部分是数字信号。

模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维的。

大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。

因此,数字信号实际上是用数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个二维离散时间序列。

数字信号处理,就是用数值计算的方法对数字序列进行各种处理,把信号变换成符合需要的某种形式。

例如,对数字信号进行离散,对信号进行频谱分析或者功率谱分析以了解信号的频谱组成,进而对信号进行识别,对信号进行某种变换,使之更适合于传输,存储和应用,对信号进行编码以达到数据压缩的目的等等。

1.2数字滤波器的使用现状和发展趋势

在信号处理过程中,所处理的信号往往混有噪音,从接收到的信号中消除或减弱噪音是信号传输和处理中十分重要的问题。

根据有用信号和噪音信号的不同特性,提取有用信号的过程成为滤波。

实现滤波功能的系统被称为滤波器。

在近代电信设备和各类控制系统中,数字滤波器应用极为广泛,这里只列举部分应用最成功的领域。

(1)语音处理

语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。

该领域主要包括5个方面的内容:

第一,语音信号分析。

即对语音信号的波形特性,统计特性,模型参数等进行分析计算。

第二,语音合成。

即利用专用硬件或在通用计算机上运行软件来产生语音。

第三,语音识别。

即利用专用硬件或计算机识别人的讲话,或者识别说话的人。

第四,语音增强。

即从噪音或者干扰中提取被掩盖的语音信号。

第五,语音编码。

主要用于语音数据的压缩,目前已经建立了一系列语音编码国际标准,大量用于通信和音频处理。

(2)图像处理

数字滤波技术已经成功地应用于静止图像和活动图像的恢复和增强,数据压缩,去噪音和干扰,图像识别以及层析X射线摄影,还成功地应用于雷达,声纳,超声波和红外线的可见图像成像。

(3)通信

在现代通信技术领域内,几乎没有一个分支不受到数字滤波器技术的影响。

信源编码,信道编码,调制,多路复用,数据压缩以及自适应信道均衡等,都广泛的采用数字滤波器,特别是在数字通信,网络通信,图像通信,多媒体通信等应用中,离开了数字滤波器,几乎是寸步难行,其中,别人玩是通信技术未来发展方向的软件无线电技术,更是以数字滤波技术为基础。

(4)电视

数字电视取代模拟电视已经是必然的趋势。

高清晰电视的普及指日可待,与之配置的视频光盘技术已经形成巨大市场产业:

可视电话和会议电视产品不断更新换代。

视频压缩和音频压缩技术所取得的成就和标准化工作,促成了电视领域产业的蓬勃发展,而数字滤波器及其相关技术是视频压缩和音频压缩技术的重要基础。

(5)雷达

雷达信号占有的频带非常宽,数据传输速率也非常高,因而压缩数据量和降低数据传输速率是雷达信号数字处理面临的首要问题。

告诉数字器件的出现促进了雷达信号处理技术的进步。

在现代雷达系统中,数字信号处理部分是不可缺少的,因为从信号处理,滤波,加工到目标参数的估计和目标成像的显示都离不开数字滤波技术。

雷达信号的数字滤波器是当今十分活跃的研究领域之一。

(6)声纳

声纳信号处理分为两大类,即有源声纳信号处理和无源声纳信号处理,有源声纳系统涉及的许多理论和技术与雷达系统相同。

例如,他们都要产生和发射脉冲是探测信号,他们的信号处理任务都主要是对微弱的目标回拨进行检测和分析,从而达到对目标进行探测,定位,跟踪,导航,成像显示等目的,他们要应用到的主要信号处理技术包括滤波,门限比较,谱估计等。

(7)生物医学信号处理

数字滤波器在医学中的应用日益广泛,如对脑电图和心电图的分析,层析x射线摄影的计算机辅助分析,胎儿心音的自适应检测等。

(8)音乐

数字滤波器为音乐领域开辟了一个新局面,在对音乐信号进行编辑,合成以及在音乐中加入交混回响,合声等特殊方面,数字滤波技术都显示出了强大的威力。

数字滤波器还可用于作曲,录音和播放,或对旧录音带的音质进行恢复等。

(9)其他领域

数字滤波器的应用领域如此广泛,以至于完全列举他们是根本不可能的,处理以上几个领域外,还有许多其他的应用领域。

例如,在军事上呗大量应用于导航,制导,电子对抗,战场侦查。

随着信息时代数字时代的到来,数字滤波技术已经车位一门及其重要的学科和技术领域。

以往的滤波器大多采用模拟电路技术,但是,模拟电力技术存在很多难以解决的问题,例如,模拟电路元件对温度的敏感性,等等。

而采用数字技术则避免很多类似的难题,当然数字滤波器在其他方面有很多突出的优点,在前面部分已经提到,这些都是模拟技术所不能及的,所以采用数字滤波器对信号进行处理是目前发展的方向。

1.3数字滤波器的实现方法分析

数字滤波器的实现,大体上有如下几种方法:

(1)在通用的微型机上用软件来实现

软件可以由使用者自己编写或者使用现成得。

这种实现方法速度较慢,多用于教学与研究。

(2)用单片机来实现

目前单片机的发展速度很快,功能也很强,依靠单片机的硬件环境和信号处理软件可用于工程实际,如数字控制,医疗器械等

(3)利用专门用于信号处理的DSP来实现

DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器,累加器,采用流水线工作方式及并行结构,多线,速度快,配有适于信号处理的指令等,DSP芯片的问世及飞速发展,为信号处理技术应用于工程实际提供了可能。

1.4MATLAB软件简介

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB产品族可以用来进行以下各种工作:

数值分析,数值和符号计算,工程与科学绘图,控制系统的设计与仿真,通讯系统设计与仿真,财务与金融工程,

(1)友好的工作平台和编程环境

  MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。

(2)简单易用的程序语言

  Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

(3)强大的科学计算机数据处理能力

  MATLAB是一个包含大量计算算法的集合。

其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

(4)出色的图形处理功能

MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

(5)应用广泛的模块集合工具箱

  MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。

一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

(6)实用的程序接口和发布平台

  新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。

允许用户编写可以和MATLAB进行交互的C或C++语言程序。

(7)应用软件开发(包括用户界面)

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等。

2数字滤波器的概述

数字滤波器是指完成信号滤波滤波处理功能的,用有限精度酸腐实现的离散时间现行非时变系统,器输入是一组数字量,其输出是经过变换的另一组数字量。

因此,数字滤波器本事既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以是所需要的运算编写程序,让通用计算机来执行。

数字滤波器,输入输出均为数字信号,通过一定运算关系,改变输入信号中所含频率成分的相对比例,或滤除某些频率成分的器件。

对于数字滤波器而言,若系统函数为H(z),其脉冲响应为h(n),输入时间序列为x(n),则它们在时域内的关系是如下:

y(n)=h(n)x(n)(2-1)

在Z域内,输入和输出存在关系如下:

Y(z)=H(z)X(z)(2-2)

式中,X(z),Y(z)分布为x(n)和y(n)的Z变换。

在频域内,输入和输出则存在如下关系:

Y(jw)=H(jw)X(jw)(2-3)

式中,H(jw)是数字滤波器的频率特性,X(jw)Y(jw)分别为x(n)和y(n)的频谱,而w为数字角频率。

数字滤波器可以有很多分类方法,但总体上可分为两大类。

一类为经典滤波器,即一般的滤波器,器特点是输入信号中的有用成分和希望能滤除的成分占用不同的频带,通过合适的选频滤波器可以实现滤波。

例如,若输入信号中有干扰,信号中信号和干扰信号的频带相重叠,则干扰就不能呗有效的滤除。

另一类成为现代滤波器,如维纳滤波器,卡尔曼滤波器等,其输入信号中有用信号和希望滤除的成分频带重叠。

对于经典滤波器,从频域上也可以份为低通,高通,带通和带阻滤波器。

从时域特性上看,数字滤波器还可以分为有限长冲击响应数字滤波器(FIR)和无线长冲击响应数字滤波器(IIR)。

对于有限长冲击响应数字滤波器(FIR),其输出y(n)只取决于有限个过去和现在的输入,x(n),x(n-1),x(n-2)…,x(n-m),滤波器的输入输出关系可表示为

y(n)=

(2-4)

对于无线长冲击响应数字滤波器(IIR),它的输出不仅取决于过去和现在的输入,而且还取决于过去的输出,其差分方程为

y(n)+

=

(2-5)

该差分方程的单位冲击响应是无限延续的。

作为线性是不变系统的数字滤波器可以用系统函数来表示,而实现一个系统函数表达式所表示的系统可以用两种方法:

一种方法是才用计算机软件实现;另一种方法是用加法器,乘法器和延时系统等设计专用的数字硬件系统,即硬件实现。

不论软件实现还是硬件实现,在滤波器的设计过程中,由同一系统可以构成很多不能的运算结构。

对于无限精度的系数和变量,不同结构可能是等效的,与其输入和输出特性无关。

但是在系数和变量精度是有限的情况下,不同预算结构的性能就有很大的差异。

因此,有必要对离散时间系统的结构有一基本认识和了解。

2.1IIR数字滤波器

一个数字滤波器可以用系统函数表示为:

H(z)=

=

(2-1-1)

由这样的系统函数可以得到表示系统输入与输出关系的常系数线性差分方程为:

y(n)=

+

(2-1-2)

可见数字滤波器的功能就是把输入序列x(n)通过一定的运算变换成输出序列y(n)。

不同的运算处理方法决定了滤波器实现结构的不同。

无限长冲击响应滤波器的单位抽样响应h(n)是无限长的,器差分方程如公式7所示,是递归式,因此在z平面的有限区间(0

)有极点存在。

前面已经说明,对于一个给定的线性是不变系统的系统函数,有着各种不同的等效差分方程或网络结构。

由于乘法是一种耗时运算,而每个延时单元都要有一个存储器,因此采用最少乘法器和最少的延时之路的网络结构是通常的选择,以便提高运算速度和减少存储器。

然而,当需要考虑有限寄存器长度的影响时,往往也采用并非最少乘法器和延时单元的结构。

IIR滤波器实现的基本结构有:

(1)直接Ⅰ型

(2)直接Ⅱ型

优点:

延迟器减少一半,变为N个,可以节省存储器或存储单元

缺点:

其他缺点同直接Ⅰ型

(3)IIR滤波器的级联型结构

优点:

系统实现简单,只需一个二阶系统通过改变输入系数即可完成,极点位置可以单独调整,运算速度快,各二阶网络的误差互不影响,总的误差小,对字长要求低。

缺点:

不能直接调整零点,因多个二阶的零点并不是整个系统函数的零点,当需要准确的传输零点时,级联型最合适。

(4)IIR滤波器的并联型结构

优点:

简单实现,用一个二阶的,通过变换系数就可实现整个系统。

零极点可单独控制,调整。

各二阶零极点的搭配可互换位置,优化组合以减小运算误差,可流水线操作。

缺点:

二阶电平难控制,电平大,容易导致溢出,电平小则是信噪比减小。

2.2数字滤波器的设计原理

数字滤波器根据其冲击响应函数的时域特性,可分为两种,即无线长娼妓响应IIR滤波器和有限长冲击响应FIR滤波器。

IIR滤波器的特性是,具有无限持续时间冲击响应。

这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。

FIR滤波器的冲击响应只能延续一定的时间,在工程实际中可以采用递归的方法来实现,也可以采用非递归的方式来实现。

数字滤波器的设计方法有多种,如双线性变换法,窗函数法,插值逼近法和切比雪夫逼近法等等。

随着MATLAB软件尤其是MATLAB信号处理工作的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以是设计达到最优化。

数字滤波器的设计基本步骤如下:

(1)确定指标

在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。

在很多实际应用中,数字滤波器常常被用来实现选频操作。

因此,指标的形式一般在频域中给出幅度和相位响应。

幅度指标主要用以下两种方式给出。

第一种是绝对指标。

它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。

第二种指标是相对指标。

它以分贝值的形式给出要求。

运用线性相位响应指标进行滤波器设计具有如下优势:

①只包含实数算法,不涉及复数运算。

②不存在延时失真,只有固定数量的延迟。

③长度为N的滤波器,计算量为N/2数量级。

(2)逼近

确定了技术指标后,就可以建立一个目标的数字滤波器模型。

通常采用理想的数字滤波器模型。

之后,利用shuzilbq的设计方法,shejic一个实际滤波器模型来逼近给定的目标。

(3)性能分析和计算机仿真

上两个步的结果是得到以差分或者系统函数或者冲击响应描述的滤波器。

根据这个描述就可以分析器频率特性和相位特性,以验证设计结果是否满足指标要求:

或者利用计算机仿真实现设计的滤波器,再分析滤波器结果来判断。

 

3IIR带通滤波器的原理及结构

研究IIR数字滤波器不仅仅在于理论研究,更重要的是寻求适合特定应用的实现结构。

从理论上讲,IIR数字滤波器要达到同样的性能指标,其实现结构往往是多种多样的,具体采用何种实现结构完全取决于具体应用的条件。

下面介绍几种IIR数字滤波器的基本实现结构。

IIR数字滤波器的系统传递函数可表示为:

(3-1)

根据滤波器的传递函数

的不同表达形式,可以得出不同的实现结构。

3.1直接型结构

由上式可以得到两种IIR滤波器的直接型实现结构,如下图所示,其中,

表示使信号延迟一个采样周期的单位延迟元件,

是滤波器的输入,

是滤波器的输出。

 

图3-1-1

在直接型实现结构中,因滤波器阶数的增高会造成系数的更大分散,因而图中所示的IIR实现结构通常并不会是直接使用。

不过,当滤波器可以分解成几个低阶基本节时,各基本节的低阶滤波器常可使用这类直接型结构。

 

3.2级联型结构

对IIR数字滤波器的传递函数

的分母多项式及分子多项式进行因式分解,可分解为一次与二次多项式的乘积。

对与上式,假设

,则

可表示为

(3-2-1)

式中,

,全部系数均为实数。

又当

时,除了

项外,分子多项式仅为

次,同样也可以分解为一次和二次多项式的乘积。

其他情况下,分解方法也完全相同。

当利用硬件实现数字滤波器时,应尽可能公用存储器及单位延迟元件等,以利于减少所需元件数量,这对简化结构式很重要的。

,则

(3-2-2)

可将

分解为

(3-2-3)

(3-2-4)

式中,

表示不超过

的最大整数。

 

图3-2-1

3.3并联型结构

将式(式2.1)中的

进行因式分解,并写成如下形式

(3-3-1)

式中,

时,(式3-2-3)中的最后一项为0,并设(式3-1)的

的极点不重复。

基于级联型结构同样的道理,当

由(式3-2-2)给出,且

的极点不重复时,则

(3-3-2)

为(式3-2-3)形式的滤波器。

 

图3-3-1

与级联型不同,并联型结构滤波器的极点与零点的组合及比例等不会有分配问题,而且由于它可以实现系数敏感度低的滤波器,因此当滤波器的极点不重复时,并联结构可以作为最有利的实现结构形式广泛使用。

 

4IIR带通滤波器的MATLAB仿真

4.1仿真程序

1)产生含有3个正弦分量的信号(如图4-2-1)

Fs=1500;

t=(1:

10:

1500)/Fs;

s1=sin(2*pi*t*200);

s2=sin(2*pi*t*500);

s3=sin(2*pi*t*800);

s=s1+s2+s3;

subplot(4,1,1);

plot(t,s);

title('含有3个正弦分量的信号');

set(gcf,'color','white');

xlabel('Time(seconds)');

ylabel('Timewaveform');

2)产生一个四阶IIR带通滤波器(如图4-2-2)

[b,a]=ellip(4,0.1,40,[300,700]*2/Fs);

[H,w]=freqz(b,a,512);

subplot(4,1,2);

plot(w*Fs/(2*pi),abs(H));

title('IIR带通滤波器幅频响应');

set(gcf,'color','white');

xlabel('Frequency(Hz)');

ylabel('Mag.offrequencyresponse');

grid;

3)对信号进行滤波(如图4-2-3)

sf=filter(b,a,s);

subplot(4,1,3);

plot(t,sf);

title('lv');

set(gcf,'color','white');

xlabel('Time(second)');

ylabel('Mag.ofTimeresponse');

axis([01-11]);

4)绘出信号滤波前、后的幅频图(如图4-2-4)

S=fft(s,512);

SF=fft(sf,512);

w=(0:

255)/256*(Fs/2);

subplot(4,1,4);

plot(w,abs([S(1:

256)',SF(1:

256)']));

title('滤波前后幅频图');

set(gcf,'color','white');

xlabel('Frequency(Hz)');

ylabel('Mag.offrequencyresponse');

legend({'滤波前的幅频'},{'滤波后的幅频'})

 

4.2仿真结果

 

图4-2-1

 

图4-2-2

 

 

图4-2-3

 

图4-2-4

4.3仿真结果分析

由仿真结果可知,输入的信号中包含200Hz,500Hz,800Hz的正弦信号,经过带通滤波器后,输出信号只包含500Hz的正弦信号,达到了带通的作用。

5心得体会

 

参考文献

[1]程佩青.数字信号处理教程.北京:

清华大学出版社,2011

[2]刘泉,阙大顺.数字信号处理原理与实现.北京:

电子工业出版社,2005

[3]刘泉,汪雪梅.信号与系统.北京:

高等教育出版社,2006

[4]姚天任,江太辉.数字信号处理.武汉:

华中理工大学出版社,2000

[5]丁玉美,高西全.数字信号处理.西安:

西安电子科技大学出版社,2001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1