Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Autorem kodu odpowiadającego za filtr cyfrowy jest Damian Krawczun
- fs, signall = wav.read('mowa.wav')
- f0 = 8000
- Tp = 1/f0
- t = np.linspace(0,len(signall)*Tp,len(signall))
- fcut = 2000
- tier = 3
- Wn = fcut/(0.5+f0)
- b, a = signal.cheby1(tier,1,Wn)
- w, h = signal.freqz(b, a)
- okno = plt.figure(figsize=(10,10))
- plt.subplot(2,1,1)
- plt.plot(10*0.190*w, 20 * np.log10(abs(h))), plt.title('Amplitudowa charakterystyka filtra'), plt.xlabel("Czestotliwosc [kHz]"), plt.ylabel("Amplituda[dB]"), plt.ylim(-5,0.5)
- plt.subplot(2,1,2)
- angles=np.unwrap(np.angle(h))
- plt.plot(10*0.190*w,angles), plt.title("Fazowa charakterystyka filtra"), plt.xlabel("Czestotliwosc [kHz]"), plt.ylabel("Amplituda[dB]")
- plt.show()
- signall = signall/29204
- plt.plot(t,1000000*signall), plt.title('Porównanie wykresów na wejściu i na wyjściu filtra'), plt.xlabel("Czas[s]"), plt.ylabel("Amplituda")
- filtered = signal.lfilter(b,a,signall)
- plt.plot(t,1000000*filtered)
- plt.show()
- ipd.Audio(filtered, rate=f0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement