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
- 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.
Metadata
Release files for MSO-WT 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| MSO_WT-0.0.1.tar.gz | 6.6 kB | Details |
Release files / MSO_WT-0.0.1.tar.gz
| Download URL | MSO_WT-0.0.1.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f69e4e5bfa43a7654813205762e6d3b69b75494f3bd38de0eead380fd5d5a25b
|
|
BLAKE2b-256 checksum How to use checksums |
b876b308fe4bc856d9ff6f43f1ece101b8800ab8d71f2104b6d13060d9457ccf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|