Está en la página 1de 47

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
Versión: 12 de Septiembre 2017
INAOE
(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:
 [n ]
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


Función delta

1 n  r
 [n  r ]  
0 n  r

(c) P.Gómez Gil, INAOE 2017 5


Representación de impulsos
O Cualquier impulso puede representarse
usando  [n  r ]
O Ejemplo:
a[n ]  3 [n  8]
O Representa a un impulso con valor -3 en la
muestra No. 8

(c) P.Gómez Gil, INAOE 2017 6


(c) P.Gómez Gil, INAOE 2017 7
Respuesta al impulso
O Es la señal h[n ] que sale de un sistema
cuando se aplica un impulso unitario  (n)
O Los sistemas pueden caracterizarse
(explicarse, definirse) en base a lo que
obtienen al recibir un impulso unitario

 [n ] Sistema Lineal h[n ]

(c) P.Gómez Gil, INAOE 2017 8


Sistemas lineales y
convolución
Sistema Lineal
x[n ] definido con y[n ]
h[n]

x[n ]  h[n ]  y[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
Definición matemática del operador
convolución (dominio discreto)


y[n ]  x1[n]  x2 [n ]   x [m ] x [n  m ]
m  
1 2

para
n  ...  3,2,1, 0, 1, 2.. 
Total de elementos generados: N+M-1, donde
N – longitud de x1
M – longitud de x2

(c) P.Gómez Gil, INAOE 2017 10


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

y[n]  x1[n]  x2 [n]

x1[n]  {1,2,3}
indica el
origen
x2 [n]  {2,1,1,1}

(c) P.Gómez Gil, INAOE 2017 12


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'); programa
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


Ejemplo

(c) P.Gómez Gil, INAOE 2017 16


Tomado de:
http://www.ece.utah.edu/~ece3500/
notes/class026_006.gif

(c) P.Gómez Gil, INAOE 2017 17


Interesante….

1. La convolución con [n  n0 ] 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


Ejemplo de un eco

(Smith, 1999)

(c) P.Gómez Gil, INAOE 2017 19


Propiedades de la convolución
O La función  [n ] es la identidad de la
convolución
x[n ] *  [n ]  x[n ]
O La convolución amplifica/atenúa una señal

x[n ] * k [n ]  kx[n ]

Si k<1 hay atenuación


Si k>1 se amplifica la señal
(c) P.Gómez Gil, INAOE 2017 20
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”
x[n ] *  [n  s ]  x[n  s ]
O Propiedad conmutativa

a[n ] * b[n ]  b[n ] * a[n ]


O Propiedad asociativa
a[n] * b[n]* c[n]  a[n] * b[n] * c[n]
(c) P.Gómez Gil, INAOE 2017 21
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:
f ( x ) lim f ( x  x )  f ( x )

x x  0 x
si x  1
f ( x )
 f ( x  1)  f ( x )
x
O Esa representación es “no causal”, pues no puedes
conocer “el futuro”
(c) P.Gómez Gil, INAOE 2017 22
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:

y[n ]  x[n ]  x[n  1]

Lo cual sí es causal…..

(c) P.Gómez Gil, INAOE 2017 23


Respuesta al impulso de la
primera diferencia
O h[n]= {-1,1}

Fig. 7.2 (a) de (Smith, 1999)


(c) P.Gómez Gil, INAOE 2017 24
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
b
y (t )   x (t )dt
a

O Integración de una señal discreta


b
y[n ]   x[i ]
i a

(c) P.Gómez Gil, INAOE 2017 28


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

derivación integració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

a[n] * b[n]  a[n] * c[n]  a[n] * b[n]  c[n]

(c) P.Gómez Gil, INAOE 2017 36


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 (Smith 1999) 39
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

  N # de convolucio nes

(c) P.Gómez Gil, INAOE 2017 44


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:

c[n ]  a[n ]  b[n ]


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


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

También podría gustarte