刘正平,冯召勇,杨卫平
(华东交通大学 机电工程学院,南昌 330013)
微弱信号检测和提取是近年来兴起的关于提取和测量强噪声背景下微弱信号的方法,也是信号处理领域中经常遇到的问题。在工程应用中,往往存在着有用信号较弱,而噪声较强的情况,例如在机械故障检测与诊断中,当机器发生故障时,若机器中潜伏着某一零部件的早期微弱缺陷时,该缺陷信息被其它零部件的运行振动信号和随机噪声所淹没。为了有效地提取弱故障信息,实现早期诊断,可以用小波分析理论,对信号进行小波分解,把信号分解为各个频段的信号,再根据诊断的目的选取包含所需零部件故障信息的频段序列,进行深层信息处理以查到机器的故障源。小波变换是一种新的变换分析方法,通过变换能够充分突出问题某些方面的特征,利用小波变换良好的时频特性,可以在低信噪比情况下提取信号的波形信息。
设f(t)是平方可积函数,即则该连续函数的小波变换定义为[1]:
小波能够消噪主要由于小波变换具有如下特点:
低熵性。小波系数的稀疏分布,使信号处理后的熵降低。
多分辨特性。由于采用了多分辨的方法,所以可以非常好地刻画信号的非平稳性,如突变和断点等,可以在不同分辨率下根据信号和噪声的分布来去除噪声。
去相关性。小波变换可对信号去相关,且噪声在变换后有白化趋势,所以小波域比时域更有利于去噪。
基函数选择更灵活。小波变换可以灵活选择基函数,也可以根据信号特点和降噪要求选择多带小波、小波包等,对不同的场合,可以选择不同的小波基函数。
假设一个含噪的一维信号的模型为:
其中s(k)号,f(k)为有用信号,e(k)为噪声信号。通常e(k)表现为高频信号,而工程实际中f(k)通常表现为低频信号,或者是一些比较平稳的信号。噪声e(k)一般假设成是一个平稳的高斯白噪声,其小波系数的平均功率与尺度成反比。小波变换的目的就是要抑制e(k)以恢复f(k)。
小波变换运用在信号降噪处理中,主要是针对信号经小波变换后在不同分辨率下呈现不同规律,在不同分辨率下设定不同阈值门限,调整小波系数,达到降低噪声的目的。所以降噪过程可按以下方法进行处理[2]:
1) 对信号进行小波分解。选择一个小波并确定分解的层次,然后进行分解计算;
2) 小波分解高频系数的阈值量化。对各个层次尺度下的高频系数选择一个阈值进行阈值量化处理;
3) 一维小波重构。根据小波分解的最底层低频系数和各层高频系数进行一维小波重构,根据小波分解的第N层低频系数和经过量化后的1至N层高频系数进行小波重构,达到降低噪声检测出有用信号的目的。
用Matlab进行小波降噪时,基于阈值的选取和阈值化后的处理不同,信号的去噪方法可以分为三种[3]:默认阈值去噪、强制阈值去噪和独立阈值去噪三种方法。
默认阈值消噪处理。在Matlab中利用ddencmp函数产生信号默认阈值,然后利用该阈值设置的门限对噪声信号进行消噪处理。
强制消噪处理。该方法是将小波分解结构中的高频系数全部置为零,即滤掉所有高频部分,然后对信号进行小波重构。这种方法比较简单,且消噪后的信号比较平滑,但是容易丢失信号中的有用成分。
独立阈值去噪。在实际的消噪过程中,阈值往往可通过经验获得,且这种阈值比默认值的可信度高,在进行阈值量化处理时可用函数wthresh。
在小波分析用于降噪的过程中,核心的步骤就是在系数上作用阈值,因为阈值的选取直接影响降噪的质量。在独立阈值消噪处理中,主要有以下四种阈值选取规则:
1) 基于无偏似然估计的软阈值估计。采用无偏似然理论进行自适应阈值选择,是对给定阈值T进行似然估计,并对似然函数最小化来得到所需要的阈值。
2) 长度对数阈值(sqtwolog规则)。采用固定阈值形式,阈值的大小通过以下公式确定:
式中,σ为噪声的标准方差,N为高频小波系数的长度。
3) 最小极大方差阈值方法(minimaxi)规则。其为固定阈值,选择的原理是按最小均方误差法则进行的。
4) 启发式阈值方法(heursure规则)。基于SURE产生阈值,采用最优预测变量进行阈值选择,适用于具有大噪声,低信噪比的情况。
在小波消噪过程中,无论选择那种阈值规则,都必须根据具体应用来选择一种合适的阈值来达到理想的去噪效果。
Matlab小波分析工具箱中提供了用于一维信号小波分解的wavedec()函数,它的调用格式为:
[C,L]=wavedec(x,n,’wname’);
该函数中x为原始信号,n为分解步数,wname为所选基小波名称,分解得到C和L两个向量。函数返回的近似和细节都存放在C中,L存放的是近似和各阶细节系数对应的长度。小波分解在Matlab中的存储方式如图1所示[4]。
图1 小波分解在Matlab中的存储方式
根据分解后的C向量和L向量,分别由appcoef()
和detcoef()函数提取近似系数cA和细节系数cD,再由所得近似系数和细节系数重建原信号,则可以略去部分噪声信息。信息重建的函数在Matlab中使用wrcoef()实现。它们的调用格式分别为:
cAn=appcoef(C,L,fun,n);
cDi=detcoef(C,L,I);
x=wrcoef (类型,C,L,fun,n);
其中,“类型”选择a和d,以确定是近似小波系数还是细节小波系数来进行原信号重建。
在本文中采用Daubechies(dbN)小波[5]。Daubechies小波是由世界著名的小波分析学者Inrid Daubechies构造的小波函数,一般简写为dbN,N是小波的阶数。
Daubechies小波有非常重要的性质,它不仅是连续的和正交的,而且是支集最小的。因此这种小波的滤波器系数个数少,在分解与重构算法中所需的计算量少,这在信号的实时处理中非常重要。
对小波去噪的仿真采用Matlab工具来完成,进行小波降噪时采用上述3种阈值处理方法来对比进行消噪处理。下面利用小波分解与重构去噪法对含噪声故障信号进行实例分析,如图2所示:
图2 被测试的原始信号图
强制阈值法和默认阈值法的处理结果分别见图3和图4,从图中可以知道,默认阈值法和强制阈值法处理的结果基本上是一致的,在实际应用中默认阈值消噪法应用更为广泛。
图3 强制阈值法去噪后的信号
图4 默认阈值法去噪后的信号
独立阈值法是根据不同需要,选取与默认阈值不同的值,然后用重建算法进行消噪重建。由于通过选取不同的阈值,可以相应地保留高频中对信号有用的部分,这样可以提高信号有效信息的恢复程度,但是这种方法实施起来相对较难。因为阈值的选取好坏直接关系到信号恢复的程度,且阈值的选取也较难,在实际消噪处理中,阈值往往可以通过经验公式获得,而且这种阈值比默认阈值有可信度。独立阈值法的处理结果见图5。
图5 独立阈值法去噪后的信号
强制阈值法、默认阈值法和独立阈值法都是小波分解和重构去噪法的应用,它们在原理上是相同的,只是在具体实现的过程中,它们的阈值选取方法有所不同。从处理结果来看,强制阈值消噪法和默认阈值消噪法处理的效果较为一致,相对来说,独立阈值法根据阈值的选取不同,去噪效果会有所不同。当强制阈值法处理不能满足要求时,应该考虑独立阈值法,虽然实现起来较困难,但是在有经验的前提下,会有助于去噪处理,并能取得比前面两种方法更好的去噪效果,阈值的选取直接影响到最后的去噪效果,阈值选取太大或太小,都不利于噪声的去除。
小波变换本质上是一滤波过程,但它优于传统的滤波方法,运用小波分解与重构法对微弱故障信号处理的结果表明:小波变换方法可以根据信号和噪声的不同特性进行非线性滤波,在改善信噪比的同时,具有很高的时间(位置)分辨率,而且对信号的形式不敏感,这是传统的滤波方法所无法比拟的,因此,小波变换方法特别适合于弱信号的检测和提取,随着小波变换理论的完善,小波变换方法将会有更广泛的应用前景。
[1] 史习智.信号处理与软计算[M].北京:高等教育出版社, 2003.
[2] 高成.Matlab小波分析与应用[M].北京:国防工业出版社,2007.
[3] 张仁辉,杜民.小波分析在信号去噪中的应用[J].计算机仿真,2005,22(8):69-72.
[4] 赵海英,纪超辉.小波变换降噪技术及其在Matlab中的实现[J].兵工自动化,2006,25(2):54-55.
[5] 高友兰.数值积分的Daubechies小波方法[J].江南大学学报(自然科学版),2009,8(1):122-125.