資源簡介
多元經驗模態分解代碼,在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.
評論
共有 條評論