Sei sulla pagina 1di 5

AUTOCORRELACIÓN Y CORRELACIÓN EN MATLAB

Dawiana Michelle Cardenas Romero, Cristian Cera Meneses, Caled Maestre Oliveros

Resumen: algunas de sus principales aplicaciones


incluyen la eliminación del ruido y de la
En esta practica se pretende conocer y utilizar redundancia en señales electrónicas, el análisis
la operación de correlacion y autocorrelacion, de onda de luz u óptica y la detección del tono
se estudiara sus usos, tales como el de la señal. [1]
reconocimiento de determinados patrones
dentro de una señal, para determinar la II. Marco teorico
semejanza que hay entre dos señales y para la
relacion existente entre sucesivas muestras. Función de Auto correlación.

Palabras claves En las secciones anteriores se introdujo el


concepto de densidad espectral de potencia y
Señales, Correlacion, Autocorrelacion, de energía los cuales expresan la distribución
Muestras, Patrones. de las señales en frecuencia. ¿Qué información
temporal se conseguirá al anti transformar
Abstract: estas densidades? Sea el caso de la señal de
energía,
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 (1)
the time lag between two signals and to the
A esto se le conoce como función de auto
relationship between successive samples.
correlación de una señal de energía y se
Keywords denota Rx (t). [2]

Signals, Correlation, Autocorrelation,


Samples, Patterns, phase (2)
En conclusión: El equivalente temporal de la
I. Introduccion densidad espectral de energía o potencia es la
función de auto correlación, la cual se
La autocorrelación es el proceso de
determina como: [2]
correlación de una señal, o de una onda
electrónica, con su propia forma modificada. a) señales de energía:
Se trata de adaptar la señal con una copia de la
misma, que se extiende o se retrasa con
respecto a su tiempo de viaje en el medio. Se
(3)
trata de una operación matemática que se
aplica por lo general en el dominio de las b) señales de potencia:
estadísticas para encontrar elementos comunes
entre dos cantidades variables. La
autocorrelación es ampliamente utilizada en (4)
aplicaciones de procesamiento de señales de
dispositivos electrónicos diversos, pero
Esta función nos da idea del comportamiento ortogonales solo existirá superposición de
de la señal x vs. tiempo ya que si, por ejemplo, energía o potencia. [2]
para un cierto :| Rx()| es grande, indica que
x(t) y x(t -)son muy parecidas. La auto III. Metodologia y Resultados
correlación tiene un máximo para  = 0 y si se
revisa (3 y 4) se observa que este valor Ejercicio 1
coincide con la energía o con la potencia de la
señal x(t). Otra propiedad interesante de la Generar un sinusoide de frecuencia igual a 100
función Rx () es: [2] Hz con amplitud uno y muestreada a 1 kHz
(considerar una secuencia de 100 puntos).
R x (-) = R x () Determine la autocorrelacion de esta señal
normalizada a uno y representela junto a la
Correlación cruzada. secuencia

Si se desea determinar la auto correlación de n = 0:99;


una señal resultante de la suma de dos señales: x = cos(2*pi*n*0.1);

%Calculo de la autocorrelación
normalizada
y = xcorr(x, 'coeff');
%Representación de las 2 señales
Donde Ry1y2 () y y2y1 (son funciones de figure(1)
correlación cruzada que se determinan de la subplot(2,2,1), plot(x,'r'),
siguiente forma: [2] title((a)')
subplot(2,2,2), stem(x,'k'),
- Sean x (t), y(t) dos señales de energía. En ese title('(b)')
subplot(2,2,3), plot(y,'m'),
caso
title('(c)')
subplot(2,2,4), stem(y,'g'),
title('(d)')
hold on
(5)
- Si x(t), y(t) son señales de potencia,

(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

O Ilustración 1: a) Señal continua; b) Señal discreta; c)


Autocorrelacion continua; d) Autocorrelacion discreta

Es decir hay superposición de auto correlación Ejercicio 2


de energía o de potencia. Si y1, y2 son
Generar dos sinusoides de frecuencia 50 Hz correlacion cruzada. Considere las sinusoides
(Fm =1 kHz), amplitud uno y desfasados 90º y dadas por
determinar la correlacion cruzada de ellas.
¿Cómo se podria determinar el desfase entre 𝑥(𝑛) = cos(2𝜋𝑓𝑛 + 𝜃1),
estas señales? Realice una grafica donde 𝑦(𝑛) = cos(2𝜋𝑓𝑛 + 𝜃2)
aparezcan las matrices de autocorrelacion y
Donde se definir θ= θ1-θ2 como el desfase figure(2)
entre las dos señales. Se puede calcular el subplot(3,1,1),
plot(lag1,z,'color','g')
desfase comprobando cuando las dos señales grid on
vuelven a estar en fase. Para n=0 se tiene: title('Autocorrelación X')
subplot(3,1,2), plot(lag2, zz,
𝑥(0) = cos(𝜃1) , 𝑦(0) = cos(𝜃2). 'color', 'k')
grid on
Si ahora se desplaza una de las señales, por title('Correlación XY')
subplot(3,1,3),
ejemplo x(n), hasta que las dos esten en fase plot(lag1,z,'r',lag2,zz,'b')
de nuevo, se tiene que: grid on
title('Autocorrelación X y
𝑥(𝑁) = cos(2𝜋𝑓𝑁 + 𝜃1) = 𝑦(0) correlación XY')
= cos(𝜃2). hold on
pause
De la igualdad anterior se desprende que:
2𝜋𝑓𝑁 + 𝜃1 = 𝜃2, de modo que el desfase
vendra dado por: 𝜃 = 𝜃1 − 𝜃2 = 2𝜋𝑓𝑁,
siendo f la frecuencia digital de la señal.

Se puede emplear la correlacion cruzada para


determinar cuando las señales 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));

%Determinación de la correlación
cruzada Ilustración 2: Autocorrelacion X, Correlacion XY
[z lag1] = xcorr(x, 'coeff');
%Autocorrelación
[zz lag2] = xcorr(x,y,'coeff');
%Correlación cruzada Ejercicio 3

%Representación de las señales


Sean 𝑥(𝑛) = [2, −1, 3, 7, 1, 2, −3] 𝑦 𝑦(𝑛) = hold on
[1, −1, 2, −2, 4, 1, −2, 5] Hallar la correlacion
𝑟𝑦𝑥 (𝑙) y dibujela.

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)') Ilustración 4: autocorrelacion de x
grid on
IV. Analisis de resultados

En el primer ejercicio se puede apreciar la


primera aplicación de la autocorrelacion que
es determinar las posibles repeticiones de
patrones de la señal En la ilustracion 1 se
puede notar que la autocorrelacion tiene una
longitud doble a la señale 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
Ilustración 3: Correlacion 𝒓𝒙𝒚 (𝒏) determinacion del desfase que hay entre dos
señales, podemos notar que los puntos
Ejercicio 4 maximos de la señal esta cuando el punto de la
correlacion corresponde a un desplazamiento
Hallar la autocorrelacion de 𝑥(𝑛) =
cero. En el ejercicio 3, la aplicación que se esta
[2, −1,3,7,1,2, −3]
usando es cuantificar el grado de similitud
x = [2,-1,3,7,1,2,-3]; entre dos señales la autocorrelacion representa
r_xx = xcorr(x,x); la similitud entre una señal y su desplazada.
nr_xx = [(-
length(x)+1):(length(x)-1)];
figure(4)
stem(nr_xx,r_xx)
title('Secuencia del ejercicio 4')
xlabel('n')
ylabel('r_{xx}(n)') V. Conclusiones
grid on
 La operación matematica de o Hace la convolución de los
correlacion nos permite determinar vectores x y h. El vector
caracteristicas importantes de las resultante y tiene un tamaño
igual a length(x)+length(h)-1
señales para el analisis e
interpertacion de estas mismas
 >> rxy = xcorr(x,y)
 La herramienta MATLAB tiene o Hace la correlación de los
comandos que nos ayudan a vectores de M elementos x e
determinar facilmente estas y. Devuelve un vector de 2M-
caracteristicas directamente, gracias a 1 elementos.
el se puede realizar una interpretacion
 >> rxx = xcorr(x)
grafica muy facilmente.
o Hace la autocorrelación del
Bibliografia vector x de M elementos.
Devuelve un vector de 2M-1
 [2] Héctor Fernando Cancino De elementos.
Greiff, “Procesamiento de señales y
sistemas analógicos”, págs, 88, 90,
92; 2008.

Referencias web

 [1]http://www.ehowenespanol.com/
usos-autocorrelacion-senales-
info_293251/
 http://books.google.com.ec/books?i
d=jkhyWjmJBGUC&pg=PA73&lpg=PA
73&dq=autocorrelacion+normalizada
+%2B+matlab&source=bl&ots=RlRrd
W6bnp&sig=b0svy_EYvH3Ii9LWnM9
mrMTO0DU&hl=es&ei=iByLSqyuFIq
wMOyh4cYP&sa=X&oi=book_result&
ct=result&resnum=4#v=onepage&q=
&f=false

OBSERVACIÓN

Convolución y Correlación en MATLAB

 MATLAB dispone de dos funciones


para el cálculo de convoluciones y
correlaciones.

 >> y = conv(x,h)

Potrebbero piacerti anche