# Generated by pandoc-plot 1.8.0
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(2019)
from pathlib import Path
import matplotlib.pyplot as plt
import numpy as np
import pywt
from numpy.random import default_rng
random = default_rng(seed=2022)
data = np.loadtxt(
Path("files") / "wavelet-filter" / "diffraction.csv", delimiter=",", skiprows=1
)
t = data[:, 0]
signal = data[:, 1]
noise = random.normal(size=t.shape[0], loc=-0.5, scale=1)
approx, *details= pywt.wavedec(signal + noise, wavelet=pywt.Wavelet('sym17'), level=3, mode='zero')
filtered = pywt.waverec([approx] + [ np.zeros_like(bank) for bank in details ], wavelet=pywt.Wavelet('sym17'), mode='zero')
fig, ax = plt.subplots(1, 1, figsize=(8,4))
ax.plot(t, signal, label="Pure signal", color='k')
ax.plot(t, filtered, label="Filtered signal", color='g')
ax.set_xlabel("Time [s]")
ax.set_ylabel('Amplitude [a.u.]')
ax.legend()