1.1 第一章 绪论
引言
随着信息时代的到来,数字信号处理的理论和技术更加成熟,它应用广泛,渗透到各个重要的科学领域。作为数字信号处理的一项重大突破就是数字滤波技术。数字滤波在通信,语音编码,雷达等许多领域中有着十分广泛的应用,目前,数字滤波器的设计图像处理,数据压缩等方面的应用取得了令人瞩目的进展和成就,近年来迅速发展起来的小波理论,由于其局部分析性能的友谊,在图像处理中的应用研究,尤其是在图像压缩,图像去噪等方面的应用研究,收到了越来越多的关注。
由于数字滤波器的概念比较抽象,加上其数值计算又比较繁琐,所以借助好的计算机软件来进行辅助设计,是数字滤波器研究领域的一个发展趋势。这样的软件有很多种,其中最具代表性的就是MATLAB。MATLAB是美国MathWorks公司自20世纪80年代中期推出的数学软件,优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,它是由美国Mathworks公司于1984年正式推出的,是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。MATLAB是功能强大的科学及工程计算软件,它不但具有以矩阵计算为基础的强大数学计算和分析功能,而且还具有丰富的可视化图形表现功能和方便的程序计算能力。MATLAB的应用领域极为广泛,除数学计算和分析外,还被广泛地应用于自动控
制、系统仿真、数字信号处理、图形图像分析、数理统计、人工智能、虚拟现实技术、通信工程、金融系统等领域,因此,MATLAB是面向21世纪的计算机程序设计及科学计算语言。
。 Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
MATLAB/Simulink实现数字滤波器的好处是效率高,直观而且容易修改。有高性能数值计算的高级算法,特别适合矩阵代数领域; 有大量事先定义的数学函数,并且有很强的用户自定义函数的能力;有强大的绘图功能以及具有教育、科学和艺术学的图解和可视化的二维、三维图;基于HTML的完整的帮助功能;适合个人应用的强有力的面向矩阵(向量)的高级程序设计语言;与其它语言编写的程序结合和输入输出格式化数据的能力;
数字滤波器是指完成信号滤波处理功能的,用有限精度算法
实现的离散线性非时变系统,其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过变换或说处理的另一组数字量。因此,它本身既可以是用数字硬件装配成德一台完成给定运算的专用数字计算机,也可将所需的运算编成程序,让通用计算机来执行。
第二章 数字滤波器
数字滤波器是指输入输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。它工作在数字信号域,它处理的对象是经由采样器件将模拟信号转换而得到的数字信号。数字滤波器一般由寄存器、延时器、加法器和乘法器等基本数字电路实现。数字滤波器一词出现在60年代中期。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器具有稳定性高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术实现滤波器的功能愈来愈受到人们的注意和广泛使用。这里所说的数字滤波器是指理想带通,低通等的频率选择数字滤波器。
数字滤波器设计的一个重要步骤是确定一个可实现的传输函数H(z),这个确定传输函数H(z)的过程称为数字滤波器设计。数字滤波器的一般设计过程为:(1)按照实际需要,确定滤波器的性能要求(通常在频域内给定数字滤波的性能要求)。(2)寻找一满足预定性能要求的离散时间线性系统。(3)用有限精度的运算实现所设计的系统。(4)通过模拟,验证所设计的系统是否符合给定性能要求。
数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计
算机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性:
,
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化的过程中,使信号按预定的形式变化。数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器,数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。
数字滤波器指标:一般来说,滤波器的幅频特性是分段常数的,以低通为例,在通带内逼近于1,阻带内逼近与0,实际设计的滤波器并非是锐截止的通带和阻带两个范围,两者之间总有一个过渡带。在设计滤波器时事先给定幅频特性允许误差,在通带范围内幅度响应以误差?1逼近于1,在阻带内幅度响应以误差?2逼近于0。
1??1?|H(ejw)|?1,w?wc|H(ejw)|??2,wr?w?? (1)
式中wc和wr分别为通带边界频率和阻带边界频率,wr-wc为过渡带。在具体的技术指标中往往用通带波动?来表示?1,用最小阻带衰减At来表示?2,其具体的对应公式这里就不详述了。
IIR数字滤波器设计
IIR DF的冲激响应h(n)是无限长的,其输入输出的关系为:
y(n)?i????h(i)x(n?i) (2)
??系统函数为
n???H(z)?n????nh(n)z=??bzrr?0nk?1m?r (3) 1??akz?k 设计无限长单位脉冲响应(IIR)数字滤波器一般可有三种方法。
第一种方法,先设计一个合适的模拟滤波器,然后将其数字话,即将S平面映射到Z平面得到所需的数字滤波器。模拟滤波器的设计技巧非常成熟,不仅得到的是闭合形式的公式,而且设计系数已经表格化了。因此,由模拟滤波器设计数字滤波器的方法准确,简便,得到普遍采用。对于这种方法,工程上有两种常见得变换法——脉冲响应不变法及双线性变换法。
第二种方法,在Z平面直接设计IIR数字滤波器,给出闭合形式的公式,或者以所希望的滤波器响应作为依据,直接在Z平面上通过多次选定极点和零点的位置,以逼近该响应。
第三种方法,利用最优化技术设计参数,选定极点和零点在Z平面上的合适位置,在某种最优化准则意义上逼近所希望的响应。但一般不能得到滤波器的系数(即零,极点的位置)作为给定响应的闭合形式函数表达式。优化设计需要完成大量的迭代运算,这种设计法实际上也是IIR滤波器的直接设计。
本文着重介绍由模拟滤波器设计相应的IIR数字滤波器的方法。