请教hilbert变换的问题!
当我得到满足IMF要求的数据后,我用matlab自带的hilbert函数变换,得到解析函数,用angle求它的相位角,然后画出它和时间的图像为什么不是直线,而是上下振荡的曲线 怎么没有人理我呢,难道没有人做过hilbert变换吗? 可能是得到的IMF不是严格的单频率分量的信号 不呀,就是单频率信号,因为是仿真的信号,我直接在matlab计算的信号 你不做EMD分解,而是直接用原始信号分析呢?得到结果也是一样的吗? 对,结果是一样,因为我给出的信号就满足IMF的2个要求回复 #6 tangaoming 的帖子
昨天我记得您已经问过相关的问题了!还出现振荡现象吗?[ 本帖最后由 zhangnan3509 于 2007-4-26 22:09 编辑 ] 没有人给解答呀,肯定要问呀,我用instfreq函数可以得到直线,但是在末端振荡很厉害,而我根据定义对hilbert变换后的函数求相位,画相位角和时间的函数是一个振荡波,根本就不是直线,所以谁能解释一下,谢谢
回复 #8 tangaoming 的帖子
我都有点奇怪为什么呢?如果按照理论分析,这应该是条斜直线吧!为什么出这种事呀!我记得你昨天求瞬时频率的直线还不错。你的是飞天客说的办法吗[ 本帖最后由 zhangnan3509 于 2007-4-26 22:44 编辑 ]
看看这个帖子就明白了
hilbert变换怪现象!http://forum.vibunion.com/forum/viewthread.php?tid=41401
这是由于hilbert变换本身是通过DFT计算的,对于非周期采样,有泄露 用hilbert变换直接得到的相位是有折叠的(-pi,pi),如果想要得到无折叠的相位就得进一步计算。具体怎么计算我也不太清楚,可以查查相关书籍! 原帖由 tangaoming 于 2007-4-26 12:53 发表 http://www.chinavib.com/forum/images/common/back.gif
当我得到满足IMF要求的数据后,我用matlab自带的hilbert函数变换,得到解析函数,用angle求它的相位角,然后画出它和时间的图像为什么不是直线,而是上下振荡的曲线
用angle求它的相位角都是在[-pi pi]之间,这是因为三角函数的周期性,所以只取在2pi之间,这样相角到了pi(或-pi)就会折回到-pi(或pi)。这种现象与hilbert变换没有关系,完全是三角函数的周期性产生的,并称为缠绕(wrapped),要解决缠绕可用解缠绕函数(unwrap),这可以把上下振荡的折线变成直线。 一维拟合一下应该就就可以了吧 谢谢,我也有这个问题,现在解决了
回复 14楼 wzg123 的帖子
我也遇到类似问题,不知阁下怎么解决的,能分享下吗?谢谢!
页:
[1]
2