Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf ·...
Transcript of Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf ·...
Procesamiento digital de señales Semana 4.
Convolución
Dra. María del Pilar Gómez Gil
Otoño 2017
Coordinación de computación
INAOE Versión: 12 de Septiembre 2017
(c) P.Gómez Gil, INAOE 2017 1
Tema Convolución
(tarea: leer los capítulo 6 y 7 del libro de texto)
Gran parte del material de esta presentación fue tomado de:
Smith, Steven The Scientist and Engineer's Guide to Digital Signal Processing W. , Second Edition, 1999, California Technical Publishing
Smith, Steven W. Digital Signal Processing. A Practical Guide for Engineers and Scientist. Amsterdam: Newnes, Elsevier Science. 2003. ISBN: 0-750674-44-X.
(c) P.Gómez Gil, INAOE 2017 2
Puntos importantes
O Función Delta
O Respuesta al impulso
O Definición de convolución
O Algoritmos de cálculo
(c) P.Gómez Gil, INAOE 2017 3
Definiciones
O Impulso
O Un punto diferente de cero, en una cadena de ceros
O Función delta ó impulso unitario
O Representada como:
O Es un impulso normalizado. La muestra en la posición cero vale 1 y todas las demás muestras valen cero.
(c) P.Gómez Gil, INAOE 2017 4
][n
Función delta
(c) P.Gómez Gil, INAOE 2017 5
rn
rnrn
0
1][
Representación de impulsos
O Cualquier impulso puede representarse
usando
O Ejemplo:
O Representa a un impulso con valor -3 en la
muestra No. 8
(c) P.Gómez Gil, INAOE 2017 6
][ rn
]8[3][ nna
(c) P.Gómez Gil, INAOE 2017 7
Respuesta al impulso
O Es la señal que sale de un sistema
cuando se aplica un impulso unitario
O Los sistemas pueden caracterizarse
(explicarse, definirse) en base a lo que
obtienen al recibir un impulso unitario
(c) P.Gómez Gil, INAOE 2017 8
)(n
Sistema Lineal ][n ][nh
][nh
Sistemas lineales y convolución
O Si conoces como se comporta un sistema cuando entra un impulso, puedes calcular su salida para cualquier entrada usando convolución
(c) P.Gómez Gil, INAOE 2017 9
Sistema Lineal
definido con
h[n] ][nx ][ny
][][][ nynhnx
Definición matemática del operador convolución (dominio discreto)
(c) P.Gómez Gil, INAOE 2017 10
..2 ,1 ,0 ,1,2,3...
para
][][][][][ 2121
n
mnxmxnxnxnym
Total de elementos generados: N+M-1, donde
N – longitud de x1
M – longitud de x2
Truco para calcular convolución “a mano”
1. Voltear uno de los operandos, digamos x2 , y escribirlo en otra hoja, lo llamaremos x2’ .
2. Alinear la primera posición de x1 con la última del x2’
3. Multiplicar los valores de x1 y x2’ donde coincidan; sumar las multiplicaciones . Este será el valor de la convolución en la posición donde inició la coincidencia.
4. Deslizar x2’ hacia la derecha
5. Repetir hasta que no existan mas valores que comparar.
(c) P.Gómez Gil, INAOE 2017 11
Ejemplo (1/2)
O Calcular
indica el
origen
(c) P.Gómez Gil, INAOE 2017 12
][][][ 21 nxnxny
}3,2,1{][1 nx
}1,1,1,2{][2 nx
Ejemplo (2/2)
{ 2,
1-4,
-1 +2 -6
-1 -2 +3
-2 -3
-3 } =
{ -2, -3, -5, 0, -5, -3}
(c) P.Gómez Gil, INAOE 2017 13
Convolución usando Matlab
O (tomado de Matlab, 2017a)
(c) P.Gómez Gil, INAOE 2017 14
% Small program to check convolution
% Signal Processing class
% P. Gomez Gil, Sept 10, 2017
% Example to try
x1 = [1 2 3];
x2 = [-2 1 -1 -1];
resultado = conv(x1,x2);
figure(1);
subplot(2,2,1);
stem(x1);
title('x1');
subplot(2,2,2);
stem(x2);
title('x2');
subplot(2,2,3);
stem(resultado);
title('x1*x2');
fprintf('the size of x1 is %d\n',length(x1));
fprintf('the size of x2 is %d\n',length(x2));
fprintf('the size of resultado is %d\n',length(resultado));
(c) P.Gómez Gil, INAOE 2017 15
programa
Ejemplo
(c) P.Gómez Gil, INAOE 2017 16
(c) P.Gómez Gil, INAOE 2017 17
Tomado de:
http://www.ece.utah.edu/~ece3500/
notes/class026_006.gif
Interesante….
1. La convolución con produce un
“corrimiento” o desplazamiento de la señal
2. El “eco” con una pared es una convolución
con un delta
3. El eco producido por un cañon es una
convolución con varios deltas
(c) P.Gómez Gil, INAOE 2017 18
][ 0nn
Ejemplo de un eco
(c) P.Gómez Gil, INAOE 2017 19
(Smith, 1999)
Propiedades de la convolución
O La función es la identidad de la
convolución
O La convolución amplifica/atenúa una señal
Si k<1 hay atenuación
Si k>1 se amplifica la señal
(c) P.Gómez Gil, INAOE 2017 20
][n
][][*][ nxnnx
][][*][ nkxnknx
Propiedades de la convolución
O La convolución produce corrimiento, dependiendo de
la dirección del corrimiento, puede ser un “retraso” o
un “avance”
O Propiedad conmutativa
O Propiedad asociativa
(c) P.Gómez Gil, INAOE 2017 21
][][*][ snxsnnx
][*][][*][ nanbnbna
][*][*][][*][*][ ncnbnancnbna
Primera diferencia de una señal discreta (1/2)
O Es equivalente a la primera derivada de una función
contínua
O Recordar que, en el caso continuo:
O Esa representación es “no causal”, pues no puedes
conocer “el futuro”
(c) P.Gómez Gil, INAOE 2017 22
)()1()(
1 si
)()(
0
lim)(
xfxfx
xf
x
x
xfxxf
xx
xf
Primera diferencia de una señal discreta (2/2)
O Una representación causal utiliza el valor
actual y el pasado de la señal.
O Entonces, la primera diferencia también se
puede definir como:
Lo cual sí es causal…..
(c) P.Gómez Gil, INAOE 2017 23
]1[][][ nxnxny
Respuesta al impulso de la primera diferencia
O h[n]= {-1,1}
(c) P.Gómez Gil, INAOE 2017 24
Fig. 7.2 (a) de (Smith, 1999)
Ejemplo
O Hallar la primera diferencia y[n] de:
x[n] = {1 4 7 2 3}
Se supone ceros antes y después de la señal
x[], entonces:
y[n] = {1 3 3 -5 1 -3}
(c) P.Gómez Gil, INAOE 2017 25
Ejecución del programa con la primera diferencia
(c) P.Gómez Gil, INAOE 2017 26
Primera diferencia de la señal x2
(c) P.Gómez Gil, INAOE 2017 27
Integración discreta
O Integración de una señal continua
O Integración de una señal discreta
(c) P.Gómez Gil, INAOE 2017 28
b
adttxty )()(
b
ai
ixny ][][
Respuesta al impulso de la integración discreta
(c) P.Gómez Gil, INAOE 2017 29
Integración discreta de x
(c) P.Gómez Gil, INAOE 2017 30
(c) P.Gómez Gil, INAOE 2017 31
La integral de una derivada es la función original
integración derivación
(c) P.Gómez Gil, INAOE 2017 32
(c) P.Gómez Gil, INAOE 2017 33
(c) P.Gómez Gil, INAOE 2017 34
(c) P.Gómez Gil, INAOE 2017 35
Propiedades de la convolución
O Propiedad distributiva
(c) P.Gómez Gil, INAOE 2017 36
][][*][][*][][*][ ncnbnancnanbna
Filtros
O Se pueden diseñar respuestas al impulso que, al convolucionarse con una señal, eliminan frecuencias específicas de éstas.
O Si se elimina mas allá de una frecuencia, se conoce como filtro “pasa-bajas”
O Si elimina frecuencias desde cero hasta un valor específico, se conoce como filtro “pasa-altas”
O A la respuesta al impulso de un filtro se le llama “kernel”
O El punto de corte de un filtro se determina haciendo mas ancho o mas angosto al kernel
(c) P.Gómez Gil, INAOE 2017 37
Filtros pasa-bajas
O Permiten suavizar una señal
O Ejemplos:
O Filtro exponencial – el filtro recursivo mas simple. Recursivo se refiere a que utiliza la salida anterior para calcular la nueva salida
O Pulso rectangular – reduce ruido pero mantiene la forma de los bordes
O Función sinc – separa bandas de frecuencia
O En teoría, algunos filtros deberían tener un número infinito de puntos, pero obviamente eso no puede representarse en una computadora. Entonces se usan algunos trucos para hacerlo
(c) P.Gómez Gil, INAOE 2017 38
(c) P.Gómez Gil, INAOE 2017 39 (Smith 1999)
Filtros pasa-altas
O Pueden diseñarse a través de diseñar un
filtro pasa bajas, y sustraer las frecuencias
bajas de todas las frecuencias presentes.
De esta manera quedarían solo las altas
O Una función delta es un filtro que deja
pasar todas las frecuencias, entonces:
Kernel pasa altas = delta – kernel pasa
bajas
(c) P.Gómez Gil, INAOE 2017 40
(c) P.Gómez Gil, INAOE 2017 41
Sistemas y propiedades de la convolución (1/2)
1. El eco es el resultado de convoluciones
2. La señal de entrada de un sistema y la
respuesta al impulso pueden
intercambiarse, sin cambiar la salida
3. Los sistemas conectados en cascada
pueden intercambiar su orden; dos o mas
sistemas conectados en cascada pueden
ser reemplazados por un sistema
(c) P.Gómez Gil, INAOE 2017 42
Sistemas y propiedades de la convolución (2/2)
4. Los sistemas paralelos con salidas que se suman se pueden reemplazar por un solo sistema
5. Sea x[n] la entrada a un sistema lineal que produce una salida y[n]. Sea x’[n] una nueva entrada que es una modificación lineal de x[n] y sea y’[n] la salida producida por x’[n]. y’[n] cambia exactamente con la misma modificación lineal que produjo x’[n]
(c) P.Gómez Gil, INAOE 2017 43
El teorema del límite central y la convolución
O La convolución de una señal repetidamente
consigo misma produce una salida
Gausiana con
(c) P.Gómez Gil, INAOE 2017 44
nesconvolucio de #N
Correlación (1/2)
O Es una operación entre dos señales, que
genera una tercera, y que permite detectar
si una señal ocurre (o es conocida) en otra.
O El resultado se conoce también como la
“correlación cruzada” de dos señales de
entrada.
O La correlación de una señal consigo misma
se llama “auto-correlación”.
(c) P.Gómez Gil, INAOE 2017 45
Correlación (2/2)
O La correlación se puede definir en términos
de la convolución como:
O La amplitud de cada muestra en la señal
generada por la correlación cruzada,
muestra cuánto se parece la señal de
entrada a la señal objetivo en ese punto
(c) P.Gómez Gil, INAOE 2017 46
][][][ nbnanc
Velocidad de cálculo de la convolución
O La convolución tiene un orden de
complejidad O(NxM)
O Para acelerar su ejecución:
1. Usar señales cortas con valores enteros
2. Usar un microprocesador que realice
operaciones-acumulaciones muy rápido
3. Usar un método de convolución basado en
FFT
(c) P.Gómez Gil, INAOE 2017 47