Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- from scipy import signal
- import scipy.io.wavfile as wav
- f = 1000 # CZestotliwość sygnału (Hz)
- fp = 8000 # Częstotliwość próbkowania (Hz)
- Tp = 1/fp # okres próbkowania (sek)
- A = 1 # Amplituda
- #faza = np.pi # faza (rad)
- dur = 5 # Czas trwania
- a = 0.999
- #def f1(funkcja, alfa):
- # a1 = np.zeros(40000)
- # for i in a1:
- # a1[i] = alfa*a1[i-1]+(1-alfa)*funkcja[i]*funkcja[i]
- #return a1
- t = np.arange(0,dur,Tp)
- ysin = A * np.sin(2*np.pi*t*f)
- N=fp*dur
- t1 = np.arange(0,N,1)
- def xdd(x):
- P[0]=0
- for n in range(1,N):
- P[n]=a*P[n-1]+(1-a)*x[n]**2
- return P
- chirp = signal.chirp(t,0,dur,f)
- tt = np.arange(0,40000)/10000
- fs,signal=wav.read("voice.wav")
- y_noise = (max(signal)/8*np.random.normal(0,1,40000))
- fig, ((y1,y2),(y3,y4),(y5,y6),(y7,y8)) = plt.subplots(4,2)
- fig.set_size_inches(15,20)
- xdd(y_noise)
- y1.plot(tt,y_noise/40000)
- y1.set_xlabel('Czas [sek.]')
- y1.set_ylabel('Amplituda')
- y1.set_title('Szum gaussowksi')
- y2.plot(t1/fp,P/f/fp)
- y2.set_ylim([0,2])
- y3.plot(t,ysin)
- y3.set_title('Sygnał sinuoidalny o stałej częstotliwości')
- y3.set_xlabel('Czas [sek.]')
- y3.set_ylabel('Amplituda')
- xdd(ysin)
- y4.plot(t1/fp,P)
- y4.set_ylim([0,1])
- xdd(chirp)
- y5.plot(t,chirp)
- y5.set_title('Sygnał o zmiennej częstotliwości')
- y5.set_xlabel('Czas [sek.]')
- y5.set_ylabel('Amplituda')
- y6.plot(t1/fp,P)
- xdd(signal)
- y7.plot(tt,signal/40000)
- y7.set_xlabel('Czas [sek.]')
- y7.set_ylabel('Amplituda')
- y7.set_title('Mowa')
- y8.plot(t1/fp,P/fp/40000*3)
- plt.show()
- a=0.99
- fig, ((y1,y2),(y3,y4),(y5,y6),(y7,y8)) = plt.subplots(4,2)
- fig.set_size_inches(15,20)
- xdd(y_noise)
- y1.plot(tt,y_noise/40000)
- y1.set_xlabel('Czas [sek.]')
- y1.set_ylabel('Amplituda')
- y1.set_title('Szum gaussowksi')
- y2.plot(t1/fp,P/f/fp)
- y2.set_ylim([0,2])
- y3.plot(t,ysin)
- y3.set_title('Sygnał sinuoidalny o stałej częstotliwości')
- y3.set_xlabel('Czas [sek.]')
- y3.set_ylabel('Amplituda')
- xdd(ysin)
- y4.plot(t1/fp,P)
- #y4.set_title('Sygnał sinuoidalny o stałej częstotliwości')
- y4.set_ylim([0,1])
- xdd(chirp)
- y5.plot(t,chirp)
- y5.set_title('Sygnał o zmiennej częstotliwości')
- y5.set_xlabel('Czas [sek.]')
- y5.set_ylabel('Amplituda')
- y6.plot(t1/fp,P)
- xdd(signal)
- y7.plot(tt,signal/40000)
- y7.set_xlabel('Czas [sek.]')
- y7.set_ylabel('Amplituda')
- y7.set_title('Mowa')
- y8.plot(t1/fp,P/fp/40000*3)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement