Autocorrelación y Correlación en Matlab

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

AUTOCORRELACIN Y CORRELACIN EN MATLAB

D. Pinzon; A. Rodrguez
Resumen:
En esta practica se pretende conocer y utilizar
la operacin de correlacion y autocorrelacion,
se estudiara sus usos como para el
reconocimiento de determinados patrones
dentro de una seal, para determinar el
desfase que hay entre dos seales y para la
relacion existente entre sucesivas muestras.
Palabras claves
Seales, Correlacion, Autocorrelacion,
Muestras, Patrones, fase
Abstract:
In this practice pretends recognize and use the
operation of correlation and autocorrelation,
will study their applications to the
recognition of certain patterns within a signal,
to determine the time lag between two signals
and to the relationship between successive
samples.
Keywords
Signals, Correlation, Autocorrelation,
Samples, Patterns, phase
I.

Introduccion

La autocorrelacin es el proceso de
correlacin de una seal, o de una onda
electrnica, con su propia forma modificada.
Se trata de adaptar la seal con una copia de
la misma, que se extiende o se retrasa con
respecto a su tiempo de viaje en el medio. Se
trata de una operacin matemtica que se
aplica por lo general en el dominio de las
estadsticas para encontrar elementos
comunes entre dos cantidades variables. La
autocorrelacin es ampliamente utilizada en
aplicaciones de procesamiento de seales de

dispositivos electrnicos diversos, pero


algunas de sus principales aplicaciones
incluyen la eliminacin del ruido y de la
redundancia en seales electrnicas, el
anlisis de onda de luz u ptica y la deteccin
del tono de la seal. [1]
II.

Marco teorico

Funcin de Auto correlacin.


En las secciones anteriores se introdujo el
concepto de densidad espectral de potencia y
de energa los cuales expresan la distribucin
de las seales en frecuencia. Qu
informacin temporal se conseguir al anti
transformar estas densidades? Sea el caso de
la seal de energa,

(1)
A esto se le conoce como funcin de auto
correlacin de una seal de energa y se
denota Rx(t ). [2]

(2)
En conclusin: El equivalente temporal de la
densidad espectral de energa o potencia es la
funcin de auto correlacin, la cual se
determina como: [2]
a) seales de energa:

(3)
b) seales de potencia:

(4)

Esta funcin nos da idea del comportamiento


de la seal x vs. tiempo ya que si, por
ejemplo, para un cierto :| Rx()| es grande,
indica que x(t) y x(t -)son muy parecidas. La
auto correlacin tiene un mximo para = 0 y
si se revisa (3 y 4) se observa que este valor
coincide con la energa o con la potencia de la
seal x(t). Otra propiedad interesante de la
funcin Rx () es: [2]

R x (-) = R x ()
Correlacin cruzada.
Si se desea determinar la auto correlacin de
una seal resultante de la suma de dos
seales:

Donde Ry1y2 () y y2y1 (son funciones de


correlacin cruzada que se determinan de la
siguiente forma: [2]
- Sean x (t), y(t) dos seales de energa. En
ese caso

(5)
- Si x(t), y(t) son seales de potencia,

Es decir hay superposicin de auto


correlacin de energa o de potencia. Si y1, y2
son ortogonales solo existir superposicin de
energa o potencia. [2]
III.

Metodologia y Resultados

Ejercicio 1
Generar un sinusoide de frecuencia igual a
100 Hz con amplitud uno y muestreada a 1
kHz (considerar una secuencia de 100
puntos). Determine la autocorrelacion de esta
seal normalizada a uno y representela junto
a la secuencia
n = 0:99;
x = cos(2*pi*n*0.1);
%Calculo de la autocorrelacin
normalizada
y = xcorr(x, 'coeff');
%Representacin de las 2 seales
figure(1)
subplot(2,2,1), plot(x,'r'),
title((a)')
subplot(2,2,2), stem(x,'k'),
title('(b)')
subplot(2,2,3), plot(y,'m'),
title('(c)')
subplot(2,2,4), stem(y,'g'),
title('(d)')
hold on

(6)
En el caso de Rxy ( = 0 para todo valor de
se dice que x e y son incoherentes. Si solo
Rxy (0) = 0 se dice que x e y son ortogonales.
Volviendo al problema inicial: Si y1, y2 son
incoherentes
En particular para = 0

Ilustracin 1: a) Seal continua; b)


Seal discreta; c) Autocorrelacion
continua; d) Autocorrelacion discreta

Ejercicio 2
Generar dos sinusoides de frecuencia 50 Hz
(Fm =1 kHz), amplitud uno y desfasados 90
y determinar la correlacion cruzada de ellas.
Cmo se podria determinar el desfase entre
estas seales? Realice una grafica donde
aparezcan las matrices de autocorrelacion y
Donde se definir = 1-2 como el desfase
entre las dos seales. Se puede calcular el
desfase comprobando cuando las dos seales
vuelven a estar en fase. Para n=0 se tiene:

x ( 0 )=cos ( 1 ) , y ( 0 ) =cos ( 2 ) .
Si ahora se desplaza una de las seales, por
ejemplo x(n), hasta que las dos esten en fase
de nuevo, se tiene que:

x ( N ) =cos ( 2 fN + 1 )= y ( 0 )=cos ( 2 ) .
De la igualdad anterior se desprende que:

2 fN + 1= 2 , de modo que el desfase


vendra dado por: = 1 2=2 fN ,
siendo f la frecuencia digital de la seal.
Se puede emplear la correlacion cruzada para
determinar cuando las seales estaran en fase,
lo cual ocurrira en los maximos de dicha
correlacion. Como en los calculos realizados
se ha considerado como punto inicial n=0, se
deben determinar los maximos a partir del
punto central de la correlacion cruzada que es
el punto de la correlacion correspondiente a
un desplazamiento cero. El programa de
MATLAB que implementa esto es el
siguiente:
n = 0:99;
x = cos(2*pi*n*(50/1000));
y = cos(2*pi*n*(50/1000)+(pi/2));
%Determinacin de la correlacin
cruzada

correlacion cruzada. Considere las sinusoides


dadas por

x ( n )=cos ( 2 fn+ 1 ) ,
y ( n )=cos (2 fn+ 2 )

[z lag1] = xcorr(x, 'coeff');


%Autocorrelacin
[zz lag2] = xcorr(x,y,'coeff');
%Correlacin cruzada
%Representacin de las seales
figure(2)
subplot(3,1,1),
plot(lag1,z,'color','g')
grid on
title('Autocorrelacin X')
subplot(3,1,2), plot(lag2, zz,
'color', 'k')
grid on
title('Correlacin XY')
subplot(3,1,3),
plot(lag1,z,'r',lag2,zz,'b')
grid on
title('Autocorrelacin X y
correlacin XY')
hold on
pause

Ilustracin 3: Correlacion

r xy (n)

Ejercicio 4
Hallar la autocorrelacion de
Ilustracin 2: Autocorrelacion X,
Correlacion XY

x ( n )=[2,1,3,7,1,2,3]

x = [2,-1,3,7,1,2,-3];
r_xx = xcorr(x,x);
nr_xx = [(-length(x)+1):
Ejercicio 3
(length(x)-1)];
figure(4)
Sean
stem(nr_xx,r_xx)
del ejercicio
x ( n )=[ 2,1, 3,7, 1,2,3 ] y y ( n )=[1,1, 2,2, 4,title('Secuencia
1,2, 5]
4')
xlabel('n')
ylabel('r_{xx}(n)')
Hallar la correlacion r yx (l) y dibujela.
grid on
hold on
x = [2, -1, 3, 7, 1, 2, -3];
nx = [-4:2];
y = [1, -1, 2, -2, 4, 1, -2, 5];
ny = [-4:3];
y=fliplr(y);
ny=-fliplr(ny);
nr_xy_b = nx(1) + ny(1);
nr_xy_e = nx(length(x)) +
ny(length(y));
r_xy = conv(x,y);
nr_xy = [nr_xy_b:nr_xy_e];
figure(3)
stem(nr_xy,r_xy);
title('Secuencia de ejemplo')
xlabel('n');
ylabel('r_{xy}(n)')
grid on

V.
Conclusiones
La operacin matematica de
correlacion nos permite determinar
caracteristicas importantes de las
seales para el analisis e
interpertacion de estas mismas
La herramienta MATLAB tiene
comandos que nos ayudan a
determinar facilmente estas
caracteristicas directamente, gracias a
el se puede realizar una interpretacion
grafica muy facilmente.
Ilustracin 4: autocorrelacion de x

IV.

Analisis de resultados

En el primer ejercicio se puede apreciar la


primera aplicacin de la autocorrelacion que
es determinar las posibles repeticiones de
patrones de la seal En la ilustracion 1 se
puede notar que la autocorrelacion tiene una
longitud doble a la seale temporal. Este
hecho se debe a que los desplazamientos, al
calcular la autocorrelacion, pueden ser
positivos o negativos. El indice central se
corresponde con un desplazamiento cero y,
logicamente, con el valor maximo de dicha
correlacion. En el ejercicio 2 se usa la
correlacion como una determinacion del
desfase que hay entre dos seales, podemos
notar que los puntos maximos de la seal esta
cuando el punto de la correlacion corresponde
a un desplazamiento cero. En el ejercicio 3, la
aplicacin que se esta usando es cuantificar el
grado de similitud entre dos seales la
autocorrelacion representa la similitud entre
una seal y su desplazada.

Bibliografia

[2] Hctor Fernando Cancino De


Greiff, Procesamiento de seales y
sistemas analgicos, pgs, 88, 90,
92; 2008.

Referencias web

[1]http://www.ehowenespanol.
com/usos-autocorrelacionsenales-info_293251/
http://books.google.com.ec/b
ooks?
id=jkhyWjmJBGUC&pg=PA73
&lpg=PA73&dq=autocorrelaci
on+normalizada+
%2B+matlab&source=bl&ots
=RlRrdW6bnp&sig=b0svy_EY
vH3Ii9LWnM9mrMTO0DU&hl=
es&ei=iByLSqyuFIqwMOyh4c
YP&sa=X&oi=book_result&ct
=result&resnum=4#v=onepa
ge&q=&f=false

También podría gustarte