资源简介
基于G.Rilling所写EMD代码的中文注释,很详细得解释了每个函数的功能和作用,对于初学EMD的人很有帮助
代码片段和文件信息
% EMD 计算经验模式分解
%
%
% 语法
%
%
% IMF = EMD(X)
% IMF = EMD(X...‘Option_name‘Option_value...)
% IMF = EMD(XOPTS)
% [IMFORTNB_ITERATIONS] = EMD(...)
%
%
% 描述
%
%
% IMF = EMD(X) X是一个实矢量,计算方法参考[1],计算结果包含在IMF矩阵中,每一行包含一个IMF分量,
% 最后一行是残余分量,默认的停止条件如下[2]:
%
% 在每一个点 mean_amplitude < THRESHOLD2*envelope_amplitude (注:平均幅度与包络幅度的比值小于门限2)
% &
% mean of boolean array {(mean_amplitude)/(envelope_amplitude) > THRESHOLD} < TOLERANCE
% (注:平均幅度与包络幅度比值大于门限的点数占信号总点数中的比例小于容限)
% &
% |#zeros-#extrema|<=1 (注:过零点和极值点个数相等或者相差1)
%
% 这里 mean_amplitude = abs(envelope_max+envelope_min)/2 (注:平均幅度等于上下包络相互抵消后残差的一半的绝对值,理想情况等于0)
% 且 envelope_amplitude = abs(envelope_max-envelope_min)/2 (注:包络幅度等于上下包络相对距离的一半,理想情况等于上下包络本身的绝对值)
%
% IMF = EMD(X) X是一个实矢量,计算方法参考[3],计算结果包含在IMF矩阵中,每一行包含一个IMF分量,
% 最后一行是残余分量,默认的停止条件如下[2]:
%
%
% 这里平均幅度和包络幅度的定义与前面实数情况下类似
%
% IMF = EMD(X...‘Option_name‘Option_value...) 设置特定参数(见选项)
%
% IMF = EMD(XOPTS) 与前面等价,只是这里OPTS是一个结构体,其中每一个域名与相应的选项名称一致。
%
% [IMFORTNB_ITERATIONS] = EMD(...) 返回正交指数
% ________
% _ |IMF(i:).*IMF(j:)|
% ORT = \ _____________________
% /
% - || X ||^2 i~=j
%
% 和提取每一个IMF时进行的迭代次数。
%
%
% 选择
%
%
% 停止条件选项:
%
% STOP: 停止参数 [THRESHOLDTHRESHOLD2TOLERANCE]
% 如果输入矢量长度小于 3 只有第一个参数有效,其他参数采用默认值
% 默认值: [0.050.50.05]
%
% FIX (int): 取消默认的停止条件,进行 指定次数的迭代
%
% FIX_H (int): 取消默认的停止条件,进行 指定次数的迭代,仅仅保留 |#zeros-#extrema|<=1 的停止条件,参考 [4]
%
% 复 EMD 选项:
%
% COMPLEX_VERSION: 选择复 EMD 算法(参考[3])
% COMPLEX_VERSION = 1: “algorithm 1“
% COMPLEX_VERSION = 2: “algorithm 2“ (default)
%
% NDIRS: 包络计算的方向个数 (默认 4)
% rem: 实际方向个数 (根据 [3]) 是 2*NDIRS
%
% 其他选项:
%
% T: 采样时刻 (线性矢量) (默认: 1:length(x))
%
% MAXITERATIONS: 提取每个IMF中,采用的最大迭代次数(默认:2000)
%
% MAXMODES: 提取IMFs的最大个数 (默认: Inf)
%
% DISPLAY: 如果等于1,每迭代一次自动暂停(pause)
% 如果等于2,迭代过程不暂停 (动画模式)
% rem: 当输入是复数的时候,演示过程自动取消
%
% INTERP: 插值方法 ‘linear‘ ‘cubic‘ ‘pchip‘ or ‘spline‘ (默认)
% 详情见 interp1 文档
%
% MASK: 采用 masking 信号,参考 [5]
%
%
% 例子
%
%
% X = rand(1512);
%
% IMF = emd(X);
%
% IMF = emd(X‘STOP‘[0.10.50.05]‘MAXITERATIONS‘100);
%
% T = linspace(0201e3);
% X = 2*exp(i*T)+exp(3*i*T)+.5*T;
% IMF = emd(X‘T‘T);
%
% OPTIONS.DISLPAY = 1;
% OPTIONS.FIX = 10;
% OPTIONS.MAXMODES = 3;
% [IMFORTNBITS] = emd(XOPTIONS);
%
%
% 参考文献
%
%
% [1] N. E. Huang et al. “The empirical mode decomposition and the
% Hilbert spectrum for non-linear and non stationary time series analysis“
% Proc. Royal Soc. London A Vol. 454 pp. 903-995 1998
%
% [2] G. Rilling P. Flandrin and P. Goncalves
% “On Empirical Mode Decomposition and its algorithms“
% IEEE-EURASIP Workshop on Nonlinear Signal and Image Processing
% NSIP-03 Grado (I) June 2003
%
% [3] G. Rilling P. Flandrin P. Goncalves and J. M. Lilly.
% “Bivariate Empirical Mode Decomposition“
% Signal Processing Letters (submitted)
%
% [4] N. E. Huang et al. “A confidence limit for the Empirical Mode
% Decomposition and Hilbert spectral analysis“
% Proc. Royal Soc. London A Vol. 459 pp
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 23133 2014-05-20 09:17 emd.m
相关资源
- EMD 算法MATLAB 程序
- HHT变换的三种方法 Matlab,包含CMD分解
- Norden E.Huang的FEEMD算法
- EEMD的MATLAB程序
- eemd分解和作图
- HHT变换的三种方法+Matlab程序
- HHT变换的三种方法 Matlab
- eemd算法程序 matlab代码
- MATLAB信号处理EEMD工具箱
- EMD matlab实现源码
- EEMD集成经验模态分解matlab程序.rar
- emd和eemd算法的matlab源程序
- 中央大学 EMD HHT Matlab 源代码
- EMD HHT Matlab 信号分析,Google英文原版
- HHT变换的3种方法
- matlab自带HHT算法,最简洁的EMD分解
- ModelPredictiveControlSystemDesignandImplement
- MATLAB实现HHT变换的代码+
- 西储大学轴承故障分析matlab代码
- Matlab EMD工具箱+时频分析TFTB工具箱
- HHT希尔伯特黄变换 MATLAB工具箱174211
- 经验模态分解+样本熵matlab程序代码
- 西储大学轴承数据及EMD代码
- MATLAB 2016可用 EMD工具箱
- 振动信号EMD分析matlab算法-abbr_96cb004
- EEMD算法工具包
- 基于EMD分解·和希尔伯特变换(HHT)的
- MATLAB——FEEMD.rar
- EEMD集合经验模态分解matlab程序代码
- 经验模态分解EMD对复杂信号进行分解
评论
共有 条评论