Вы находитесь на странице: 1из 43

FILTRADO LINEAL OPTIMO:

FILTRO DE WIENER

TRATAMIENTO AVANZADO DE SEÑAL EN COMUNICACIONES

Grupo de Tratamiento Avanzado de Señal (GTAS)


Dpto. de Ingeniería de Comunicaciones (DICOM), Universidad de Cantabria
Indice

• Derivación del filtro de Wiener.


• Un primer ejemplo en comunicaciones: Igualación.
• Cálculo teórico y estima del filtro de Wiener en Matlab.
• Principio de ortogonalidad.
• Superficie de error. Propiedades.
• Extensiones: IIR causal y no causal, complejo.
• Filtrado óptimo con restricciones: “LCMV beamformer”,
ejemplos.
• Filtro adaptado estocástico (“eigenfilter”).
• Conclusiones.
Planteamiento del problema: CASO FIR
x(n) x(n-1) x(n-2) x(n-M+1)
−1 −1 −1
z z z

w0 w1 wM − 2 wM −1
d(n)
-
+ + + +
y(n) e(n)

• Entrada: xn = [x(n), x(n − 1),..., x(n − M + 1)]T

• Coeficientes: w = [w0 , w1,..., wM −1 ]T


M −1
• Salida: y ( n) = ∑
i =0
x(n − i ) wi = xnT w = w T xn
Función de coste I

• Error: e(n) = d (n) − y (n) = d (n) − xnT w

• La estima de mínimo error cuadrático medio (MMSE), es la


solución que minimiza

J ( w ) = E[e 2 (n)]

• Desarrollando la función de coste se obtiene

J ( w ) = E[d 2 (n) + w T xn x Tn w − 2d (n) w T x n ]

J ( w ) = E[d 2 (n)] + w T E[ xn xTn ]w − 2 w T E[d (n) xn ] = σ d2 + w T Rx w − 2 w T p


Función de coste II
• Siendo Rx la matriz de autocorrelación de la entrada
 E [x(n) x(n)] E [x(n) x(n − 1)] … E [x(n) x(n − M + 1)] 
 E [x(n − 1) x(n)] 
[ ]
Rx = E x n x n = 
T

E [x ( n − 1) x ( n − M + 1) ] 

 
 E [x(n − M + 1) x(n)] … … E [x(n − M + 1) x(n − M + 1)]

 Rx (0) Rx (1) … Rx ( M − 1) 
 R (1) R ( 0) R ( M − 2 ) 
Rx =  x x x  MATRIZ TOEPLITZ
 
 
R
 x ( M − 1) R x ( M − 2) … R x ( 0 )  M ×M
M es la longitud del filtro FIR

Hemos tenido en cuenta que Rx (k ) = Rx (−k )


Función de coste III
• p es el vector de correlación cruzada entre la entrada y la
salida deseada
 E [d (n) x(n)] 
 E [d (n) x(n − 1)] 
p = E [d (n) x n ] =  
 
 
 E [d ( n ) x ( n − M + 1) ]
• Por ejemplo, para un filtro con dos coeficientes, la función de
coste sería
 Rx (0) Rx (1)  w0   p(0) 
J (w) = σ + (w0
2
d w1 )   − 2(w0 w1 ) 
 Rx (1) Rx (0)  w1   p(−1) 

( )
J (w) = σ d2 + w02 + w12 Rx (0) + 2w0 w1Rx (1) − 2w0 p(0) − 2w1 p(−1)
Filtro de Wiener
• La función de coste es cuadrática en los coeficientes del filtro

Solución única (filtro de Wiener)


∂(σ d + w Rx w − 2w p)
2 T T
T
 ∂J ∂J ∂J 
∇ w J (w) =  …  = = 2 Rx w-2 p = 0
 ∂w0 ∂w1 ∂wM −1  ∂w

Ec’s normales: Rx w = p wopt = Rx


-1
p
¿Qué pasa si Rx es singular?
• Sustituyendo la solución en la función de coste se obtiene el error
cuadrático medio mínimo
J ( wopt ) = σ d2 − pT wopt
Ejemplo 1
retardo
• Igualación de un canal de comunicaciones digitales
d ( n) = s ( n − d )
canal
r (n) igualador +
s (n) ruido
x(n) y (n) e(n)
h ⊕ w -

símbolos

• Para resolver teóricamente el filtro de Wiener son necesarios los


estadísticos de segundo order del problema, en concreto hay que
conocer:
– 1.- Modelo estadístico de la señal de entrada: i.i.d BSPK {-1,+1}.
– 2.- Modelo estadístico del ruido: AWGN de media cero y varianza σ r .
2

– 3.- El canal h.
Ejemplo 1
• Para el modelo considerado:

Rx (k ) = Rhh (k ) + σ r2δ (k ) con Rhh (k ) = h(k ) * h(− k )

p (−k ) = E [s (n − d ) x(n − k )] =
  
= E  s (n − d ) ∑ h(r )s (n − k − r ) + r (n − k )  = h(d − k )
  r 
• Ecuaciones normales:
 Rhh (0) + σ r2 Rhh (1) Rhh ( M − 1)   w0  
… h( d ) 
    
 Rhh (1) Rhh (0) + σ r2 Rx ( M − 2)   w1   h(d − 1) 
=
    
    
 Rhh ( M − 1) Rhh ( M − 2) … Rhh (0) + σ r2   wM −1  h(d − M + 1) 
Ejemplo 1
• Fichero: Wiener_eq.m
1.5
Wiener filter (blue), original BPSK (red)

h = [0.3 − 0.7 0.6 0.2] 0.5

SNR = 20 dB
0

M = 15
d =7 -0.5

-1

-1.5
0 10 20 30 40 50 60 70 80 90 100
Ejemplo 1
• Fichero: Wiener_eq.m
Wiener filter (blue), original BPSK (red)

0.8

0.6

h = [0.3 − 0.7 0.6 0.2] 0.4

SNR = 20 dB
0.2

M = 15 -0.2

d =0 -0.4

-0.6

-0.8

-1

0 10 20 30 40 50 60 70 80 90 100
¿Por qué es necesario un retardo?
• Suponemos una situación sin ruido y un canal causal y estable.
• Si el canal es de fase no mínima (alguno de sus ceros fuera del
círculo unidad) el inverso estable es no causal.

hi [n]

n=0
• Si no incluimos un retardo, la w[n]
d=0
aproximación del filtro de Wiener
al inverso del canal será muy n=0
mala: w[n]
d≠0
• Si permitimos un cierto retardo:
n=d
Estima del filtro de Wiener I
• En un caso práctico no se conoce el canal ni la varianza de ruido,
tan sólo se conoce la señal deseada s(n), en un intervalo n=1,…N.
(Secuencia de entrenamiento).
• Por ejemplo, en GSM

0.577 mseg.
Rb = 270.833 kb / s
Hay 26 símbolos conocidos por el receptor
Estima del filtro de Wiener II
N
1
• La matriz de autocorrelación se estima como Rˆ x =
N
∑x
n =1
x
n n
T

N
1
• La correlación cruzada pˆ =
N
∑ s ( n) x
n =1
n

• Si queremos incluir un retardo d


N
1 N 1
pˆ = ∑ s ( n) x n+ d
ˆ
Rx =
N
∑ n+d n+d
x x T

N n =1 n =1

• El igualador óptimo bajo un criterio MMSE es

wˆ opt = Rˆ x−1 pˆ “Direct Matrix Inversion” (DMI)


Ejemplo 2 Fase mínima

• Fichero: Wiener_eq_est.m
h = [1 − 0.3 0.6] SNR = 25 dB
M =5 d =0 N = 50
1.4546 - 0.4800 0.6000 0 0 
- 0.4800 1.4546 - 0.4800  1   0.9452
 0.60 0  0   0.2623
   
Rx =  0.6000 - 0.4800 1.4546 - 0.48 0.6 
  p = 0  wopt = - 0.4150 
0 0.6000 - 0.4800 1.4546 - 0.4800    
0   - 0.2117 
 0 0 0.6000 - 0.4800 1.4546  0  0.1013

 1.4734 - 0.5413 0.5827 - 0.0655 - 0.0346   1.0065   0.9380


- 0.5413 1.4650 - 0.5400 0.6066 - 0.0770  - 0.0415  0.2521
     
ˆ
Rx =  0.5827 - 0.5400 1.4738 - 0.5518 0.5925  pˆ = - 0.0430 wˆ opt = - 0.4275 
     
- 0.0655 0.6066 - 0.5518 1.4132 - 0.5050 - 0.0188 - 0.2074 
- 0.0346 - 0.0770 0.5925 - 0.5050 1.4253 - 0.0508  0.1050 
Ejemplo 2
teórico (azul), estimado (rojo)
1.5

0.5

-0.5

-1

-1.5
0 5 10 15 20 25 30 35 40 45 50
Principio de ortogonalidad I

• El filtro de Wiener se puede también derivar a partir del principio


de ortogonalidad: EL ERROR ES ORTOGONAL A LOS DATOS.

E[e(n) x n ] = E[ x n (d (n) − x nT w )] = 0

E[ x n d (n)] = E[ x n x nT ]w
w opt = Rx−1 p
p Rx
Principio de ortogonalidad II
• Interpretación geométrica

d (n) e(n)

x−∞ xn
w T xn
xn−2 x n −1

• Corolario: el error es ortogonal a la salida estimada

E[e(n) w T x n ] = w T E[e(n) x n ] = 0
Superficie de error I
• La función de coste es un paraboloide con un único mínimo

J ( w ) = σ d2 + w T Rx w − 2w T p

• Si consideramos un filtro de 2 coeficientes

 1 r  w0   p (0) 
J ( w ) = σ d2 + (w0 w1 )   − 2(w0 w1 ) 
 r 1  w1   p (−1) 
6

2
w opt
0

-2

-4

-6
-6 -4 -2 0 2 4 6
Superficie de error II
• El eje del paraboloide es perdendicular al plano J(w)=cte.

• El mínimo está en w opt = Rx−1 p

• Su orientación y forma dependen exclusivamente de Rx

• La función de coste puede escribirse como

J = J min + ( w − w opt )T R( w − w opt )

~T R w
J = J min + w ~ ~ = w−w
x siendo w opt
Superficie canónica I
~
• w = w − w opt define una traslación: el mínimo de la función de
~ =0
coste está ahora en w opt

J (w ) ~)
J (w
6
6
w opt(1)=-0.7858

~
4

w opt w

wopt(1)=0
2
2

opt
0
0

-2
-2

-4
-4

-6
-6 -4 -2 0 2 4 6 -6

wopt (0) = 0.8360 ~ (0) = 0


-6 -4 -2 0 2 4 6

wopt
Superficie canónica II

• La matriz de autocorrelación puede escribirse en términos de


sus autovectores y autovalores como

λ1 0 … 0  T
0 λ   q1  M
Rx = QΛQ T = [q1 … qM ] 2    = ∑ λ q qT
 0   T  i =1
i i i

  qM 
 0 … 0 λM 
~ TQΛQ T w
J = J min + w ~

• Definimos ahora los vectores transformados (linealmente)

~
v = QT w
Superficie canónica III

• Se obtiene así la forma o superficie canónica


M
J = J min + v Λ v =
T
∑λ
i =1
k v k2

~
w 1
~ v1
v =Q wT

~
w 0
v0

• Las direcciones en el espacio transformado (canónico) están


alineadas con las direcciones principales del paraboloide.

• La excentricidad depende de los autovalores.


Un ejemplo
2 1
• Matriz de autocorrelación Rx =  
 1 2
• Autovalores y autovectores
 1
λ
 1 = 1 ⇒ v1 = (1 − 1) 1  1 1 1 0 1 − 1
Rx − λ I = 0 ⇒  2 R x = QΛ Q T =    
1 2 − 1 1  0 3  1 1 
 λ2 = 3 ⇒ v 2 =

(1 1)
2
Superficie de error: Superficie canónica:

 2 1  w ~   1 0  v0 
~ ) = J + (w
J (w ~ w1 )
~  ~0  = J (v ) = J min + (v0 v1 )   = v02 + 3v12
min 0
 1 2  w1   0 3  v1 
~ 2 + 2w
= 2w ~w~ ~2
0 0 1 + 2 w1 ~
v1
w1

Variables acopladas Variables desacopladas


~
w 0 v0
Caso general

 σ2 rσ 2   (1 + r )σ 2 0 
• Matriz de autocorrelación Rx =  2 2 
 ⇒ Λ=


2
 rσ σ   0 (1 − r )σ 
Rx (1)
siendo r = el coeficiente de correlación.
R x ( 0)
r=0 r=0.3 r=0.7
v1 v1 v1

v0 v0 v0

λmax 1 + r
• Dispersión de autovalores: =
λmin 1 − r
• Un valor alto indica mal condicionamiento de la matriz de
autocorrelación.
Estimación lineal vs. no lineal
• Hemos visto hasta ahora que el filtro de Wiener es el estimador
LINEAL que minimiza el MSE

dˆ (n) = w Topt x n con w opt = Rx−1 p

Es necesario conocer los estadísticos de segundo orden.

• El estimador que minimiza el MSE es, en general, no lineal y se


obtiene como
dˆ (n) = E[d (n) | x n ]

Es necesario conocer: f d | x n ( d ( n) | x n )
Estimación lineal vs. no lineal: ejemplo

Est. lineal
sˆ(n) = woptx(n)
h
wopt = 2 0 2
ho + σ r
equiprobables AWGN
r(n)
s(n) ∈{+1,−1}
h0 x(n)

Est. no lineal sˆ(n) = tanh  x(n)h0 


 σ2 
 r 
h0 / σ r2 tanh (⋅)
Algunas extensiones

• Hasta ahora nos hemos concentrado en el caso del filtrado óptimo


FIR con secuencias reales.

• A continuación extendemos las ideas expuestas sobre filtrado


óptimo a:

1.- Filtros IIR (no causales)


2.- Filtro IIR (causales)
3.- Filtros FIR complejos
Filtro de Wiener IIR

d(n)
y(n)
x(n) wn - +
e(n)

wn ≠ 0 −∞ < n < ∞

• La salida del filtro IIR es y ( n) = ∑ w x(n − k )
k = −∞
k

• El principio de ortogonalidad sigue siendo válido

[ ]
min E e 2 (n) ⇒ E [e(n) x(n-l )] = 0 -∞ < l < ∞

Ec’s Normales: ∑w R
k = −∞
k xx (l − k ) = p (l ) −∞ < l < ∞
Filtro de Wiener IIR

• Es posible escribir la solución en el dominio de la frecuencia:


S xd (ω )
W (ω ) =
S xx (ω )
• Para el problema de igualación/deconvolución visto anteriormente

r(n) S xd (ω ) H (ω )*
s(n) x(n) y(n) W (ω ) = =
h ⊕ w S xx (ω ) H (ω ) 2 + σ r2

S xd (ω ) H (ω )* 1
• Si no hay ruido: W (ω ) = = =
S xx (ω ) H (ω ) 2 H (ω )

El filtro de Wiener es el filtro inverso (en general, IIR no causal)


Filtro de Wiener IIR (causal)

• Es posible también obtener el filtro óptimo IIR causal


∑ w R (l − k ) = p(l )
k =0
k x l≥0

• La solución de este problema es algo más complicada

S xx ( z ) = σ x2Q ( z )Q ( z −1 ) Q (z ) es fase mínima

• Entonces:
 S ( z)  1
W ( z ) =  xd −1  2
 Q( z )  + σ x Q( z )

Parte causal
Filtro de Wiener complejo

• En el caso de secuencias complejas (filtro FIR)


M −1
y (n) = ∑ x(n − i ) w*i = w H x n
i =0

H denota hermítico (conjugado y transpuesto)

• La solución del filtro óptimo sigue siendo

w opt = Rx−1 p
N
1
pero ahora Rx = E[ x n x nH ] Rˆ x = ∑ x n x nH
N n =1
1 N
p = E[ x n d * (n)] pˆ = ∑ x n d * ( n)
N n =1
Filtrado lineal óptimo con restricciones

• En ciertos problemas de comunicaciones, por ejemplo en


conformación de haz (“beamforming”), es necesario minimizar el
MSE sujeto a un restricción lineal.

x1 ( n ) *
Señal deseada
θ0 d x2 ( n ) *

y(n)
θi

Señal interferente xM (n ) *
M

minimizar E[| y (n) |2 ] = w H Rx w s.t. w H s (θ 0 ) = g


Modelo de propagación

(θ)
en
ds
θ d

s1 (t ) = s0 (t − τ (θ )) s0 (t )

d sen(θ )
El retado entre dos elementos del array es τ (θ ) =
c

Hipótesis: onda plana, banda estrecha, array equiespaciado:

s0 (t ) = u (t )e jω 0t ⇒ s1(t ) = u (t − τ (θ ))e jω 0t e − jω 0τ (θ ) ≈ u(t)e jω 0t e − jω 0τ (θ )


f  d
− j 2π  0  d sen (θ ) − jπ sen (θ )
− jω 0τ (θ )  c  λ/2
s1 (t ) = s0 (t )e = s0 (t )e = s0 (t )e
“Linearly constrained minimum variance” (LCMV)

• PROBLEMA:
minimizar E[| y (n) |2 ] = w H Rx w s.t. w H s (θ 0 ) = g

(
siendo s (θ 0 ) = 1 e − jθ 0 … e − j ( M −1)θ 0 )
T

• Aplicamos el método de los multiplicadores de Lagrange

J ( w ) = w H Rx w + λR (Re(w H s(θ 0 )) − g R ) + λI (Im(w H s (θ 0 )) − g I )

J ( w ) = w H Rx w + Re(λ* (w H s (θ 0 ) − g ))
“Linearly constrained minimum variance” (LCMV)

• Tomando derivadas e igualando a cero

λ* λ*
∇J = 2 Rx w + s (θ 0 ) = 0 wopt = − Rx−1 s (θ 0 )
2 2

• Para obtener el multiplicador de Lagrange

λ 2g
H
wopt s (θ 0 ) = g = − s H (θ 0 ) Rx−1 s (θ 0 ) λ=−
2 s H (θ 0 ) Rx−1 s (θ 0 )

• El LCMV o “Minimum variance distorsionless response” (MVDR)


beamformer es
g * Rx−1 s (θ 0 )
wopt = H
s (θ 0 ) Rx−1 s (θ 0 )
MVDR Spectrum

• Tomando g=1, la potencia mínima a la salida del conformador es


1
J min =
s H (θ 0 ) Rx−1 s (θ 0 )

que mantiene la respuesta (potencia) en la dirección


θ0 minimizando el resto.

• Considerando la expresión anterior como función de la frecuencia


espacial θ , o temporal ω

1 “MVDR spectrum” o
S (ω ) =
s H (ω ) Rx−1 s (ω ) “Capon spectrum”
Ejemplo LCMV

• Programa: Lcmv.m

-Señal QPSK deseada en θ 0 = −20


-Interferencia 1 en θ1 = 20 con SIR=-10 dB
-Interferencia 2 en θ 2 = −60 con SIR=-15 dB

-Ruido gaussiano y espacialmente blanco con SNR=0 dB

-Array lineal con M=10 elementos, separación entre


antenas d=λ/2.
Ejemplo LCMV

N=25 “snapshots”

Una realización 10 realizaciones ind.


10

10 0

-10
0

-20

-10

-30

-20
-40

-30 -50

-60
-40
-80 -60 -40 -20 0 20 40 60 80 -80 -60 -40 -20 0 20 40 60 80

I2 D I1 I2 D I1
Ejemplo LCMV

N=250 “snapshots”

Una realización 10 realizaciones ind.


10 10

0 0

-10 -10

-20
-20

-30
-30

-40
-40

-50
-50

-60
-80 -60 -40 -20 0 20 40 60 80 -80 -60 -40 -20 0 20 40 60 80

I2 D I1 I2 D I1
Filtro adaptado estocástico I

• Otro problema filtrado óptimo que aparece frecuentemente en


comunicaciones es el siguiente:

v(n)
¿Cúal es el filtro que
s (n) x(n) y (n)
⊕ w maximiza
la SNR a la salida?

• Potencia de señal a la salida del filtro: w H Rs w


• Potencia de ruido a la salida del filtro: w H Rv w

w H Rs w
SNR máxima maximizar SNR = H
w Rv w
Filtro adaptado estocástico II

• Si suponemos que el ruido es blanco Rv = σ v2 I


1 w H Rs w
maximizar SNR = 2
σv wH w
• El problema es equivalente a
w H Rs w
maximizar s.t. wH w =1
wH w
• La solución es el autovector correspondiente al máximo autovalor
de : Rs
wopt = qmax siendo Rs qmax = λmax qmax y la λ
SNRmax = max
σ v2
• Puede verse como un filtro adaptado estocástico, también se
denomina en la literatura “eigenfilter”.
Conclusiones

• El filtrado lineal óptimo (filtro de Wiener) aparece en multitud de


problemas de comunicaciones.
• Su obtención requiere conocer (o estimar) los estadísticos de 2º
orden.
• El filtro de Wiener extrae de la entrada la parte correlada con la
señal deseada (si p=0, w=0).
• La señal de error resultante está incorrelada con la entrada (y
con la salida del filtro): Principio de ortogonalidad.
• Minimización del MSE sujeto a una restricción lineal (LCMV).
• Maximización de la potencia de salida sujeto a una restricción
cuadrática (“eigenfilters”).

Вам также может понравиться