Está en la página 1de 5

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

CARRERA DE INGENIERA ELECTRNICA Y


TELECOMUNICACIONES

SANTIAGO P. GUALLICHICO A.

JEISON S. CASTRO G.

ING. ROBIN ALVAREZ

PROCESAMIENTO DIGITAL DE SEALES

QUITO

2016-B
ESCUELA POLITCNICA NACIONAL
PROCESAMIENTO DIGITAL DE SEALES
TEMA: CORRELACIN CRUZADA
1.- Planteamiento del problema
Se desea implementar la frmula de correlacin cruzada y aplicarla a dos series
temporales, despus comparar sus resultados con los obtenidos con instruccin de
Matlab XCORR.

2. Solucin:
Teora general
Correlacin cruzada
En procesamiento de seales, la correlacin cruzada (o a veces denominada
"covarianza cruzada") es una medida de la similitud entre dos seales,
frecuentemente usada para encontrar caractersticas relevantes en una seal
desconocida por medio de la comparacin con otra que s se conoce. Es funcin
del tiempo relativo entre las seales, a veces tambin se la llama producto
escalar desplazado, y tiene aplicaciones en el reconocimiento de patrones y
en criptoanlisis.
Correlacin es sinnimo de SIMILITUD (cunto se parecen).
Correlacin de una seal consigo misma se denomina Autocorrelacin Correlacin
entre dos seales: Correlacin cruzada
La Correlacin presenta la similitud entre dos formas de onda en todas las posiciones
relativas de una respecto de la otra y es til en la identificacin de segmentos
similares.
Figura 1. Funcin de correlacin cruzada
Correlacin cruzada usando Matlab

3. Simulacin en Matlab
Para realizar el proceso de correlacin cruzada vamos a implementar esta operacin
entre dos distintas seales, un primer mtodo creado en base a funciones y la
comprobacin del cdigo implementado usando comandos de Matlab que permiten
realizar esta operacin de manera directa.

PROGRAMA CREADO PARA REALIZAR LA CORRELACIN CRUZADA ENTRE DOS SEALES

% CORRELACION CRUZADA CODIGO PROPIO


x=[1 1 0 0 1 0 0 0 0 0 0 0 0]; % Creo funcin 1 (permanece esttica)
x2=[1 0 1 0 0 0 0 1 0 0 0 0 0]; % Creo funcin 2 (realiza barrido de
correlacin)
y=[zeros(1,30),x,zeros(1,30)]; % Creo vector con una dimension adecuada para
realizar correlacion
senal=[zeros(1,30),x2,zeros(1,30)]; % Creo vector de una dimensin adecuada para
realizar barrido
s=length(senal); % Calculo longitud de la seal
k=zeros(1,s);
z=0; % Variable auxiliar para contador del vector de salida
j=-12; % Variable aucxiliar para controlar el desplazamiento de la seal 2
(barrido)
for i=1:25 % Lazo repetitivo para obtener todos los puntos de la correlacin
cruzada
for l=30:44 % Lazo repetitivo para realizar el desplazamiento de la seal 2
k(l+j)=senal(l);
end
j=j+1;
suma=sum(y.*k); % Se calcula el valor de correlacin de un punto, mediante
la suma de los terminos del producto de la multiplicacin punto a punt de la
correlacin
z=z+1;
corr(z)=suma; % Se asigna el valor de amplitud al vector de correlacin.
end
subplot(2,1,1)
tiempo=0:24; % Se crea vector de tiempo de la seal de correlacin
stem(tiempo,corr) % Se grafica la seal obtenida por el proceso de correlacin
grid on
% Se asigna ttulos y ejes a la grfica de correlacin.
title('CORRELACION CRUZADA (FUNCION PROPIA)');
xlabel('TIEMPO (s)');
ylabel('AMPLITUD')
axis([min(tiempo)-0.5,max(tiempo)+0.5,min(corr)-0.5,max(corr)+0.5])
CORRELACIN CRUZADA ENTRE DOS SEALES MEDIANTE COMANDO DE MATLAB
% CORRELACION CRUZADA COMANDO DE MATLAB
z=xcorr(x,x2); % Se realiza la operacin de correlacin mediante comando de
Matlab
subplot(2,1,2)
stem(tiempo,z) % Se grafica la seal obtenida por el proceso de correlacin
axis([min(tiempo)-0.5,max(tiempo)+0.5,min(z)-0.5,max(z)+0.5])
grid on
% Se asigna ttulos y ejes a la grfica de correlacin.
title('CORRELACION CRUZADA (FUNCION MATLAB)');
xlabel('TIEMPO (s)');
ylabel('AMPLITUD')

4. Resultado obtenido:

Conclusiones
Se logr implementar un cdigo propio para poder realizar la operacin de
Correlacin Cruzada entre dos seales, mediante el uso de lazos, variables y
vectores.
Se observ que la correlacin cruzada es muy similar a la convolucin de dos
seales, analizando la funcin de la correlacin cruzada se observ que es algo
similar a realizar una convolucin negativa.
Si bien es cierto que Matlab nos beneficia y nos ayuda a ahorrar tiempo mediante
ciertos comandos, en base a algoritmos podemos implementar cualquier tipo de
cdigo.
La correlacin cruzada es un mtodo muy utilizado para verificar concordancia o
similitud entre dos seales o realizar reconocimiento de informacin escondida
mediante este proceso de correlacin.

También podría gustarte