Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all;
- %Odczytanie nagrania, odczytanie czestotliwosci probkowania i wyswietlenie
- %wykresu sygnalu w czasie
- %Zadanie 1
- [sygnal,fs]=audioread('MichalFabianski.wav');
- sygnal=sygnal';%wektor wierszowy
- Tp=1/fs;
- N=length(sygnal);
- T=N*Tp;
- k=0:N-1;
- czas=Tp*k;
- subplot(4,2,1);
- plot(czas,sygnal,'b-')
- xlabel('Czas [s]')
- grid on
- text_fs=num2str(fs);
- tekst=['fp= ',text_fs,'[Hz]'];
- title(['Wykres nagrania ',tekst])
- %Wykres charakterystyki amplitudowej
- %Zadanie 2
- widmo=fft(sygnal);
- Fp=1/T;
- k=0:N-1;%Os czestotliwosci do czestotliwoœci Nyquista
- os_f=Fp*k;
- widmo=widmo(1:N);%prazki ponizej czestotliwoœci Nyquista
- subplot(4,2,2);hold on
- stem(os_f,abs(widmo),'r.');
- plot(os_f,abs(widmo),'b-.');
- title('Zadanie 1');
- xlabel('Czestotliwosc [Hz]')
- grid on;
- %Zwiekszenie liczby probek poprzed wstawienie miedzy kazda para probek
- %jednego 'zera'
- %Zadanie 3
- y = upsample(sygnal, 2);
- Tp_2 = 1/(2*fs);
- N_2 = length(sygnal)*2;
- T_2 = N_2 * Tp_2;
- k_2 = 0:N_2 - 1;
- czas_2 = Tp_2 * k_2;
- subplot(4, 2, 3);
- plot(czas_2, y);
- %Wyswietlenie wykresu widma amplitudowego po zwiekszeniu probek
- %Zadanie 4
- widmo_2 = fft(y);
- Fp_2 = 1/T_2;
- os_f_2 = Fp_2 * k_2;
- widmo_2 = widmo_2(1:N_2);
- subplot(4, 2, 4);hold on
- plot(os_f_2, abs(widmo_2));
- %Wykonanie filtracji dolnoprzepustowej dla sygnalu
- %Zadanie 5
- filtr = fir1(100, 0.5);
- przefiltrowany = filter(filtr, 1, y);
- %Obliczenie oraz wyswietlenie widma sygnalu po filtracji
- %Zadanie 6
- subplot(4, 2, 6);
- plot(os_f_2, abs(fft(przefiltrowany)));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement