Act6_299004_21

24
COLABORATIVO No1 UNAD CEAD JOSE ACEVEDO Y GOMEZ INGENIERIA ELECTRONICA PROCESAMIENTO DIGITAL DE SEÑALES TUTOR: FAIBER ROBAYO Diego Cardenas Código: 79.925.645 Aldemar Algarra Gaitan Código: 79.810.613 Stiven Carmelo Navarro Código: 79.873.592 Alexander Calderón Méndez Código: 00.000.000 Grupo: 21 OCTUBRE DE 2012

Transcript of Act6_299004_21

Page 1: Act6_299004_21

COLABORATIVO No1

UNAD

CEAD JOSE ACEVEDO Y GOMEZ

INGENIERIA ELECTRONICA

PROCESAMIENTO DIGITAL DE SEÑALES

TUTOR: FAIBER ROBAYO

Diego Cardenas Código: 79.925.645

Aldemar Algarra Gaitan Código: 79.810.613

Stiven Carmelo Navarro Código: 79.873.592

Alexander Calderón Méndez Código: 00.000.000

Grupo: 21

OCTUBRE DE 2012

Page 2: Act6_299004_21

INTRODUCCION

En el presente trabajo colaborativo se pretende resumir las experiencias en el

estudio de los tres primeros capítulos del presente curso contando con los aportes

valiosos de los integrantes del grupo. Es por ello que con el desarrollo de cada

punto se consigue sintetizar lo aprendido en los tres primeros capítulos.

Page 3: Act6_299004_21

1) INVESTIGACIÓN

a) Realizar una recopilación bibliográfica que perm ita identificar y explicar,

aplicaciones de la correlación en procesamiento dig ital de señales.

PROCESAMIENTO DIGITAL DE SEÑALES, Autor: García López, Juan,

2000.Edición electrónica: Martínez García Moreno, Ciro Andrés, 2007

FOTOGRAMETRÍA MODERNA, Analítica Y Digital, Autor:por José Luis Lerma

García. Edición Reproval, S.L.

TRATAMIENTO DIGITAL DE SEÑALES, Autor: Emilio Soria Olivas, Edicion

Pearson Educacion S.A. Madrid 2003.

SISTEMAS DIGITALES Y ANALÓGICOS, TRANSFORMADAS DE FOURIER,

ESTIMACIÓN ESPECTRAL, Autor: Athanasios Papoulis Edicion Marcombo S.A.

1986

TRATAMIENTO DIGITAL DE VOZ E IMAGEN Y APLICACIÓN A LA

MULTIMEDIA, Autor: Marcos Faúndez Zanuy, Marcombo editores

TRATAMIENTO DIGITAL DE IMÁGENES,Autor: Rafael C. González, Richard E.

Woods, Addison-Wesley Iberoamericana, 1996

PROCESADO DIGITAL DE SEALES- 2, Autor: Eduard Bertrán Albertí, Edicions

UPC 2006

TRATAMIENTO DIGITAL DE SEÑALES. Prentice Hall, Autor: J.G. Proakis and

D.G. Manolakis.1998.

Page 4: Act6_299004_21

b) Investigar y proponer ejemplos de aplicación de la correlación usando

MatLab. Es necesario adjuntar el código .m generado .

Existen muchas funciones o programas que nos ayudan en el conocimiento de las

comunicaciones. En Matlab los comandos para realizar operaciones son muy

sencillos, solo hay que poner el nombre del comando con sus respectivas

entradas para que arroje un resultado. Por ejemplo, para realizar la correlación de

dos señales solamente hay que introducir la función xcorr (x, y) y asignarla a una

variable. También existen otras funciones como la de la convolución,

Transformada de Fourier, Transformada de Laplace, etc.

CORRELACIÓN

Una herramienta útil en análisis de señales y sistemas es la Correlación. La

Correlación obtiene la información sobre las señales en base a promedios

temporales y su transformada de Fourier permite obtener funciones de densidad

espectral de energía o potencia, dependiendo de las características de las señales

y sistemas bajo estudio.

Las herramientas basadas en Correlación de señales y su Transformada de

Fourier, son usadas en el análisis de procesos.

La Correlación nos da una medida de la similitud entre dos señales. Es comparar

las características de una señal conocida con las de una señal desconocida.

Page 5: Act6_299004_21

Autocorrelación. Es la correlación de una señal consigo misma. Representa la

similitud entre una señal y ella misma desplazada. El máximo de una

Autocorrelación se obtiene cuando no hay desplazamiento (t = 0).

La Autocorrelación se usa considerablemente en el análisis de señales. Es

especialmente útil en la detección o reconocimiento de señales enmascaradas por

ruido agregado. La Autocorrelación suele emplearse para encontrar periodos. La

fórmula para realizar la Autocorrelación de una señal x (t) es:

La Correlación cruzada implica el cambiar de puesto de una señal y multiplicarse

por otra señal. La Correlación cruzada expresa que tanta similitud tienen dos

señales de tiempo diferentes a (t) y b (t) para diferentes desplazamientos de

tiempo.

CONVOLUCIÓN

La Convolución nos ayuda a determinar la respuesta que un sistema ejerce en una

señal de entrada. Cualquier señal puede expresarse como una superposición de

impulsos unitarios de diferentes amplitudes.

Un sistema invariante en el tiempo no cambia su comportamiento con el tiempo,

entonces la respuesta al impulso h (t) a una serie de impulsos desplazados d (t - t)

se puede expresar como h (t - t). Cuando esos impulsos desplazados los

afectamos por la amplitud de una señal f (t) podemos expresar una salida en

términos de este impulso desplazado y la respuesta al impulso del sistema f1 (t) [h

(t) d (t- t)]= f1 (t) h (t- t) =y1 (t).

Page 6: Act6_299004_21

Luego, podemos expresar la salida y (t) en términos de su respuesta al impuso y

de su entrada si integramos todos los puntos de la función, así quedaría definida la

“Integral de la Convolución para sistemas invariantes en el tiempo”.

Interpretación gráfica de la convolución.

La interpretación gráfica de la convolución permite visualizar los resultados de las

más abstractas operaciones matemáticas. Supóngase que se quiere hallar la

convolución de dos funciones dadas f 1(t) y f2 (t). Las operaciones que se

efectúan se basan en la integral de la convolución:

Primero se enumeran, paso a paso, las operaciones necesarias:

1. Reemplazar t por T en f1 (t), quedando f (T).

2. Reemplazar t por (- T) en f2 (t). Esto hace girar a la función f2 (T) alrededor

del eje vertical pasando por el origen del eje.

3. Trasladar todo el sistema de referencia de f (- T) en una cantidad t.

Entonces, la traslación t es la diferencia entre el sistema de referencia móvil

y el fijo. El origen del sistema móvil está en T = t; el origen fijo, en T = 0. La

función en el sistema móvil representa f2 ( t – T ); la función en el sistema

fijo, f1 ( T ).

4. En cualquier desplazamiento relativo entre los ejes de referencia, por

ejemplo, t0, debe hallarse el área bajo el producto de las dos funciones.

Page 7: Act6_299004_21

5. Este procedimiento debe repetirse para diferentes valores t = t0

desplazando Progresivamente el sistema móvil y hallando los valores de la

integral de convolución en esos valores de t. Para funciones continuas esto

puede hacerse por integración directa. Para funciones continuas por tanto,

el producto será continuo por tramos y deberá integrarse sobre cada

sección continua.

6. 6. Si el desplazamiento del sistema móvil es a lo largo del eje negativo (a la

izquierda), t es negativo. Si es sobre el eje positivo (a la derecha), t es

positivo.

CONVOLUCIÓN Y CORRELACIÓN DE SEÑALES

Es un programa que grafica dos señales y la Convolución o Correlación de éstas.

Page 8: Act6_299004_21

Inicialización (Convolución y Correlación).

En el programa se desarrollaron varias opciones para elegir el tipo, la operación y

las señales a las que se grafica la Convolución o Correlación.

Con ciclos if se selecciona el tipo de señal a eleg ir y la operación a realizar:

Si señal == señal CT

Mostrar en menú desplegable señales continuas en el tiempo

Si no

Mostrar en menú desplegable señales discretas en el tiempo

Fin

Si operación == Convolución

Gráfica == conv (x (t), h (t))

Si no

Gráfica == xcorr (x (t), h (t))

Fin

Las opciones de señales que muestran los menús desp legables son:

x(t) para señales continuas:

x=t 0 < t < 3

x=1 0 < t < 3

x=sen (t) -3 < t < 3

x=1 -1 < t < 1

h(t) para señales continuas:

h=1 -1 < t < 1

h=1 0 < t < 3

h=-t 0 < t < 3

h=sen (t) -3 < t < 3

Page 9: Act6_299004_21

x(t) para señales continuas:

h(t) para señales discretas:

Función conv (x,h)

Page 10: Act6_299004_21

Hace la convolución de los vectores x y h. El vector resultante tiene un tamaño

igual a la longitud de x + la longitud de h-1.

Función xcorr (x,h)

Hace la correlación de los vectores de M elementos x y h. Devuelve un vector de

2M- 1 elementos.

Elementos del programa (Convolución y Correlación).

1. Tipo de señal. Es donde se elige el tipo de señal. Señal CT: señal continúa

en el tiempo. Señal DT: señal discreta en el tiempo.

2. Operación. Es donde se elige el tipo de operación: Convolución o

Correlación.

3. Señal x (t) o x(n). Es donde se elige la señal x(t) si la señal es continua, o

x(n) si la señal es discreta.

Page 11: Act6_299004_21

4. Señal h (t) o h(n). Es donde se elige la señal h(t) si la señal es continua, o

h(n) si la señal es discreta.

5. Graficar Convolución o Correlación. Es el botón que grafica la Convolución

o Correlación según los parámetros especificados.

6. Gráfica de señal x. Es donde se grafica la señal x (t) o x(n).

7. Gráfica de señal h. Es donde se grafica la señal h (t) o h(n).

8. Gráfica de señal y(t). Es donde se grafica la señal resultante.

Ejemplo (Convolución y Correlación).

Page 12: Act6_299004_21

Convolución y Correlación de señales

function popupmenu1_Callback(hObject, eventdata, handles)

grafica=get(hObject,'Value');

t=handles.t;

% graficas

if grafica==1

handles.x=(t<0&t>3).*0+(t>=0&t<=3).*t;

elseif grafica==2

handles.x=ustep(t);

elseif grafica==3

handles.x=(t<-1&t>1).*0+(t>=-1&t<=1).*1;

elseif grafica==4

handles.x=sin(t);

end

% graficar x(t)

axes(handles.axes1)

plot(t,handles.x,'LineWidth',2)

xlabel('t')

ylabel('x(t)')

grid on

guidata(hObject,handles)

function popupmenu2_Callback(hObject, eventdata, handles)

grafica2=get(hObject,'Value');

t=handles.t;

% graficas

if grafica2==1

handles.h=(t<-1&t>1).*0+(t>=-1&t<=1).*1;

elseif grafica2==2

Page 13: Act6_299004_21

handles.h=ustep(t);

elseif grafica2==3

handles.h=(t<0&t>3).*0+(t>=0&t<=3).*-t;

elseif grafica2==4

handles.h=sin(t);

end

% graficar h(t)

axes(handles.axes2)

plot(t,handles.h,'LineWidth',2)

xlabel('t')

ylabel('h(t)')

grid on

guidata(hObject,handles)

function popupmenu3_Callback(hObject, eventdata, handles)

grafica3=get(hObject,'Value');

%graficas

if grafica3==1

handles.x=[1 1 1 1 1];

handles.tiempox=0:1:4;

elseif grafica3==2

handles.x=[2 1 1 1];

handles.tiempox=0:1:3;

elseif grafica3==3

handles.x=[1 2];

handles.tiempox=0:1:1;

elseif grafica3==4

handles.x=[1 1 1];

handles.tiempox=-1:1:1;

elseif grafica3==5

handles.x=2;

handles.tiempox=0;

Page 14: Act6_299004_21

end

% graficar x(t)

axes(handles.axes1)

stem(handles.tiempox,handles.x,'LineWidth',2)

xlabel('n')

ylabel('x(n)')

grid on

guidata(hObject,handles)

function popupmenu4_Callback(hObject, eventdata, handles)

grafica4=get(hObject,'Value');

% graficas

if grafica4==1

handles.h=[2 1 1 1];

handles.tiempoh=0:1:3;

elseif grafica4==2

handles.h=[1 1 1 1 1];

handles.tiempoh=0:1:4;

elseif grafica4==3

handles.h=[1 2 3];

handles.tiempoh=1:1:3;

elseif grafica4==4

handles.h=[1 1 1];

handles.tiempoh=-1:1:1;

elseif grafica4==5

handles.h=2;

handles.tiempoh=0;

end

% graficar h(t)

axes(handles.axes2)

stem(handles.tiempoh,handles.h,'LineWidth',2)

xlabel('n')

Page 15: Act6_299004_21

ylabel('h(n)')

grid on

guidata(hObject,handles)

function graficar_Callback(hObject, eventdata, handles)

x=handles.x;

h=handles.h;

op=get(handles.convolucion,'Value');

tipo_s=get(handles.ct,'Value');

if op==1

y = conv(x,h);

else

y = xcorr(x,h);

end

if tipo_s==1

lx=length(x)-1;

lh=length(h)-1;

n=-lh:lx;

axes(handles.axes3)

plot(n./1000,y./1000,'LineWidth',2) % graficar señal CT

xlabel('t')

ylabel('y(t)')

else

axes(handles.axes3)

stem(y,'LineWidth',2) % graficar señal DT

xlabel('n')

ylabel('y(n)')

end

grid on

Page 16: Act6_299004_21

Aplicación 1

La primera aplicación de la autocorrelación de una señal es determinar las posibles repeticiones de patrones en la señal. Para comprobar este punto se va a generar una sinusoide de frecuencia igual a 100 Hz con amplitud uno y muestreada a 1 kHZ (consideremos una secuencia de 100 puntos). Determine la autocorrelación de esta señal normalizada a uno y represéntela junto a la secuencia, ¿Qué conclusiones pueden sacar?

El programa en Matlab que implementa lo que nos piden es:

%Generación de la señal n = 0:99; x = cos(2*pi*n*0.1); %Cálculo de la autocorrelación normalizada y = xcorr(x,'coeff'); %Representación de las dos señales subplot(221), stem(x,'k'), title('(a)') subplot(222), plot(x,'k'), title('(b)') subplot(223), stem(y,'k'),title('(c)') subplot(224), plot(y,'k'), title('(d)')

La gráfica obtenida al emplear este código se muestra en la figura siguiente. Podemos apreciar que la autocorrelación tiene una longitud doble a la señal temporal. Este hecho se debe a que los desplazamientos, a la hora de calcular la autocorrelación, pueden ser positivos o negativos. El índice central se corresponde con un desplazamiento cero y, se corresponde, lógicamente, con el valor máximo de dicha correlación.

Page 17: Act6_299004_21

Aplicación 2

Una segunda aplicación relacionada con la anterior es la determinación del desfase entre dos señales. Se pide generar dos sinusoides de frecuencia 50 Hz (Fm = 1 kHz), amplitud uno y desfasados 90o y determinar la correlación cruzada de ellas. ¿Cómo se podría determinar el desfase entre estas señales? Realice una gráfica donde aparezcan las matrices de autocorrelación y correlación cruzada ¿Qué conclusiones se pueden sacar?

Para entender este apartado de forma sencilla consideremos las sinusoides dadas por

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

Donde se puede definir θ = θ1 - θ2 como el desfase entre las dos señales. Se puede calcular el desfase comprobando cuándo 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 estén 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 Vendrá dado por: θ = θ1 - θ2 = 2πfN, siendo f la frecuencia digital de la señal. Podemos emplear la correlación cruzada para determinar cuándo las señales estarán en fase, lo cual ocurrirá en los máximos de dicha correlación. Como en los cálculos realizados se ha considerado como punto inicial n = 0, se deben determinar los máximos a partir del punto central de la correlación cruzada que, recordemos, es el punto de la correlación correspondiente a un desplazamiento cero. El programa de Matlab que implementa esto es el siguiente:

%Generación de las señales 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 [z lag1] = xcorr(x,'coeff'); % autocorrelación [zz lag2] = xcorr(x,y,'coeff'); %correlacion cruzada %Representación de las señales plot(lag1,z,'Color','g') hold on grid on plot(lag2, zz,'Color','k')

Page 18: Act6_299004_21

2) Analizar y desarrollar los siguientes ejercicios .

a) Determine la respuesta al impulso de los siguientes sistemas

· 5y[n] =x [n] - x [n-1]

���� =�

5��� −

5�� − 1�

ℎ��� =�

� ��� −

� �� − 1�

ℎ�−2� =�

� �−2� −

� �−2 − 1� % se empieza a dar valores de n desde -2,

ℎ�−2� =�

� �−2� −

� �−2 − 1� = 0 − 0 = 0 % recuerde que la teoría dice

que: ��� = 1����� = 0

Page 19: Act6_299004_21

��� = 0����� ≠ 0

Por eso es que �−2� = 0 y �−2 − 1� = �−3� = 0

Seguimos ahora con n=-1

ℎ�−1� =1

5 �−1� −

1

5 �−1 − 1� = 0 − 0 = 0

Ahora con n=0

ℎ�0� =�

� �0� −

� �0 − 1� =

�− 0 =

� aquí la respuesta es

� porque �0� = 1 y al

multiplicarlo por �

� nos da esa respuesta.

ℎ�1� =1

5 �1� −

1

5 �1 − 1� = 0 −

1

5= −

1

5

ℎ�2� =1

5 �2� −

1

5 �2 − 1� = 0 − 0 = 0

Al graficar este resultado, obtenemos la gráfica:

Page 20: Act6_299004_21

· y[n] + 3 y[n-1] + y[n-2] + 4y[n-3] =x[n]

· 3y[n] - y[n-1] +12y[n-2] =x [n]

· 8y[n] + y[n-1] - 7y[n-2] = x [n]

b) Dadas las siguientes señales

· y[n] = [-2 0 2 3 0 -1]

· x[n] = [4 0 -3 1 -2 -3]

· z[n]= [2 -1 -1 0 -2 1]

Encuentre:

· ryy

· rxz

· ryz

· rzz

ryy: · y[n] = [-2 0 2 3 0 -1]

����0� = {… + �−2 ∗ −2� + �0 ∗ 0� + �2 ∗ 2� + �3 ∗ 3� + �0 ∗ 0� + �−1 ∗ −1�+. . }

�� = {. . ,4,0,4,9,0,1, . . }

����0� = 18

����1� =6

����2� = −7

����3� = −8

����−1� =6

����−2� = −7

����−3� = −8

Page 21: Act6_299004_21

����%� = {..,-8,-7,6,18,6,-7,-8,..}

rxz: x[n] = [4 0 -3 1 -2 -3]

z[n]= [2 -1 -1 0 -2 1]

��&�0� = {. . +�4 ∗ 2� + �0 ∗ −1� + �−3 ∗ −1� + �1 ∗ 0� + �−2 ∗ −2� + �−3 ∗ 1�+. . }

�� = {. . , 6,0, −3,0,4, −3, . . }

��&�0� = 4

��&�1� =6

��&�2� = 5

��&�3� = 7

��&�−1� = −8

��&�−2� = 3

��&�−3� = −3

��&�%� = {..,-3,3,-8,4,6,5,7,..}

ryz: y[n] = [-2 0 2 3 0 -1]

z[n]= [2 -1 -1 0 -2 1]

��&�0� = {. . +�−2 ∗ 2� + �0 ∗ −1� + �2 ∗ −1� + �3 ∗ 0� + �0 ∗ −2� + �−1 ∗ 1�+. . }

�� = {. . , −4,0, −2,0,0, −1, . . }

��&�0� = −7

��&�1� =3

Page 22: Act6_299004_21

��&�2� = 1

��&�3� = 7

��&�−1� = −4

��&�−2� = 1

��&�−3� = 2

��&�%� = {..,2,1,-4,-7,3,1,7,..}

rzz: z[n]= [2 -1 -1 0 -2 1]

z[n]= [2 -1 -1 0 -2 1]

�&&�0� = {. . +�2 ∗ 2� + �−1 ∗ −1� + �−1 ∗ −1� + �0 ∗ 0� + �−2 ∗ −2� + �1 ∗ 1�+. . }

�� = {. . , 4,1,1,0,4,1, . . }

�&&�0� = 11

�&&�1� =-3

�&&�2� = 0

�&&�3� = 1

�&&�−1� = −3

�&&�−2� = 0

�&&�−3� = 1

�&&�%� = {..,1,0,-3,11,-3,0,1,..}

Page 23: Act6_299004_21

CONCLUSIONES Podemos decir que como gran concusión se utilizó los métodos estudiados para la

elaboración de los diferentes ejercicions, tanto de ejemplo como los propuestos a

si como la aplicación correcta en Matlab, se logró un entendimiento más adecuado

del uso de las herramientas que como Matlab nos permite lograra un mejor

entendimiento gracias a su versatilidad y gran variedad de aplicaciones.

Page 24: Act6_299004_21

REFERENCIAS

Módulo UNAD.

http://www.goddardconsulting.ca/matlab-monte-carlo-assetpaths-corr.html

http://www.geofys.uu.se/cj/geofysdatabeh/notes/report_with_matlab.pdf