Сигнали и системи/Други домаћи 2020 — разлика између измена
Пређи на навигацију
Пређи на претрагу
(Нова страница: Овде се налази који је дошао уз упутство за домаћи задатак из 2020. == SI…) |
м (фајл) |
||
| Ред 1: | Ред 1: | ||
Овде се налази који је дошао уз [[Медиј:SIS domaći 2020 uputstvo.pdf|упутство за домаћи задатак из 2020.]] | Овде се налази фајл који је дошао уз [[Медиј:SIS domaći 2020 uputstvo.pdf|упутство за домаћи задатак из 2020.]] | ||
== SISSI_Primer.py == | == SISSI_Primer.py == | ||
<syntaxhighlight lang="python">import numpy as np | <syntaxhighlight lang="python">import numpy as np | ||
Верзија на датум 8. јул 2021. у 21:34
Овде се налази фајл који је дошао уз упутство за домаћи задатак из 2020.
SISSI_Primer.py
import numpy as np
import matplotlib.pyplot as plt
import scipy.signal as sci
from scipy.fftpack import fft, fftshift, fftfreq
from scipy.io import wavfile
#%% Učitavanje fajla
fs, x = wavfile.read('sissi_1.wav')
#%% Generisanje vremenske i frekvencijske ose
t_osa = np.arange(0, len(x)/fs, 1/fs)
f_osa = fftshift(fftfreq(len(x), 1/fs))
#%% Projektovanje filtra i filtriranje signala
f_gr = 3000
n = 6
[b, a] = sci.butter(n, f_gr/(fs/2), btype='lowpass')
xf = sci.filtfilt(b, a, x)
#%% Zapisivanje u .wav fajl
x_scaled = np.int16(xf/np.max(np.abs(xf)) * 32767)
wavfile.write('sissi_1_filtrirano.wav', fs, x_scaled)
#%% Furijeova transformacija
X_fft = fft(x)
Xa = np.abs(X_fft)
plt.figure()
plt.subplot(2,1,1)
plt.plot(t_osa, xf)
plt.subplot(2,1,2)
plt.plot(f_osa, fftshift(X_fft))
plt.show()