Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf ·...

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 INAOE Versión: 12 de Septiembre 2017 (c) P.Gómez Gil, INAOE 2017 1

Transcript of Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf ·...

Page 1: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 2: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 3: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 4: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 5: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Función delta

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

rn

rnrn

0

1][

Page 6: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 7: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 8: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 9: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 10: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 11: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 12: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 13: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 14: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Convolución usando Matlab

O (tomado de Matlab, 2017a)

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

Page 15: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

% 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

Page 16: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Ejemplo

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

Page 17: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Tomado de:

http://www.ece.utah.edu/~ece3500/

notes/class026_006.gif

Page 18: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 19: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Ejemplo de un eco

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

(Smith, 1999)

Page 20: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 21: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 22: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 23: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 24: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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)

Page 25: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 26: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Ejecución del programa con la primera diferencia

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

Page 27: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Primera diferencia de la señal x2

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

Page 28: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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 ][][

Page 29: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Respuesta al impulso de la integración discreta

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

Page 30: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Integración discreta de x

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

Page 31: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 32: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

La integral de una derivada es la función original

integración derivación

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

Page 33: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 34: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 35: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 36: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

Propiedades de la convolución

O Propiedad distributiva

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

][][*][][*][][*][ ncnbnancnanbna

Page 37: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 38: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 39: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

(c) P.Gómez Gil, INAOE 2017 39 (Smith 1999)

Page 40: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 41: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 42: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 43: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 44: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 45: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 46: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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

Page 47: Procesamiento digital de señales - INAOEccc.inaoep.mx/~pgomez/cursos/pds/slides/S4-Conv.pdf · Filtros pasa-bajas O Permiten suavizar una señal O Ejemplos: O Filtro exponencial

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