Act6_299004_21
-
Upload
diego-cardenas -
Category
Documents
-
view
147 -
download
0
Transcript of 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
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.
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.
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.
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).
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.
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.
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
x(t) para señales continuas:
h(t) para señales discretas:
Función conv (x,h)
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.
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).
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
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;
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')
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
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.
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')
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
��� = 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:
· 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
����%� = {..,-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
��&�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,..}
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.
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