To tylko jedna z 13 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Sprawozdanie z laboratorium 7
Algorytmy przetwarzania sygnałów.
Temat: „Średnia i wariancja sygnału”
Data wykonania: Prowadzący zajęcia: Sygnał sinusoidalny.
N = 100;
t = linspace (1, N, N);
x = sin (2*pi*0.15*t + pi/5);
Wartośćśredniasygnałusinusoidalnego
Kod:
function m = wart_srednia(x,N,Skip,Len) m = 0;
for k = 1:Len m = m+x(k+Skip);
end
m = m / Len;
m = wart_srednia (x, N, 10, 20);
Wartość średnia =1.8874e-016
Wartość średnia dla fp=50.
Wartośćśredniadlafp=300.
Wartośćchwilowasygnałusinusoidalnego.
Kod:
function [m] = chwilowa_w_srednia(x,N,Len)
for i = 1:Len-1
a = 0;
for k = 1:i-1
a = a + x(k);
end;
m(i) = a / i;
end;
for i = Len:N
a = 0;
for k = i-Len+1:i a = a + x(k);
end
m(i) = a / Len;
end;
dla k=5
Dla k=15
Bieżąca wartość średnia sygnału sinusoidalnego.
Kod:
function [m] = biezaca_w_srednia (x, N, alfa)
if (alfa 1.0)
error('nieprawidłowaalfa')
end
m(1) = x(1);
for i = 2:N
m(i) = alfa * m(i-1) + (1-alfa) * x(i);
end;
dla alfa= 0,0
dla alfa= 0,5 dla alfa= 0,95
Wariancja sygnału sinusoidalnego.
Kod:
function v = war (x,N,Skip,Len)
if (Skip+Len N)
error('Skip+Lenwieksze od dlugoscisygnalu')
end
m = 0;
for k = 1:N m = m + x(k);
end
m = m / N;
v = 0;
for k = 1:Len v = v + (x(k+Skip)-m)^2;
end
v = v / Len;
disp(['wariancja wynosi ', num2str(v)])
wariancja = 0.5 ; fp=100
wariancja = 0.5 ; fp=300
Wariancja chwilowa sygnału sinusoidalnego.
Kod:
(…)
… z prostej linii poprzez mocne oscylacje (np. alfa=0.4) aż do dosyć spokojnych (np. alfa 0.9 ) przez co można dostrzec iż wykres się wygładził. Wpływ skoku miał znaczenia iż w przypadku zmniejszania go sygnał wykazywał tendencję do wygładzania- im mniejszy skok tym wykres był bardziej wygładzony.
Długość sygnału nie miała żadnego znaczenia na wynik średniej ponieważ był on zwracany taki sam. Wpływ alfa…
... zobacz całą notatkę
Komentarze użytkowników (0)