Skip to main content

Official python implementation of the Maximal Spectral Overlap Wavelet Transform (MSO-WT)

Project description

Maximal Spectral Overlap Wavelet Transform


Official python implementation of the Maximal Spectral Overlap Wavelet Transform (MSO-WT) as described in (Evangelidis and Kugiumtzis, 2023). The algorithm decomposes a signal into orthogonal Intrinsic Mode Functions (IMFs) each oscillating around a different central frequency.

Installation


  1. Install from source
    $ git clone https://github.com/apostolosev/MSO_WT & cd MSO_WT
    $ pip install .

Minimal Example


import numpy as np
import matplotlib.pyplot as plt
from mso_wt import MSOWT

# Define the example multi-component input sign
t = np.linspace(0.0, 1.0, 1024)
gt_imf1 = 1 / (1.2 + np.cos(2 * np.pi * t))
gt_imf2 = np.cos(32 * np.pi * t + 0.2 * np.cos(64 * np.pi * t)) / (1.5 + np.sin(2 * np.pi * t))
sig = gt_imf1 + gt_imf2

# Decompose the signal using the MSO-WT
msowt = MSOWT(nIMFs=2)
imfs = msowt.decompose(sig)

# Display the decomposition results
# Original signal
plt.figure(figsize=(6, 4))
plt.plot(t, sig, "-k", linewidth=1.5, label="GT-IMF_1 + GT-IMF_2")
plt.title("Multi-component signal")
plt.legend(loc="upper left")
plt.xlabel("Time (s)")

# IMF 1
fig, axs = plt.subplots(1, 2, figsize=(12, 4))
axs[0].plot(t, gt_imf1, "-k", linewidth=1.5, label="GT-IMF_1")
axs[0].plot(t, imfs[0, :], "-c", linewidth=1.5, label="IMF_1")
axs[0].legend(loc="upper left")
axs[0].set_xlabel("Time (s)")

# IMF 2
axs[1].plot(t, gt_imf2, "-k", linewidth=1.5, label="GT-IMF_2")
axs[1].plot(t, imfs[1, :], "-c", linewidth=1.5, label="IMF_2")
axs[1].legend(loc="upper left")
axs[1].set_xlabel("Time (s)")
plt.show()

Citation


If you use this package, please cite it as below.

@article{evangelidis2023adaptive,
  title={Adaptive Decomposition of Multicomponent Signals and Estimation of Phase Synchronization},
  author={Evangelidis, Apostolos and Kugiumtzis, Dimitris},
  journal={IEEE Transactions on Signal Processing},
  year={2023},
  publisher={IEEE}
}

License


The software is released under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MSO_WT-0.0.1.tar.gz (6.6 kB view details)

Uploaded Source

File details

Details for the file MSO_WT-0.0.1.tar.gz.

File metadata

  • Download URL: MSO_WT-0.0.1.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.25.1 requests-toolbelt/1.0.0 urllib3/1.26.4 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.3

File hashes

Hashes for MSO_WT-0.0.1.tar.gz
Algorithm Hash digest
SHA256 f69e4e5bfa43a7654813205762e6d3b69b75494f3bd38de0eead380fd5d5a25b
MD5 3283989cdb70f3ca5674b01a51e0004c
BLAKE2b-256 b876b308fe4bc856d9ff6f43f1ece101b8800ab8d71f2104b6d13060d9457ccf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page