陈祥训 中国电力科学研究院,100085 北京清河
1 前言 平滑函数导数型小波是一种使用十分广泛的实用小波。这类小波构成容易,可检测信号极值点、拐点、边缘、尖锐变化部分、局部正则度、局部奇异性等反映信号重要特征的特征量,其检测结果还具有某些场合必须具备的平移不变性,因此被广泛应用于信号特征的提取与识别,数据压缩,去噪等场合。 在各种平滑函数导数型小波中,使用最普遍的是各阶高斯函数导数小波序列[1~4](以下简称高斯序列小波)和Mallat样条小波[5~7]。前者的缺点是无合适的快速变换算法,后者的缺点是时域波形单调,只有一阶为零的矩(vanishing moment),只能代替高斯一阶导数,并且这时还存在尺度函数的滤波参数长度太长(48项)而增加计算量的缺点。 笔者在文献[9]文中构造了一类既可替代高斯序列小波,又具有快速算法,同时还具有高斯序列小波不具有的一些更灵活的导数小波,即基数B样条导数小波,简称Bd小波。本文详细说明这类小波的滤波参数与小波变换的快速算法,并说明如何从频域与时域两方面选择这类小波。
2 Bd小波基本公式 Bd小波Ψmp是m+p阶基数B样条Bm+p的p阶导数。它们虽然只是不满足多分辨分析(MRA)条件的二进小波,但它们满足的频域方程在形式上与生成MAR的二尺度方程完全相同。有相移时Bd小波满足的频域方程形式为
m(ω)=Hm(ω/2) m(ω/2) (1)
mp(ω)=Gmp(ω/2) m(ω/2) (2)
式中
(3)
(4)
这里z=e-iω/2。 无相移时的Bd小波Ψ0mp满足的频域方程形式为
0m(ω)=H0m(ω/2) 0m(ω/2) (5)
0mp(ω)=G0mp(ω/2) 0m(ω/2) (6)
式中
(7) G0mp(ω/2)=G0mp(z)=z-(2p+M)/2Gmp(z) (8)
当m为偶数时,M=m;当m为奇数时,M=m+1。
3 Bd小波的滤波参数 设Bd小波的滤波器组Hm(z),Gmp(z)与H0m(z),G0mp(z)对应的时域滤波参数分别为hm(k),gmp(k)与h0m(k),g0mp(k)。这里h(k),g(k)与H(z),G(z) 的关系为
(9)
(10)
有相移时
(11)
(12)
式中 是二项式系数,可按计算杨徽三角形系数的方式快速递推算出。 无相移时,若m为偶数,则在进行小波变换时将hm(k)与gmp(k)分别后移m/2位与(2p+m)/2位;若m为奇数,则在进行小波变换时将hm(k)与gmp(k)分别后移(m+1)/2位与(2p+m+1)/2位。 m与p给定后,hm(k)与gmp(k)可用以下程序快速计算: hm[0]=1; hm[1]=1; n=2~m {k=n-2~0 {hm[k+1]=(hm[k+1]+hm[k])/2;} hm[0]=hm[0]/2; hm[n]=hm[0]; } hp[0]=1; hp[1]=1; n=2~p {k=n-2~0 {hp[k+1]=(hp[k+1]+hp[k])/2;} hp[0]=hp[0]/2; hp[n]=hp[0]; } km=m+2p; k=0~km {T=1; gmp[k]=0; p1=0~p {kp=k-2p1; if (kp>=0 && kp<=m) {gmp[k]=gmp[k]+T*hp[p1]*hm[kp];} T=-T; } } Bd小波滤波参数的计算简单快速,使用时只需将这段程序编入小波变换程序,然后输入选定的m和p值即可。
4 Bd小波的快速变换算法 由于Bd小波满足的频域方程与生成MRA的二尺度方程形式相同,因此可采用相应的快速变换算法,如Mallat算法[8],如同Mallat样条小波不考虑修正因子时所采用的快速变换算法那样[5]。用Bd小波进行小波变换时不妨将Bm与B0m看作某种形式的尺度函数,将Hm(z)与H0m(z)看作它们对应的低通滤波器。信号x(t)相对于Bd小波的小波变换快速算法步骤为

式中 h(.)代表hm(.)或h0m(.),g(.)代表gmp(.)或g0mp(.),xm(n)与wm(n),xm+1(n)与wm+1(n)分别是信号在2m尺度下与2m+1尺度下的近似分量系数与细节分量系数,后者即为信号在该尺度下的小波变换系数。
5 Bd小波的选择 选择任何小波须根据被分析信号的特点与要求达到的目的而定,选择Bd小波亦然。为此需对Bd小波的特点有所认识。Bd小波是一种线性相位小波,它们的带宽Δω,中心频率ω0,高频端的-3dB频率ωH,低频端的-3dB频率ωL,时域延伸范围与过零次数,都随m、p的变化而变化。具体说来,当p增加时,ω0上升,ωL上升,Δω下降;当m增加时,ω0下降,ωH下降,Δω下降。这就比一般小波只能靠改变尺度来调节中心频率与带宽要灵活得多。p、m对Bd小波时域波形的影响为:时域波形的过零次数为p,延伸范围(即支集长度)随m或p的增加而增加。在过零次数相同的情况下,延伸范围可以改变;在延伸范围相同的情况下,过零次数可以改变。我们可以根据这些特点选择Bd小波,以便处理形状不同、持续时间不同的被分析信号。图1是几种Bd小波的时域波形(前两种分别为仿高斯一阶导数小波与二阶导数小波),图2是几种Bd小波的幅频特性。由于一阶B样条的一阶导数即不连续,无法由它得到导数小波,所以实际中应取m≥2。

图1 不同m、p值时的Bd小波波形(未考虑相移) Fig.1 Waveform examples of Bd-wavelets

图2 不同m、p值时的Bd小波频谱 Fig.2 Spectrum examples of Bd wavelets
6 Bd小波的应用实例 Bd小波既可作为导数小波应用于包括高斯序列小波与Mallat样条小波在内的导数小波常用的场合,如检测信号的极大值、拐点、边缘、尖锐变化部、局部正则度、局部奇异性等,也可作为普通小波应用于小波的普通应用场合。限于篇幅,本文仅举两例加以说明。图3是用Ψ010,2(仿高斯二阶导数小波)检测信号中不同类型的尖锐变化部的情况,图4是用Ψ025,23从电力系统极强干扰信号中检测微弱故障信号的情况。图4中有4种不同类型的故障信号,其幅值仅为干扰信号的1/500,完全为干扰信号所吞没;经用Ψ025,23小波处理后,这4种故障信号不仅在小波变换域清晰地显示出来了,而且变换后的图形各不相同,有利于判别故障类型。

图3 用Bd小波检测信号中的不同突变部分 Fig.3 Detection of sharp variation points by a Bd-wavelet

图4 用Bd小波检测强干扰中的微弱故障信号 Fig.4 Detection of weak partial dischrges(PDs)by a Bd-wavelet
7 结论 Bd小波是直接以基数B样条为平滑函数的导数小波,它具有时域波形变化灵活、频域特性调节灵活、时-频图案便于与被分析信号匹配等优点,与流行的几种导数小波相比具有许多优越之处,它们的滤波参数与相应小波变换的计算方法简单快速,可广泛应用于信号特征提取、模式识别、故障诊断、数据压缩及信噪分离等场合。
参考文献 1 Daubechies I.The wavelet transform,time-frequency location and signal analysis.IEEE Trans Inf Theory,1990,36(5):961~1005 2 Mallat S,Hwang W L.Singularity detection and processing with wavelets.IEEE Trans Inf Theory,1992,38(2):617~643 3 Venkatraman M,Govindaraju V.Zero-crossings of a non-orthogonal wavelet transform for object location.Proc Int Conf Image Processing, Washington, DC, USA,1995,10:57~60 4 Lee Jian-shu et al.Wavelet based corner detection.Pattern Recog,1993,26(6):853~865 5 Mallat S,Zhong S.Characterization of signals from multiscale edges.IEEE Trans PAMI,1992,14(7):710~732 6 Mallat S.Zero-crossings of a wavelet transform.IEEE Trans Inf Theory,1991,37(4):1019~1033 7 Boles W W.A technique for object recognition using wavelet transform.J Elect Electron. Eng. Australia, 1996,16(3/4):177~183 8 Mallat S.A theory for multisolution signal decomposition:the wavelet representation.IEEE Trans PAMI, 1989,11(7):674~693 9 陈祥训.一类样条函数导数型小波.中国电机工程学报,1999,19(8)
|