filtrado lineal optimo: filtro de wiener · • extensiones: iir causal y no causal, complejo. •...
TRANSCRIPT
FILTRADO LINEAL OPTIMO: FILTRO DE WIENER
Grupo de Tratamiento Avanzado de Señal (GTAS)
Dpto. de Ingeniería de Comunicaciones (DICOM), Universidad de Cantabria
TRATAMIENTO AVANZADO DE SEÑAL EN COMUNICACIONES
• 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.
Indice
Planteamiento del problema: CASO FIR
• Entrada:
1−z 1−z 1−zx(n) x(n-1) x(n-2) x(n-M+1)
d(n)
y(n) e(n)+-
1w 2−Mw0w 1−Mw
+ + +
[ ]Tn Mnxnxnx )1(),...,1(),( +−−=x
• Coeficientes: [ ]TMwww 110 ,...,, −=w
• Salida: nTT
n
M
iiwinxny xwwx ==−= ∑
−
=
1
0
)()(
Función de coste I
• Error:
• La estima de mínimo error cuadrático medio (MMSE), es la solución que minimiza
• Desarrollando la función de coste se obtiene
wx Tnndnyndne −=−= )()()()(
)]([)( 2 neEJ =w
])(2)([)( 2
nTT
nnT ndndEJ xwwxxww −+=
2])([2][)]([)( 22 pwwRwxwwxxww T
xT
dnTT
nnT ndEEndEJ −+=−+= σ
Función de coste II
[ ][ ] [ ] [ ]
[ ] [ ]
[ ] [ ]
)1()1()()1(
)1()1()()1()1()()1()()()(
+−+−+−
+−−−+−−
==
MnxMnxEnxMnxE
MnxnxEnxnxEMnxnxEnxnxEnxnxE
E Tnnx
……
…
xxR
)0()2()1(
)2()0()1()1()1()0(
MMxxx
xxx
xxx
x
RMRMR
MRRRMRRR
×
−−
−−
=
…
…
R
M es la longitud del filtro FIR
• Siendo la matriz de autocorrelación de la entradaxR
Hemos tenido en cuenta que )()( kRkR xx −=
MATRIZ TOEPLITZ
Función de coste III
[ ]
[ ][ ]
[ ]
MnxndE
nxndEnxndE
ndE n
+−
−==
)1()(
)1()()()(
)( xp
• p es el vector de correlación cruzada entre la entrada y la salida deseada
( ) ( )
)1()0(
2)0()1()1()0(
)( 101
010
2
−
−
+=
pp
wwww
RRRR
wwJxx
xxdσw
• Por ejemplo, para un filtro con dos coeficientes, la función de coste sería
( ) )1(2)0(2)1(2)0()( 101021
20
2 −−−+++= pwpwRwwRwwJ xxdσw
Filtro de Wiener
• La función de coste es cuadrática en los coeficientes del filtro
Solución única (filtro de Wiener)
)(110
w =
∂
∂∂∂
∂∂
=∇−
T
MwJ
wJ
wJJ …w
0222( 2
==∂
−+∂ pwRw
pwwRw -)x
Tx
Tdσ
1 pRw -xopt =
• Sustituyendo la solución en la función de coste se obtiene el error cuadrático medio mínimo
wpw opt
TdoptJ −= 2)( σ
pwR =xEcEc’s normales:’s normales:
¿Qué pasa si ¿Qué pasa si RRxx es singular?es singular?
Ejemplo 1
• 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 .
– 3.- El canal h.
2rσ
• Igualación de un canal de comunicaciones digitalesretardo
símbolos⊕
)(nrruido )(nx w
)(nyh)(nscanal igualador
⊕
)()( dnsnd −=
)(ne+
-
Ejemplo 1
• Para el modelo considerado:
)()()( 2 kkRkR rhhx δσ+= )(*)()( khkhkRhh −=con
[ ]
)()()()()(
)()()(
kdhknrrknsrhdnsE
knxdnsEkp
r
−=
−+−−−=
=−−=−
∑• Ecuaciones normales:
)1(
)1()(
)0()2()1(
)2()0()1()1()1()0(
1
1
0
2
2
2
+−
−=
+−−
−+−+
− Mdh
dhdh
w
ww
RMRMR
MRRRMRRR
Mrhhhhhh
xrhhhh
hhhhrhh
…
…
σ
σσ
Ejemplo 1• Fichero: Wiener_eq.m
[ ]2.06.07.03.0 −=hdBSNR 20=
15=M7=d
0 10 20 30 40 50 60 70 80 90 100-1.5
-1
-0.5
0
0.5
1
1.5Wiener filter (blue), original BPSK (red)
Ejemplo 1• Fichero: Wiener_eq.m
[ ]2.06.07.03.0 −=hdBSNR 20=
15=M0=d
0 10 20 30 40 50 60 70 80 90 100
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Wiener filter (blue), original BPSK (red)
• 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.
¿Por qué es necesario un retardo?
• Si no incluimos un retardo, la aproximación del filtro de Wieneral inverso del canal será muy mala:
][nhi
0=n
• Si permitimos un cierto retardo:
0=n
d=0][nw
][nw
dn =
d≠0
0.577 mseg.
• 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
Estima del filtro de Wiener I
Hay 26 símbolos conocidos por el receptor
skbRb / 833.270=
• El igualador óptimo bajo un criterio MMSE es
Tdn
N
ndnx N +
=+∑= xxR
1
1ˆ
• Si queremos incluir un retardo d
Estima del filtro de Wiener II
• La matriz de autocorrelación se estima como Tn
N
nnx NxxR ∑
=
=1
1ˆ
• La correlación cruzada ∑=
=N
nnns
N 1)(1ˆ xp
∑=
+=N
ndnns
N 1)(1ˆ xp
pRw ˆˆˆ 1−= xopt “Direct Matrix Inversion” (DMI)
1.4546 0.4800- 0.6000 0 0 0.4800- 1.4546 0.4800- 0.6000 0 0.6 0.48- 1.4546 0.4800- 0.6000 0 0.60 0.4800- 1.4546 0.4800-0 0 0.6000 0.4800- 1.4546
=xR
Ejemplo 2
• Fichero: Wiener_eq_est.m [ ]6.03.01 −=h dBSNR 25=
5=M 0=d 50=N
1.4253 0.5050- 0.5925 0.0770- 0.0346-0.5050- 1.4132 0.5518- 0.6066 0.0655-0.5925 0.5518- 1.4738 0.5400- 0.5827 0.0770- 0.6066 0.5400- 1.4650 0.5413-0.0346- 0.0655- 0.5827 0.5413- 1.4734
ˆ
=xR
00001
=p
0.1013 0.2117-0.4150-0.2623 0.9452
=optw
0.0508-0.0188-0.0430-0.0415-1.0065
ˆ
=p
0.1050 0.2074-0.4275-0.2521 0.9380
ˆ
=optw
Fase mínima
0 5 10 15 20 25 30 35 40 45 50-1.5
-1
-0.5
0
0.5
1
1.5
teórico (azul), estimado (rojo)
Ejemplo 2
• El filtro de Wiener se puede también derivar a partir del principio de ortogonalidad: EL ERROR ES ORTOGONAL A LOS DATOS.
0)])(([])([ =−= wxxx Tnnn ndEneE
Principio de ortogonalidad I
wxxx ][)]([ Tnnn EndE =
p xR
pRw 1−= xopt
Principio de ortogonalidad II
nx
1−nx2−nx
)(ne
nT xw
)(nd
∞−x
• Interpretación geométrica
• Corolario: el error es ortogonal a la salida estimada
0])([])([ == nT
nT neEneE xwxw
Superficie de error I• La función de coste es un paraboloide con un único mínimo
2)( 2 pwwRww T
xT
dJ −+= σ
( ) ( )
)1()0(
21
1)( 10
1
010
2
−
−
+=
pp
wwww
rr
wwJ dσw
• Si consideramos un filtro de 2 coeficientes
-6 -4 -2 0 2 4 6-6
-4
-2
0
2
4
6
optw
Superficie de error II• El eje del paraboloide es perdendicular al plano J(w)=cte.
• El mínimo está en pRw 1−= xopt
• Su orientación y forma dependen exclusivamente de xR
• La función de coste puede escribirse como
)()(min optT
optJJ wwRww −−+=
wRw ~~min x
TJJ += siendo optwww −=~
Superficie canónica I
define una traslación: el mínimo de la función de optwww −=~
0~ =optwcoste está ahora en
•
-6 -4 -2 0 2 4 6-6
-4
-2
0
2
4
6
optw
8360.0)0( =optw
wwop
top
t(1)=
(1)=
-- 0.7
858
0.78
58
)(wJ
-6 -4 -2 0 2 4 6-6
-4
-2
0
2
4
6
~optw
0)0(~ =optwww
opt
opt(1
)=0
(1)=
0
)~(wJ
Superficie canónica II
• La matriz de autocorrelación puede escribirse en términos de sus autovectores y autovalores como
[ ] Tii
M
ii
TM
T
M
MT
x qqq
qqqQQR ∑
=
=
=Λ=1
12
1
1
000
000
λ
λ
λλ
…
…
…
wQQw ~~min
TTJJ Λ+=
wQv ~T=
• Definimos ahora los vectores transformados (linealmente)
Superficie canónica III
• Se obtiene así la forma o superficie canónica
∑=
=Λ+=M
ikk
T vJJ1
2min λvv
0~w
1~w
0v
1vwQv ~T=
• 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
• Matriz de autocorrelación
=
2112
xR
• Autovalores y autovectores
( )
( )
=⇒=
−=⇒=⇒=−
112
13
112
110
22
11
v
vIR
λ
λλx
−
−
=Λ=1111
3001
1111
21T
x QQR
Superficie de error: Superficie canónica:
( )
2110
20
1
010min
~2~~2~2
~~
2112~~)~(
wwww
ww
wwJJ
++=
=
+=w ( ) 2
120
1
010min 3
3001
)( vvvv
vvJJ +=
+=v
0~w
1~w
0v
1v
Variables acopladas Variables desacopladas
Caso general
• Matriz de autocorrelación ( )( )
−+
=Λ⇒
= 2
2
22
22
1001
σ
σσσσσ
rr
rr
xR
siendo el coeficiente de correlación.siendo el coeficiente de correlación.)0()1(
xx
RRr =
0v
1vr=0r=0
0v
1v
0v
1vr=0r=0.3.3 r=0r=0.7.7
• Dispersión de autovalores: rr
minmax
−+
=11
λλ
• 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
]|)([)(ˆnndEnd x=
• El estimador que minimiza el MSE es, en general, no lineal y se obtiene como
nToptnd xw=)(ˆ pRw 1−= xoptconcon
Es necesario conocer los estadísticos de segundo orden.Es necesario conocer los estadísticos de segundo orden.
Es necesario conocer:Es necesario conocer: )|)((| nndfn
xxd
Estimación lineal vs. no lineal: ejemplo
⊕
)(nr)(nx
0h{ }1,1)( −+∈ns
AWGNAWGN22
0
roopt h
hwσ+
=)()(ˆ nxwns opt=
EstEst. lineal. lineal
equiprobablesequiprobables
20 / rh σ ( )⋅tanh
= 2
0)( tanh)(ˆr
hnxnsσ
EstEst. no lineal. no lineal
Algunas extensiones
• Hasta ahora nos hemos concentrado en el caso del filtrado óptimoFIR 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
• La salida del filtro IIR es
x(n) +
d(n)
y(n)
e(n)-nw∞<<∞−≠ nwn 0
∑∞
−∞=
−=k
k knxwny )()(
• El principio de ortogonalidad sigue siendo válido
[ ] [ ] ∞<<∞=⇒ l-n-lxneEneE 0)()( )( min 2
∑∞
−∞=
∞<<∞−=−k
xxk llpklRw )()(EcEc’s Normales:’s Normales:
Filtro de Wiener IIR
• Es posible escribir la solución en el dominio de la frecuencia:
• Para el problema de igualación/deconvolución visto anteriormente
)()()(
ωωω
xxxd
SSW =
)(nr
⊕)(nx w )(nyh)(ns 22
*
)()(
)()()(
rxx
xd
HH
SSW
σωω
ωωω
+==
• Si no hay ruido: )(
1)()(
)()()( 2
*
ωωω
ωωω
HHH
SSW
xx
xd ===
El filtro de El filtro de WienerWiener es el filtro inverso (en general, IIR no causal)es el filtro inverso (en general, IIR no causal)
Filtro de Wiener IIR (causal)
• Es posible también obtener el filtro óptimo IIR causal
• La solución de este problema es algo más complicada
• Entonces:
∑∞
=
≥=−0
0 )()(k
xk llpklRw
)()()( 12 −= zQzQzS xxx σ es fase mínimaes fase mínima)(zQ
)(1
)()()( 21 zQzQ
zSzWx
xd
σ+−
=
Parte causalParte causal
Filtro de Wiener complejo
• En el caso de secuencias complejas (filtro FIR)
nH
M
ii
winxny xw=−= ∑−
=
1
0
*)()(
H denota H denota hermíticohermítico (conjugado y transpuesto)(conjugado y transpuesto)
• La solución del filtro óptimo sigue siendo
pRw 1−= xopt
pero ahorapero ahora ][ Hnnx E xxR = ∑
=
=N
n
Hnnx N 1
1ˆ xxR
)]([ * ndE nxp = )(1ˆ *
1nd
N
N
nn∑
=
= xp
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.
*)(1 nx
)(2 nx
)(nMx
*
M*
y(n)
dθ0
θ i
Señal deseadaSeñal deseada
Señal interferenteSeñal interferente
minimizarminimizar wRw xHnyE =]|)([| 2 s.ts.t.. gsH =)( 0θw
Modelo de propagación
dθ
d sen(θ)
)(0 ts))(()( 01 θτ−= tsts
El retado entre dos elementos del El retado entre dos elementos del arrayarray esesc
d )sen()( θθτ =
)()(10 ))(()( )()( 00000 θτωωθτωωω θτ jtjjtjtj eu(t)eeetutsetuts −− ≈−=⇒=
Hipótesis: onda plana, banda estrecha, Hipótesis: onda plana, banda estrecha, arrayarray equiespaciadoequiespaciado::
( ) ( )
θλ
πθπθτω sen
2/0sen2
0)(
01 )()()()(0
0
djdcf
jj etsetsetsts
−
−
− ===
wRw xHnyE =]|)([| 2minimizarminimizar s.ts.t.. gsH =)( 0θw
siendosiendo ( )TMjj ees 00 )1(0 1)( θθθ −−−= …
• PROBLEMA:
• Aplicamos el método de los multiplicadores de Lagrange
( )( )( )gswJ Hx
H −+= 0*Re)( θλwRww
( )( )( ) ( )( )( )IH
IRH
RxH gswgswJ −+−+= 00 ImRe)( θλθλwRww
“Linearly constrained minimum variance” (LCMV)
“Linearly constrained minimum variance” (LCMV)
• Tomando derivadas e igualando a cero
• Para obtener el multiplicador de Lagrange
)()(2
)( 01
00 θθλθ sRssw −−== xHH
opt g)()(
2
01
0 θθλ
sRs −−=x
H
g
0)(2
2 0
*
=+=∇ θλ swRxJ )(2 0
1*
θλ sRw −−= xopt
• El LCMV o “Minimum variance distorsionless response” (MVDR) beamformer es
)()()(
01
0
01*
θθθsRs
sRw −
−
=x
Hx
optg
MVDR Spectrum
• Tomando g=1, la potencia mínima a la salida del conformador es
que mantiene la respuesta (potencia) en la dirección minimizando el resto.
0θ
)()(1
01
0min θθ sRs −=
xHJ
• Considerando la expresión anterior como función de la frecuenciaespacial , o temporal θ ω
)()(1)( 1 ωω
ωsRs −=
xHS ““MVDR spectrum” o MVDR spectrum” o
“Capon spectrum”“Capon spectrum”
Ejemplo LCMV
• Programa: Lcmv.m
--Ruido Ruido gaussianogaussiano y espacialmente blanco con y espacialmente blanco con SNR=0SNR=0 dBdB
--ArrayArray lineal con lineal con M=10M=10 elementos, separación entre elementos, separación entre antenas antenas d=d=λλ/2./2.
--Señal QPSK deseada enSeñal QPSK deseada en 200 −=θ
201 =θ--Interferencia 1 en Interferencia 1 en
con con SIR=SIR=--15 15 dBdB602 −=θ--Interferencia 2 en Interferencia 2 en con con SIR=SIR=--10 10 dBdB
Ejemplo LCMV
N=25 “snapshots”
-80 -60 -40 -20 0 20 40 60 80-40
-30
-20
-10
0
10
I1I1I2I2 DD
Una realización
-80 -60 -40 -20 0 20 40 60 80
-60
-50
-40
-30
-20
-10
0
10
I2I2 I1I1DD
10 realizaciones ind.
Ejemplo LCMV
N=250 “snapshots”
-80 -60 -40 -20 0 20 40 60 80
-50
-40
-30
-20
-10
0
10
I2I2 I1I1DD
10 realizaciones ind.
I1I1I2I2 DD
Una realización
-80 -60 -40 -20 0 20 40 60 80-60
-50
-40
-30
-20
-10
0
10
Filtro adaptado estocástico I
• Otro problema filtrado óptimo que aparece frecuentemente en comunicaciones es el siguiente:
⊕
)(nv
)(nx w)(ns )(ny ¿¿CúalCúal es el filtro que es el filtro que maximiza maximiza
la SNR a la salida?la SNR a la salida?
• Potencia de señal a la salida del filtro: wRw sH
• Potencia de ruido a la salida del filtro: wRw vH
SNR máximaSNR máxima maximizarmaximizarwRwwRw
vH
sH
SNR =
Filtro adaptado estocástico II
• Si suponemos que el ruido es blanco
• El problema es equivalente a
maximizarmaximizarww
wRwH
sH
v
SNR 2
1σ
=
IR 2vv σ=
maximizarmaximizarww
wRwH
sH
s.ts.t.. 1=ww H
• La solución es el autovector correspondiente al máximo autovalorde : sR
maxqw =opt maxmaxmax qqR λ=ssiendosiendo y lay la 2max
maxv
SNRσλ
=
• 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óncuadrática (“eigenfilters”).