声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3770|回复: 16

[HHT] 没看明白emd_online,请大虾指点。。

[复制链接]
发表于 2007-5-23 20:02 | 显示全部楼层 |阅读模式

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

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

x
Rilling写的emd_online没看明白,在他的文章《ON EMPIRICAL MODE DECOMPOSITION
AND ITS ALGORITHMS》中提到ex_online.m可以帮助理解,但是也没找到这个,对于emd_online讲解瞒少,
程序读起来很吃力,用ecg.mat的数据输入: emd_online(ecg);
结果报错:??? Index exceeds matrix dimensions.
Error in ==> emd_online at 282
              [indmintmp,indmaxtmp] = extr(mps(k,max([(limpsl(k,i)-1),1]):finps(k,i),i));

可能是输入信号的问题,mps=输入信号,而ecg是4170×1,不知道是不是输入参数有问题造成数组维数出问题,
另外请大虾讲解下emd_online这个程序的核心思想吧,感谢。。。。。。
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-5-23 20:07 | 显示全部楼层
刚找到了ex_online,准备来看~~~
看来eight说得对,要多利用搜索功能。。。:@$
如果仍然看不懂我再来问吧
 楼主| 发表于 2007-5-23 20:17 | 显示全部楼层
在论坛上没找到ex_online,http://forum.vibunion.com/space/html/15/t-42415.html
有是有,但打开链接地时候:附件文件不存在或无法读入,请与管理员联系。
请管理员发一份过来吧,nos2006@163.com,谢谢~~
另外搜索了关键词emd_online,没有相关介绍哦
还得请大虾们指教,问题如上~
发表于 2007-5-23 20:41 | 显示全部楼层



你说找不到 ex_online.m ? 刚看了,每个版本都有,建议认真查找,实在不行的话,利用 windows 的搜索功能
发表于 2007-5-23 22:19 | 显示全部楼层
online程序是建立在local的基础上的,你应该先看一下local.m,理解起来不难
发表于 2007-5-24 22:30 | 显示全部楼层

新建EMD的qq群 主要是初学者的 希望大家参加 40652876

发表于 2007-5-24 22:32 | 显示全部楼层

回复 #6 sharc 的帖子

你发一个帖子就可以了!这么多就不好了。:handshake 请以后注意。大家会看见的,放心好了
发表于 2008-12-23 00:10 | 显示全部楼层
我最近也在看on-line emd程序,没看懂,急啊!!!哪位高手要是明白的话,请指点一下
发表于 2008-12-28 22:25 | 显示全部楼层

回复 7楼 zhangnan3509 的帖子

zhangnan3509 :你能否帮我看一下EX_ONLINE.m中的程序,我有个弱弱的问题,请你帮我解答一下程序如下:
% elementary signal
N = 2000;% # of data samples
T = 1:4:N;
t = 1:N;

p = N/2;% period of the 2 sinusoidal FM's

% sinusoidal FM 1
fmin1 = 1/64;% min frequency
fmax1 = 1.5*1/8;% max frequency
x1 = fmsin(N,fmin1,fmax1,p,N/2,fmax1);

% sinusoidal FM 2
fmin2 = 1/32;% min frequency
fmax2 = 1.5*1/4;% max frequency
x2 = fmsin(N,fmin2,fmax2,p,N/2,fmax2);

% logon
f0 = 1.5*1/16;% center frequency
x3 = amgauss(N,N/2,N/8).*fmconst(N,f0);

a1 = 1;
a2 = 1;
a3 = 1;

x = real(a1*x1+a2*x2+a3*x3);
x = x/max(abs(x));

% periodized signal
y = [x' x' x' x' x' x' x' x'];

其中执行完x = x/max(abs(x));这个语句后,x是不是就是就是含有2000个数据的行向量了?然后y是含有8个列向量的矩阵?
发表于 2008-12-29 19:18 | 显示全部楼层
问题已经解决
发表于 2009-3-3 22:03 | 显示全部楼层

回复 楼主 dudubear2009 的帖子

能问一下emd-online好干什么用马
发表于 2010-3-31 20:04 | 显示全部楼层

回复 11楼 haifeng1213 的帖子

我运行emd中的例子,怎么找不到FMSIN这个函数,忘指点
发表于 2010-3-31 20:07 | 显示全部楼层
function [y,iflaw]=fmsin(N,fnormin,fnormax,period,t0,fnorm0,pm1);
%FMSIN        Signal with sinusoidal frequency modulation.
%        [Y,IFLAW]=FMSIN(N,FNORMIN,FNORMAX,PERIOD,T0,FNORM0,PM1)
%        generates a frequency modulation with a sinusoidal frequency.
%        This sinusoidal modulation is designed such that the instantaneous
%        frequency at time T0 is equal to FNORM0, and the ambiguity
%        between increasing or decreasing frequency is solved by PM1.
%
%        N       : number of points.
%        FNORMIN : smallest normalized frequency          (default: 0.05)
%        FNORMAX : highest normalized frequency           (default: 0.45)
%        PERIOD  : period of the sinusoidal fm            (default: N   )
%        T0      : time reference for the phase           (default: N/2 )
%        FNORM0  : normalized frequency at time T0        (default: 0.25)
%        PM1     : frequency direction at T0 (-1 or +1)         (default: +1  )
%        Y       : signal
%        IFLAW   : its instantaneous frequency law (optional).
%
%        Example:
%         z=fmsin(140,0.05,0.45,100,20,0.3,-1.0);plot(real(z));
%
%        See also FMCONST, FMLIN, FMODANY, FMHYP, FMPAR, FMPOWER.

%        F. Auger, July 1995.
%        Copyright (c) 1996 by CNRS (France).
%
%  This program is free software; you can redistribute it and/or modify
%  it under the terms of the GNU General Public License as published by
%  the Free Software Foundation; either version 2 of the License, or
%  (at your option) any later version.
%
%  This program is distributed in the hope that it will be useful,
%  but WITHOUT ANY WARRANTY; without even the implied warranty of
%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%  GNU General Public License for more details.
%
%  You should have received a copy of the GNU General Public License
%  along with this program; if not, write to the Free Software
%  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

if (nargin == 0),
error ( 'At least 1 parameter required' ) ;
elseif (nargin == 1),
fnormin = 0.05; fnormax = 0.45; period = N;
t0= round(N/2); fnorm0 = 0.25; pm1=+1;
elseif (nargin == 2),
fnormax = 0.45; period = N;
t0 = round(N/2); fnorm0 = 0.5*(fnormin+fnormax); pm1=+1;
elseif (nargin == 3),
period = N; t0 = round(N/2);
fnorm0 = 0.5*(fnormin+fnormax); pm1=+1;
elseif (nargin == 4),
t0 = round(N/2); fnorm0 = 0.5*(fnormin+fnormax); pm1=+1;
elseif (nargin == 5),
fnorm0 = 0.5*(fnormin+fnormax); pm1=+1;
elseif (nargin == 6),
pm1= +1;
elseif (nargin==7),
if (abs(pm1)~=1),
  error('pm1 must be equal to -1 or +1');
end;
end;

if (N <= 0),
error ('The signal length N must be strictly positive' );
elseif (abs(fnormin) > 0.5)|(abs(fnormax) > 0.5)|(abs(fnorm0) > 0.5),
error ('fnormin, fnormax and fnorm0 must be between -0.5 and 0.5') ;
elseif (fnormin > fnormax)
error ('fnormin must be lower than fnormax');
elseif (fnormin > fnorm0)|(fnorm0 > fnormax),
error ('fnorm0 must be between fnormin and fnormax') ;
else
fnormid=0.5*(fnormax+fnormin);
delta  =0.5*(fnormax-fnormin);
phi=-pm1*acos((fnorm0-fnormid)/delta);
time=(1:N)-t0;
phase=2*pi*fnormid*time+delta*period*(sin(2*pi*time/period+phi)-sin(phi));
y = exp(j*phase).';
if (nargout==2)
  iflaw=fnormid+delta*cos(2*pi*time'/period+phi);
end
end
头像被屏蔽
发表于 2010-4-2 19:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-4-3 08:03 | 显示全部楼层
楼上为广告帖请删除! 已禁止访问
一一报告还需等45秒! 没时间等:@Q

处理完记得也删除此帖
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 08:51 , Processed in 0.058872 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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