File Exchange

## Multivariate Variational Mode Decomposition (MVMD)

version 1.1 (3.66 KB) by
The function MVMD applies the Multivariate Variational Mode Decomposition (MVMD) algorithm to multivariate or multichannel data.

Updated 16 Apr 2020

The function MVMD applies the Multivariate Variational Mode Decomposition (MVMD) algorithm [1] to multivariate or multichannel data sets. The method is an alternative to another popular algorithm named Multivariate Empirical Mode Decomposition (MEMD). We have verified this code through simulations involving synthetic and real world data sets containing 2-16 channels. However, there is no reason that it shouldn't work for data with more than 16 channels.

% Input and Parameters:
% ---------------------
signal - input multivariate signal that needs to be decomposed

alpha - the parameter that defines the bandwidth of extracted modes (low value of alpha yields higher bandwidth)

tau - time-step of the dual ascent ( pick 0 for noise-slack )
K - the number of modes to be recovered
DC - true if the first mode is put and kept at DC (0-freq)
init - 0 = all omegas start at 0
1 = all omegas start uniformly distributed
2 = all omegas initialized randomly

tol - tolerance value for convergence of ADMM

% Output:
% ---------------------

u - the collection of decomposed modes
u_hat - spectra of the modes
omega - estimated mode center-frequencies

[1] N. Rehman, H. Aftab, Multivariate Variational Mode Decomposition, arXiv:1907.04509, 2019.

### Cite As

Naveed ur Rehman (2020). Multivariate Variational Mode Decomposition (MVMD) (https://www.mathworks.com/matlabcentral/fileexchange/72814-multivariate-variational-mode-decomposition-mvmd), MATLAB Central File Exchange. Retrieved .

YuGang

Naveed ur Rehman

Thanks for the positive feedback! Based on your suggestion, we have uploaded a faster version of the MVMD function.

Mark

Tomas Ros

Great work! fancy implementing a faster version using multicore parallel processing (i.e. parfor loops)?

peipei cao

thank you

 16 Apr 2020 1.1 This is an optimized code that runs faster in Matlab as compared to the previous version. We are thankful to Dr. Maik Neukrich who helped us in developing a this newer version of the code. 20 Sep 2019 1.0.1 Just changed the title.
##### MATLAB Release Compatibility
Created with R2019b
Compatible with any release
##### Platform Compatibility
Windows macOS Linux