Сигнали и системи/Други домаћи 2020 — разлика између измена
Пређи на навигацију
Пређи на претрагу
м (фајл) |
м (KockaAdmiralac преместио је страницу „Сигнали и системи/Домаћи 2020 Пример” на „Сигнали и системи/Други домаћи 2020” без остављања преусмерења: Ovde možemo sve za taj domaći da stavimo) |
(нема разлике)
| |
Верзија на датум 8. јул 2021. у 21:42
Овде се налази фајл који је дошао уз упутство за домаћи задатак из 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()