#signal-processing #dsp #fft #fourier #vmd

no-std vmd-rs

Variational Mode Decomoposition in Rust

4 releases

0.2.1 Aug 9, 2023
0.2.0 Aug 9, 2023
0.1.1 Aug 8, 2023
0.1.0 Aug 7, 2023

#1691 in Math

MIT license

19KB
301 lines

vmd-rs

VMD, aka Variational Mode Decomposition, is a signal processing tool that decompse the input signal into different band-limited IMFs.

The implementation of this project is referenced from vmdpy with some slight changes.

Highlights

  1. Consumes less memory
  2. Handles odd number signal length
  3. Rust

Using with cargo

[dependencies]
vmd-rs = "0.2.1"

Enabling BLAS

Blas integration is optional. See the blas section of ndarray on how to link to blas providers.

Using with Python

See vmdrs-py for an example.

Support

Maybe build issues, thats it. I don't understand signal processing. I just translated the Python code to Rust and added some optimizations along the way.

Feel free to make a PR for changes you would like to see.

Credits

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~6MB
~117K SLoC