logo资料库

希尔伯特学习总结.docx

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
1 Hilbert谱
通过式(2 一 26)我们将幅度和瞬时相位作为时间的函数表示在三 维平面中,幅度的这种时一频分布被称为希尔伯特幅度谱,H(。,)t, 简称为希尔伯特谱。习惯上用幅度的平方来表示能量密度,这里如果 用幅度平方代替希尔伯特幅度谱中的幅度,将得到希尔伯特能量谱。 Hht 目前研究的最多的是 EMD 分解中的包络过程。HHT 变换 = EMD 分解+Hilbert 变换 至于适合什么样的数据,现在还没有定论,其一,EMD 算法还 没有建立一个合适的数学模型,也就缺乏严格的数学基础,很多诸如 收敛性、唯一性、正交性等数学问题根本无法进行,甚至连“什么信 号能进行 EMD 分析”目前也无法解释。其二,算法本身是操作性的, 到目前为止也是经验的(正如算法的名称一样),在没有找到其理论 支撑之前,无从考究。其三,一种算法,不可能对任何信号都有效, 所以不要指望 EMD 可以处理任何信号。百度文库 hht 讨论精华版。
http://wenku.baidu.com/view/76b96c4bcf84b9d528ea7aa7.html 1 Hilbert 谱 完成了经验模式分解过程就得到了所有可提取的 固有模态函数,在 Hilbert 变换的基础上,只要根据 公式(1-1)-(1-4)计算瞬时频率就可以了。对固有模态 函数进行 Hilbert 变换后,可以用下面方式表示信号   X t n   j 1    a t j exp  i  t dt   j 
(1-26) 由希尔伯特变换得出的振幅和频率都是时间的函 数,如果用三维图形表达幅值、频率和时间之间的关 系,或者把振幅用灰度的形式显示在频率-时间平面 上,就可以得到 Hilbert 幅值谱,简称 Hilbert 谱 ( , ) H w t 对时间积分,就得到希尔伯特边际谱 如果把 ( , ) H w t 。 h w : ( ) ( ) h w T   0 H w t dt , ) ( (1-27) 边际谱提供了对每个频率的总振幅的量测,表达 了整个时间长度内累积的振幅。另外,作为希尔伯特 边际谱的附加结果,可以得到如式(1-28)定义的希 尔伯特瞬时能量: ( ) IE t   w 2 H w t dw ( , ) (1-28) 瞬时能量提供了信号能量随时间的变换情况。事 实上,如果振幅的平方对时间积分,可以得到希尔伯 特能量谱:   (1-29) ) ES w H w t dt ( , ) ( T 2 0 希尔伯特能量谱提供了对于每个频率的能量的量 测,表达了每个频率在整个时间长度内所累积的能量。 希尔伯特包络是时域信号绝对值的包络,它从信号中 提取调制信号,分析调制信号的变化,对提取故障特 征具有很大的优越性。
2.完整的 Emd 分解程序 N=1000; n=1:N; fs=1000; t=n/fs; fx=10; fy=50; x=cos(2*pi*fx*t);
y=10*cos(2*pi*fy*t); z=x+y; data=z; imf=emd(data);%对输入信号进行 EMD 分解 [A,f,t]=hhspectrum(imf);%对 IMF 分量求取瞬时频率与振幅。A:是每 个 IMF 的振幅向量,f:每个 IMF 对应的瞬时频率,t:时间序列号 [E,t,Cenf]=toimage(A,f);%将每个 IMF 信号合成求取 Hilbert 谱,E:对 应的振幅值,Cenf:每个网格对应的中心频率这里横轴为时间,纵轴 为频率 %即时频图(用颜色表示第三维值的大小)和三维图(三维坐标系:时 间,中 心频率,振幅) cemd_visu(data,1:length(data),imf);%显示每个 IMF 分量及残余信号 disp_hhs(E);%希尔伯特谱 -%画出边际谱 %N=length(Cenf);%设置频率点数%完全从理论公式出发。 for k=1:size(E,1) bjp(k)=sum(E(k,:))*1/fs;end figure(3); plot(Cenf(1,:)*fs,bjp);% 作边际谱图进行求取 Hilbert 谱时频率已经被抽样成具有一定窗 长 的 离散 频 率 , 所以 此 时 的频 率 轴 已 经是 中 心 频 率 xlabel(' 频 率
/ Hz');ylabel('幅值'); 3.频率 关于频率的部分的话,把计算得到的频率乘以采样频率就是实际 频率了,至于为什么是 0.5,你应该懂的 hilbert 变换是对窄带信号才有效的,所以才有了 EMD 分解将任意信 号分解成多个窄带信号所以如果对一个窄带信号做 hilbert 变换的话, 去掉负频率,double 正频率就是 hilbert 谱了。 4.我写的简单验证程序 clear all clc fs=1000 %采样率 data=3072%采样点数 %-------------------读取获得数据------------------------------------------- fid=fopen('97.mat','r') N=data x=fread(fid,N,'int16') fclose(fid) %------------------------------------------------------------------------- %------------------ 进 行 imf 分 解 并 画 出 Hibert 谱 ------------------------------ imf=emd(x)%对输入信号进行 emd 分解
[A,f,t]=hhspectrum(imf)%对每一层的 imf 分量求取瞬时振幅 A 和 瞬时频率 f [E,t,Cenf]=toimage(A,f)%将每个 imf 洗好合成求取 Hibert 谱,E 为 对应幅值,Cenf 为网格中心频率 disp_hhs(E)%画出希尔伯特谱 %-------------------------------------------------------------------------- %------------------画出边际谱------------------------------ N=length(Cenf) for k=1:size(E,1) bjp(k)=sum(E(k,:))*1/fs*N end %完全利用定义里的积分公式 f=(0:N-3)/N*(fs/2) figure(3) plot(Cenf(1,:)*fs,bjp)%x 轴频率为被抽样后的离散频率 xlabel('频率/Hz') ylabel('幅值')%绘制边际谱图 5 包络分析
分享到:
收藏