You are on page 1of 28

Anlisis de Seales en Geofsica

9 Clase
Filtros Inversos y Deconvolucin

Facultad de Ciencias Astronmicas y Geofsicas,


Universidad Nacional de La Plata, Argentina

Filtros Inversos y Deconvolucin


xn

Instrumento
yn xn * hn
hn
yn xn * hn

yn * hn1 xn * hn * hn1 xn * n xn
hn * hn1 n
xn : seal que queremos resgistrar
hn : respuesta impulsiva del instrumento
yn : seal registrada
hn1 : operador inverso de hn
Filtros Inversos y
Deconvolucin

Inversas exactas utilizando TDF


Convolucionar en el dominio del tiempo es equivalente a multiplicar en el dominio de
las frecuencias. Es decir, que para remover el efecto de la convolucin deberamos
dividir en el dominio de las frecuencias.
Dado un operador de convolucin en tiempo f n queremos hallar el operador inverso f n1 ,
tal que:

f n * f n1 n

Tomamos TDF:

Fk Fk1 1
Si Fk Fk eik Fk1

1
e ik
Fk

El filtro inverso f n1 est dado por:


f n1 TDF 1 Fk1
Si algn Fk 0 f k1
Este razonamiento est basado en el teorema de convolucin de la TDF, el cual slo es
vlido para convolucin circular. En aquellas situaciones en las que el tipo de convolucin
involucrada es la circular, es posible encontrar la inversa exacta por medio de la TDF.
Esto no es vlido para convolucin lineal.
Filtros Inversos y
Deconvolucin

Inversas exactas utilizando TDF


Si convolucionamos una secuencia peridica con otra secuencia que no es peridica,
el resultado del producto de convolucin tambin es peridico y la inversa puede
encontrarse por medio de la TDF. Si la secuencia peridica tiene un perodo mayor
que la longitud de la seal no peridica, debemos agregar ceros a la secuencia no
peridica hasta alcanzar el perodo de la secuencia peridica, luego de hacer esto es
posible invertir en forma exacta cualquiera de las dos secuencias. Si la secuencia
peridica tiene un perodo menor que la longitud de la secuencia no peridica, debemos
repetir la secuencia peridica hasta alcanzar la longitud de la secuencia no peridica,
pero en esta situacin la secuencia peridica no puede ser invertida ya que tendr
elementos nulos en el dominio de las frecuencias, porque repetir una secuencia en el
dominio del tiempo es equivalente a entrelazar ceros en el dominio de las frecuencias,
y si tiene elementos nulos en el dominio de las frecuencias no puede ser invertida.
El problema de deconvolucin con al menos una de las secuencias peridicas, son casos
afortunados en los cuales pueden calcularse inversas exactas por medio de la TDF.
Filtros Inversos y
Deconvolucin

Deconvolucin Lineal
Cuando ninguna de las dos secuencias convolucionadas son peridicas, el problema de
deconvolucin no admite una solucin exacta, solo admite soluciones aproximadas.
Podemos utilizar la TDF para emular la convolucin lineal agregando ceros al final de
las secuencias, pero como el operador inverso es siempre de longitud infinita deberamos
agregar una inmensa cantidad de ceros, tantos ms cuanto ms tarde el operador inverso
en converger. Pero al aplicar la transformada inversa para obtener el operador inverso,
inevitablemente siempre se producir aliasing en tiempo.
Si el operador que queremos invertir no es de fase mnima, el operador inverso ser no
causal, por lo tanto no solo deberemos agregar ceros al final de la secuencia sino tambin
delante de ella, para darle lugar a la componente anticipatoria.
Cuanto mayor sea la cantidad de ceros que agreguemos ms se aproximar la inversa
obtenida con la TDF a la inversa obtenida por medio de la serie geomtrica que vimos al
estudiar la transformada Z, si no agrego ceros o agrego pocos ceros estas inversas sern
totalmente diferentes.
Filtros Inversos y
Deconvolucin

Deconvolucin Lineal
Veamos que la precisin del operador inverso est limitada adems por otras razones.
La convolucin de un operador f n de longitud 3 y una secuencia xn de longitud 5 se
puede expresar matricialmente de la siguiente manera:
0
y0

0
y1
x0 f 0 y2

x1 . f1 y3
x2 f3 y4

x3
y5
y
x4
6
Supongamos que la secuencia yn y el operador f n son conocidos y que deseamos
x0

x1
x2

x3
x4

0
0

0
x0
x1
x2
x3
x4
0

deconvolucionar f n para obtener la secuencia xn . Tenemos 7 ecuaciones y 5 incgnitas,


es decir que es posible resolver el problema. En el caso de convolucin circular los
ceros son reemplazados por elementos repetidos de la misma secuencia.

Filtros Inversos y
Deconvolucin

Deconvolucin Lineal
En la mayora de los problemas en los que se encuentra involucrada la convolucin
lineal debemos reemplazar los ceros de los extremos por informacin desconocida:
x0

x1
x2

x3
x4

x5
x
6

x1
x0
x1
x2
x3
x4
x5

x2
y0

x1
y1
x0 f 0 y2

x1 . f1 y3
x2 f3 y4

x3
y5
y
x4
6

Es decir que tendremos 7 ecuaciones con 9 incgnitas, por lo tanto el problema no


puede ser resuelto.
Filtros Inversos y
Deconvolucin

Filtro Wiener
Dada una secuencia xn de longitud M , queremos disear un operador f n de longitud
N que al convolucionarlo con xn nos d una salida deseada d n de longitud N M 1,
la salida real del filtro no ser exactamente la deseada sino que ser yn d n :
dn
xn

fn

yn xn * f n

Queremos que el operador f n sea ptimo en el sentido de los cuadrados mnimos, para
ello planteamos la siguiente funcin objetiva a minimimzar:

( fn )

N M 2

d k yk

mnimo

k 0

N 1

yk f j xk j

k 0, N M 2

j 0

( fn )
Filtros Inversos y
Deconvolucin

N M 2

k 0

N 1

f
x
k j k j mnimo
j 0

Filtro Wiener
( fn )

N M 2

k 0

f
x
k j k j mnimo
j 0

N 1

Derivamos respecto de los coeficientes fi del filtro:


N 1

N M 2
2 . d k f j xk j .xk i 0
fi
k 0
j 0

N M 2

d k xk i

N 1

M N 2

k 0

f
j 0

Filtros Inversos y
Deconvolucin

k 0

N M 2 N 1

f x
k 0

j 0

xk j xk i

j k j k i

M N 2

k 0

d k xk i

i 0, N 1

i 0, N 1

i 0, N 1
9

Filtro Wiener
N 1

M N 2

f
j 0

N M 2

k 0

N M 2

k 0

k 0

xk j xk i

M N 2

k 0

i 0, N 1

d k xk i

d k xk i dx (i ) xd (i )

xk j xk i

N M 2 j

l j

xl xl j i

M 1

xx
l 0

l l j i

xx ( j i )

Hacemos el cambio de variables l k j , y teniendo en cuenta que: xl 0 para l 0,


y xl 0 para l M 1. Finalmente reemplazando obtenemos el siguiente sistema de
ecuaciones:
N 1

j 0

Filtros Inversos y
Deconvolucin

xx

( j i ) f j xd (i )

i 0, N 1
10

Filtro Wiener
N 1

j 0

xx

( j i ) f j xd (i )

i 0, N 1

Esto mismo expresado matricialmente nos queda:

xx (1)
xx (2)
xx (0)

xx (0)
xx (1)
xx (1)
xx (2)
xx (1)
xx (0)

(1 N ) (2 N ) (3 N )
xx
xx
xx

xx ( N 1) f 0 xd (0)
xx ( N 2) f1 xd (1)
xx ( N 3) . f 2 xd (2)

xx (0)

f
N 1

( N 1)
xd

xx f xd
Donde xx es la matriz de autocorrelacin de la secuencia xn , el vector columna f contiene
los elementos del operador f n y xd es el vector de correlacin cruzada entre la entrada xn y
la salida deseada d n . Este sistema recibe el nombre de sistema de ecuaciones normales.
Filtros Inversos y
Deconvolucin

11

Filtro Wiener
El operador f n es conocido como filtro Wiener en honor a Norbet Wiener, famoso
matemtico del MIT. Minimizar la norma L2 es totalmente arbitrario , podramos haber
minimizado la norma L1 o haber propuesto cualquier otro criterio de optimizacin como
por ejemplo el de Chebyshev o minimax, sin embargo la norma L2 es muy conveniente
porque nos da una solucin simple y fcil de obtener. Desde el punto de vista estadstico
minimizar la norma L2 es equivalente a considerar que los errores

d n yn tienen una

distribucin normal o Gaussiana. Si la secuencia xn es real la autocorrelacin es una


funcin par y la matriz de autocorrelacin es simtrica. Observe que los elementos
ubicados en la misma diagonal de la matriz de autocorrelacin son iguales, una matriz
con esta estructura es denominada matriz de Toeplitz. Cuando N es grande es posible
resolver este sistema de ecuaciones con una matriz de Toeplitz utilizando el algoritmo
de Levinson. Este algoritmo recursivo explota la simetra de la matriz de Toeplitz para
encontrar la solucin de manera sumamente eficiente tanto en tiempo como en el uso de
memoria, sin invertir la matriz.
Filtros Inversos y
Deconvolucin

12

Filtro Wiener
El filtro Wiener se puede deducir utilizando lgebra matricial de la siguient manera:
Xf d

2
2

mnimo

Donde X es la matriz de convolucin de la secuencia xn , f es un vector columna que


contiene lo elementos del filtro Wiener y d es un vector columna que contiene la
salida deseada d n . Derivamos respecto de f :

2
Xf d 2 0
f
2 X T Xf d 0
X T Xf X T d 0
X T Xf X T d
f X T X X T d xx1 xd
1

Donde X T X xx es la matriz de autocorrelacin de xn y X T d xd es el vector de


correlacin cruzada entre xn y la salida deseada d n .
Filtros Inversos y
Deconvolucin

13

Filtro Wiener Inverso


Cuando la salida deseada de un filtro Wiener es un impulso unitario, hablamos de filtro
Wiener inverso. Es decir, obtendremos un filtro inverso de longitud finita N que ser
ptimo en el sentido de los cuadrados mnimos. Un filtro inverso con estas caractersticas
har un mejor trabajo que el filtro inverso de longitud infinita pero truncado a la misma
longitud N . Es decir que la suma de los errores al cuadrado ser menor en el caso del filtro
Wiener inverso que en el caso del filtro inverso truncado a la misma longitud.
Sin embargo para obtener el menor error cuadrtico posible hay que cambiar el retardo
del impulso unitario segn la fase de la entrada xn :
fase mnima d n n
fase cero

dn

fase mxima d n
fase mixta

N M 1
n

n N M 1

dn n ?

Cul es el retardo ptimo?

Si la entrada es de fase mixta debemos retardar el impulso unitario en funcin de qu parte


del filtro inverso converge ms rpidamente, si la parte causal o la parte anticausal.

Filtros Inversos y
Deconvolucin

14

Modelo de Convolucin
de la Traza Ssmica
El modelo de convolucin de la traza ssmica es una idealizacin que nos permite
representar una traza ssmica xt como la convolucin entre una ondcula wt o firma
de la fuente, con una funcin de reflectividad rt , ms ruido blanco nt :
xt wt * rt nt
Las hiptesis que se hacen al proponer este modelo de convolucin son las siguientes:
- El subsuelo est constituido por capas horizontales, planas y paralelas de velocidad
constante en cada una de ellas. Es decir, no existen variaciones laterales de velocidad,
la velocidad solamente vara con la profundidad.
- La fuente genera una onda compresiva plana, que se propaga en la direccin vertical
y que incide normalmente a las superficies de discontinuidad. Bajo estas circunstancias
no se generan ondas de corte ni existe divergencia geomtrica. La reflectividad ser la
correspondiente a incidencia normal:
v i vi
ri i 1 i 1
i 1vi 1 i vi
- La ondcula no cambia su forma ni su energa a medida que se propaga por el subsuelo.
Es decir la ondcula es estacionaria. No se considera ningn tipo de atenuacin anelstica.
Filtros Inversos y
Deconvolucin

15

Aplicacin del Filtro Wiener al Modelo


de Convolucin de la Traza Ssmica
Queremos disear un filtro Wiener inverso que convierta una ondcula de fase mnima
en un impulso unitario a lag cero, es decir:

f Wf

2
2

mnimo

Sabemos que el filtro Wiener inverso que intentar hacer este trabajo, est dado por:
f W TW W T ww1 w
1

En el lenguaje de exploracin ssmica a esta deconvolucin se la denomina deconvolucin


impulsiva de fase mnima (minimum phase spiking deconvolution).
Al aplicar el operador f a la traza ssmica lograremos remover parcialmente el efecto de
la ondcula y que la traza ssmica se parezca un poco ms a la reflectividad. En realidad
lo que lograremos ser colapsar la ondcula, es decir, reemplazarla por una ondcula ms
corta y as mejorar la resolucin ssmica, pero no lograremos remover completamente a la
ondcula y recuperar la reflectividad.
Filtros Inversos y
Deconvolucin

16

Regularizacin de Tikonov
El espectro de amplitud del operador de deconvolucin es aproximadamente el inverso
del espectro de amplitud de la ondcula. Si el espectro de amplitud de la ondcula se
hace cero para alguna frecuencia, el espectro de amplitud del operador de deconvolucin
tender a infinito para esa frecuencia. Cuando esto sucede la matriz de autocorrelacin
de la ondcula ww es una matriz singular que no admite inversa. Para evitar este
problema y estabilizar la solucin debemos introducir un trmino de regularizacin en
la funcin objetiva a minimizar, lo cual es equivalente a sumarle ruido blanco no
correlacionable a la ondcula o a la traza ssmica.
Existen diferentes criterios por los que se puede optar a la hora de elegir la regularizacin
que estabiliza a la solucin. El tipo de regularizacin que utilizaremos es conocido como
regularizacin de Tikonov y consiste en agregar el siguiente trmino a la funcin
objetiva a minimizar:

( f ) Wf 2 f
2

Filtros Inversos y
Deconvolucin

2
2

mnimo
17

Regularizacin de Tikonov
( f ) Wf 2 If
2

Wf
f

If
2

2
2
2
2

mnimo

2W T Wf d 2 If 0

W I f W Td 0

f W W I W T d
1

Buscamos un operador que trate de invertir la ondcula pero que a la vez tenga una
norma L2 pequea. El parmetro tendr el papel de un rbitro que equilibra la
balanza entre resolucin (colapso de la ondcula) y estabilidad. En exploracin
ssmica se expresa como un porcentaje de la autocorrelacin de la ondcula a
lag cero:
(0)
ww

El parmetro recibe el nombre de parmetro de preblanqueo porque produce el


mismo efecto que sumarle ruido blanco no correlacionable a la ondcula.
Filtros Inversos y
Deconvolucin

18

Estabilidad

Regularizacin de Tikonov
grande

Soluciones ptimas
pequeo

Resolucin

Filtros Inversos y
Deconvolucin

19

Deconvolucin Estadstica
Cuando conocemos la ondcula presente en la traza ssmica podemos calcular su
autocorrelacion y en este caso hablamos de deconvolucin determinstica. Sin
embargo, la mayora de las veces no conocemos la ondcula y debemos estimar
su autocorrelacin mediante la autocorrelacin de la traza ssmica, haciendo la
hiptesis de que la reflectividad es una seal aleatoria no correlacionable.
Segn el modelo de convolucin de la traza ssmica:
xt w * rt nt
Si tomamos la autocorrelacin tenemos:

xx ( ) rr ( ) * ww ( ) nn ( )
xx ( ) rr (0) ( ) * ww ( ) nn (0) ( )
xx ( ) rr (0)ww ( ) nn (0) ( )
Es decir que bajo esta hiptesis, la cual no es totalmente cierta, la autocorrelacin
de la traza ssmica es igual a la autocorrelacin de la ondcula salvo un factor de
escala rr (0) ms la autocorrelacin de ruido blanco no correlacionable.
Filtros Inversos y
Deconvolucin

20

Filtros Predictivos
Queremos disear un filtro Wiener f n de longitud N que cuando lo apliquemos a una
secuencia nos permita predecir el valor siguiente de la secuencia:
f 0 xn f1 xn 1 f 2 xn 2 f3 xn 3

f n 1 xn ( N 1) xn 1

O expresado matricialmente:
x0

x1
x2

x3
x4

0
x0
x1
x2
x3

0
0
x0
x1
x2

0
0
0
x0
x1

0
0
0
0
x0

x1

x2
x
3
x4
x
f N 1 5

f0
f1
f2

Es decir que queremos disear un filtro Wiener que al aplicarlo a una secuencia, la
salida deseada sea la misma secuencia pero adelantada en una muestra.
Filtros Inversos y
Deconvolucin

21

Filtros Predictivos
Sabemos que el filtro Wiener buscado est dado por el siguiente sistema de ecuaciones:
xx (1)
xx (2)
xx ( N 1) f 0 xx (1)
xx (0)

(1)

(0)

(1)

(
N

2)
f

(2)
xx
xx
xx
xx
1
xx

xx (2)
xx (1)
xx (0)
xx ( N 3) f 2 xx (3)

( N 1) ( N 2) ( N 3)

xx (0)
xx
xx
xx
f N 1 xx ( N 1)
Si la secuencia xn es lo suficientemente predecible, el operador f n nos permitir obtener cada
valor de la serie como una combinacin lineal de los N valores anteriores. Que esto sea posible
o no, depender de cuan determinstica sea la secuencia xn en comparacin con sus componentes
aleatorias. Por ejemplo, la secuencia xn exp(i0 n) es completamente determinstica y podremos
predecirla perfectamente con un operador de longitud dos, xn 2cos(0 ) xn 1 xn 2 por el contrario
si xn tiene una componente aleatoria muy importante, la prediccin que podamos hacer con este
operador ser muy poco confiable. A todas la secuencias con igual autocorrelacin les corresponder
el mismo operador predictivo, el cual slo podr predecir adecuadamente a la de fase mnima.
Filtros Inversos y
Deconvolucin

22

Filtros Predictivos de la
componente aleatoria
Vamos a ampliar la matriz teniendo en cuenta que los elementos de una matriz pueden
ser matrices tambin, escribamos una matriz en bloques de 2 2:
x0 0 0 0 0 0
1 x0

f
x
x
0
0
0
0
0
1
0

0
x2 x1 x0 0 0 0
f1 0

f
x
x
x
x
0
0
2 0
2
1
0
3

x4 x3 x2 x1 x0 0
f3 0

x
x
x
x
x
x
0
5

4
3
2
1
0

f 0

N 1
Es posible verificar que esta matriz es correcta escribiendo algunas ecuaciones del
sistema, en general tendremos:
xn 1 xn f 0 xn 1 f1 xn 2 f n 2 xn ( N 1) f N 1 0
Si pasamos los trminos que estn restando al segundo miembro, nos queda la misma
ecuacin de prediccin que planteamos inicialmente.
Filtros Inversos y
Deconvolucin

23

Filtros Predictivos de la
componente aleatoria
xn 1 xn f 0 xn 1 f1 xn 2 f n 2

xn ( N 1) f N 1 xn * f npef 0

f npef 1, f 0 , f1 , f 2 , f 3 ,

, f N 1

Este operador en vez de predecir el valor siguiente de la secuencia, predice la


diferencia en el valor original y el valor estimado con el filtro predictivo. Es
decir, est prediciendo la componente aleatoria de la seal. Este operador es
denominado prediction error filter o filtro predictivo del error.
Si planteamos el sistema de ecuaciones normales de este filtro, tendremos:

xx (1)
xx (2)
xx (0)

xx (0)
xx (1)
xx (1)
xx (2)
xx (1)
xx (0)

( N 1) ( N 2) ( N 3)
xx
xx
xx
Filtros Inversos y
Deconvolucin

xx ( N 1) 1 x02

xx ( N 2)

f
0
0

xx ( N 3) f1 0
xx (0)

f
N 1



0

24

Deconvolucin Predictiva
Podemos ver que el sistema de ecuaciones normales del filtro predictivo del error es igual
al sistema de ecuaciones normales del filtro de deconvolucin impulsiva de fase mnima,
salvo por un factor de escala x0 de la salida deseada. El operador f npef ser igual al operador
de deconvolucin impulsiva salvo un factor de escala, este operador har un buen trabajo
si la secuencia xn es de fase mnima, si ese no es el caso tendremos que disear operadores
no causales. Si al disear el operador predictivo f n , en vez de que la salida deseada sea la
entrada adelantada en una muestra, hacemos que sea la entrada adelantada en M muestras,
y luego al operador predictivo del error le ponemos detrs del 1 inicial M 1 ceros:
f npef 1,0,0,0,

,0, f 0 , f1 , f 2 ,

, f N 1

M 1 ceros

Obtenemos lo que se denomina un gapped prediction error filter. En el lenguaje de exploracin


ssmica, este es un operador de deconvolucin predictiva y se utiliza para atenuar reflexiones
mltiples que se presentan M muestras despus de la reflexin primaria.
Filtros Inversos y
Deconvolucin

25

Filtro Correlador
Queremos encontrar un operador que nos diga cundo encuentra determinada seal
que se encuentra sumergida en ruido. Cuando exista un solapamieto completo entre
el filtro y la seal oculta queremos maximizar la salida del filtro, lo cual nos indicar
la presencia de la seal. Claramente la longitud del operador debe ser igual a la
longitud de la seal que estamos buscando. La convolucin de la seal
sn s0 , s1 , s2 ,

, sN 1 de longitud N con el filtro f n f 0 , f1 , f 2 ,

, f N 1 , tambin de

longitud N , ser de longitud 2 N 1. Definimos la relacin seal ruido de la seal de


salida como:
potencia instantnea de salida cuando slo la seal est presente en la entrada

potencia de salida cuando slo ruido est presente en la entrada


Se puede demostrar que esta relacin seal ruido ser igual a:
2

s
f
n j j
donde ij es la autocorrelacin del ruido
j

ij fi f j en el cual se encuentra sumergida la seal.

Filtros Inversos y
Deconvolucin

i, j

26

Filtro Correlador
Para encontrar el filtro que maximiza tomamos las derivadas con respecto a los
coeficientes del filtro:

0
f k
Lo cual nos conduce a la siguiente solucin:
ik fi sN k
i

Si la escribimos en forma matricial:


N 1 f 0 sN 1
0

0 f N 1 s0
N 1
Si el ruido es blanco la matriz de autocorrelacin del ruido se aproxima a la matriz identidad,
en estas condiciones el filtro que estamos buscando no es ms que la seal revertida. Pero
convolucionar con la seal revertida es lo mismo que correlacionar con la seal sin revertir.
Es decir que la operacin que buscamos no es ms que la correlacin cruzada con la seal
que queremos detectar. Este tipo de filtro se llama filtro correlador.
Filtros Inversos y
Deconvolucin

27

Bibliografa:
Karl, John H. (1989), An introduction to Digital Signal
Processing, Academic Press, Chapter Nine.
Yilmaz, O. (1987), Seismic Data Processing, Volume 2
of Investigations in Geophysics. SEG
Hatton, L., Worthington, M.H. and Makin, J. (1986),
Seismic Data Processing: Theory and Practice,
Blackwell Scientific Publications.

Filtros Inversos y
Deconvolucin

28

You might also like