Sunteți pe pagina 1din 32

Procese aleatoare. Studiu de caz.

[1]

Avem de implementat modelul Simulink care corespunde modelului matematic descris


de ecuațiile (1).

a*(u(2)-u(1))+u(2)*u(3)  x1 = a ( x2 − x1 ) + x2 x3
 x = a( x + x ) − x x
b*(u(1)+u(2))-u(1)*u(3)  2 1 2 1 3
 (1)
 x3 = −cx3 − ex4 + x1 x2
-c*u(3)-e*u(4)+u(1)*u(2)  x4 = −dx4 + fx3 + x1 x2
-d*u(4)+f*u(3)+u(1)*u(2)

1
Procese aleatoare. Studiu de caz. [2]
New  Model  save as  Qi.

Library Browser search fcn

Click dreapta 
Add to Qi

4 stări  add
4 blocuri fcn

2
Procese aleatoare. Studiu de caz. [3]

2*click pe fiecare  cele 4 ecuații din (1).

Exemplu pentru prima ecuație din (1). 3


Procese aleatoare. Studiu de caz. [4]

Fiecare ecuație depinde de


toate cele patru stări  necesar
un MUX.
Library Browser search
mux  dublu click  4 inputs

Conectăm ieșirea MUX-ului


(click pe el)  Ctrl apăsat  la
intrarea primei funcții (click pe
bloc)  link creat. La ieșirea
MUX-ului conectăm și celelalte
funcții (tragem de la intrarea
fiecăreia spre legătura anterior
creată).

4
Procese aleatoare. Studiu de caz. [5]

Fiecare funcție ne calculează derivata Adăugăm și ceasul  Library


uneia dintre cele 4 stări  pentru a Browser  search clock
obține starea însăși avem nevoie de
un integrator  Library Browser 
Search integrator  1/s

Repetăm pentru fiecare dintre cele


4 blocuri. La integrator  Initial
condition: x1_0 sau x2_0 …

Rezultatul fiecărei integrări, valoarea


stării sistemului, trebuie să ajungă la
intrarea MUX-ului.

Rezultatele trebuie să ajungă în


spațiul de lucru  Library Browser 
workspace  simout (click
dreapta  Add to Qi)  2*click  x1
sau x2 …  Save format: Array
5
Procese aleatoare. Studiu de caz. [6]

Simulation  Configuration parameters  alegem metoda numerică folosită pentru


rezolvarea ecuațiilor diferențiale. Ode4 (Runge-Kutta). Stop time: LS. Fixed-step  Ts.

6
Procese aleatoare. Studiu de caz. [7]

Definim parametrii, condițiile inițiale  New  m file (script)  SimulareQi.m

a=50 ; b= 24 ; c= 13 ; d=8 ; e=33 ; f=30 ;


%parametrii de bifurcatie ai oscilatorului haotic al lui Qi

Ts=0.001;
%pasul, in timp, de lucru al metodei folosite de catre integratoare,

LS=3;
%lungimea simularii

x1_0=rand(); x2_0=rand(); x3_0=rand(); x4_0=rand();


%conditiile initiale ale modelului, alese uniform in [0,1]

sim('Qi')
%simularea modelului sistemului haotic

Alternativ, sistemul mai poate fi simulat direct din Qi.mdl  run (săgeata verde).

7
Procese aleatoare. Studiu de caz. [8]
Obținem 10 realizări particulare ale procesului aleator generat de sistemul lui Qi.
Considerăm doar starea x1.
for k=1:10
x1_0=rand(); x2_0=rand(); x3_0=rand(); x4_0=rand();
%conditiile initiale ale modelului, alese uniform in [0,1]

sim('Qi')
%simularea modelului sistemului haotic

X1(k)=x1_0;X2(k)=x2_0;X3(k)=x3_0;X4(k)=x4_0;

X(:,k)=x1';
plot3(t,k*ones(1,length(t)),X(:,k))
hold on
end

grid
xlabel('t[s]')
ylabel('k')
zlabel('X(t,k)')
view(-32,76) 8
Procese aleatoare. Studiu de caz. [9]

Ilustrarea conceptului de secvență aleatoare X(t,k), unde k


reprezintă numărul realizării particulare din spațiul stărilor.
9
Procese aleatoare. Studiu de caz. [10]

Eșantionăm la momentul discret n=865  variabilă aleatoare.

Curbele sunt semnale


X(865,:) deterministe.
ans =
Columns 1
through 10
-117.9104
118.5273
-0.9797
56.8944
110.5189
81.5036
55.7760
-10.7426
-78.6993
124.4573

Un proces aleator este, deci, o colecție de funcții de timp (semnale),


corespunzătoare diferitelor realizări particulare ale unui experiment
aleator. Pentru fiecare realizare, există o funcție deterministă, care
10 este
numită eșantion (funcție eșantion).
Procese aleatoare. Studiu de caz. [11]
Specificarea unui proces aleator
Un proces aleator este definit de toate funcțiile sale de repartiție (joint CDFs):

p ( X (t0 ) ≤ x0 , X (t1 ) ≤ x1 ,..., X (t n ) ≤ xn )

pentru toate seturile posibile de momente de timp {t0 , t1 ,..., t n }.

11
Considerăm N=1000 de seturi de condiții initiale  N curbe.
Procese aleatoare. Studiu de caz. [12]
Specificarea unui proces aleator
for k=980:10:1000
figure
cdfplot(X(k,:))
nume=strcat('X(',num2str(k),',t)');
xlabel(nume)
nume=strcat('F_{',nume,'}')
ylabel(nume)
end

12
Procese aleatoare. Studiu de caz. [13]
Specificarea unui proces aleator
xy(:,2)=y;
xy(:,1)=x;
x=X(1,:); hist(xy)
y=X(1,:); hist3(xy)
scatterhist(x,y) xlabel('x')
xlabel('x') ylabel('y')
ylabel('y') zlabel('p_{xy}')

13
Procese aleatoare. Studiu de caz. [14]
Specificarea unui proces aleator
xy(:,2)=y;
xy(:,1)=x;
x=X(1,:); hist(xy)
y=X(500,:); hist3(xy)
scatterhist(x,y) xlabel('x')
xlabel('x') ylabel('y')
ylabel('y') zlabel('p_{xy}')

14
Procese aleatoare. Studiu de caz. [15]
Specificarea unui proces aleator
xy(:,2)=y;
xy(:,1)=x;
x=X(1500,:); hist(xy)
y=X(500,:); hist3(xy)
scatterhist(x,y, 100) xlabel('x')
xlabel('x') ylabel('y')
ylabel('y') zlabel('p_{xy}')

15
Procese aleatoare. Studiu de caz. [16]
Specificarea unui proces aleator
xy(:,2)=y;
xy(:,1)=x;
x=X(2900,:); hist(xy)
y=X(3000,:); hist3(xy)
scatterhist(x,y, 100) xlabel('x')
xlabel('x') ylabel('y')
ylabel('y') zlabel('p_{xy}')

16
Procese aleatoare. Studiu de caz. [17]
Specificarea unui proces aleator

for k=700:50:950
[h1,h2]=hist(X(k,:),100);
figure
bar(h2,h1/N,'histc')
nume=strcat('X(',num2str(k)
,',t)');
xlabel(nume)
nume=strcat('p_{',nume,'}')
ylabel(nume)
end

17
Considerăm N=1000 de seturi de condiții initiale  N curbe.
Procese aleatoare. Studiu de caz. [18]
Specificarea unui proces aleator

18
Procese aleatoare. Studiu de caz. [19]
Specificarea unui proces aleator

19
Procese aleatoare. Studiu de caz. [20]
Specificarea unui proces aleator

20
Procese aleatoare. Studiu de caz. [21]
Specificarea unui proces aleator

x=X(81,:); x=X(81,:);
y=X(89,:); y=X(890,:);
scatterhist(x,y) scatterhist(x,y)

x=X(1,:);
y=X(2,:);
kstest2(x,y)
21
ans=0
Procese aleatoare. Studiu de caz. [22]
Specificarea unui proces aleator

x=X(891,:);
Y=X(900,:);
scatterhist(x,y)

22
Procese aleatoare. Studiu de caz. [23]
Specificarea unui proces aleator

Testul Kolmogorov-Smirnov
• test de concordanță între două eșantioane;

• determină dacă eșantioanele aleatoare și independente, X1 și X2,provin din aceeași


populație (distribuție) continuă;

• h=kstest2(X1,X2)  rezultatul ipotezei nule;

• h=0  ipoteza nulă (seturile analizate provin din aceeași populație) nu este respinsă
cu nivelul de semnificație statistică de 5%;

• h=1  ipoteza alternativă: ipoteza nulă este rejectată cu un nivel de semnificație (de
încredere) de 5%.

• Fie F1(x) și F2(x) funcțiile de repartiție (cumulative distribution function; CDF) ale
celor două populații  testul K-S determină dacă F1(x)=F2(x) pentru oricare x (ipoteza
nulă);
help kstest2
23
Procese aleatoare. Studiu de caz. [24]
Specificarea unui proces aleator

Testul Kolmogorov-Smirnov
• decizia de a respinge ipoteza nulă are loc atunci când nivelul de smnificaței
egalează sau este mai mare decât valoarea P;

• X1 și X2 sunt vectori de date de lungime N1, respectiv N2, și reprezintă


eșantioane aleatoare din distribuțiile investigate. Observațiile lipsă (NaN = not a
number) sunt ignorate.

• [h,P] =kstest2(X1,X2) returnează și valoarea asimptotică a lui P.

• [h,P,KSSTAT] = kstest2(...) returnează și statistica testului K-S definită în cele ce


urmeaza.

• Valoarea P asimptotică devine foarte precisă pentru dimensiuni mari ale setului d
edate. Este afirmat ca fiind suficient de mare pentru dimensiuni ale seturilor de
date astfel încât (N1*N2)/(N1+N2)>=4.

24
Procese aleatoare. Studiu de caz. [25]
Specificarea unui proces aleator

Testul Kolmogorov-Smirnov
[...] = kstest2(X,Y,'PARAM1',val1,'PARAM2',val2,...) specifică una sau mai multe
perechi nume/valoare:

Parameter Value
'alpha' A value ALPHA between 0 and 1 specifying the
significance level. Default is 0.05 for 5% significance.

'type' A string indicating the type of test:


'unequal' -- "F1(x) not equal to F2(x)" (two-sided test) (Default)
'larger' -- "F1(x) > F2(x)" (one-sided test)
'smaller' -- "F1(x) < F2(x)" (one-sided test)

For TYPE = 'unequal', 'larger', and 'smaller', the test statistics are max|S1(x) -
S2(x)|, max[S1(x) - S2(x)], and max[S2(x) - S1(x)], respectively.

25
Staționaritate. [26]

Dacă deplasarea în timp (time-shifts) nu afectează funcția de repartiție comună (joint


CDF):
p ( X (t0 ) ≤ x0 , X (t1 ) ≤ x1 ,..., X (t n ) ≤ xn ) =
= p( X (t0 + T ) ≤ x0 , X (t1 + T ) ≤ x1 ,..., X (t n + T ) ≤ xn )
----------------------------------------------------------------------------------------------------------------
 E[ X (t )] = E[ X (t − t )] = E[ X (0)] = µ x = mx
rxx (t , t + τ ) = E[ X (t − t )( X (t + τ − t )] = E[ X (0)( X (τ )]∆rxx (τ )

Staționaritate în sens larg (WSS)

• Staționaritatea afirmată mai sus de numește staționaritate de ordinul 2. Nu se insistă


ca momente de ordin superior sau funcțiile de repartiție (joint CDFs) să fie neafectate
de distanța (lag) T.

• Trecute prin sisteme LIT, intrările WSS conduc la ieșiri WSS. Dacă un proces WSS
cu densitatea spectrală de putere (PSD) Pxx(ω) este trecut printr-un filtru LIT cu răspun-
sul în frecvență H(w), atunci ieșirea filtrului este și ea un proces WSS cu densitatea spec
trală de putere |H(ω)|²Pxx(ω).
26
• Procesul Gaussian  proces WSS; are numai momente de ordinul 2.
Ergodicitate [27]

Vorbind despre densități de probabilitate, momentul de ordinul zero este reprezentat de


probabilitatea totală (=1), momentul de ordinul 1 este media, momentul de ordinul 2 este
varianța, momentul de ordinul 3 este asimetria (skewness).

Ergodicitate

• Mediile temporale =
= mediile ansamblului;
Mediile (averages) ansamblului,
precum media (mean)/autocorelația
pot fi calculate ca medii temporale
(time-averages) pe o singură realizare
a procesului aleator.

Media ansamblului

plot3(t,[1 2 3 4 5 6 7 8 9 10]'*ones(1,length(t)),X(:,1:10)) Medie temporală


27
grid
Ergodicitate [28]

Un proces aleator este ergodic în medie și în autocorelație (ca WSS) dacă:


T /2
T /2 1
T →∞ T ∫
1 rxx (τ ) = lim x (t ) x *
(t − τ )dt
T →∞ T ∫
mx = lim x(t )dt Și
−T / 2 −T / 2

Densitatea spectrală de putere (PSD)

Densitatea spectrală de putere a unui proces WSS este definită ca transformata


Fourier a funcției sale de autocorelatie în raport cu τ : funcția de autocorelație este
transformata inversă. Ne reamintim proprietățile celor două.

Densitatea spectrală de putere: reală, pozitivă, pară.

Autocorelația: simetrică în jurul lui 0, valoarea maximă se găsește în origine.


Valoarea sa în origine este egală cu puterea medie sau energia semnalului.

28
Densitatea spectrală de putere. Autocorelația. [29]

periodogram(X(1,:))
autocorr(X(1,:))

29
Densitatea spectrală de putere. Autocorelația. [30]

periodogram(X(1900,:))
autocorr(X(1900,:))

30
Zgomotul în sistemele de comunicație. [31]
* Zgomotul termic este descris de un process Gaussian de medie zero, w(t).

V=randn(1000,3000);

periodogram(V(1,:));
autocorr(V(1,:));
31
Câteva exemple de circuite determinist-haotice.
Semnale pseudo-aleatoare. [32]

Ref: J. C. Sprott, Phys. Rev. E 50, R647-R650 (1994) 32

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