声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: zhlong

[HHT] 转网上的一个简单直观的EMD程序,有助初学理解

[复制链接]
 楼主| 发表于 2007-9-3 20:34 | 显示全部楼层

回复 #7 kevin19821 的帖子

help size 看看
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-9-3 20:53 | 显示全部楼层

回复 #1 zhlong 的帖子

zhlong 的注释写得挺好,但是个人觉得有两处值得商榷:
(1)if d(i)==0                        % we are on a zero %%导数为0的点,即”驻点“,但驻点不一定都是极值点,如y=x^3的x=0处

这个地方可不是为了找”驻点“,它是为了处理出现峰值相等的情况,例如
x = [ 0 0 1 4 4 1 0 0 ];
这种数据在对正弦波非周期采样时可能会遇到。
在程序中,把第一个4的地方作为峰值。
(2)elseif sign(d(i))~=sign(d(i+1))   % we are straddling a zero so%%如y=|x|在x=0处是极值点,但该点倒数不存在,所以不能用上面的判断方法

同理,这里也不是为了判断导数,这句话是处理正常的情况,例如
x = [ 0 0 1 4 1 0 0 ];      
这就是通常意义下的峰值。
此外,个人认为采用 diff求最值的过程中,跟连续信号的求导并没有直接的联系,因为离散数据本身并不存在所谓的连续性问题,所以极值是一定可以通过计算获得的。                                                     
ps. 在这个程序中输入参数n并没有起到作用

[ 本帖最后由 zhlong 于 2007-9-3 21:03 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2007-9-3 21:07 | 显示全部楼层

回复 #17 xray 的帖子

非常感谢xary的指正!:handshake 一定要经常光临本版指导工作啊!
我后来也觉得这两个地方有问题,但没有深究,误导了各位版友,向大家道歉:loveliness: 。
发表于 2007-9-3 21:13 | 显示全部楼层

回复 #18 zhlong 的帖子

你不用太客气,其实你转贴的内容无论对错 都是一个参照,相信仔细看过这个帖子的人都会和rilling的程序作一个比较,也是促进理解啊 :handshake
发表于 2009-9-28 10:56 | 显示全部楼层

回复 5楼 qinle 的帖子

:@) 您好,我运行这个程序出现错误,请问该怎么做呢?
发表于 2009-9-28 10:58 | 显示全部楼层

回复 14楼 kevin19821 的帖子

请问您怎么使用楼主程序加曲线延拓运行的啊?初学不懂,忘指教!
发表于 2013-3-23 20:29 | 显示全部楼层
谢谢楼主
发表于 2013-5-8 19:05 | 显示全部楼层
感谢分享!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 13:10 , Processed in 0.057739 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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