python 小波去噪,用Pywavelet去噪信号?
我需要去噪信號。我試圖用savgol_濾波器去噪,但結果導致信號中的奇異點丟失。為了去噪和保持奇異性,我嘗試使用小波變換、小波閾值和小波逆變換,但都沒有成功。有人知道如何使用小波去噪嗎?在import numpy as np
from matplotlib import pyplot as plt
from scipy.signal import savgol_filter
import pywt
def readSignal(nomFichier, N):
x=np.zeros((N), dtype=float)
y=np.zeros((N), dtype=float)
fichier=open(nomFichier,"r")
for k in range(N):
l=fichier.readline()
l=l.split(' \t\t\t ',1)
l2=l[1].split(' \n',1)
l[1]=l2[0]
x[k]=float(l[0])
y[k]=float(l[1])
fichier.close()
return x, y
nomFichier='front1.txt'
N=1509
x, y=readSignal(nomFichier, N)
#y=savgol_filter(y, 51, 3)
#cA, cD=pywt.dwt(y, 'db1')
#cA=pywt.thresholding.hard(cA, 400)
#y=pywt.idwt(cA,cD,'db1', 'sp1')
plt.plot(x,y)
plt.show(block=False)
總結
以上是生活随笔為你收集整理的python 小波去噪,用Pywavelet去噪信号?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 浏览商品记录,php浏览历史记录
- 下一篇: php设置404返回302,java -