1.绪论当今,数字信号处理[1] (DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。
数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号、射电天文信号、生物医学信号、控制信号、气象信号、地震勘探信号、机械振动信号、遥感遥测信号,等等。
数字滤波技术是数字信号分析、处理技术的重要分支[2-3]。
无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。
在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。
数字滤波器的优劣直接决定产品的优劣。
MATLAB是美国Math works公司推出的一套用于工程计算的可视化高性能语言与软件环境。
MATLAB为数字滤波器的研究与应用提供了一个直观、高效、便捷的利器。
它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。
MATLAB退出的工具箱使各个领域的研究人员可以直观方便地进行科学研究、工程应用,其中的信号处理、图像处理、小波等工具箱为数字滤波研究的蓬勃发展提供了有力的工具。
几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。
信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。
如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。
数字滤波器,在数字信号处理中有着广泛的应用,因此,无论是在理论研究上还是在如通讯、HDTV(高清晰度电视)、雷达、图象处理、数字音频等实际应用上都有着美好的技术前景和巨大的实用价值。
基于matlab实现数字滤波设计,可通过修改滤波器的参数十分方便地改变滤波器的特性,因此我们有必要对滤波器的设计方法进行研究,理解其工作原理优化设计方法,设计开发稳定性好的滤波器系统。
掌握滤波器的设计技术和原理能为在通信领域、信号处理领域等诸多领域中对数字滤波器的设计提供技术和准备,这不仅具有重要的理论意义同时还具有重要的现实意义。
目的与意义2 MATLAB简介2.1 MatlabMatlab是矩阵实验室(Matrix Laboratory)的意思,是由美国MathWorks公司于1982 年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体。
在Matlab内部配备了涉及到自动控制、信号处理和计算机仿真等种类繁多的工具箱,所以Matlab的应用非常广泛,它可涉足于数值分析、控制、信号分析和通信等多种领域。
Matlab不仅可完成基本代数运算操作,而且还可完成矩阵函数运算,提供丰富的实用函数命令。
另外,用户还可以根据自己的需要编写函数。
MATLAB的信号处理工具箱是专门应用于信号处理领域的专用工具箱,它的两个基本组成就是滤波器的设计与实现部分以及谱分析部分。
工具箱提供了众多功能强大的函数,使原来繁琐的程序设计简化成函数的调用。
只要以正确的指标参数调用相应的滤波器设计程序或工具箱函数,便可以得到正确的设计结果,使用非常方便。
2.1.1Matlab的特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。
MATLAB最突出的特点就是简洁。
MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。
MATLAB给用户带来的是最直观,最简洁的程序开发环境。
2.1.2Matlab的功能MATLAB包含的内容非常丰富,功能强大,可以概括为以下几个方面:(1)可以在多种操作系统下运行,如DOS、Windows 95/98/2000/2000/NT、Compaq Alpha、LinuxSun Solaris等。
(2)有超过500种的数学、统计、科学及工程方面的函数,使用简单快捷,并且有很强的用户自定义函数的能力。
(3)有强大的图形绘制和可视化功能,可以进行视觉数据处理和分析,进行图形、图像的显示及编辑,能够绘制二维、三维图形,使用户可以制作高质量的图形,从而写出图文并茂的文章。
(4)有和用其他高级语言(如C,C++,FORTRAN,JAVA)编写的外部程序相接口的能力,也可把MATLAB程序转换成上述高级语言的子程序。
(5)有从外部文件及外部硬件设备读入数据的能力。
(6)有丰富的网络资源,从相关的Web网站可以直接获得全套的MATLAB联机帮助文件和说明书的电子文档,还可以获得各类技术支持与帮助。
(7)有丰富的工具箱〔toolbox〕。
各个领域的专家学者将众多学科领域中常用的算法编写为一个个子程序,即m文件,这些m文件包含在一个个工具箱中。
其工具箱可以分为两大类,即功能性工具箱和科学性工具箱。
功能性工具箱主要用来扩充MATLAB的符号计算、图形可视化、建模仿真、文字处理等功能以及与硬件实时交互的功能。
学科性工具箱是按学科领域来分类的,如信号处理、控制、通信、神经网络图像处理、系统辨识、鲁棒控制、模糊逻辑、小波等工具箱。
可以看出MATLAB是一个功能十分强大的系统,是集数值计算、图形管理、程序开发为一体的环境。
除此之外,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。
用户可以根据自己的工作任务,开发自己的工具箱。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。
如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。
2.2滤波器2.2.1波滤器滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。
您可以通过基本的滤波器积木块----二阶通用滤波器传递函数,推导出最通用的滤波器类型:低通、带通、高通、帯阻和椭圆型滤波器。
传递函数的参数——f0、d、hHP、hBP 和hLP,可用来构造所有类型的滤波器。
转降频率f0为s项开始占支配作用时的频率。
设计者将低于此值的频率看作是低频,而将高于此值的频率看作是高频,并将在此值附近的频率看作是带内频率。
阻尼d用于测量滤波器如何从低频率转变至高频率,它是滤波器趋向振荡的一个指标。
实际阻尼值从0至2变化。
高通系数hHP是对那些高于转降频率的频率起支配作用的分子的系数。
带通系数hBP 是对那些在转降频率附近的频率起支配作用的分子的系数。
低通系数hLP是对那些低于转降频率的频率起支配作用的分子的系数。
设计者只需这5个参数即可定义一个滤波器。
数字滤波器可以用查分方程、单位取样响应以及系统函数等表示。
对于研究系统的实现方法,即它的运算结构来说,用框图表示最为直接。
一个给定的输入输出关系,可以用多种不同的数字网络来实现。
在不考虑量化影响时,这些不同的实现方法是等效的;但在考虑量化影响时,这些不同的实现方法性能上就有差异。
因此,运算结构是很重要的,同一系统函数H(z),运算结构的不同,将会影响系统的精度、误差、稳定性、经济性以及运算速度等许多重要性能。
IIR(无限冲激响应)滤波器与FIR(有限冲激响应)滤波器在结构上有自己不同的特点,在设计时需综合考虑。
2.2.2滤波器原理数字滤波器可以用查分方程、单位取样响应以及系统函数等表示。
对于研究系统的实现方法,即它的运算结构来说,用框图表示最为直接。
一个给定的输入输出关系,可以用多种不同的数字网络来实现。
在不考虑量化影响时,这些不同的实现方法是等效的;但在考虑量化影响时,这些不同的实现方法性能上就有差异。
因此,运算结构是很重要的,同一系统函数H(z),运算结构的不同,将会影响系统的精度、误差、稳定性、经济性以及运算速度等许多重要性能。
IIR(无限冲激响应)滤波器与FIR(有限冲激响应)滤波器在结构上有自己不同的特点,在设计时需综合考虑。
数字滤波器是离散系统,所处理的信号是离散信号。
一般是与离散系统或网络可以用差分方程、单位脉冲响应以及系统函数进行。
如果系统输入、输出服从N 阶差分方程:∑==M k k b n y 0)()(k n x -+)(1k n y a N k k -∑=则其系统函数,及滤波器的传输函数为:由此实现一个数字滤波器需要如下三种基本的运算单元: (1)加法器:此元件有两个输入和一个输出,三个或多个信号相加由相连的的两个输入加法器实现;(2)乘法器(增益):这是一个单入单出元件,由于乘1时易于理解,因此,这里明确处处示意图;(3)延迟单元(移位或记忆):此元件通过它的信号延迟一个样本,是由移位寄存器实现的。
)()(1)(10z X z Y z a z b z H N k kk M k k k =-=∑∑=-=-3. 滤波器的设计3.1 FIR 滤波器的设计 FIR 滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
滤波器设计是根据给定滤波器的频率特性,求得满足该特性的传输函数。
FIR 滤波器设计的任务是选择有限长度的()h n ,使传输函数()jw H e 满足一定的幅度特性和线性相位要求。
由于FIR 滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。
设计过程一般包括以下三个基本问题:(1) 根据实际要求确定数字滤波器性能指标;(2) 用一个因果稳定的系统函数去逼近这个理想性能指标;(3) 用一个有限精度的运算去实现这个传输函数。
3.1.1 FIR 滤波器的特点 有限长单位冲激响应(FIR )滤波器有以下特点:(1) 系统的单位冲激响应在有限个n 值处不为零;(2) 系统函数在处收敛,极点全部在z = 0处(因果系统);(3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。