声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 9809|回复: 39

[HHT] 与大家分享各种改善端点效应的方法

  [复制链接]
发表于 2012-2-23 17:49 | 显示全部楼层 |阅读模式

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

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

x
       毕设开题半年了,但在HHT的端点效应这个问题上卡了三个月了,虽然查阅了不少资料,在论坛里也学到不少知识,但至今仍没有找到一个相对有效的方法,下面我跟大家分享我的程序(其中有的是对前辈程序做过修改的,会进行说明,如有遗漏请指出),希望大家能指出程序中的错误和不足。

(1)徐斌《希尔伯特-黄变换方法的改进》:平行延拓法
分四种情况,以其中一种情况(下图所示)为例:
11.jpg

第一个极值为极小值,则认为第一个采样点为极大值点,连接第一个采样点和第一个极大值点得直线s1,过第一个极小值点求其平行线,在t(1)时刻的值为第一个假设的第一个极小值。序列右端同理,其他情况类似。
函数下载:boundary_conditions_paracon.m (paracon:parallel continuation)

boundary_conditions_paracon.txt (1.06 KB, 下载次数: 118)   (文件扩展名改为.m即可运行)

(2)黄大吉 2003 《希尔伯特黄变换的端点延拓》:极值延拓法:以端点的一个特征波为依据,在两端各延拓两个极大值和极小值。以第一个值是极大值为例,求得信号左端第一个特征波包含的信号包含的点数为kl=indmax(2)-indmax(1),向外延拓的极大值点和极小值点的位置分别为[indmax(1)-2klindmax(1)-kl]和[indmin(1)-2klindmin(1)-kl],取值分别为x(indmax(1))和x(indmin(1))。boundary_conditions_HDJ boundary_conditions_HDJ.txt (1.51 KB, 下载次数: 99)

(3)黄诚惕 《希尔伯特_黄变换及其应用研究》:边界局部特征尺度延拓

22.jpg

33.jpg

boundary_conditions_charalen(charalen: characterlength) boundary_conditions_charalen.txt (1.13 KB, 下载次数: 82)

(4)对playfish的程序进行修改:    序列左端:第一个和第二个极大值点所在直线在t(1)时刻的值为tmaxp1,若tmaxp1>z(1),则zlmax=tmaxp1,否则zlmax=z(1);第一个和第二个极小值点所在直线在t(1)时刻的值tminpl,若tminpl<z(1),则zlmin=tminpl,否则zlmin=z(1)。序列右端类似。
boundary_conditions_rependp(rependp: replace endpoint) boundary_conditions_rependp.txt (1.32 KB, 下载次数: 67)

(5)Fangji Wu 2008 《An improved methodfor restraining the end effect in empirical mode decomposition and itsapplications to the fault diagnosis of large rotating machinery》:ISBM,对aishuishou的程序的修改分享一下我的成果:基于ISBM延拓的EMD
http://forum.vibunion.com/thread-98772-1-1.html
boundary_conditions_isbm(isbm: improved sloped-based method) boundary_conditions_isbm.txt (2.91 KB, 下载次数: 68)

(6)李海燕 2009 《一种改善EMD端点效应的可行方法》:极值平均

55.jpg

boundary_conditions_averextr(averextr: average extreme) boundary_conditions_averextr.txt (1.85 KB, 下载次数: 83)






评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2012-2-23 18:28 | 显示全部楼层
:handshake
发表于 2012-2-23 20:36 | 显示全部楼层
楼主太有爱了,谢谢分享
发表于 2012-2-24 17:01 | 显示全部楼层
HHT变换还不懂,这个就更难学习了,哎!。的确,群里关于HHT资料还是挺多的。不过至今未研究到这方面。
 楼主| 发表于 2012-2-24 18:15 | 显示全部楼层
回复 4 # wuzhijun117420 的帖子

端点效应是HHT的硬伤,EMD分解和Hilbert变换中都存在的。
发表于 2012-2-28 11:04 | 显示全部楼层
楼主霸气
发表于 2012-2-28 16:17 | 显示全部楼层
回复 1 # 529899778 的帖子

谢谢你楼主!
你毕设也用HHT,是做哪方面的啊
 楼主| 发表于 2012-2-28 16:53 | 显示全部楼层
回复 7 # tamujin 的帖子

我是做脑磁信号的时频分析的。
发表于 2012-3-13 16:24 | 显示全部楼层
楼主确实很牛啊,能不能分享一下多项式包络拟合算法和神经网络算法的程序,非常感谢啊
 楼主| 发表于 2012-3-15 16:06 | 显示全部楼层
本帖最后由 529899778 于 2012-3-15 16:07 编辑

回复 9 # yueemd 的帖子

       "用多项式拟合的方法抑制端点, 由于其数据点不能取的过多以及多项式的次数的不确定性, 使得最后的分解结果不能较好地反映原始信号的特征。"

       "神经网络延拓算法的最大不足就是运算速度太慢。EMD方法筛出每一个IMF分量都要循环若干次才能满足结束条件,在每次循环中要利用该方法对原数据序列的两端进行延拓。每一端若延拓N 个点就要循环N次,循环次数太多造成速度太慢。其次,对于不同类型的数据序列,最适合的神经网络模型也会有所不同,在实际应用过程中需根据需要设定不同类型的模型,给编程带来了较大的麻烦。"

       我试着用《基于多项式拟合算法的EMD端点问题的处理》和《基于多项式拟合的EMD端点效应处理方法研究》中的方法,简单编了程序(最近太忙,没做仔细修改)

EMD程序: emd_foap.txt (18.37 KB, 下载次数: 40)   程序中我用的是matlab自带的polyfit拟合的,效果很不好,你可以用下边的函数替换试试: 最小二乘拟合的函数: ls_poly.txt (634 Bytes, 下载次数: 22) ,其中调用的Tinv函数 : Tinv.txt (515 Bytes, 下载次数: 18) 用于求逆矩阵,当然如果你有更好的求广义逆的函数可以自己替换试试。
发表于 2012-5-4 14:54 | 显示全部楼层
回复 1 # 529899778 的帖子

你有经过波形延拓的EMD的matlab程序吗?能不能发一份啊 323104356@qq.com
发表于 2012-5-7 17:19 | 显示全部楼层
楼主最好比较一下几种延拓方法,个人理解每种方法都有他的应用范围。最好使用者根据自己信号特点选择合适的延拓方法。
 楼主| 发表于 2012-5-16 12:48 | 显示全部楼层
回复 12 # 吃书的老虎 的帖子

赵进平等人认为,延拓的目的不是为了给出准确的原序列以外的数据,而是提供一种条件,使得包络完全由端点的数据确定。
你的想法是很好的,确实不同的信号有不同的特征,应该用不同的边界处理方法,这需要做大量的工作来验证和总结,但现在的问题是,对于简单的由几个正弦信号叠加的信号,处理效果尚且如此,那么对于复杂的实测信号,分析结果可想而知会有多差,至少不能完全可信了吧。
 楼主| 发表于 2012-5-16 12:50 | 显示全部楼层
回复 11 # haogang212 的帖子

EMD主程序我用的是法国人G.Rilling的程序,只是修改其中边界处理的部分,其中上述几种方法有的就是对波形进行延拓的。
发表于 2012-5-18 10:17 | 显示全部楼层
这个真是好东西,谢谢楼主分享~
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 12:31 , Processed in 0.063002 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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