Appunti Matlab - Processi Aleatori
Table of Contents
1. Argomenti
2. Lezioni
File video 08.mp4 minuto 1.55.00 File pdf 13Processialeatori.pdf
3. Processo Aleatorio
NB : nella teoria delle probalità si utilizza la notazione \(x(s)\) mentre nella teoria dei sistemi LTI t.d. si utilizza \(x[n]\)
media : \(E\{x[n]\}=\mu\) . per p.a. td \(
pdf : funzione di densità di probabilità \(p_x(X)=\frac{dP_x(X)}{d_X}\) con \(P_x(X)=P\{x \leq X\}\);
PDF : funzione di distribuzione di probabilità \(\int p_x(X)d_X\)
pdf di una v.a. con distribuzione gaussiana : \(f(x)=\frac{1}{\sqrt{2\pi \sigma}}e^{-\frac{x-\mu}{2\sigma^2}}\). E' quella che devo rappresentare.
Figure 1: curva di Gauss
3.1. pdf di una v.a. gaussiana
randn : crea un'array pseudo casuale di v.a. di tipo gaussiano con media nulla e varianza unitaria cioè \(f(x)=\frac{1}{\sqrt{2\pi }}e^{-\frac{x}{2}}\)
per creare una pdf di tipo gaussiano
M=10^5; mu=1; % media sigma=2; % deviazione standard deltax=0.1; % larghezza degli intervalli % randn crea un array uniforme di M pseudo variabili gassiane a media 0 e varianza 1 % volendo variare la varianza e/o la media devo moltiplicare l'array di ritorno dalla funzione randr con la prima e/o sommarlo alla seconda. x=sigma*randn(1,M)+mu; % creo l'array di bins i cui estremi [-4*sigma+mu, 4*sigma+mu] sono quelli dell'intervallo di rappresentazione % mentre l'intervallo deltax è quello di raggruppamento dei valori X=-4*sigma+mu:deltax:4*sigma+mu; % un istogramma da una stima della pdf ( funzione non liscia ) % per ottenere una funzione liscia devo mediare più realizzazioni. % genera un istogramma in cui ogni elemento è il conteggio dei valori compresi nel % raggruppamento ( intervallo deltax ) dell'arra di bins X % Utilizzata per una qualsiasi distribuzione generata con matlab. % Il primo valore indica l'array dei dati da rappresentare pdf_x= histogram(x,X)/(M*deltax); figure; % disegno l'istogramma stem(X,pdf_x); xlabel("X"), ylabel("pdf"); mu_est=sum(x.*pdf_x)*deltax; p_est=sum(x.^2.*pdf_x)*deltax; saveas(gcf,'./img/es1.png');
Figure 2: Esempi di array di tipo gaussiano
3.2. pdf di una v.a. con distribuzione uniforme
rand genera una funzione
M=10^5; mu=1; % media sigma=2; % deviazione standard deltax=0.1; % larghezza degli intervalli a=1; b=5; % rand crea un array di una distrubuzione uniforme tra 0 e 1. % per modificare l'intervallo è necessario modificare l'intervallo. x=a+(b-a)*rand(1,M); % creo l'array di bins i cui estremi [a,b] sono quelli dell'intervallo di rappresentazione % mentre l'intervallo deltax è quello di raggruppamento dei valori X=a:deltax:b; % un istogramma da una stima della pdf ( funzione non liscia ) % per ottenere una funzione liscia devo mediare più realizzazioni. % genera un istogramma in cui ogni elemento è il conteggio dei valori compresi nel % raggruppamento ( intervallo deltax ) dell'arra di bins X % Utilizzata per una qualsiasi distribuzione generata con matlab. % Il primo valore indica l'array dei dati da rappresentare pdf_x= histogram(x,X)/(M*deltax); % disegno l'istogramma plot(X,pdf_x); xlabel("X"), ylabel("pdf"); mu_est=sum(x.*pdf_x)*deltax; p_est=sum(x.^2.*pdf_x)*deltax;
3.3. PDF di v.a. di tipo gaussiano
M=10^5; % numero di elementi dell'array mu=1; % media sigma=2; % deviazione standard deltax=0.1; % larghezza degli intervalli a=1; b=5; % randn crea un array uniforme di M pseudo variabili % volendo variare la vaorianza e/o la media devo moltiplicare l'array di ritorno dalla funzione randr con la prima e/o sommarlo alla seconda. x=sigma*randn(1,M)+mu; % creo l'array di bins i cui estremi [-4*sigma+mu, 4*sigma+mu] sono quelli dell'intervallo di rappresentazione % mentre l'intervallo deltax è quello di raggruppamento dei valori X=-4*sigma+mu:deltax:4*sigma+mu; % un istogramma da una stima della pdf ( funzione non liscia ) % per ottenere una funzione liscia devo mediare più realizzazioni. % genera un istogramma in cui ogni elemento è il conteggio dei valori compresi nel % raggruppamento ( intervallo deltax ) dell'arra di bins X % Utilizzata per una qualsiasi distribuzione generata con matlab. % Il primo valore indica l'array dei dati da rappresentare pdf_x= hist(x,X)/(M*deltax); % integrazione della pdf PDF_x=int_pdf(pdf_x)*deltax; % disegno l'istogramma plot(X,PDF_x); xlabel("X"), ylabel("PDF"); mu_est=sum(x.*pdf_x)*deltax; p_est=sum(x.^2.*pdf_x)*deltax;
3.4. PDF di una v.a. uniforme
M=10^5; mu=1; % media sigma=2; % deviazione standard deltax=0.1; % larghezza degli intervalli a=1; b=5; % rand crea un array di una distrubuzione uniforme tra 0 e 1. % per modificare l'intervallo è necessario modificare l'intervallo. x=a+(b-a)*rand(1,M); % creo l'array di bins i cui estremi [a,b] sono quelli dell'intervallo di rappresentazione % mentre l'intervallo deltax è quello di raggruppamento dei valori X=a:deltax:b; % un istogramma da una stima della pdf ( funzione non liscia ) % per ottenere una funzione liscia devo mediare più realizzazioni. % genera un istogramma in cui ogni elemento è il conteggio dei valori compresi nel % raggruppamento ( intervallo deltax ) dell'arra di bins X % Utilizzata per una qualsiasi distribuzione generata con matlab. % Il primo valore indica l'array dei dati da rappresentare pdf_x=hist(x,X)/(M*deltax); % integra la pdf PDF_x=int_pdf(pdf_x)*deltax; % disegno l'istogramma plot(X,PDF_x); xlabel("X"), ylabel("pdf"); mu_est=sum(x.*pdf_x)*deltax; p_est=sum(x.^2.*pdf_x)*deltax;
3.5. Autocorrelazione
Definizione : \(R_{xx}[n,n+m]=E\{[x[n],x[n+m]\}=\iint_{-\infty}^{\infty}XYp_{x[n],x[n+m](X,Y)d_Xd_Y}\) che se il p.a. si dice stazionario dipende solo dalla distanza m ( lag ) dei campioni e non dall'indice temporale n.
Nel caso di p.a. td diventa \(
N = 10; mu = 0; sigma = 2; x = sigma*randn(1,N)+mu; % Medie temporali (mean) mu_x = sum(x)/N; P_x = sum(x.^2)/N; % Funzione di autocorrelazione (xcorr) lag = -N+1:N-1; R = acorr(x,lag); plot(lag,R) xlabel(’lag’), ylabel(’ACF’)