|||
HHT-EMD工具箱里有一个toimage函数,用来计算信号的Hilbert谱。它是将各IMF分量及残余项的振幅在同一时频点上进行叠加,它表示了信号能量在时频平面上的分布状况。由于各IMF分量及残余项的瞬时频率的取值范围是连续的,所以toimage函数将频率取值范围进行了离散化。另有一个disp_hhs函数,用来显示信号的三维Hilbert谱,它用颜色来表示振幅数值差别。
先来看看MB291712的Hilbert谱。
[E_cimf_MB291712,t_imf_MB291712,Cenf_imf_MB291712]=toimage(A_imf_MB291712,f_imf_MB291712);
%E_cimf_MB291712表示由各IMF分量及残余项计算所得到的Hilbert谱
disp_hhs(E_cimf_MB291712);
运行,得:
图15-1 E_cimf_MB291712
就象一片蓝天上布满了点点繁星,也可以说这张图什么也看不出来。
E_cimf_MB291712是一个400*35002的矩阵,可知toimage将频率离散成400个频率点。查看Cenf_imf_MB291712数值,是由0.000625hz到0.49938hz,每隔0.00125hz取一个值(这里hz是广义频率,即单位采样时间的圆频率)。就是网格分割时频平面后,各网格的中心频率。通过查看E_cimf_MB291712的具体数值,可知第一行(最低频)数值远远大于其余行数值。它主要是残余项的振幅。
将残余项剔除,看看各IMF分量合成的Hilbert谱。
[E_imf_MB291712,t_imf_MB291712,Cenf_imf_MB291712]=toimage(A_imf_MB291712(1:13,:),f_imf_MB291712(1:13,:));
%E_imf_MB291712表示由各IMF分量但不包括残余项计算所得到的Hilbert谱
disp_hhs(E_imf_MB291712);
运行,得:
图15-2 E_imf_MB291712(无残余项)
只是低频部分颜色丰富了一些。还是看不出什么东西。画一张局部Hilbert谱吧。仍旧取图14-13的时频范围。图14-13的频率范围是从0.01~0.03hz。查了一下Cenf_imf_MB291712,上述频率范围大约对应于其第8~25个数据。
disp_hhs(E_imf_MB291712(8:25,30001:30500),[30001:30500]);
运行,得:
图15-3 E_imf_MB291712(8:25,30001:30500)
上图的频率轴刻度是错的。懒得改了。
图14-13
对比图14-13,可以看出大致相同的曲线形状,只是图15-3曲线要粗糙得多。这是频率离散化的结果。另:理论上图15-3是所有IMF分量振幅叠加的结果;14-13只是单个IMF分量振幅形成的。
将上述频率范围扩大一些再画一张Hilbert谱图吧:
disp_hhs(E_imf_MB291712(1:100,30001:30500),[30001:30500]);
运行,得:
图15-4 E_imf_MB291712(1:100,30001:30500)
绘图的目的是为了从直觉上对比不同对象在某种相同的条件下的不同表现形式,从而找到影响这些对象的因素。上面的Hilbert谱图达不到这个目的。所以其它的生理信号Hilbert谱图不再画了。
(本文首发于:http://blog.sina.com.cn/s/blog_6ad0d3de0100ziz7.html
首发时间:2011-09-16 12:23:56)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2023-6-7 18:22
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社