Filtrado Optimo
Filtrado Optimo
Filtrado Optimo
I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Indice
1
Introduccion
2 Filtro de Wiener
3
Algoritmo Maximo Descenso
4 LMS
5 Aplicaciones
6 Extensiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Introduccion
Filtrado optimo (filtro de Wiener)
1 A partir de una entrada, x[n], consideramos el problema de como
un filtro FIR cuya salida se aproxime a una senal
disenar deseada,
d[n]
2 Hacemos un formulacion estocastica:
El objetivo es minimizar el
error cuadratico medio (MSE) entre la senal deseada y la salida
del filtro
3
El filtro optimo se calcula resolviendo las ecuaciones normales
son necesarios los estadsticos de segundo orden): solucion
(solo
bloque o batch
Filtrado adaptativo
1 Algoritmos que actualizan los coeficientes del filtro con cada nueva
de d[n] (operan muestra a muestra)
observacion
2 popular es el algoritmo Least Mean Square (LMS)
El mas
3
Permiten adaptarse a cambios en la estadstica de las senales
involucradas (e.g, senales no estacionarias)
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Indice
1
Introduccion
2 Filtro de Wiener
3
Algoritmo Maximo Descenso
4 LMS
5 Aplicaciones
6 Extensiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Entrada Brown
of ino
Salida form a
x[n] W ( z) y[n] some
though
ment
famou
pulted
Filtro de Wiener physic
posed
the ex
Los coeficientes del filtro W (z) se served
tion b
calculan para minimizar la tions.1
Bec
varianza (potencia) del error Newto
the nu
stein a
that th
Minimizar E (e[n])2
ian pa
That is
lows t
at each
of vie
throw
canno
tion an
tion; t
enter a
tion, th
Filtro optimo
Referencia
d [ n]
+ Error
e[n]
Entrada
Salida
x[n] W ( z) y[n]
W (z) = w0 + w1 z 1 + w2 z 2 + . . . + wM 1 z M +1
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
que
Tenga en cuenta tambien
y[n] = wT xn = xTn w
de coste a minimizar es
La funcion
h 2 i
J(w) = E (e[n])2 = E d[n] wT xn
=
h 2 i
E (d[n])2 + wT xn 2(wT xn )d[n] = d2 +wT E xn xTn w2wT E [xn d[n]]
El termino E xn xTn es
x[n]
x[n 1]
E xn xTn = E
x[n] x[n 1] ... x[n M + 1]
...
x[n M + 1]
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Es decir,
E xn xTn = Rx
de coste
Funcion
J(w) = d2 + wT Rx w 2wT p
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
T
En el caso de un filtro con dos coeficientes w = [w0 , w1 ] la
de coste queda
funcion
rx [0] rx [1] w0 rxd [0]
d2 +
J(w0 , w1 ) = w0 w1 2 w0 w1 =
rx [1] rx [0] w1 rxd [1]
= d2 + w02 + w12 rx [0] + 2w0 w1 rx [1] 2w0 rxd [0] 2w1 rxd [1]
que es un paraboloide
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
J(w) = 2Rx w 2p = 0 = Rx w = p
Filtro de Wiener
wopt = R1
x p
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
J(w) = d2 + wT Rx w 2wT p
Jmin = d2 + wopt
T T
Rx wopt 2wopt p
MSE min
Jmin = d2 wopt
T
p
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
de ruido
Ejemplo: eliminacion
Referencia
d [ n]
+ Error
e[n]
Entrada
Salida
d [ n ] + r[ n ] W ( z) y[n]
Rx = Rd + Rn
T
p = rd [0] rd [1] . . . rd [M 1] = rd
1
w = (Rd + Rn ) rd
Cuando M , el filtro de Wiener en el dominio de la
frecuencia en este caso queda
Sd ()
W () =
Sd () + Sn ()
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
es la autocorelacion
Cual de la entrada?
1 1
+ 2
2 2 cos(0 )
Rx = 1 1 2
2 cos(0 ) 2 +
es el vector de correlacion
Cual cruzada?
0
p=
sin(0 )
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
El filtro de Wiener es
wopt = R1
x p
1 2
12 cos(0 )
1 2 + 0
wopt =
1/4 + 4 + 2 1/4 cos(0 )2 21 cos(0 ) 1
2 +
2
sin(0 )
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Principio de ortogonalidad
El filtro de Wiener se puede derivar, alternativamente, a traves
del principio de ortogonalidad
T
xn = [x[n], x[n 1], . . . , x[n M + 1]]
Principio de ortogonalidad
E [xn e[n]] = 0
E xn (d[n] xTn w) = 0
= Rx w = p
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
En resumen
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Indice
1
Introduccion
2 Filtro de Wiener
3
Algoritmo Maximo Descenso
4 LMS
5 Aplicaciones
6 Extensiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
El algoritmo de maximo descenso
Antes de estudiar el principal algoritmo adaptativo (LMS) vamos
a plantear una forma iterativa de resolver las ecuaciones
normales
Esta tecnica
se conoce como el metodo
o algoritmo de maximo
descenso (steepest descent)
Recordemos otra vez que la funcion de coste a minimizar es
J(w) = d2 + wT Rx w 2wT p
y su derivada (gradiente) con respecto a w es (eliminando el
factor de escala 2)
J(w) = Rx w p
particularizado en un punto w(n)
El gradiente de una funcion
de maximo
indica la direccion en ese
incremento de la funcion
punto
Una forma de minimizar la funcion de coste es moverse en la
contraria al gradiente
direccion
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Maximo descenso
w(n + 1) = w(n) J(w) = w(n) + (p Rx w(n))
w(0)
J ( w) |w= w(0)
w(1)
J ( w) |w= w(1)
w(2)
J ( w) |w= w(2)
wopt
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Rx w(n) = p
y, por lo tanto, el algoritmo se detiene cuando alcanza la solucion
de Wiener
Para asegurar la convergencia hay que elegir un valor de
suficientemente pequeno
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Convergencia
Convergencia del algoritmo de maximo descenso
El algoritmo de maximo de Wiener si el
descenso converge a la solucion
parametro del algoritmo cumple
2
0
max
donde max es el maximo autovalor de la matriz Rx
Autovalores y autovectores
Rx puede decomponerse (diagonalizarse)
La matriz de autocorrelacion
como
M
X
Rx = i qi qTi = QDQT
i=1
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
BAJO ALTO
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
0.8
r = 0.5 0
w1 0.76
0.74
0 10 20 30 0 10 20 30
0.6
0.86
w0 0.84
= 1.7 / max
0.4
0.82
0.2
w1 0.8
J (n)
r = 0.5 0 0.78
0.76
-0.2
0 10 20 30 0.74
0 10 20 30
1 0.24
= 1 / max 0.8
w0
0.23
0.6 0.22
J (n)
r = 0.9 0.4
0.2 w1 0.21
0.2
0
0 10 20 30 0.19
0 10 20 30
Iterations Iterations
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Indice
1
Introduccion
2 Filtro de Wiener
3
Algoritmo Maximo Descenso
4 LMS
5 Aplicaciones
6 Extensiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
El algoritmo de maximo descenso es una forma iterativa de
resolver las ecuaciones normales (o un sistema cualquiera de
ecuaciones lineales), pero NO es un algoritmo adaptativo
Notese
que el algoritmo de maximo descenso requiere conocer
o estimar Rx y p para calcular el gradiente en un punto w(n)
J(w) = Rx w(n) p
Como disponemos de xn
podemos estimar Rx y p cuando solo
y de d[n]?
J(w)
d = xn xTn w(n) xn d[n]
que puede interpretarse como una estima instantanea del
gradiente
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
El gradiente instantaneo puede reescribirse como
J(w)
d = xn y[n] xn d[n] = xn (y[n] d[n]) = e[n]xn
es decir, J(w)=-error
d dato
LMS
fundamental del LMS es, entonces
La ecuacion
Ventajas:
Nos precisa conocer los estadsticos de la senal
Permite seguir cambios en las senales involucradas (tracking)
implementacion y baja carga computacional (M + 1
Facil
multiplicaciones y M 1 sumas por cada iteracion del algoritmo en
el caso de senales reales)
Inconvenientes:
La estima del gradiente es ruidosa
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Algoritmo LMS
Inicializar w(0)
For n = 0, . . .
e(n) = d(n) w(n)T xn
w(n + 1) = w(n) + e[n]xn
end
lm E [w(n)] = wopt
n
restrictiva)
y en MSE (mas
LMS vs. maximo descenso
En el metodo
de maximo descenso los coeficientes describen
de Wiener
una trayectoria (determinista) que acaba en la solucion
J (n)
J min Solucin
de Wiener
En el LMS describen un movimiento aleatorio alrededor de la
de Wiener
solucion
J (n)
J ()
J min
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Ruido de desajuste
J() Jmin
D=
Jmin
D
Se puede demostrar que (para un suficientemente pequeno)
viene dado por
D = M x2
2
es decir,
Para una velocidad de convergencia dada, el desajuste aumenta
con el numero
de coeficientes del filtro M
El desajuste es inversamente proporcional a la velocidad de
convergencia
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
10
0 =0.075 0 =0.075
10
=0.025 =0.025
-2
10
E[J(n)]
J(n)
-2
10
-4
10
-4
10
-6
10
-6
0 100 200 300 400 500 10
0 100 200 300 400 500
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Indice
1
Introduccion
2 Filtro de Wiener
3
Algoritmo Maximo Descenso
4 LMS
5 Aplicaciones
6 Extensiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Identificacion
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Prediccion
e[n] +
x[n]
-
1
z w
y[n] = x[n]
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Igualacion
Fase de entrenamiento
d [=
n] s[n d ]
z d
e[n] +
canal
r[n] ruido
igualador
s[n] -
x[n]
h w
smbolos y[n]
Modo guiado por decision (decision directed)
e[n] - +
r[n] ruido
canal igualador
s[n] x[n]
h w Decisor
smbolos y[n] s[n]
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Cancelacion
x[=
n] s[n] + i[n]
Seal de inters
e[n] + s[n]
-
Seal de referencia
w
Correlada con i[n] e
incorrelada con s[n]
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Indice
1
Introduccion
2 Filtro de Wiener
3
Algoritmo Maximo Descenso
4 LMS
5 Aplicaciones
6 Extensiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
LMS complejo
Por ejemplo
w w H x n = x n
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
LMS normalizado
del LMS convencional, el cambio en los pesos es
En la ecuacion
de entrada:
proporcional a la norma de la senal
w(n) = e[n]xn
Esto puede ser negativo para senales no estacionarias con un
gran margen dinamico
(e.g., voz); para este tipo de senales se
emplea a veces el LMS normalizado
w(n + 1) = w(n) + e[n]xn
||xn ||2
J (w) = E [|e[n]|]
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara
Introduccion Filtro de Wiener
Alg. Maximo Descenso LMS Aplicaciones Extensiones
Conclusiones
Tema 6: Filtrado Optimo y Filtrado Adaptativo I. Santamara