Autocorrelacion y Correlacion en Matlab

Share Embed Donate


Short Description

Download Autocorrelacion y Correlacion en Matlab...

Description

AUTOCORRELACIÓN Y CORRELACIÓN EN MATLAB D. Pinzon; A. Rodríguez Resumen: En esta practica se pretende conocer y utilizar la operación de correlacion y autocorrelacion, se estudiara sus usos como para el reconocimiento de determinados patrones dentro de una señal, para determinar el desfase que hay entre dos señales y para la relacion existente entre sucesivas muestras. Palabras claves Señales, 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 autocorrelación es el proceso de correlación de una señal, o de una onda electrónica, con su propia forma modificada. 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 trata de una operación matemática que se aplica por lo general en el dominio de las estadísticas para encontrar elementos comunes entre dos cantidades variables. La autocorrelación es ampliamente utilizada en aplicaciones de procesamiento de señales de

dispositivos electrónicos diversos, pero algunas de sus principales aplicaciones incluyen la eliminación del ruido y de la redundancia en señales electrónicas, el análisis de onda de luz u óptica y la detección del tono de la señal. [1] II.

Marco teorico

Función de Auto correlación. En las secciones anteriores se introdujo el concepto de densidad espectral de potencia y de energía los cuales expresan la distribución de las señales en frecuencia. ¿Qué información temporal se conseguirá al anti transformar estas densidades? Sea el caso de la señal de energía,

(1) A esto se le conoce como función de auto correlación de una señal de energía y se denota Rx(t ). [2]

(2) En conclusión: El equivalente temporal de la densidad espectral de energía o potencia es la función de auto correlación, la cual se determina como: [2] a) señales de energía:

(3) b) señales de potencia:

(4)

Esta función nos da idea del comportamiento de la señal 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 correlación tiene un máximo para  = 0 y si se revisa (3 y 4) se observa que este valor coincide con la energía o con la potencia de la señal x(t). Otra propiedad interesante de la función Rx () es: [2]

R x (-) = R x () Correlación cruzada. Si se desea determinar la auto correlación de una señal resultante de la suma de dos señales:

Donde Ry1y2 () y y2y1 (son funciones de correlación cruzada que se determinan de la siguiente forma: [2] - Sean x (t), y(t) dos señales de energía. En ese caso

(5) - Si x(t), y(t) son señales de potencia,

Es decir hay superposición de auto correlación de energía o de potencia. Si y1, y2 son ortogonales solo existirá superposición de energía 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 señal normalizada a uno y representela junto a la secuencia n = 0:99; x = cos(2*pi*n*0.1); %Calculo de la autocorrelación normalizada y = xcorr(x, 'coeff'); %Representación de las 2 señales 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

O

Ilustración 1: a) Señal continua; b) Señal 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. ¿Cómo se podria determinar el desfase entre estas señales? Realice una grafica donde aparezcan las matrices de autocorrelacion y Donde se definir θ= θ1-θ2 como el desfase entre las dos señales. Se puede calcular el desfase comprobando cuando las dos señales 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 señales, 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 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

correlacion cruzada. Considere las sinusoides dadas por

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

[z lag1] = xcorr(x, 'coeff'); %Autocorrelación [zz lag2] = xcorr(x,y,'coeff'); %Correlación cruzada %Representación de las señales figure(2) subplot(3,1,1), plot(lag1,z,'color','g') grid on title('Autocorrelación X') subplot(3,1,2), plot(lag2, zz, 'color', 'k') grid on title('Correlación XY') subplot(3,1,3), plot(lag1,z,'r',lag2,zz,'b') grid on title('Autocorrelación X y correlación XY') hold on pause

Ilustración 3: Correlacion

r xy (n)

Ejercicio 4 Hallar la autocorrelacion de Ilustración 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



caracteristicas importantes de las señales 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.

Bibliografia  Ilustración 4: autocorrelacion de x

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 determinacion del desfase que hay entre dos señales, podemos notar que los puntos maximos de la señal esta cuando el punto de la correlacion corresponde a un desplazamiento cero. En el ejercicio 3, la aplicación que se esta usando es cuantificar el grado de similitud entre dos señales la autocorrelacion representa la similitud entre una señal y su desplazada.

[2] Héctor Fernando Cancino De Greiff, “Procesamiento de señales y sistemas analógicos”, págs, 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

OBSERVACIÓN Convolución y Correlación en MATLAB

V. Conclusiones  La operación matematica de correlacion nos permite determinar



MATLAB dispone de dos funciones para el cálculo de convoluciones y correlaciones.



>> y = conv(x,h)

o



Hace la convolución de los vectores x y h. El vector resultante y tiene un tamaño igual a length(x)+length(h)-1

>> rxy = xcorr(x,y) o

Hace la correlación de los vectores de M elementos x e y. Devuelve un vector de 2M-1 elementos.



>> rxx = xcorr(x) o

Hace la autocorrelación del vector x de M elementos. Devuelve un vector de 2M-1 elementos.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF