Laboratorium Podstaw Przetwarzania Sygnałów
Temat ćwiczenia: Funkcje okien
Nazwisko i Imię prowadzącego kurs: Dr inż. Jerzy Szymbor
Wykonawca: Michał Walkowski 182004
Termin zajęć: 28.11.2011 15:15 TP
Skrypt
N=1000;
function widmo(t,y,n)
stem(t,y);
grid on;
xlim([0 n-1]);
xlabel('T');
ylabel('Amplituda');
endfunction
function logarytmiczna(xdb)
plot(xdb);
ylabel('db');
xlabel('t');
grid on;
endfunction
a=input("Podaj a:"); %poczatek okna
b=input("Podaj b:"); %koniec okna
if(a<b)
subplot(2,2,1);
x=[zeros(1,a),ones(1,b),zeros(1,N-(a+b)+1)]; %sygnał
T=[0:1:N];
widmo(T,x,N);
title('Okno prostokatne');
ylim([0 2]);
subplot(2,2,3); %widmo sygnału
N_2=length(T);
X=abs(fft(x));
X=X/N*2;
widmo(T,X,N_2);
title('Transformata');
subplot(2,2,2); %skala logarytmiczna
X=X/max(X);
Xdb=20*log10(X);
xlim([0 N_2-1]);
logarytmiczna(Xdb);
title("Skala logarytmiczna");
subplot(2,2,4); %skala logarytmiczna powiększona
logarytmiczna(Xdb(1:100));
title("Skala logarytmiczna powiekszona(1:100)");
else
printf("Podales zle dane\n");
endif
Wykresy
Wnioski
Na wykresie widma sygnału zauważymy wycieki, spowodowane nie pokrywaniem się częstotliwości próbkowania z częstotliwością sygnału. Na skali logarytmicznej bez odpowiedniego przybliżenia nie jest możliwe odczytanie parametrów. Przy zastosowanym przybliżeniu widać różnice między 1 a 2 listkiem która wynos 12dB.