Sunteți pe pagina 1din 12

Lucrarea 4

Procese aleatorii. Caracterizarea in domeniul timp

Obiectivul lucrarii este de a prezenta metodele de descriere in domeniul timp a semnalelor


aleatoare stationare in sens larg.

Aplicatia 4: Estimarea timpului de intarziere intr-o aplicatie sonar

1. Introducere

Functia de autocorelatie si functia de autocovarianta sunt momente de ordinul doi si descriu


partial comportarea procesului aleator in domeniul timp. Pentru secvente aleatoare se obtine
expresii asemanatoare cu cele definite mai sus, argumentul k inlocuind variabila t, k1 si k2
inlocuind t1 si t2. Cele patru functii devin functii discrete in timp.

Definitia 1: Doua procese aleatoare sunt egale daca realizarile lor sunt identice pentru orice
valoare a variabilei t. Egalitatea implica ca procesele sunt definite in acelasi experiment
aleator.

Definitia 2: Doua procese X(t) si Y(t) sunt necorelate in intervalul de timp I  , daca functia
de intercovarianta este zero:

C XY (t 1, t 2)  0,  t 1, t 2  I   (2)

Definitia 3: Procesele aleatoare X(t) si Y(t) sunt ortogonale pe intervalul I  , daca functia
de intercorelatie este zero pe acest interval:

R XY (t 1 , t 2)  0,  t 1, t 2  I   (3)

Proprietate: Functia de intercorelatie a doua procese aleatoare statistic independente, cu medie


zero, este zero.

Proprietate: Functie de intercovarianta a doua procese aleatoare statistic independente este


zero, chiar daca mediile nu sunt zero.

Observatie: Ca si in cazul variabilelor aleatoare, independenta implica necorelarea dar nu si


invers.

2. Proprietatile functiei de autocorelatie

Cateva proprietati generale ale functiei de autocorelatie a proceselor aleatoare stationare


merita evidentiate.
2 Lucrarea nr.4

1). Functia de autocorelatie a proceselor aleatoare stationare in sens larg cu valori reale se
calculeaza cu relatia:

R XX ()  E  X (t) X (t  ) (1)

deci depinde numai de diferenta momentelor de timp.

2). Daca X(t) este un semnal aleator de tensiune pe o rezistenta de 1, atunci media statistica
(pe multime) a valorilor lui X2(t) este puterea medie disipata pe rezistorul de 1 de procesul
aleator X(t):


E X 2 (t)   Puterea medie  R XX (0)  0 (2)

3). Legatura dintre dispersie, medie si puterea medie este

 
 2  EX (t)   X (t)     E X 2 (t)  2  2  R XX (0)   2 (3a)

de unde rezulta
R XX (0)    
2 2
(3.b)

4). Functia de autocorelatie RXX() este o functie para de :

R XX ()  R XX () (4)

5). Functia de autocorelatie este marginita de RXX(0):

R XX ()  R XX (0) (5)

6). Daca X(t) contine o componenta periodica, atunci si functia de autocorelatie contine o
componenta periodica de aceeasi perioada.

Daca  T0 aiX( t  T0 )  X( t )  RXX (  )  RXX (   T0 ) (10)


7).. Daca lim R XX ()  C, atunci C  2X , deci patratul mediei. Functia de autocorelatie
  
tinde asimptotic la o valoare constanta sau oscilant amortizat, ca in figura 1.

Figura 1: Functii de autocorelatie


Semnale aleatoare. Analiza in domeniul timp 3

6. Daca RXX(T0)=RXX(0) pentru un anumit T00 atunci RXX este periodica cu perioada T0.

7. Daca RXX(0)< si RXX() este continua la =0, atunci ea este continua pentru orice .

Concluzii:

1. Proprietatile 2 si 7 au fost mentionate si pentru a arata ca o functie arbitrara nu


poate fi interpretata ca functie de autocorelatie.

2. Functia de autocorelatie, spre deosebire de fucntia de intecorelatie, are trei


proprietati specifice: paritate, are maximumul la =0 si pentru  tinde la o
valoare constanta.

3. Proprietatile functiei de intercorelatie

1). Functia de intercorelatie a doua procese aleatoare X(t) si Y(t) cu valori reale, procese
aleatoare stationare in sens larg, nu depinde de timp ci numai de diferenta momentelor de
timp. A fost definita de

R XY ()  E  X (t)Y(t  ) (1)

Urmatoarele proprietati se dau fara demonstratie

2). Asimetrie:
R XY ()  RYX () (2)

3). Marginire: 
R XY ()  R XX (0)  RYY (0) (3)

R XY () 
1
R
2 XX
(0)  RYY (0)  (4)

4). Ortogonalitate
 0, daca procesele sunt ortogonale
R XY ()      , daca procesele sunt independente (5)
 X Y

4. Estimarea numerica a functiilor statistice

1). Estimarea mediei se face cu relatia


ˆ 1 N 1
(N ) 
N n
u(n) (7)
0

unde N este numarul total de esantioane. Estimatorul este nedeplasat (unbiased) si estimarea
este cu atat mai buna cu cat numarul de esantioane este mai mare.
4 Lucrarea nr.4

2). Estimarea dispersiei se face cu relatia


2
1 N 1
 2 (N ) 
N n
u(n)  ̂  (7.bis)
0

3). Functia de autocorelatie se calculeaza cu relatia

 1 N  k 1

 N  k  u(i)  u(i  k ), k  N
i 0
R̂uu (k )  
 (8)
0, k  N


R̂ (k ), k  0
 uu

sau (varianta Matlab)

 1 N 1
 u(i)  u(i  k ), k  N
N  k i 0
R̂uu (k )  
 (8.bis)
0, k  N


R̂ (k ), k  0

 uu

in cazul estimatului nedeplasat si cu 



 1 N 1
  u(i)  u(i  k ), k  N
N i 0

R̂uu (k )   (9)
0, k  N


R̂ (k ), k  0
 uu
pentru cazul estimatului deplasat.

5. Aplicatie Estimarea intarzierii folosind functia de intercorelatie. Fie doua semnale


X1(t) si X 2(t) , fiecare compus dintr-un semnal determinist si un zgomot aditiv, dupa
relatiile:
X1(t)  X (t)  N1(t)
X 2(t)  a  X (t  D)  N 2 (t)
unde a este un factor de atenuare si D este variabila timp de intarziere. Se cere timpul de
intarziere.
Semnale aleatoare. Analiza in domeniul timp 5

Observatie: Relatiile de mai sus corespund unei scheme de observare prin masuratori la
intrarea si iesirea unui canal de transmisiune, de exemplu, ca in figura alaturata, unde exista
zgomot de masurare in ambele puncte de masurare.

Solutie: Calculand intercorelatia dintre semnalele X1(t) si X 2(t) si reprezentand grafic (ca in
figura 3) se observa existenta unui maxim ce corespunde unei valori a timpului egala cu
valoarea intarzierii. Deci, varful intercorelatiei a doua semnale intarziate poate fi utilizat
pentru estimarea intarzierii.
Functia de intercorelatie este

R X 1 X 2 (t1, t 2 )  E X1(t1)  X 2 (t2 )  EX (t1)  N1(t1)a  X (t2  D)  N 2 (t2 ) 


 EX (t1)  a  X (t2  D) EX (t1)  N 2 (t2 ) EN1(t1)  a  X (t2  D) EN1(t1)  N 2 (t2 ) 
 a  RXX t1, t 2  D  RXN 2 t1, t 2   a  RN1 X t1, t 2  D  RN1N 2 (t1, t 2 )

In baza ipotezei ca semnalul aleator X(t) si zgomotul de pe canal N(t) sunt necorelate se pot
scrie relatiile:

RXN 2 t1, t 2   0 si RN1 X t1, t2  D  0


Rezulta

R X 1 X 2 (t1, t2 )  a  RXX t1, t2  D  RN1N 2 (t1, t 2 )  a  RXX t1, t2  D


intrucat functia de autocorelatie a zgomotului (presupus alb) se anuleaza repede pentru puncte
in afara originii (o sa vedem mai tarziu).
Pentru semnale aleatoare stationare in sens larg se poate scrie mai departe ca

RX1 X 2 (t1, t 2 )  RX X (t2  t1)  RX X (t2  D  t1)  a  RXX   D


1 2 1 2
Deci functia de intercorelatie va avea un maxim la valoarea   D . Prin determinarea abcisei
maximumului putem deci sa estimam valoarea intarzierii pe canalul de transmisiune.
Parametrii folositi si codul sursa Matlab sunt prezentati mai jos.
6 Lucrarea nr.4

Figura 1: Estimarea intarzierii a doua semnale prin estimarea momentului


in care se obtine maximumul functiei de intercorelatie.

6. Modul de lucru

1). Se ruleaza programul “L4_1.m” pentru estimarea si studiul proprietatilor functiei de


autocorelatie a unui semnal aleator. Functia de autocorelatie a unei secvente aleatoare este
prezentata mai jos.

2). Se ruleaza programul “L4_2.m” pentru estimarea si studiul proprietatilor functiei de inter-
corelatie a doua semnale aleatoare. Un rezultat intermediar este prezentat in figura de mai jos.
Semnale aleatoare. Analiza in domeniul timp 7

4). Sa se parcurga punctele 1-2 pentru semnalul s(t)  A0  A  sin(2    f1  t)  u(t) , unde
A0  1, A  0.25 , f1  100 , u(t) - zgomot gaussian cu medie zero si dispersie 0.25. Durata
inregistrarii 0.2 [s]. Comentati proprietatile. (Indicatie: Vezi programul “L4_3.m”). Sa se
ruleze programul si sa se deseneze formele de unda ale semnalului s(t) si functia de
autocorelatie pentru cazurile specificate in tabelul 1.

Tabel 1
Nr. caz. A0 A1 miu 2 Obs.
1. 0 0.1 0 0.25 Semnal inecat in zgomot
2. 1 0.1 0 0.25 Semnal determinist cu componenta
continua inecat in zgomot
3. 0 1 0 0.01 Semnal determinist afectat
putin de zgomot
4. 1 1 0 0.01 Semnal determinsit cu componenta
continua si afectat putin de zgomot

5). Se ruleaza programele L4_4.m si L4_5.m pentru aplicatia de estimare a timpului de


intarziere folosind functia de intercorelatie.

7. Tema de casa

Se intocmeste un referat cu rezultatele punctelor de la modul de lucru.

Sa se calculeze eroarea de estimare a timpului de intarziere, prin completarea tabelului


urmator. RSN se considera la iesirea canalului. Sa se reprezente grafic eroarea de estimare si
sa se explice comportarea.

Tabel 2
RSN [dB] 10 5 0 -5 -10 -15 -20 -30
Py
Pn =  n 2
Timp
estimat
(intarziere)
 Py   Py  Py RSNdB
RSNdB  10 lg  

10 lg

   10 10   2  Py ; Py  var( y); ■
 Pn    
2 2 RSNdB
10 10
8 Lucrarea nr.4

Anexa 1 – Codul sursa al programelor folosite

---------------------------------------------L4_1.m-----------------------------------------------------
% estimarea functiei de autocorelatie
clc; clear;
figure(1); clf;

% generarea unei serii de timp cu distributie normala...


N = 50; u = randn(N,1);

% 1). estimarea functiei de autocorelatie ...estimat deplasat .....(biased)


ruu_plus = [];
for k = 1:N,
ruu_plus(k) = 0;
for i = 1:N,
if (i+k-1) < (N + 1),
ruu_plus(k) = ruu_plus(k) + u(i) * u(i+k-1);
end;
end;
ruu_plus(k) = ruu_plus(k) ./ N;
end;

for k = 1:N-1,
ruu_min(k) = ruu_plus(N - k + 1);
end;

% dimensiunea vectorului este (2N-1)


ruu = [ruu_min ruu_plus];
time = [-(N-1): 1 : N-1];

% comparatie cu versiunea Matlab..


ruu_mat = xcorr(u,'biased');
subplot(221), stem(time, ruu); subplot(222), plot(time, ruu);
subplot(212), plot(time, ruu, time, ruu_mat,'r');
%=================================================|
ruu_biased = ruu;

% 2). estimarea functiei de autocorelatie ... % estimat nedeplasat ..... (unbiased)


ruu_plus = [];
for k = 1:N,
ruu_plus(k) = 0;
for i = 1 : (N),
% for i = 1 : (N), (varianta Matlab)
% for i = 1 : (N-k), (varianta corecta)
if (i+k-1) < (N + 1),
ruu_plus(k) = ruu_plus(k) + u(i) * u(i+k-1);
end;
Semnale aleatoare. Analiza in domeniul timp 9

end;
ruu_plus(k) = ruu_plus(k) / (N-k+1);
end;
for k = 1:N-1,
ruu_min(k) = ruu_plus(N - k + 1);
end;

% dimensiunea vectorului este (2N-1)


ruu = [ruu_min ruu_plus];

% comparatie cu versiunea Matlab..


figure(2);
ruu_mat = xcorr(u,'unbiased');
subplot(221), stem(time, ruu); subplot(222), plot(time, ruu);
subplot(212), plot(time, ruu, time, ruu_mat,'r');

figure(3)
subplot(211), plot(time, ruu_biased, time,ruu,'r');
subplot(212), plot(time, ruu_biased - ruu);title('diferenta');
=========================END L4_1.m =============================

---------------------------------------------------L4_2.m --------------------------------------
% estimarea functiei de intercorelatie ...
clc; clear;
figure(1); clf;

% generarea unei serii de timp cu distributie normala...


% vectorii trebuie sa aiba aceeasi lungime ...
N = 50;
u = randn(N,1);
x = rand(N,1);

% 1). estimarea functiei de autocorelatie ... % estimat deplasat..... (biased)


rux_plus = [];
for k = 1:N,
rux_plus(k) = 0;
for i = 1:N,
if (i+k-1) < (N + 1),
rux_plus(k) = rux_plus(k) + u(i) * x(i + k - 1);
end;
end;
rux_plus(k) = rux_plus(k) / N;
end;

rxu_plus = [];
for k = 1:N,
rxu_plus(k) = 0;
for i = 1:N,
10 Lucrarea nr.4

if (i+k-1) < (N + 1),


rxu_plus(k) = rxu_plus(k) + x(i) * u(i + k - 1);
end;
end;
rxu_plus(k) = rxu_plus(k) / N;
end;

for k = 1:N, rux_min(N - k + 1) = rxu_plus(k); end;

for k = 1:N, rxu_min(N - k + 1) = rux_plus(k); end;

% dimensiunea vectorului este (2N-1)


rux = [rux_min(1:N-1) rux_plus];
time = [-(N-1): 1 : N-1];
rxu = [rxu_min(1:N-1) rxu_plus];

% comparatie cu versiunea Matlab..


% ATENTIE! Matlab foloseste u(k+i)*u(i) iar noi folosim formula u(i) * u(k+i)...

subplot(211), stem(time, rux);


subplot(212), plot(time, rux, time, rxu,'r:');
gtext('rux - albastru');gtext('rxu - rosu punctat');
===========================END L4_2.m ==========================

----------------------------------------------L4_3.m ------------------------------------------------------

% analiza semnalelor aleatoare in domeniul timp


% estimarea functiei de intercorelatie a unui semnal determinist cu unul aleator ...
clc; clear;
figure(1); clf;

% generarea semnalelor ...


A0 = 0;
A1 = 0.15;
f1 = 100;
T = 0.2;
Fs = 10 * f1;
Ts = 1 / Fs;
N = floor(T / Ts);
time =(0:N-1) .* Ts;
x = A0 + A1.* sin(2 * pi * f1 * time);

miu = 0;
sigma = 0.025; % egala cu puterea semnalelor ...
sigmadB = 20*log10(sigma);
u = miu + wgn(N,1,sigmadB);
Semnale aleatoare. Analiza in domeniul timp 11

s = u + x';

subplot(221), plot(time, x, time, u, 'r:');


subplot(222), plot(time, s);

%1). Estimarea functiei de autocorelatie..


rss = xcorr(s,'biased');
rxx = xcorr(x, 'biased');
ruu = xcorr(u, 'biased');

% 2). estimarea functiei de corelatie ...


rux = xcorr(x,u,'biased');
time_r = [-(N-1): 1 : N-1];

subplot(223), plot(time_r, rss);


subplot(224), plot(time_r, rux);
===========================END L4_3.m ==========================

-------------------------------------L4_4_gen_data.m -------------------------------------------------
% Aplicatia 4: Estimarea timpului de intarziere la sonar
% se extrag datele de emisie si receptie
clc; clear; clf;

load emisie.mat
load receptie_dr.mat
load receptie_st.mat

if 1,
u = x1a(1,1:2000) ;
else
u = x2a(1,1:2000) - 2048 ;
u = u .* hanning(length(u))';
end;

u = [u, ones(1, 6192)]; Ts = 1/200e3; N = length(u); time = (0:N-1) .* Ts;

y = x2a(150, 2001:4000) - 2048;


y = [ones(1,2000) y ones(1, 4192)];

subplot(211), plot(time, u); title('emisie'); xlabel('time[s]');grid;


subplot(212), plot(time, y); title('receptie'); xlabel('time[s]'); grid;

save data_sonar.mat u y Ts
========================END L4_4_data_gen.m ===================
12 Lucrarea nr.4

--------------------------------------------------L4_5.m ---------------------------------------------------
% Aplicatia 4: Estimarea timpului de intarziere la sonar
clc; clear; clf;
load data_sonar.mat % u y Ts

N = length(u);
time = (0:N-1) .* Ts;
subplot(211), plot(time, u); title('emisie'); xlabel('time[s]'); grid;
subplot(212), plot(time, y); title('receptie'); xlabel('time[s]'); grid;
disp('Enter ...'); pause;

F0 = 40e3; % frecventa impulsurilor de emisie


Fs = 1/ Ts; % frecventa de esantionare
time = (0:N-1) .* Ts; % variabila timp;
sigma_1 = 0.5;
sigma_2 = 0.5;
n1 = sigma_1 * randn(1, N); % zgomotul la intrare;
n2 = sigma_2 * randn(1, N); % zgomotul la iesire;

% semnale afectate de zgomot (masurare si din mediu);


un = u + n1;
yn = y + n2;

subplot(211), plot(time, un); title('emisie'); xlabel('time[s]'); grid;


subplot(212), plot(time, yn); title('receptie'); xlabel('time[s]'); grid;
disp('Enter ...'); pause;

[ryu, t12] = xcorr(y,u); % corelatia dintre semnalele receptionat si emis


index_plus = [N+1 : length(t12)];
t12_plus = t12(index_plus);
ryu_plus = ryu(index_plus);
[xmax,indmax] = max(ryu_plus); % estimarea max. si a indicelui acestuia (intarzierea)

subplot(311), plot(time, un+yn); title('emisie'); xlabel('time[s]'); grid;


subplot(312), plot(t12_plus .* Ts, ryu_plus ./ max(abs(ryu)),'r'); title('intercorelatia');
xlabel('time[s]'); grid;

tau = indmax * Ts; hold on; line([tau, tau], [-2,2] );


% reprezentare normata la 1:
subplot(313), plot(t12_plus .* Ts, ryu_plus ./ max(ryu_plus),'r');
line([tau, tau], [-1,1]);grid; break;
subplot(313), plot(time, (un)./max(un) + yn./max(yn));
hold on; plot(t12_plus .* Ts, ryu_plus ./ max(ryu_plus),'r');
hold on; line([tau, tau], [-1,1]);grid;

% afiseaza valori numerice:


indmax % intarzierea
tau = indmax * Ts % intarzierea [s]
=============================END L4_5.m ======================

S-ar putea să vă placă și