Advertisement
jukaukor

DenoiseSignal.py

Jan 26th, 2024
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. # tuotetaan kohinainen signaali
  2. # poistetaan kohinaa IIR-suodattimen avulla (lfilter)
  3. # Juhani Kaukoranta 26.1.2024
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. from scipy.signal import lfilter
  7.  
  8. x = np.linspace(0,np.pi , 1000) # x axis
  9. y = np.sin(x**2) * np.cos(x) # alkuperäinen signaali
  10. noise = np.std(y)*np.random.standard_normal(len(x))/6 # kohinaa
  11. y = y + noise # kohina lisätty signaaliin
  12.  
  13. # suodatin
  14. n = 50 # mitä suurempi n, suurempi suodatus
  15. b = [1.0 / n] * n
  16. a = 1
  17. yy = lfilter(b, a, y)
  18.  
  19. # käyrien (2 kpl) tulostus
  20. plt.figure()
  21. plt.subplot(211)
  22. plt.title("yllä kohinainen signaali, alla suodatettu signaali")
  23. plt.plot(x, y, linewidth=1, linestyle="-", c="b") # kohinainen signaali
  24.  
  25. plt.subplot(212)
  26. plt.plot(x, yy, linewidth=2, linestyle="-", c="b") # suodatettu kohinaa pois
  27. plt.show()
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement