声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: zhangnan3509

[HHT] 关于EMD中mask函数的用法

[复制链接]
 楼主| 发表于 2007-7-10 10:06 | 显示全部楼层

回复 #15 junzifei 的帖子

此话怎么讲?问题出在哪里?能不能具体点?
回复
分享到:

使用道具 举报

发表于 2007-7-10 14:35 | 显示全部楼层
频率太近的话好多叠在一起,
预先给定的理想数据分解都有问题,
分析实际数据就加难上加难。

还有相对低频的数据幅值会降低。
在实际分析中又怎么能知道到底降低了多少?

不知道主任有什么改进的措施。
还有xray的程序好像少一个。
哈哈
能不能也传上来。
谢谢了
这两天刚好看到那篇文章。想看一下。

[ 本帖最后由 junzifei 于 2007-7-10 14:36 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2007-7-10 16:16 | 显示全部楼层

回复 #17 junzifei 的帖子

你最好举出例子来,我最近没看mask!但是对你说的很有兴趣
回复

使用道具 举报

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

回复 #17 junzifei 的帖子

我想这篇rilling的文章 是以正弦信号叠加为例解决问题的。
(1)但是作者没有拿实际存在模态混叠的数据来验证算法。mask函数就是正弦函数,当然余弦亦然。如果换成了实际数据 频率是好办 咱们这个时候该怎么找到mask函数。
(2)而且如果分解出来的IMF不是两阶,而是更多阶,这个时候按那阶IMF求出的频率,作为mask的频率,谁知道哪个一阶求出的频率更能使mask函数效果更好?是不是用最高的频率才是最合适的?
这两个问题 我还不太清楚,毕竟这个算法是2005版EMD的最大亮点,不应该仅仅局限在仿真信号上吧,只有在实际的数据中体现出作用,才能说这个算法有实用价值,否则对EMD的改进贡献也就不大了

[ 本帖最后由 zhangnan3509 于 2007-7-11 10:48 编辑 ]
回复

使用道具 举报

发表于 2007-7-11 14:08 | 显示全部楼层
THE USE OF A MASKING SIGNAL TO IMPROVE EMPIRICAL MODE DECOMPOSITION
Ryan Deering
Duke University
Department of Mathematics
James F. Kaiser
Duke University
Department of ECE

我参考的是这篇文章。

至于例子,你将七八个数据或更多,加到一块来分解基本上就会出现分不开或出现虚假模态,感觉很郁闷。

我只想将我的数据利用HHT分解一下
看来选错对象了,
理想数据分解的都不理想。

实际数据根本不能判断是对是错,
不敢用。
我这一两个月的时间算是告一段落了,
正发愁将来怎么给老板交代呢?
如果主任取得了进展,
可要赶紧发文章,然后告诉坛里的关注HHT的兄弟呀。
这样放弃我也不甘心。
不想与版主身有同感,但是实在是帮上什么忙,
一是自己能力有限,二是还要时不时的帮老板拧螺钉,实在是没时间和精力对算法有什么改进。
我只想用,是不是很龊呀?

[ 本帖最后由 junzifei 于 2007-7-11 14:34 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2007-7-11 16:37 | 显示全部楼层

回复 #20 junzifei 的帖子

这个办法处理确实不行,我也试了多个正弦叠加的问题,别说是7,8个,我用了四个就面目全非了,看来真是有问题
回复

使用道具 举报

发表于 2007-7-11 20:03 | 显示全部楼层
依据nasa的网站上说的好像挺牛的,
只是不知道huang是怎么写的程序,
难道差别真的那么大?
哈哈
为之奈何?!
回复

使用道具 举报

 楼主| 发表于 2007-7-11 20:22 | 显示全部楼层

回复 #22 junzifei 的帖子

我们就事说事,这是rilling的程序,不是黄先生的。他的可不是免费的,这没人愿意共享
回复

使用道具 举报

发表于 2007-7-13 08:04 | 显示全部楼层

回复 #2 xray 的帖子

lay = abs(fft(IMF(1,:)));
[ pk pos ] = max(lay(1:end/2));
lay_f = (pos-1)*10;   
fm_est1 = xray_cal_f(IMF(1,:), fs);
buf1 = sprintf('IMF(1,:)主要频率成分是%fHz, 估计得到的MASK信号频率是%fHz',lay_f, fm_est1);
对求imf1的主要频率成分的公式不是很明白?
怎么改一下频率,将f1,f2的频率降低好像就不大好使了?
xray能解释一下吗?
谢谢
回复

使用道具 举报

发表于 2007-7-13 10:12 | 显示全部楼层

回复 #24 junzifei 的帖子

原帖由 junzifei 于 2007-7-13 08:04 发表
对求imf1的主要频率成分的公式不是很明白?


求imf1的主要频率成分的方法,就是直接对imf1做FFT,然后找峰值所对应的频率

原帖由 junzifei 于 2007-7-13 08:04 发表
怎么改一下频率,将f1,f2的频率降低好像就不大好使了?


修改一下程序参数
f1 = 177.6;
f2 = 100.0;
fs = 44100;
n = 1:44100;           % 关键是增加点数,也就是增加了信号中包含的极值点个数
% 传统的傅立叶变换每个采样点都在计算中发挥作用,而EMD方法依赖的是极值点,也就是一部分点
% 当频率降低时,极值点个数减少,EMD方法所利用到的信息量降低,自然就难以得到正确的结果了

lay_f = (pos-1)*10;   =>     lay_f = (pos-1)*fs/length(n);   

这样还是可以正确估计频率的

[ 本帖最后由 xray 于 2007-7-13 10:51 编辑 ]

评分

1

查看全部评分

回复

使用道具 举报

发表于 2007-7-13 11:52 | 显示全部楼层
明白了,
多谢了,
原来10是从fs/length(n)得到的
谢谢了
xray
回复

使用道具 举报

发表于 2007-12-4 10:20 | 显示全部楼层

回复 #4 xray 的帖子

for k = 2:len-1
    f(k) = (u(k)*(v(k+1)-v(k-1))-v(k)*(u(k+1)-u(k-1)))/(2*pi*ts*(u(k)^2+v(k)^2));
end

分母上为什么乘以pi?
这个公式怎么理解呀?
回复

使用道具 举报

发表于 2007-12-4 10:44 | 显示全部楼层

回复 #2 xray 的帖子

xm1 = sin(2*pi*fm_est1*n/fs);
IMF = emd(x, 'MAXMODES', 3, 'MASK', xm1);

Masking Signal 幅度按1算的?
回复

使用道具 举报

发表于 2007-12-5 15:26 | 显示全部楼层

回复 #26 junzifei 的帖子

fs = 44100;
n = 1:44100;     fs/length(n)

ans =

     1
10怎么来的?
回复

使用道具 举报

发表于 2007-12-5 18:54 | 显示全部楼层

回复前面3个帖子的问题

原帖由 xueer534 于 2007-12-4 10:20 发表
for k = 2:len-1
f(k) = (u(k)*(v(k+1)-v(k-1))-v(k)*(u(k+1)-u(k-1)))/(2*pi*ts*(u(k)^2+v(k)^2));
end

分母上为什么乘以pi?
这个公式怎么理解呀?


这个公式是文中的式(8),由式(5)和(6)推导而来,关键是用差分来逼近微分,所以分母增加了ts一项。至于分母含有pi,根据推导过程很容易看出是原文漏掉了pi。

原帖由 xueer534 于 2007-12-4 10:44 发表
xm1 = sin(2*pi*fm_est1*n/fs);
IMF = emd(x, 'MAXMODES', 3, 'MASK', xm1);

Masking Signal 幅度按1算的?


这里的确是按1算的,文中虽然说取1.6,但是也没有根据,所以程序中随便取的。

原帖由 wjh123 于 2007-12-5 15:26 发表
fs = 44100;
n = 1:44100; fs/length(n)

ans =

1
10怎么来的?


在程序原有代码中,写的是
fs = 44100;
n = 1:4410;

后来增加了点数,改为
fs = 44100;
n = 1:44100;

为了增强程序通用性,后面也做了相应的修改,就是
lay_f = (pos-1)*fs/length(n);   

junzifei 的话,是针对原有代码说的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-29 03:14 , Processed in 0.058347 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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