Method of decomposing signal into Product Functions
This project implements the paper:
pip install PyLMD
requirements:
- numpy
- scipy
>>> import numpy as np
>>> from PyLMD import LMD
>>> x = np.linspace(0, 100, 101)
>>> y = 2 / 3 * np.sin(x * 30) + 2 / 3 * np.sin(x * 17.5) + 4 / 5 * np.cos(x * 2)
>>> lmd = LMD()
>>> PFs, resdue = lmd.lmd(y)
>>> PFs.shape
(6, 101)
-
INCLUDE_ENDPOINTS : bool, (default: True)
Whether to treat the endpoint of the signal as a pseudo-extreme point
-
max_smooth_iteration : int, (default: 12)
Maximum number of iterations of moving average algorithm.
-
max_envelope_iteration : int, (default: 200)
Maximum number of iterations when separating local envelope signals.
-
envelope_epsilon : float, (default: 0.01)
Terminate processing when obtaining pure FM signal.
-
convergence_epsilon : float, (default: 0.01)
Terminate processing when modulation signal converges.
-
max_num_pf : int, (default: 8)
The maximum number of PFs generated.
-
PFs : numpy array
The decompose functions arrange is arranged from high frequency to low frequency.
-
residue : numpy array
residual component
Use GitHub Issues or the mailing list to post your comments or questions.
PyLMD is a free Open Source software released under the MIT license.
Q. W. Lin, 2020. Python Implementation Of Local Mean Decomposition Algorithm. (https://github.com/shownlin/PyLMD)