emd分解话出的包络线好奇怪
我是这几天才开始学emd,在网上下载了plot_hht的程序,运行了下自己的信号,得出的包络线很奇怪,在这里贴出来给大家看看,希望知道的人,能指导一下我,我苦于周围没有人交流,能问的人都问了,自己学校这边也没有人搞这个的,希望大家能帮帮我O(∩_∩)O~如图,其中红色的是上包络线,黑色的为下包络线,绿色的为均值序列,蓝色为原信号
回复 楼主 yanling66520 的帖子
这个问题是典型的包络拟合失败!正常情况下,上包络线应该在原始信号的上方,而下包络线在原始信号的下方。而你的信号由于极值点个数很少(极大值点3个,极小值点2个),而且信号幅度变化剧烈,在利用三次样条对极值点插值的时候,出现了“过冲“的现象,也就是说下包络跑到了信号的上方,上包络跑到了信号的下方。
这个例子用事实说明了三次样条插值的缺陷!
如果可以的话,建议你把原始数据也贴上来,大家可以用来研究更好的包络插值算法。
回复 沙发 xray 的帖子
本来是一系列信号的,因为全部贴上来,根本看不清楚,识别不了,所以就剪取了一个周期的。全部信号是采样频率为200hz,采样点数2048,具体如下:p=; 是不是你下的emd程序有问题?如果需要,我这里有emd的原程序
回复 5楼 gzslbs2003 的帖子
pp = conv(ones(1,20),p);pp = pp(20:end-20);
稍微处理一下,进行平滑滤波,减少了部分噪声,包络效果好了一些。
回复 6楼 xray 的帖子
我试做了下,效果果真好很多,谢谢你的帮忙,顺便问下,平滑处理之后,原信号变了,那我接下来再对平滑过的信号进行hht,对结果会不会有影响,还是我赋值变量改一下,之后的处理都要用我最原初的信号呢?回复 5楼 gzslbs2003 的帖子
谢谢你的热心回复,我想问下你的EMD程序是哪个版本的?如果方便的话,也希望传我一份,我看一下,我这里也有好几个版本,不知道怎么区分,有些还是做不出来回复 8楼 yanling66520 的帖子
我用的是G. Rilling的那个版本,其实不同版本差别不大,关键是对于EMD算法本身的理解。至于平滑以后是否会对处理结果产生影响,关键是看你需要获得的信息是什么。平滑肯定是会损失信息,但是只要你需要的关键信息还保留就可以了。
回复 5楼 gzslbs2003 的帖子
这世界太美好了,谢谢!!回复 6楼 xray 的帖子
你好,我用plot_hht的程序分析自己的信号,emd部分已经完成了,但是后面的hilbert变换不怎么会,hilbert的原理我知道的,imf的频率图不会画(幅值——频谱),边际谱也不知道怎么得到的。本来想自己编程序把那些谱图画出来,结果昨天研究了一天也没出结果,最后把IMF分量用FFT变换了下,得到一些图,大概也算是做了无用功吧。另外,我在网站上下载的G. Rilling版本的程序,不怎么会用,我昨天也在论坛里看到你对这个版本程序的注解,但是我似乎根本就不知道这个程序下载下来是如何来运用的,所以即使看到了你的注解版本,我依旧是云里雾里。谢谢你的帮助,希望得到您的回复O(∩_∩)O~下面我附上我用FFT对IMF做出的频谱图 谢谢 正在学习中
页:
[1]