sweep_design.utility_functions.emd_analyze

Module Contents

Functions

get_IMFs_ceemdan(→ List[sweep_design.signal.Signal])

Empirical mode decomposition (EMD).

get_IMFs_emd(→ List[sweep_design.signal.Signal])

"Empirical mode decomposition (EMD).

sweep_design.utility_functions.emd_analyze.get_IMFs_ceemdan(data: sweep_design.signal.Signal, number_seedman=30, epsilon=0.005, ext_EMD: Any = None, parallel=False, processes=None, noise_scale=1, noise_kind='normal', range_thr=0.01, total_power_thr=0.05) List[sweep_design.signal.Signal][source]

Empirical mode decomposition (EMD). Using CEEMDAN from PyEMD (https://pyemd.readthedocs.io/) to calculate IMFs and return them as a list of Signals.

About empirical mode decomposition on https://en.wikipedia.org/wiki/Hilbert%E2%80%93Huang_transform#Techniques

Parameters
  • data (Signal) – _description_

  • number_seedman (int, optional) – _description_. Defaults to 30.

  • epsilon (float, optional) – Scale for added noise (epsilon) which multiply std sigma: eta = epsilon cdot sigma. Defaults to 0.005.

  • ext_EMD (Any, optional) – One can pass EMD object defined outside, which will be used to compute IMF decompositions in each trial. If none is passed then EMD with default options is used. Defaults to None.

  • parallel (bool, optional) – Flag whether to use multiprocessing in EEMD execution. Since each EMD(s+noise) is independent this should improve execution speed considerably. Note that it’s disabled by default because it’s the most common problem when CEEMDAN takes too long time to finish. If you set the flag to True, make also sure to set processes to some reasonable value. Defaults to False.

  • processes (_type_, optional) – Number of processes harness when executing in parallel mode. The value should be between 1 and max that depends on your hardware. Defaults to None.

  • noise_scale (int, optional) – Scale (amplitude) of the added noise. Defaults to 1.

  • noise_kind (str, optional) – What type of noise to add. Allowed are “normal” (default) and “uniform”. Defaults to “normal”.

  • range_thr (float, optional) – Range threshold used as an IMF check. The value is in percentage compared to initial signal’s amplitude. If absolute amplitude (max - min) is below the range_thr then the decomposition is finished. Defaults to 0.01.

  • total_power_thr (float, optional) – Signal’s power threshold. Finishes decomposition if sum(abs(r)) < thr. Defaults to 0.05.

Returns

List of Signals expected IMFs.

Return type

List[Signal]

sweep_design.utility_functions.emd_analyze.get_IMFs_emd(data: sweep_design.signal.Signal) List[sweep_design.signal.Signal][source]

“Empirical mode decomposition (EMD).

Using EMD from PyEMD (https://pyemd.readthedocs.io/) to calculate IMFs and return them as a list of Signals.

About empirical mode decomposition on https://en.wikipedia.org/wiki/Hilbert%E2%80%93Huang_transform#Techniques

Parameters

data (Signal) – signal to calculate IMFs.

Returns

List of Signals expected IMFs.

Return type

List[Signal]