|||
对希尔伯特-黄变换HHT、经验模式分解EMD及基本模式函数IMF概念稍微有点了解的人,都知道IMF必须满足的两个条件:(l)在整个数据长度中,极值点和过零点的数目必须相等或至多相差一个;(2)在任意数据点,局部极大值的包络和局部极小值的包络的均值必须为零。
对第一个条件,我几乎没加思考地理解成“所有的局部极大值都大于0,所有的局部极小值都小于0”,也就是说IMF中不应该有小于0的极大值,及大于0的极小值。我想很多人都会这样理解吧,这是很自然的。
可是今天在查看一列IMF时,突然发现了一个小于0的极大值。这使我感到非常诧异,因为EMD用的是当今被学界广泛接受的、法国人G. Rilling编的程序。现将过程记录如下。
为了简化和统一符号,将我以前小波消噪所得到的各信号序列改赋:
TW4860_rd = TWpsy5den_med;%体温
MB2917_rd = MBpsy5den_low;%脉搏
GY2917_rd = GYpsy5den_low;%收缩压
DY2917_rd = DYpsy5den_low;%舒张压
JY2917_rd = JYpsy5den_low;%均压
CY2917_rd = CYpsy5den_low;%差压
作:
imf_MB2917_rd = emd(MB2917_rd);
x1=imf_MB2917_rd(1,:);
[env,envmoy] = cenvelope(x1,1);%求上下包络线及其均值
env=env';
z=zeros(1,length(x1))
plot(x1,'r-')
hold on
plot(env)
plot(envmoy,'k--')
plot(z,'m-')
xlim([33900 34100])
运行,得:
图29-1
axis([33990 34020 -0.5 0.5])
运行,得:
图29-2
红线是分析信号,蓝线是下包络线,绿线是上包络线,虚线是包络线均值,紫线是0值线。那个小于0的极大值,看到了吧?
进一步分析原因:
[indmin, indmax, indzer] = extr(x1);%求极值点与过零点
lmn = length(indmin)%极小值点数量
lmn =
7253
lmx = length(indmax)%极大值点数量
lmx =
7252
lzr = length(indzer)%过零点数量
lzr =
14504
说明|lmn+lmx-lzr| <= 1是成立的。查看G. Rilling的程序也没有问题。再多思考一下,不禁哑然失笑。原来那个“在整个数据长度中,极值点和过零点的数目必须相等或至多相差一个”并不等价于“所有的局部极大值都大于0,所有的局部极小值都小于0”,它就是保留了在IMF中有“一个小于0的极大值或一个大于0的极小值”的可能性。
考查EMD发明人黄锷院士提出EMD的原论文: "The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis",从其中
4. Intrinsic mode functions
......
An intrinsic mode function (IMF) is a function that satisfies two conditions:(译文:一个基本模式函数(IMF)是满足这样两个条件的函数)
(1)in the whole data set, the number of extrema and the number of zero crossings must either equal or differ at most by one; and (译文:(1)在整个数据集,极值点数量和过零点数量必须相等或至多相差一个,且)
(2) at any point, the mean value of the envelope defined by the local maxima and the envelope defined by the local minima
is zero.(译文:(2)在任何时间点,由局部极大值定义的包络线和由局部极小值定义的包络线的均值为零。)
可知,我前面揭示的问题,产生的根源在于黄院士本人。他为什么要那样表述IMF?肯定不是为了更容易完成EMD而故意放宽IMF的条件(如果是为了这个目的,极值点过零点数量差应该跟数据长度挂钩才对,而且何必只限于一个呢?多几个岂不更容易完成EMD?)。
黄院士肯定是只考虑了数据两端的情况,因为当一列“所有的局部极大值都大于0,所有的局部极小值都小于0”的数据,(1)其最小的过零点序号小于最小的极值点序号、最大的过零点序号大于最大的极值点序号时,过零点数量比极值点数量多一个;(2)其最小的过零点序号大于最小的极值点序号、最大的过零点序号小于最大的极值点序号时,过零点数量比极值点数量少一个;(3)其余情况,过零点数量等于极值点数量。他也就不假思索地将“在整个数据长度中,极值点和过零点的数目必须相等或至多相差一个”视为与“所有的局部极大值都大于0,所有的局部极小值都小于0”等价了。跟我犯的错误是一样的啊!
事实上,在上述“(1)其最小的过零点序号小于最小的极值点序号、最大的过零点序号大于最大的极值点序号”情况下,若数据中段存在一个小于0的极大值或一个大于0的极小值时,过零点数量比极值点数量少一个,数据是符合黄院士关于IMF的定义的。这就是问题产生的根本原因。
(本文首发于:http://blog.sina.com.cn/s/blog_6ad0d3de010167zd.html
首发时间:2012-06-02 14:15:01)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2023-6-9 13:04
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社