資源簡介
matlab 代碼,實現EMD EEMD VMD三種信號分解方法的比較
代碼片段和文件信息
%?test-script?for?VMD
%?authors:?Dominique?Zosso?and?Konstantin?Dragomiretskiy
%?zosso@math.ucla.edu?---?http://www.math.ucla.edu/~zosso
%?Initial?release?2013-12-12?(c)?2013
%
%?When?using?this?code?please?do?cite?our?paper:
%?-----------------------------------------------
%?K.?Dragomiretskiy?D.?Zosso?Variational?Mode?Decomposition?IEEE?Trans.
%?on?Signal?Processing?(in?press)
%?please?check?here?for?update?reference:?
%??????????http://dx.doi.org/10.1109/TSP.2013.2288675
%---------------?Preparation
clear?all;
close?all;
clc;
%?Time?Domain?0?to?T
T?=?1000;
fs?=?1/T;
t?=?(1:T)/T;
freqs?=?2*pi*(t-0.5-1/T)/(fs);
%?center?frequencies?of?components
f_1?=?2;
f_2?=?24;
f_3?=?288;
%?modes
v_1?=?(cos(2*pi*f_1*t));
v_2?=?1/4*(cos(2*pi*f_2*t));
v_3?=?1/16*(cos(2*pi*f_3*t));
%?for?visualization?purposes
fsub?=?{};
wsub?=?{};
fsub{1}?=?v_1;
fsub{2}?=?v_2;
fsub{3}?=?v_3;
wsub{1}?=?2*pi*f_1;
wsub{2}?=?2*pi*f_2;
wsub{3}?=?2*pi*f_3;
%?composite?signal?including?noise
f?=?v_1?+?v_2?+?v_3?+?0.1*randn(size(v_1));
f_hat?=?fftshift((fft(f)));
%?some?sample?parameters?for?VMD
alpha?=?2000;????????%?moderate?bandwidth?constraint
tau?=?0;????????????%?noise-tolerance?(no?strict?fidelity?enforcement)
K?=?3;??????????????%?3?modes
DC?=?0;?????????????%?no?DC?part?imposed
init?=?1;???????????%?initialize?omegas?uniformly
tol?=?1e-7;
%---------------?Run?actual?VMD?code
[u?u_hat?omega]?=?VMD(f?alpha?tau?K?DC?init?tol);
%---------------?Visualization
%?For?convenience?here:?Order?omegas?increasingly?and?re
- 上一篇:ESPRIT算法的matlab程序
- 下一篇:LQR 一階倒立擺.zip
評論
共有 條評論