Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # faza = 0
- # Wyrysuj sygnał
- # Zdefiniuj funckję
- def create_signal(A = 1, LP = 1, w = 40, f = 2.0):
- T = 1.0/f
- # Okres sygnalu [s] (jak długo trwa jeden przebieg sinusa)
- TW = 1.0/w
- # Okres probkowania [s] (co ile sekund pobieramy próbkę)
- t = np.arange(0, LP*T, TW)
- # generujemy momenty, w których pobieramy próbki
- n = len(t)
- FUNC = lambda t : A*sin(2*pi*t*f)
- # def. funkcji (tutaj sinus)
- signal = FUNC(t)
- # funkcja sprobkowana
- fig = plt.figure(figsize=(15, 6), dpi=80)
- ax = fig.add_subplot(121)
- ## --- POMOCNICZY SYGNAL
- base_t = np.arange(0, LP*T, 1.0/200.0)
- base_signal = FUNC(base_t)
- print(len(base_signal))
- print(len(base_t))
- ax.plot(base_t, base_signal, linestyle='-', color='red')
- ax.set_ylim([min(base_signal), max(base_signal)])
- ## ---
- ax.plot(t, signal, 'o')
- signal1 = fft(signal)
- # sygnal w dziedzinie czestotliwosci
- signal1 = abs(signal1) / len(signal) * 2
- # modul sygnalu
- #TW
- freqs = np.arange(0, w, w / n) # range HZ
- ax = fig.add_subplot(122)
- #ax.set_ylim([0.0, A])
- ymax = max(signal1)
- if (ymax > 3.0):
- ax.set_ylim([0.0,ymax])
- else:
- ax.set_ylim([0.0,3.0])
- plt.stem(freqs, signal1, '-*')
- plt.xlabel("f[Hz]")
- plt.ylabel("A[j]")
- plt.show()
- create_signal(f=1.0, w=20)
- # faza = pi/4
- # Wyrysuj sygnał
- # Zdefiniuj funckję
- def create_signal(A = 1, LP = 1, w = 40, f = 2.0):
- T = 1.0/f
- # Okres sygnalu [s] (jak długo trwa jeden przebieg sinusa)
- TW = 1.0/w
- # Okres probkowania [s] (co ile sekund pobieramy próbkę)
- t = np.arange(0, LP*T, TW)
- # generujemy momenty, w których pobieramy próbki
- n = len(t)
- FUNC = lambda t : A*sin(2*pi*t*f + pi/4)
- # def. funkcji (tutaj sinus)
- signal = FUNC(t)
- # funkcja sprobkowana
- fig = plt.figure(figsize=(15, 6), dpi=80)
- ax = fig.add_subplot(121)
- ## --- POMOCNICZY SYGNAL
- base_t = np.arange(0, LP*T, 1.0/200.0)
- base_signal = FUNC(base_t)
- print(len(base_signal))
- print(len(base_t))
- ax.plot(base_t, base_signal, linestyle='-', color='red')
- ax.set_ylim([min(base_signal), max(base_signal)])
- ## ---
- ax.plot(t, signal, 'o')
- signal1 = fft(signal)
- # sygnal w dziedzinie czestotliwosci
- signal1 = abs(signal1) / len(signal) * 2
- # modul sygnalu
- #TW
- freqs = np.arange(0, w, w / n) # range HZ
- ax = fig.add_subplot(122)
- #ax.set_ylim([0.0, A])
- ymax = max(signal1)
- if (ymax > 3.0):
- ax.set_ylim([0.0,ymax])
- else:
- ax.set_ylim([0.0,3.0])
- plt.stem(freqs, signal1, '-*')
- plt.xlabel("f[Hz]")
- plt.ylabel("A[j]")
- plt.show()
- create_signal(f=1.0, w=20)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement