Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用小波去噪信号?_Python_Scipy_Signal Processing_Wavelet_Pywavelets - Fatal编程技术网

Python 用小波去噪信号?

Python 用小波去噪信号?,python,scipy,signal-processing,wavelet,pywavelets,Python,Scipy,Signal Processing,Wavelet,Pywavelets,我需要去噪一个信号。我试图用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.z

我需要去噪一个信号。我试图用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)