• 大小: 22KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: emd  

资源简介

主要用于emd 分解,简单EMD,适合初级者练习使用。已经加了一些解释,希望能更易懂。 function imf = emd(x) % Empiricial Mode Decomposition (Hilbert-Huang Transform) % imf = emd(x) % Func : findpeaks

资源截图

代码片段和文件信息

%EMD  computes Empirical Mode Decomposition
%
%
%   Syntax
%
%
% IMF = EMD(X)
% IMF = EMD(X...‘Option_name‘Option_value...)
% IMF = EMD(XOPTS)
% [IMFORTNB_ITERATIONS] = EMD(...)
%
%
%   Description
%
%
% IMF = EMD(X) where X is a real vector computes the Empirical Mode
% Decomposition [1] of X resulting in a matrix IMF containing 1 IMF per row the
% last one being the residue. The default stopping criterion is the one proposed
% in [2]:
%
%   at each point mean_amplitude < THRESHOLD2*envelope_amplitude
%   &
%   mean of boolean array {(mean_amplitude)/(envelope_amplitude) > THRESHOLD} < TOLERANCE
%   &
%   |#zeros-#extrema|<=1
%
% where mean_amplitude = abs(envelope_max+envelope_min)/2
% and envelope_amplitude = abs(envelope_max-envelope_min)/2

% IMF = EMD(X) where X is a complex vector computes Bivariate Empirical Mode
% Decomposition [3] of X resulting in a matrix IMF containing 1 IMF per row the
% last one being the residue. The default stopping criterion is similar to the
% one proposed in [2]:
%
%   at each point mean_amplitude < THRESHOLD2*envelope_amplitude
%   &
%   mean of boolean array {(mean_amplitude)/(envelope_amplitude) > THRESHOLD} < TOLERANCE
%
% where mean_amplitude and envelope_amplitude have definitions similar to the
% real case
%
% IMF = EMD(X...‘Option_name‘Option_value...) sets options Option_name to
% the specified Option_value (see Options)
%
% IMF = EMD(XOPTS) is equivalent to the above syntax provided OPTS is a struct 
% object with field names corresponding to option names and field values being the 
% associated values 
%
% [IMFORTNB_ITERATIONS] = EMD(...) returns an index of orthogonality
%                       ________
%         _  |IMF(i:).*IMF(j:)|
%   ORT = \ _____________________
%         /
%         ?       || X ||?%        i~=j
%
% and the number of iterations to extract each mode in NB_ITERATIONS
%
%
%   Options
%
%
%  stopping criterion options:
%
% STOP: vector of stopping parameters [THRESHOLDTHRESHOLD2TOLERANCE]
% if the input vector‘s length is less than 3 only the first parameters are
% set the remaining ones taking default values.
% default: [0.050.50.05]
%
% FIX (int): disable the default stopping criterion and do exactly  
% number of sifting iterations for each mode
%
% FIX_H (int): disable the default stopping criterion and do  sifting 
% iterations with |#zeros-#extrema|<=1 to stop [4]
%
%  bivariate/complex EMD options:
%
% COMPLEX_VERSION: selects the algorithm used for complex EMD ([3])
% COMPLEX_VERSION = 1: “algorithm 1“
% COMPLEX_VERSION = 2: “algorithm 2“ (default)

% NDIRS: number of directions in which envelopes are computed (default 4)
% rem: the actual number of directions (according to [3]) is 2*NDIRS

%  other options:
%
% T: sampling times (line vector) (default: 1:length(x))
%
% MAXITERATIONS: maximum number of sifting iterations for the computation of each
% mode (default: 2000)
%
% MAXMODES: maximum number of imfs extracted (default

评论

共有 条评论