数字滤波器

一种把输入的时间序列X(n)变换为更适合需要的时间序列Y(n)的数字系统。通常由数字乘法器、加法器和延时单元组成。其功能是通过对输入的离散信号的数字代码进行处理,滤去输入信号序列中的某些频率成分、保留需要的频率成分,从而改变信号的频谱。1955年,美国麻省理工学院的斯托克恩最早提出了数字滤波器问题,60年代中期发展了数字滤波器的设计方法。随着电子计算机、大规模集成电路技术的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实现。数字滤波器具有高精度、高可靠性,可以程控改变其特性或复用,便于集成等优点,在语声信号处理、图象处理、医学生物信号处理等领域得到广泛应用。

数字滤波器是一个离散时间系统,对数字滤波器的分析与对离散时间系统的分析相同,都可用傅里叶变换与Z变换导出它的频率响应和转移函数。数字滤波器还可分为一维、二维和多维的;它也有线性或非线性、因果的或非因果的、时变的或时不变的之分;按其频率特性则有低通、高通、带阻、带通、全通等类型。应用最广的是线性时不变数字滤波器。

转移函数和频率响应

数字滤波器的转移函数H(z)定义为滤波器输出与输入的Z变换之比,即

公式 符号  (1)

或定义为数字滤波器单位冲激响应h(n)的Z变换,即

H(z)=Z[h(n)]    (2)

H(z)的一般表达式为

公式 符号    (3)

H(z)和h(n)为一个Z变换对。

数字滤波器的频率响应H(ejw)是它的单位冲激响应的傅里叶变换。对于常用的因果系统,只要系统是稳定的,则有

公式 符号   (4)

也可定义为

公式 符号   (5)

由于数字滤波器的输出是用频率响应与输入信号的傅里叶变换相乘的结果,所以对同一个输入信号X(ejw)只要适当改变H(ejw)的幅度和相位就能得到所需要的输出Y(ejw)。例如,需要让输入信号的低频成分通过滤波器而抑制其高频成分,则可设计滤波器使它的频率响应H(ejw)在某个频率以下的幅度为一,而在此频率以上的幅度为零。即滤波器的幅度随频率的分布如图所示。

图

这种滤波器称为低通数字滤波器。图中的ωp称为通带频率。当ω<ωp,|H(ejw)|=1;当ωpωω0,|H(ejw)|=0。ωsa为抽样频率等于2π,它是幅频特性的一个周期。ω0ωsa/2是幅频特性的半个周期。由于幅频特性是ω的偶函数,所以幅频特性对于ω0是对称的,因此ω0也称为折叠频率。与此相似,根据不同的需要,可以设计不同的幅频特性,按其对频率选择的情况不同,可分为高通、带通和带阻等形式的数字滤波器。能使信号通过的频率范围称为通带,通带内|H(ejw)|=1;抑制信号通过的频率范围称为阻带,阻带内|H(ejw)|=0。

维数字滤波器

可用二维差分方程来描述。与一维情况相似,有

公式 符号   (6)

公式 符号    (7)

式中H(z1z2)及H(e挕,e挗)分别称为二维数字滤波器的转移函数及频率响应。

与一维数字滤波器相似,定义H(z1z2)的逆Z变换及H(e挕,e挗)的逆傅里叶变换为h(n1n2),并称h(n1n2)为二维数字滤波器的单位冲激响应。

虽然二维数字滤波器的转移函数与频率响应在形式上和一维情况相类似,但二维的情况一般是不能分解开的,所以设计时必须考虑到设计出来的结果能否实现的问题。

另外,二维有限冲激响应数字滤波器的稳定性是有可靠保证的,但二维无限冲激响应数字滤波器的稳定性则有待设计后检验。

二维无限冲激响应数字滤波器与性能相似的二维有限冲激响应数字滤波器相比,它具有较少的系数因而用它进行滤波时计算的工作量也较少。但是在可实现性和稳定性方面,它的问题较多。

单位冲激响应

数字滤波器的单位冲激响应是指在零状态下输入信号为单位冲激δ(n)时的响应。这种数字滤波器的单位冲激响应h(n)满足下式

公式 符号     (8)

于是h(0)=b0h(1)=b1…,h(M)=bM;而当nM时,h(n)呏0。这种滤波器的单位冲激响应的序列长度是有限的,所以称之为有限冲激响应数字滤波器,简写为FIR数字滤波器。

若常系数差分方程式中至少有一个αk不等于零,其具体形式为

y(n)+αy(n-1)=x(n)   (9)

于是其单位冲激响应h(n)满足h(n)+αh(n-1)=δ(n),可直接得出h(n)=(-α)nu(n)。可见h(n)序列长度是无限的,这种滤波器称之为无限冲激响应数字滤波器。简写为ⅡR数字滤波器。

h(n)的长度是否有限进行分类是数字滤波器最通用的分类方法之一。

数字滤波器的设计与实现

数字滤波器设计是指根据给定的技术要求设法求出数字滤波器的转移函数或频率响应来逼近给定的技术要求。 因为FIR数字滤波器的转移函数是一个多项式而 IIR数字滤波器的转移函数是一个有理式,所以两种数字滤波器的设计有显著的不同。

设计 FIR数字滤波器时可以把给定的理想幅频特性,在频域中展开为傅里叶级数,并将级数截短。截短可用乘各种窗口的方法完成。这个有限项数的频域的傅里叶级数就是所求的频率响应。这个级数各项的系数就是所求的单位冲激响应。这一方法称为窗口法。另一常用的方法是频率抽样法,其步骤是先将所希望得到的幅频特性进行抽样并赋予适当的线性相位,在幅频特性的一个周期内得N个抽样点。称这些抽样点的抽样值为Hd(K),K=0,1,…,N-1。然后对Hd(K)进行离散傅里叶变换的逆变换,得到h(n);再对h(n)进行傅里叶变换,得H(ejw)。这个H(ejw)就是所求的频率响应。如果对h(n)进行Z变换,则得转移函数H(z)。还有许多其他的方法,例如等波纹逼近法和利用极零点安排的方法设计FIR数字滤波器。

设计 IIR数字滤波器常常是依照给定的技术要求先设计一个模拟滤波器,求得其转移函数H(s)(这里s普拉斯变量),然后通过变换的方法得到IIR数字滤波器的转移函数H(z)。把模拟滤波器的转移函数H(s)变换为数字滤波器的转移函数H(z),较常用的有两种方法:一个是冲激响应不变法,简称为冲激不变法。这种方法是先从H(s)经拉普拉斯逆变换得到h(t),h(t)为模拟滤波器的单位冲激响应,对h(t)进行抽样得h(nT),并把h(nT)作为数字滤波器的单位冲激响应h(n),再对h(n)进行Z变换,得数字滤波器的转移函数H(z)。这种方法能用来设计低通数字滤波器,但设计高通带阻滤波器时都会出现困难,原因是高通带阻滤波器的h(t)中的高频成分的频率无界,使抽样率无法选择。第二种方法是双线性变换法。这个方法是令

公式 符号    (10)

使用双线性变换方法时由于S平面到Z平面的映射关系不是线性的,所以在设计模拟滤波器之前要进行预变形矫正。给定技术要求后设计模拟滤波器有不同的方法。按照设计方法的不同,赋予设计出来的滤波器以各种名称。例如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等等。按照预变形矫正得到的技术要求设计模拟滤波器,得出H(s),再使用(10)式,便可得出数字滤波器的转移函数H(z)。另外,还有不少计算机辅助设计的方法,这些方法使用最小均方误差或最小P次方误差的方法求出最优化的结果,或者是设定转移函数的形式和阶数,用计算机辅助方法求出转移函数的各系数。

数字滤波器有硬件实现和软件实现两种实现方法。

由于数字滤波器要完成一个差分方程所表示的运算,其中包括加法、乘法和延迟,所以用硬件实现时只需要加法器、乘法器和移位寄存器3种部件。

如果设计得到的数字滤波器是高阶的,即差分方程是高阶的,为了降低有限字长对数字滤波器性能的影响,即降低对有限字长的敏感性,数字滤波器常常不用直接方式实现而采用多个二阶或一阶系统的级联和并联。

在很多情况下,并不需要把硬件连接起来作成固定的设备,而是用一个计算程序送入通用计算机完成所需要的运算。这种实现的方法称为软件实现。软件实现具有很大的灵活性,修改也很方便。在本来就拥有通用计算机的情况下,这是很方便和经济的实现方法。但软件实现要求计算机执行程序,所以处理时需用时间较长,而硬件实现则具有较高的处理速度。

由于实现时使用寄取器的字长有限而引起的数字滤波器不稳定问题。有时设计的无限冲激响应数字滤波器本来是稳定的(即滤波器的有界输入只能产生有界输出),但由于硬件实现时所用的字长不长,以致数字滤波器变成了不稳的。这种现象在数字滤波器阶次高、极点密集而且用直接形式实现时尤其突出。还有的时候,由于硬件实现的字长有限,致使原来稳定的无限冲激响应数字滤波器变成单位冲激响应并不趋于零而为一个固定数值或不衰减的正负交替的振荡。这种现象称为极限环振荡。

有限冲激响应数字滤波器因为它的单位冲激响应延续时间有限,所以它一定是稳定的。

无限冲激响应数字滤波器总是以递归形式实现的。但有限冲激响应数字滤波器的实现,则既可用递归形式,也可用非递归形式。

设计数字滤波器时首先要考虑是采用有限冲激响应数字滤波器还是采用无限冲激响应数字滤波器。有限冲激响应数字滤波器具有可靠的稳定性,容易作成准确的线性相位,但时延较长。为了实现同一幅频特性,与有限冲激响应数字滤波器对比,无限冲激响应数字滤波器的阶次较低,从而比较经济,计算速度也较快,但是它不易作成线性相位,如果对相位有线性的要求,则需另加相位补偿,另外它的稳定性也是个问题,需要于设计完成后进行校验。