声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5591|回复: 19

[HHT] hilbert边界效应问题

[复制链接]
发表于 2007-10-25 18:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
一、理论上t=1:500;x=sin(2*pi*0.053*t);这样的信号在HHT谱图上应该是一条直线,但是得到结果却是时频线两端有波动,这就是所谓的hilbert边界效应(HHT中的另外一个边界效应是指sifting过程中端点的拟合问题)。从http://forum.vibunion.com/forum/viewthread.php?tid=41401这个帖子中的分析发现,造成hilbert边界效应的原因就是非整周期采样。对于这样的信号我们可以通过先把信号两端进行延拓(可以用镜像法、神经网络、AR模型以及支持向量机等),然后再hilbert变换,最后舍去两端延拓部分,保留中间部分的原有数据,这样可以被动地消除hilbert边界效应的影响。对于上面的信号,得到直接hilbert变换和延拓后再hilbert变换的结果如下,可以看到这种被动的延拓方法具有一定的效果。
4.png
5.png


二、但是我发现这种方法应用到HHT中有缺陷,以下面的信号为例,我们可以发现延拓反而使得端点波动加剧,究其原因就是因为EMD分解得到的imf1和imf2两端已经出现了幅值衰减,就是说相对于理想结果它们已经变形了,以这样变形了的端点再进行镜像延拓、以这样变形了的端点再进行支持向量机或神经网络预测,只能使得数据变形越来越大。这种变形就是指调幅,调幅也会带来频率的波动,所以延拓反而使HHT谱图两端波动加剧。
t=1:500;
x=sin(2*pi*0.05*t);
y=sin(2*pi*0.02*t);
xy=x+y;
imf=emd1(xy);
emd_visu(xy,1:length(xy),imf)

1.png
2.png
3.png
三、不知道大家对于消除这种非整周期采样带来的边界效应有什么想法?
回复
分享到:

使用道具 举报

发表于 2007-10-25 20:07 | 显示全部楼层

回复 #1 zhlong 的帖子

http://forum.vibunion.com/forum/viewthread.php?tid=41401 的帖子中,zhlong 给出了整周期采样的条件,表述如下:
若信号由多正弦信号混合而成,设其中正弦信号频率可以表示为fk,则必须满足 fk = fs/N*m,其中fs是采样率,N是总采样点数,m是任意正整数。

为什么满足这个条件,Hilbert变换就不会出现边际效应呢?下面我试着简单解释一下:

前面曾经提到Matlab中hilbert函数是利用fft实现的,而fft是dfs的一种实现方式,从理论上说,dfs对应的是原始序列周期延拓的结果。简单的说,fft默认信号的两端是周期延拓的,如果周期延拓的结果与原始信号在分析窗口外的部分相同,就不会引入误差,否则就会出现边际效应。

下面来看表达式 fk = fs/N*m,简单变形后就是 N = fs/fk*m, 该等式表明频率为fk的信号在N个采样点中恰好出现了m个周期,那么频率为fk的信号从N个采样点向两端周期延拓后,恰好和原始信号相同,不会引入误差。如果信号频率不满足整周期采样条件,从N个采样点向两端周期延拓,就会在两端的边界点上出现不连续的情况,表现出来就是hilbert变换的边际效应。

从这个思路出发,目前采用的各种延拓方法,其意义在于降低两端延拓的不连续性。理想的延拓结果,应该恰好等于分析窗口外的信号。对于一般信号而言,这个要求是不可能实现的,但是对于周期信号,其基本信息完全包含在一个周期内,因此可以实现理想延拓。具体方法上,我想可以采用“平移延拓”,即选择一个周期内的信号,平移到端点处,使得原始信号恰好完全连续,这样就应该可以消除边际效应了。当然,这只是一个想法,可能具体操作上还存在一些细节问题,欢迎各位指正。

评分

1

查看全部评分

 楼主| 发表于 2007-10-25 20:59 | 显示全部楼层

回复 #2 xray 的帖子

有直接用时域方法实现Hilbert的比较好的途径吗?不用fft来实现,这样效果是否会好点呢?
发表于 2007-10-27 14:46 | 显示全部楼层

回复 #3 zhlong 的帖子

在你第二个例子中,在进行EMD之前就对原信号进行支持向量机或神经网络预测,效果会不会好些。
好像所有的信号处理方法都存在边界效应问题,在时域通过卷积运算来实现Hilbert变换可能也存在边界效应,而且效果也不一定比fft好。

评分

1

查看全部评分

发表于 2007-10-28 20:30 | 显示全部楼层
原帖由 zhlong 于 2007-10-25 18:13 发表
一、理论上t=1:500;x=sin(2*pi*0.053*t);这样的信号在HHT谱图上应该是一条直线,但是得到结果却是时频线两端有波动,这就是所谓的hilbert边界效应(HHT中的另外一个边界效应是指sifting过程中端点的拟合问题)。 ...

一般文章上说的多的是sifting过程的端点问题,都能延拓来解决
二、但是我发现这种方法应用到HHT中有缺陷,以下面的信号为例,我们可以发现延拓反而使得端点波动加剧,究其原因就是因为EMD分解得到的imf1和imf2两端已经出现了幅值衰减,就是说相对于理想结果它们已经变形了,以这样变形了的端点再进行镜像延拓

是在信号分解后对IMF分量进行延拓吗?对原信号延拓好像比较妥吧,延拓的点数足够的话应该效果比以前的好;幅值衰减这样的特征应该和原信号的端部特征有关,要是为峰值等结果是否会不一样

[ 本帖最后由 zhlong 于 2007-10-28 22:29 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2007-10-28 20:43 | 显示全部楼层

回复 #5 form 的帖子

谢谢你的意见。我这里主要是指用hilbert变换求取瞬时频率时,两端会出现波动,究其原因就是因为hilbert变换要用到fft,而信号一旦不是整周期采样时,fft的原因就会导致hilbert变换就会出现端点效应。
另外,sifting过程会导致imf两端出现波动吧,即使分解前对信号进行了延拓。
 楼主| 发表于 2007-10-28 20:47 | 显示全部楼层

回复 #4 破凰 的帖子

分解前对信号作了镜像延拓的。hilbert的实现过程既然离不开傅立叶变换,那么是不是说HHT也不是完全摆脱了傅立叶的框架。记得eight在哪个帖子里说过huang将有一篇文章是关于摆脱hilbert变换求取瞬时频率的。
发表于 2007-10-28 22:12 | 显示全部楼层
原帖由 zhlong 于 2007-10-28 20:47 发表
分解前对信号作了镜像延拓的。hilbert的实现过程既然离不开傅立叶变换,那么是不是说HHT也不是完全摆脱了傅立叶的框架。记得eight在哪个帖子里说过huang将有一篇文章是关于摆脱hilbert变换求取瞬时频率的。


有过零点极点法但是精度不是很高;
还有能量算子法,
 楼主| 发表于 2007-10-28 22:17 | 显示全部楼层

回复 #8 rc-hw-0002 的帖子

都是求瞬时频率的方法?呵呵,孤陋寡闻了。有哪些参考文献?谢谢!:handshake
发表于 2007-10-28 22:19 | 显示全部楼层
原帖由 zhlong 于 2007-10-28 22:17 发表
都是求瞬时频率的方法?呵呵,孤陋寡闻了。有哪些参考文献?谢谢!:handshake

基于过零点_极点估计的瞬时频率幅度算法
关于能量算子解调方法的研究

评分

1

查看全部评分

发表于 2007-10-29 10:24 | 显示全部楼层

回复 #7 zhlong 的帖子

HHT中的EMD才是摆脱了傅立叶变换的,Hilbert变换应该属于傅里叶分析的范畴。
EMD后用能量算子分离算法(EOSA)进行解调已经有文章了,《基于EMD的能量算子解调方法及其在机械故障诊断中的应用》。
 楼主| 发表于 2007-10-29 10:45 | 显示全部楼层

回复 #11 破凰 的帖子

破凰对huang在98年文章p46页举的duffing振子的例子还有映像吗?其中说到波内调频,你如何看待这个概念?我个人觉得至少在他举的这个例子中,这个概念还是具有物理意义的。
     我想到这个帖子中提到的问题,是因为非线性数据会导致频率波动(如波内调频),而hilbert变换求取瞬时频率的过程也会导致频率波动,所以有时就难于区分HHT时频图中时频线的波动到底是信号瞬时频率真实波动还是hilbert计算过程带入的误差。这对于分析系统特性影响很大。找到一种可以避免hilbert的缺点而求出准确瞬时频率和瞬时幅值的方法是有意义的,如前面提到的两种。
发表于 2007-10-29 11:06 | 显示全部楼层

回复 #1 zhlong 的帖子

除了从图上观察,还有没有什么参数指标来计算一下,显示出处理边界效应前后差异
能否给出具体的延拓程序:lol
 楼主| 发表于 2007-10-29 11:14 | 显示全部楼层

回复 #13 form 的帖子

这个是不是可以用方差、标准差等来衡量?
程序就是以前一个hht工具箱中的现成的。

新建 Microsoft Word 文档.doc

41.5 KB, 下载次数: 136

 楼主| 发表于 2007-10-29 11:19 | 显示全部楼层

回复 #11 破凰 的帖子

好比一楼的第3幅图,因为分解过程的原因,高频的那条时频线存在波动。如果这是一个实测信号,事先不知道系统特性,谁能区分这是系统非线性表现出来的波内调频还是hilbert变换造成的误差(非整周期采样和IMF的调幅都会造成瞬时频率波动)呢?

[ 本帖最后由 zhlong 于 2007-10-29 11:41 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-25 14:48 , Processed in 0.109978 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表