Está en la página 1de 16

5 Curso-Tratamiento Digital de Seal

Convolucin

17/11/99

Concepto y Definicin de Convolucin


Propiedades
Correlacin y Autocorrelacin
Convolucin Discreta

Captulo 2: Convolucin 1

5 Curso-Tratamiento Digital de Seal

Concepto y Definicin de Convolucin

Mediante la convolucin calcularemos la respuesta de un


sistema (y(t)) a una entrada arbitraria (x(t)).
Dos condiciones para realizar la convolucin:

Sistema LTI.
La respuesta al impulso del sistema es h(t).

Basndonos en el principio de superposicin y en que el


sistema es invariante en el tiempo:
Si L{( t )} = h( t ) L{K ( t t 0 )} = K h( t t 0 )

Una seal arbitraria de entrada x(t) puede expresarse como un


tren infinito de impulsos. Para ello, dividimos x(t) en tiras
rectangulares de anchura ts y altura x(k ts). Cada tira la
reemplazamos por un impulso cuya amplitud es el rea de la
tira : t s x ( kt s ) (t kt s )

17/11/99

Captulo 2: Convolucin 2

5 Curso-Tratamiento Digital de Seal

Concepto y Definicin de Convolucin


x(t)

t
ts
k =

La funcin xs(t) que aproxima x(t) es : xs ( t ) = ts x( kts ) ( t kts )


k =
x(t) es el lmite cuando ts d0, kts :
x( t ) = lim

ts 0

k =

t x( kt ) ( t kt
s

)=

k =

x ( ) ( t ) d

Y aplicando el principio de superposicin:


y( t ) = L{x (t )} = L x ( ) (t ) d = x( ) L{( t )} d = x( ) h( t ) d = x (t ) h(t )

17/11/99

Captulo 2: Convolucin 3

5 Curso-Tratamiento Digital de Seal

Concepto y Definicin de Convolucin

Mediante convolucin hemos sido capaces de determinar la


respuesta del sistema a una seal de entrada a partir de la
respuesta del sistema a una entrada impulso.
La funcin h(t) se define para t0 y decrece cuando t,
para la mayora de los sistemas fsicos. Por tanto,

17/11/99

La respuesta en t0 depende de los valores actual y pasados de la entrada


y de la respuesta al impulso.
Los valores ms recientes de x(t) son multiplicados por sus
correspondientes ms antiguos (y ms grandes) valores de h(t).

Captulo 2: Convolucin 4

5 Curso-Tratamiento Digital de Seal

Propiedades

Propiedades (se supone que x(t)*h(t)=y(t)):

[ x1 ( t ) + x2 ( t )] h( t ) = y1 ( t ) + y 2 ( t )
[K1 x1 ( t ) + K 2 x2 ( t )] h( t ) = K1 y1 ( t ) + K 2 y 2 ( t )
x( t ) h( t ) = y( t )
x( t ) h( t ) = y( t )
( t ) h( t ) = h( t )
x( t ) h ( t ) = x ( t ) h( t ) = y ( t )
x ( t ) h ( t ) = y ( t )
x m ( t ) h n ( t ) = y m+ n ( t )
x( t ) h( t ) =

17/11/99

1
y( t )

Captulo 2: Convolucin 5

5 Curso-Tratamiento Digital de Seal

Correlacin y Autocorrelacin

Correlacin: Es una operacin similar a la convolucin, con la


diferencia de que en la correlacin no hay que reflejar una
de las seales:
Rxy (t ) = x (t ) y(t ) =

x( ) y( t )d = x (t ) y( t )

Esta expresin nos indica que la relacin que existe entre la convolucin y
la correlacin.
La correlacin nos da una medida de la similitud entre dos seales. No
existe la propiedad conmutativa por lo que dadas dos seales x(t) e y(t) se
definen dos correlaciones:

Rxy ( t ) = x( t ) y( t ) =

x( ) y( t )d

Ryx ( t ) = y( t ) x( t ) =

y( )x( t )d

que slo coinciden en t=0 : Rxy(0)= Ryx(0)


17/11/99

Captulo 2: Convolucin 6

5 Curso-Tratamiento Digital de Seal

Correlacin y Autocorrelacin

La correlacin de una seal consigo misma se denomina


autocorrelacin:

Rxx ( t ) = x( t ) x( t ) =

x( )x( t )d

La autocorrelacin representa la simulitud entre una seal y su


desplazada. El mximo de autocorrelacin se obtiene cuando no hay
desplazamiento (t=0). La autocorrelacin es simtrica con respecto al
origen, ya que Rxx(t)=Rxx(-t).

17/11/99

Captulo 2: Convolucin 7

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta

Convolucin discreta :

Cuando se trata de hacer un procesamiento digital de seal no tiene


sentido hablar de convoluciones aplicando estrictamente la definicin ya
que slo disponemos de valores en instantes discretos de tiempo. Es
necesario, pues, una aproximacin numrica.
Para realizar la convolucin entre dos seales, se evaluar el rea de la
funcin x()h(t-). Para ello, disponemos de muestreos de ambas
seales en los instantes de tiempo nts , que llamaremos xs[k] y hs[n-k]
(donde n y k son enteros). El rea es, por tanto,
ys [n] =

k =

xs [k ]hs [n k ] =ts

x [k ]h [n k ]

k =

La convolucin discreta se define para un intervalo de muestreo ts=1 :


y[n] = x[n] h[n] =

17/11/99

x [k ]h [n k ]

k =

Captulo 2: Convolucin 8

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta
h[k]

-5

x[n-k]

-5

x[n-k]h[k]

-5

17/11/99

A veces es posible hacer una convolucin discreta analtica. Veamos un


ejemplo. Se trata de hacer la convolucin de una seal x[n]=nu[n+1] con
h[n]=a-nu[n], siendo a<1.

Captulo 2: Convolucin 9

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta
y[n] =

k u[k + 1] a

(nk )

u[n k ]

( n +1)

k =

k a

k =1

( n k )

=a

+a

ka

k =0

= a ( n +1) + a n (a + 2 a 2 + 3a 3 ++ na n )
= a ( n +1) + a n a (1 + 2 a + 3a 2 ++ na n 1 )
=a

17/11/99

( n +1)

a n +1
+
1 (n + 1)a n + na n +1 ]
2 [
(1 a)

En la prctica se trabaja con secuencias de longitud finita. Para hacer


la convolucin, una de las secuencias se refleja y se desplaza
sucesivamente. Veremos algunos mtodos para calcular la convolucin
a partir de dos secuencias.

Captulo 2: Convolucin 10

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta

Mtodo de la tira deslizante (Sliding Strip Method)

Sea h[n]={2,5,0,4}, x[n]={4,1,3}, ts=1/2. Las dos secuencias


comienzan en n=0.

Hacemos el reflejo de una de ellas, x[-n]={3,1,4}.


Alineamos las secuencias y las sumamos y desplazamos sucesivamente.
t=0
h
x




Suma=8
y s[ 0 ] = 8 = 4
t=3t s

h
x

17/11/99




Suma=31
y s[ 3 ] = 3 1 = 1 5 . 5

t=t s



Suma=22
y s[ 1 ] = 2 2 = 1 1
t=4t s



Suma=4
y s[ 4 ] = 4 = 2

t=2t s



Suma=11
y s[ 2 ] = 1 1 = 5 . 5
t=5t s



Suma=12
y s[ 5 ] = 1 2 = 6

Captulo 2: Convolucin 11

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta

La convolucin discreta y[n] es {8,22,11,31,4,12}. La convolucin


numrica es {4,11,5.5,15.5,2,6}.

Mtodo de las Suma por Columnas

Hacemos el mismo ejemplo. No es necesario reflejar una de las


secuencias.
n

h
x

2 5
4 1
8 20
2

17/11/99

0
3
0
5
6
8 22 11

16
0 4
15 0 12
31 4 12

y[n]={8,22,11,31,4,12}, n=0,1,2,...,5

Captulo 2: Convolucin 12

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta

Mtodo de la malla.
h[n]


8
22
11

20

16

1 x[n]

15

12

31

12

y[n]={8,22,11,31,4,12}, n=0,1,2,...,5

17/11/99

Captulo 2: Convolucin 13

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta

Propiedades sobre la duracin de la convolucin discreta.

El ndice del comienzo de la convolucin es la suma de los ndices de


comienzo de las respectivas seales. Si las dos seales comienzan en
n=n0 y n=n1, la convolucin comienza en n=n0+n1.
Para dos secuencias de duracin M y N, su convolucin se extiende
durante M+N-1 muestreos.

Propiedades de la convolucin discreta (x[n]*h[n]=y[n])


y[n] =

x[k ]h[n k ]

k =

[ Ax1 + Bx 2 ] h = y1 + y2
x[n] h[n ] = x[n ] h[n] = y[n ]
x[n ] h[n ] = y[n ]

17/11/99

Captulo 2: Convolucin 14

5 Curso-Tratamiento Digital de Seal

Convolucin Discreta

[ n] h[ n] = h[n]

h[ n] = [ n] h[n] = {u[ n] u[ n 1]} h[n] = yu [ n] yu [ n 1]


u[ n] x[ n] =

x[ k ]

k =

{x[n] x[n 1]} h[n] = y[n] y[n 1]


Correlacin discreta : Se definen de igual manera que en el
caso continuo, as como la autocorrelacin.

Rxy [n] =

x[k ]y[k n]

para n = 0,1,2,3,

k =

Ryx [n] =

y[k ]x[k n]

para n = 0,1,2,3,

k =

17/11/99

Captulo 2: Convolucin 15

5 Curso-Tratamiento Digital de Seal

Convolucin y Correlacin en MATLAB

MATLAB dispone de dos funciones para el clculo de convoluciones y


correlaciones.
>> y = conv(x,h)
Hace la convolucin de los vectores x y h. El vector resultante y
tiene un tamao igual a length(x)+length(h)-1
>> rxy = xcorr(x,y)
Hace la correlacin de los vectores de M elementos x e y. Devuelve
un vector de 2M-1 elementos.
>> rxx = xcorr(x)
Hace la autocorrelacin del vector x de M elementos. Devuelve un
vector de 2M-1 elementos.

17/11/99

Captulo 2: Convolucin 16

También podría gustarte