• 大小: 19KB
    文件类型: .m
    金币: 2
    下载: 3 次
    发布日期: 2021-05-21
  • 语言: Matlab
  • 标签: memd  

资源简介

多元经验模态分解代码,在EMD基础上发展而来的可同时分解多元数据

资源截图

代码片段和文件信息

function q = memd(x varargin)
%
%
% function MEMD applies the “Multivariate Empirical Mode Decomposition“ algorithm (Rehman and Mandic Proc. Roy. Soc A 2010)
% to multivariate inputs. We have verified this code by simulations for signals containing 3-16 channels.
%
% Syntax:
%
% imf = MEMD(X)
%   returns a 3D matrix ‘imf(NML)‘ containing M multivariate IMFs one IMF per column computed by applying
%   the multivariate EMD algorithm on the N-variate signal (time-series) X of length L.
%    - For instance imf_k = IMF(k::) returns the k-th component (1 <= k <= N) for all of the N-variate IMFs.
%
%   For example  for hexavariate inputs (N=6) we obtain a 3D matrix IMF(6 M L)
%   where M is the number of IMFs extracted and L is the data length.
%
% imf = MEMD(Xnum_directions)
%   where integer variable num_directions (>= 1) specifies the total number of projections of the signal
%     - As a rule of thumb the minimum value of num_directions should be twice the number of data channels
%     - for instance num_directions = 6  for a 3-variate signal and num_directions= 16 for an 8-variate signal
%   The default number of directions is chosen to be 64 - to extract meaningful IMFs the number of directions
%   should be considerably greater than the dimensionality of the signals
%
% imf = MEMD(Xnum_directions‘stopping criteria‘)
%   uses the optional parameter ‘stopping criteria‘ to control the sifting process.
%    The available options are
%      -  ‘stop‘ which uses the standard stopping criterion specified in [2]
%      -  ‘fix_h‘ which uses the modified version of the stopping criteria specified in [3]
%    The default value for the ‘stopping criteria‘ is ‘stop‘.
%
%  The settings  num_directions=64 and ‘stopping criteria‘ = ‘stop‘ are defaults.
%     Thus imf = MEMD(X) = MEMD(X64) = MEMD(X64‘stop‘) = MEMD(X[]‘stop‘)
%
% imf = MEMD(X num_directions ‘stop‘ stop_vec)
%   computes the IMFs based on the standard stopping criterion whose parameters are given in the ‘stop_vec‘
%     - stop_vec has three elements specifying the threshold and tolerance values used see [2].
%     - the default value for the stopping vector is   step_vec = [0.075 0.75 0.075].
%     - the option ‘stop_vec‘ is only valid if the parameter ‘stopping criteria‘ is set to ‘stop‘.
%
% imf = MEMD(X num_directions ‘fix_h‘ n_iter)
%   computes the IMFs with n_iter (integer variable) specifying the number of consecutive iterations when
%   the number of extrema and the number of zero crossings differ at most by one [3].
%     - the default value for the parameter n_iter is set to  n_iter = 2.
%     - the option n_iter is only valid if the parameter  ‘stopping criteria‘ = ‘fix_h‘
%
%
% This code allows to process multivaraite signals having 3-16 channels using the multivariate EMD algorithm [1].
%   - to perform EMD on more than 16 channels modify the variable ‘Max_channels‘ on line 510 in the code accordingly.

评论

共有 条评论

相关资源