HHT变换的关键是经验模式分解,即EMD变换。经验模式分解是将原始信号相邻峰值点间的时延定义为时间尺度,据此把信号分解成包含不同时间尺度的若干阶本征模式函数的和。经验模式分解方法基于一种简单的假设:任何复杂的时间序列都是由一些相互不同的、简单的、并非正弦函数的本征模式函数组成的。基于此,可从复杂的时间序列直接分离出从高频到低频的若干阶基本时间序列,即本征模式函数,简洁直观地显示复杂信号的时频特性。
每一个模式函数分量可以是线性的,也可以非线性和非平稳的,但它们都有一个共同特点:在整个信号长度内,每个模式分量具有相同数目的极值点和过零点。更进一步的,模式分量对称于局部均值,直观地看,其波形为一个拟正弦波。局部均值是通过信号的上下包络线定义的,基于这种定义方式,通过信号的特征尺度就可以区别出不同的模式分量。特征尺度是由信号相邻的极值点的时间跨度定义的。
对于一个信号,在任何时刻,有可能同时存在不同的模式函数,这些模式函数彼此叠加,从而构成了各种复杂的信号。每一个模式函数是相互独立的,在任何相邻的零点之间,不存在多重极值点,这种模式函数就是本征模式函数。一个本征模式函数必须满足下面2个条件:
(1)在整个信号长度上,极值点和过零点的数目必须相等或者至多只相差一个。
(2)在任意时刻,由极大值点定义的上包络线和由极小值点定义的下包络线的平均值为零,也就是说信号的上下包络线对称于时间轴。
本征模式函数反映了信号内部固有的波动性,在本征模式函数的每一个周期上,仅仅包含着一个波动模式,不存在多个波动模式混叠的现象。本征模式函数不再是限制在窄带信号上的,它能够同时表现为幅值调制和频率调制。本征模式函数可以是非平稳的,一个仅仅是调频或者调幅的信号也可以是一个本征模式函数。典型的本征模式函数具有相同数目的极值点和过零点,同时信号上、下包络线对称于时间轴。
对于信号x(t),经验模式分解首先要确定时间曲线x(t)的所有峰值点;其次,用三次样条函数曲线顺序连接所有的最大值,得到曲线x(t)的上包络线。采用同样的方法顺序连接所有的最小值,得到曲线x(t)的下包络线,顺序连接上、下包络线的均值可得一条均值线m1(t)。于是,可从下式计算得到
从理论上讲,h1(t)即为第一阶IMF分量,然后,从原始信号中减去h1(t)即可获得信号的第一阶余量
对r1重复上面的过程,就可以获得第二阶IMF分量。通过EMD方法对信号的一次次的筛分过程,就可以获得信号的多个IMF分量和余量rn,从而信号x(t)可由下式表示
上面的分解过程也可以解释为尺度滤波过程,每一个IMF分量都反映了信号的特征尺度,代表着非线性非平稳信号的内在模态特征。
如果h1(t)满足本征模式函数所需的条件,则h1(t)即为第一阶本征模式函数,但一般它并不满足条件。由于实际操作中,信号的真实上、下包络线难以求解,而只能以三次样条曲线进行近似的拟合。即使拟合得非常好,在信号单调上升或下降过程中的任何细小的拐点(平台)都有可能在筛分过程中转化为新的极值点,而这些新产生的极值点是前一次筛分过程中漏掉的,同样反映了信号的尺度特征,应该被包含在下一次的筛分过程中。筛分过程就是通过反复地筛分来分辨出那些低幅值的叠加波形,主要达到消除模态波形的叠加和使波形轮廓更加对称的目的。
基于以上目的,筛分过程就必须重复多次以获取IMF。此时,就需将h1(t)看成新的时间曲线,重复上述方法,可得(www.xing528.com)
式中m11(t)是h1(t)的上、下包络线的均值曲线;按上述方法重复k次,直到h1k(t)满足本征模式函数的条件为止。h1k(t)由下式计算:
式中h1k(t)即为第一阶本征模式函数,记作c1(t),c1(t)=h1k(t)。
整个处理过程就像一个筛子:从特征时间尺度出发,一步一步地把信号中所包含的模式分量分离出来,从而得到信号的第一阶本征模式函数c1(t)。
为了保证IMF分量在幅值和频率上都具有明确的物理定义,对筛分的迭代次数必须有所限制,过多的迭代次数将有可能使得IMF分量成为一个仅保留有频率调制的特点的常幅值信号,而无法说明幅值变化的物理现象。可以利用下面公式所定义的标准偏差限制次数:
研究表明,当SD的值介于0.2~0.3时,既能保证本征模式函数的线性和稳定性,又能使所得的IMF具有相应的物理意义。如果SD小于这个阀值,筛分过程就停止,h1k即为所求的第一阶IMF。
第一阶本征模式函数c1(t)包含着时程x(t)的频率最高的成分,从x(t)中减去高频成分c1(t),得到频率较低的残差r1(t)。将r1(t)看成一组新的数据,重复上述经验模式分解过程,经过多次运算可以得到所有的rj(t):
当满足以下两个条件之一时,整个模式分解过程可以终止。这两个条件是:①cn(t)或rn(t)小于预定的误差;②残差rn(t)成为单调函数,此时不可能再从中提取本征模式函数。
最后,时程曲线x(t)可以表示成n阶本征模式函数cn(t)和第n阶残差rn(t)之和:
下面总结经验模式分解算法的计算过程如下:
(1)首先找出原数据序列x(t)的所有极大值点和极小值点,将其用三次样条函数分别拟合为原数据序列的上包络线和下包络线,上下包络线的均值为包络平均m1(t)。将原数据序列减去m1可得到一个去掉低频的新数据序列h1(t),一般h1(t)不一定是一个平稳数据序列,为此需对它重复上述过程。如h1(t)的包络平均为m11(t),则去除该包络平均所代表的低频成分后的数据序列为h11,重复上述过程,使h1(k-1)(t)和h1k(t)根据式(3-15)计算的标准差小于0.3,这样就得到第一个本征模函数分量c1(t),它表示信号数据序列中最高频的成分。
(2)用x(t)减去c1(t),得到一个去掉高频成分的新数据序列r1(t)。对r1(t)再进行上一步中的分解得到第二个本征模函数分量r2(t),如此重复直到最后一个数据序列rn(t)不可被分解。此时rn(t)代表数据序列x(t)的趋势或均值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。