赞
踩
安装包是PyWavelets,不是pywt,只是引入名字叫pywt,可以使用python -m pip install PyWavelets命令安装。
import numpy as np
import pywt
import matplotlib.pyplot as plt
t = np.linspace(0, 1, num=1000)
signal = np.sin(2 * np.pi * 10 * t) + np.sin(2 * np.pi * 20 * t) + np.sin(3 * np.pi * 30 * t)
noise = np.random.normal(0, 0.05, len(signal))
signal = signal + noise
wavelet_name = ‘db4’ # 定义小波基名称为’db4’
#wavelet_name = ‘sym4’ # 定义小波基名称为’sym4’
#wavelet_name = ‘bior3.3’ # 定义小波基名称为’bior3.3’
coeffs = pywt.wavedec(signal, wavelet_name, level=4) # 使用指定小波基进行4级小波分解
plt.figure(figsize=(8, 6))
plt.subplot(5, 1, 1)
plt.plot(t, signal)
plt.title(‘Original Signal’)
plt.xlabel(‘Time’)
plt.ylabel(‘Amplitude’)
for i in range(1, len(coeffs)):
plt.subplot(5, 1, i+1)
plt.plot(t[:len(coeffs[i])], coeffs[i])
plt.title(f’Wavelet Coefficients - Level {i}')
plt.xlabel(‘Time’)
plt.ylabel(‘Amplitude’)
plt.tight_layout()
plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。