Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(PD) CorrelacionDiscreta PDF
(PD) CorrelacionDiscreta PDF
La herramienta matemtica para evaluar la similitud entre dos seales se denomina correlacin.
Se define como correlacin cruzada a la operacin entre dos secuencia x[n] e y[n] reales y lo
denotamos como rxy[k] a la secuencia:
rxy k x n y n k , k 0, 1, 2,.....
n
donde:
ryx k x n y n k y n k x n r k
xy
n n
Otra definicin de utilidad es la autocorrelacin de una secuencia x[n], y se denota como rxx[k]
a la secuencia:
rxx 0 x n E
2
x
n
rxy k x n y n k x n y k n x k * y k
n n
del cual observamos que la correlacin cruzada entre dos secuencia x[n] e y[n] se puede obtener
por medio de la convolucin de x[n] con el espejo de y[n].
En consecuencia, para calcular la correlacin entre dos secuencias podemos utilizar los mismos
procedimientos hechos para la convolucin.
Para evitar que el resultado de la correlacin dependa de las secuencias consideradas se definen
los coeficientes de correlacin y autocorrelacin normalizada de la siguiente forma:
rxy k
xy k .. Correlacin normalizada
rxx 0 ryy 0
rxx k
xx k . Autocorrelacin normalizada
rxx 0
1 xx k 1
1 xy k 1
EJEMPLO (1):
Con el siguiente cdigo mostrado, se puede comprobar la rxy[k] de x[n] e yn[n], donde
yn[n]=x[n-4]+w[n].
0.9
0.8
0.7
0.6
x[n]
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
n (seg)
0.9
0.8
0.7
0.6
y[n]
0.5
0.4
0.3
0.2
0.1
0
2 4 6 8 10 12 14 16 18 20 22
n (seg)
0.5
w[n]
-0.5
-1
-1.5
2 4 6 8 10 12 14 16 18 20 22
n (seg)
0.5
yn[n]
-0.5
-1
-1.5
2 4 6 8 10 12 14 16 18 20 22
n (seg)
SECUENCIA x[-n]
1
0.9
0.8
0.7
0.6
x[-n]
0.5
0.4
0.3
0.2
0.1
0
-20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0
n (seg)
3.5
2.5
rxy
1.5
0.5
0
-15 -10 -5 0 5 10 15 20
k (segundos)
xcorr debe estimar la correlacin discreta debido a que, en la prctica, solamente est
disponible un segmento finito de datos del proceso aleatorio de longitud infinita de datos.
En Matlab la longitud mxima permitida para los vectores de entrada a xcorr es 220.
N k 1
x n k y n , k 0
*
^
rxy k n 0
^
yx k k 0
*
r
En general la correlacin es una funcin que requiere ser normalizado para producir una
exactitud estimada.
1
rxy ,biased k rxy k
N
1
rxy ,unbiased k rxy k
Nk
'coeff': Secuencia normalizada tal que las autocorrelaciones en cero retardo son
idnticamente a 1.0.
'none', Correlacin cruzada sin escalado (por defecto).
En todos los casos, la correlacin cruzada o la autocorrelacin calculada por xcorr el cero-
simo retardo en la mitad de la secuencia, en elementos o filas maxlags+1 (elemento o fila N
si maxlags no es especificada).
EJEMPLO (2):
Secuencia x[n]
1
0.9
0.8
0.7
0.6
x[n]
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
n (seg)
0.9
0.8
0.7
0.6
y[n]
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
n (seg)
Correlacin rxy[k]
3
X= -4
Y= 3
2.5
1.5
rxy[k]
0.5
-0.5
-20 -15 -10 -5 0 5 10 15 20
k (seg)
EJEMPLO (3):
En este ejemplo se aplica la correlacin cruzada para determinar el retardo en el tiempo (en
segundos) entre las dos secuencias x[n] e yn[n], donde y[n] es una secuencia sin ruido yn[n] es
y[n] ms ruido, tal como se muestran en la Fig.10, Fig.11, Fig.12, y Fig.13. Para obtener este
retardo, se va a generar una secuencia x[n] = [n] + [n-1] + [n-2], donde el intervalo de
tiempo entre muestra y muestra es de 1 segundo para ser correlacionado con la secuencia yn[n]
= [n-4] + [n-5] + [n-6] + w[n], donde w[n] representa el ruido aleatorio generado por el
comando randn, tambin del mismo intervalo de tiempo entre muestra y muestra. Luego se
determinar la correlacin rxy[k] de estas dos secuencias, mostrada en la Fig.13 para luego
presentarla con las otras secuencias generadas. Cul ser el retardo de y[n] en presencia de
ruido respecto a x[n]?, Qu conclusiones se podrn obtener?
0.9
0.8
0.7
0.6
x[n]
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
n (seg)
0.9
0.8
0.7
0.6
y[n]
0.5
0.4
0.3
0.2
0.1
0
0 2 4 6 8 10 12 14 16 18 20
n (seg)
1.4
1.2
0.8
y[n]+w[n]
0.6
0.4
0.2
-0.2
-0.4
0 2 4 6 8 10 12 14 16 18 20
n (seg)
3.5 X= -4
Y= 3.606
2.5
2
rxy[k]
1.5
0.5
-0.5
-20 -15 -10 -5 0 5 10 15 20
k (seg)
De acuerdo a la grfica obtenida en la Fig. 15 al emplear este cdigo, podemos observar que la
autocorrelacin tiene una longitud de datos doble de la que esta compuesta la seal temporal
x[n]. Este hecho se debe a que los desplazamientos, a la hora de calcular la autocorrelacin,
pueden ser positivos o negativos. El ndice central se relaciona con el desplazamiento cero y se
0.6
0.4
0.2
x[n]
-0.2
-0.4
-0.6
-0.8
-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
n (seg)
0.8 X: 0.01
Y: 0.902
0.6
0.4
0.2
rxx[k]
-0.2
-0.4
-0.6
-0.8
-1
-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1
k (seg)
EJEMPLO (5)
donde definimos = 1 - 2 como el desfasaje entre las dos seales. Se puede calcular el
desfasaje comprobando cundo las dos seales vuelven a estar en fase. Por ejemplo para n = 0
se tiene:
x[0] = cos(1), y[0] = cos(2)
Ahora si desplazamos una de las seales N segundos, por ejemplo x[n], hasta que las dos estn
en fase nuevamente, se tiene que:
De la igualdad anterior se obtiene que: 2fN + 1 = 2, de modo que el desfasaje vendr dado
por: = 1 - 2 = 2fN, siendo f la frecuencia de la seal, de donde se obtiene:
N = / 2f
Podemos emplear la correlacin cruzada para determinar cundo las dos seales estarn en fase,
lo cual ocurrir en los mximos de dicha correlacin. Dado que en los clculos realizados se ha
considerado como punto inicial n = 0, se debe determinar los mximos a partir del punto central
de la correlacin cruzada que es el punto de la correlacin correspondiente a un desplazamiento
cero. El programa de Matlab que implementa este ejemplo es el siguiente:
0.8
0.6
0.4
0.2
x[n]
-0.2
-0.4
-0.6
-0.8
X: 0.005
Y: -1
-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
n (seg)
0.8
0.6
0.4
0.2
y[n]
-0.2
-0.4
-0.6
-0.8
X: 0.0025
Y: -1
-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
n (seg)
0.8 X: 0.01
Y: 0.901
0.6
0.4
0.2
rxx[k]
-0.2
-0.4
-0.6
-0.8
-1
-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1
k (seg)
0.6
0.4
0.2
rxy[k]
-0.2
-0.4
-0.6
-0.8
-1
-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1
k (seg)
Fig.19 Correlacin de la seal x[n] e y[n]. Para = 90, se obtiene N=0.0025 segundos.
REFERENCIA BIBLIOGRFICA:
Soria E.; Martnez, M.; Frances, J.V.; Camps, G.Tratamiento Digital de Seales, Problemas y
Ejercicios. Prentice Hall -- Pearson Educacion S.A., Madrid, 2003. ISBN: 84-205-3559-1
http://books.google.com.ec/books?id=jkhyWjmJBGUC&pg=PA73&lpg=PA73&dq=autocorrela
cion+normalizada+%2B+matlab&source=bl&ots=RlRrdW6bnp&sig=b0svy_EYvH3Ii9LWnM
9mrMTO0DU&hl=es&ei=iByLSqyuFIqwMOyh4cYP&sa=X&oi=book_result&ct=result&resn
um=4#v=onepage&q=&f=false