vmd

Function vmd 

Source
pub fn vmd(
    input: &[f64],
    alpha: f64,
    tau: f64,
    K: usize,
    DC: i32,
    init: i32,
    tol: f64,
) -> Result<(Array2<f64>, Array2<Complex<f64>>, Array2<f64>), VmdError>
Expand description

§Description

u,u_hat,omega = VMD(input, alpha, tau, K, DC, init, tol)
Variational mode decomposition
Based on Python implementation by @vrcarfa
Original paper:
Dragomiretskiy, K. and Zosso, D. (2014) ‘Variational Mode Decomposition’,
IEEE Transactions on Signal Processing, 62(3), pp. 531–544. doi: 10.1109/TSP.2013.2288675.

§Input and Parameters:

input - the time domain signal (1D) to be decomposed
alpha - the balancing parameter of the data-fidelity constraint
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 of convergence criterion; typically around 1e-6

§Output:

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