数字滤波器
概述=
数字滤波器对信号滤波的方法是:用数字计算机对数字信号进行处理,处理就是按照预先编制的程序进行计算。数字滤波器的原理如图所示,它的核心是数字信号处理器。
如果采用通用的计算机,随时编写程序就能进行信号处理的工作,但处理的速度较慢。如果采用专用的计算机芯片,它是按运算方法制成的集成电路,连接信号就能进行处理工作,处理的速度飞快,但功能不易更改。如果采用可编程的计算机芯片,那么,装入什么程序机器就能具有什么功能。这种可编程芯片的优点很多,是现代电子产品的首选。如果是对模拟信号进行处理,则需要添加模数转换器和数模转换器。
参考《数字信号处理》杨毅明著p.183-184,机械工业出版社2012年发行。[1] 数字滤波器是按照程序计算信号,达到滤波的目的。通过对数字滤波器的存储器编写程序,就可以实现各种滤波功能。对数字滤波器来说,增加功能就是增加程序,不用增加元件,不受元件误差的影响,对低频信号的处理也不用增加芯片的体积。用数字滤波方法可以摆脱模拟滤波器被元件限制的困扰。
数字滤波器一词出现在60年代中期。由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号(对应数字频率)转换为所
要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的数字频率(2π*f/fs,f为模拟信号的频率,fs为采样频率,注意区别于模拟频率),按照奈奎斯特抽样定理,要使抽样信号的频谱不产生重叠,应小于折叠频率(ws/2=π),其频率响应具有以2π为间隔的周期重复特性,且以折叠频率即ω=π点对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。[2] 数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。应用最广的是线性、时不变数字滤波器,以及f.i.r滤波器。
特点
IIR数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。
对于IIR数字滤波器的设计具体步骤如下:
(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。
(2)根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。
(3)再按照一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数)。若设计的数字滤波器是低通的,上述的过程可以结束,若设计的是高通、带通或者是带阻滤波器,那么还需要下面的步骤:
将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通G(s),再将G(s)转换为H(z)。
IIR数字滤波器的系统函数可以写成封闭函数的形式。
IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。
与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
IIR单位响应为无限脉冲序列FIR单位响应为有限的
IIR幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;
FIR幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变。这是很好的性质。
另外有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。
分类
数字滤波器可以按所处理信号的维数分为一维、二维或多维数字滤波器。一维数字滤波器处理的信号为单变量函数序列,例如时间函数的抽样值。二维或多维数字滤波器处理的信号为两个或多个变量函数序列。例如,二维图像离散信号是平面坐标上的抽样值。
一维滤波器 处理一维数字信号序列的算法或装置。线性、时不变一维数字滤波器的输出信号序列y(n)和输入信号序列x(n)的关系由线性、常系数差分方程描述:(如图1)
相应的Z域转移函数图二式中ar、bk为数字滤波器系数,Z【y(n)】和Z【x(n)】分别为输出和输入信号序列的Z变换。转移函数H(z)的Z反变换称为一维数字滤波器的单位冲激响应,即h(n)=Z-1【H(z)】。输出信号序列也可以表示为输入信号序列x(n)与数字滤波器单位冲激响应h(n)的离散褶积(如图三)
如果数字滤波器的单位冲激响应h(n)只有有限个非零值,称为有限冲激响应数字滤波器。如果单位冲激响应具有无限多个非零值,称为无限冲激响应数字滤波器。
有限冲激响应数字滤波器一般采取非递归型算法结构,因此也称非递归型数字滤波器。无限冲激响应数字滤波器只能采取递归型算法结构,故又称递归型数字滤波器。
处理二维数字信号序列的算法或
装置。线性、时不变二维数字滤波器的输出 y(m,n)与输入 x(m,n)关系由两个变量线性常系数差分方程描述:(如图4)
相应的转移函数为图5式中,a b为滤波器系数,Z【y(m,n)】和Z【x(m,n)】分别为输出和输入信号序列的二维Z变换。转移函数H(z1,z2)的二维Z反变换h(m,n)=Z-1【H(z1,z2】,称为二维数字滤波器的单位冲激响应。二维数字滤波器的输出y(m,n)亦可表示为输入信号序列x(m,n)和单位冲激响应h(m,n)的二维离散褶积(图六)
二维数字滤波器对单位冲激响应亦分有限冲激响应和无限冲激响应两类。二维有限冲激响应数字滤波器为非递归型算法结构,因此又称二维非递归型数字滤波器。二维无限冲激响应数字滤波器为递归型算法结构,因此也称二维递归型数字滤波器。