Beruflich Dokumente
Kultur Dokumente
Filtragem estocstica
Geovany A. Borges
gaborges@ene.unb.br
Caso discreto
l>k
l=k
l<k
Classificao
Suavizao
Filtragem
Predio
t t0
(1)
Interesse em p(xt)
Caso especial:
dxt
= f (xt, t) + G(xt, t)wt,
dt
t t0
(2)
2
com f (, t) sendo uma funo vetorial no-linear, G(, t) sendo uma funo
matricial e E{xt0 wtT } = 0. Em geral,
wt
d t
dt
(3)
Soluo de (2):
xt = xt0 +
= xt0 +
t0
I(t) =
(4)
(5)
t0
com
G(xt, t)d t
(6)
t0
3
n
n 2 (p(xt ) GQG
X
X
(p(xt) [f (xt, t)]i) 1
p(xt)
+
=
t
xi,t
2 i,j=1
xi,txj,t
i=1
ij
)
(7)
matriz de covarincias:
x
t = E{xt},
(9)
Pt = E{(xt x
t)(xt x
t)T }.
(10)
n 2 (p(xt ) GQG
n
X
X
(p(xt) [F(t)xt]i) 1
p(xt)
+
=
t
xi,t
2 i,j=1
xi,txj,t
i=1
ij
)
(11)
1
p(xt)
(p(xt))
p(xt)
F(t)xt + tr GQGT
= p(xt)tr(F(t))
t
xt
2
xtxt
(12)
dE{xt}
dxt
= E{
}
dt
dt
= E{F(t)xt + G(t)wt}
(14)
= F(t)
xt
(15)
(13)
d
=
E{(xt x
t)(xt x
t)T }
(16)
dt
d
d
(xt x
t) (xt x
t)T } + E{(xt x
t )
(xt x
t)T } (17)
= E{
dt
dt
Sendo
d
(xt x
t) = F(t)xt + G(t)wt F(t)
xt = F(t)(xt x
t) + G(t)wt
dt
(18)
6
ento
dPt
dt
= E{[F(t)(xt x
t) + G(t)wt] (xt x
t)T }
(19)
(20)
+E{(xt x
t) [F(t)(xt x
t) + G(t)wt] }
= F(t)E{(xt x
t)(xt x
t)T } + E{G(t)wt(xt x
t)T }
+E{(xt x
t)(xt x
t)T FT (t)} + E{(xt x
t)wtT GT (t)}
(21)
(22)
(23)
t)wtT GT (t)}
= F(t)Pt + E{G(t)wt(xt x
t)T } + PTt FT (t) + E{(xt x
A soluo xt do SDEC linear dada por
xt = (t, t0)xt0 +
(t, )G( )w d
(24)
t0
com (t, t0) sendo a matriz de transio de estados do sistema ((t, t) = I).
Assim
x
t = E{xt} = (t, t0)
xt0
(25)
7
e
(xt x
t) = (t, t0)(xt0 x
t0 ) +
(t, )G( )w d
(26)
t0
t0
(27)
(28)
(29)
t0
x
t)wtT GT (t)}
t0
(30)
= G(t)Q(t)GT (t)
(31)
8
e ento
dPt
= F(t)Pt + PTt FT (t) + G(t)Q(t)GT (t),
(32)
dt
que a chamada equao diferencial de Riccati (EDR). Observe que Pt0
dado como condio inicial da SDEC linear.
k = 0, 1, . . .
(33)
(34)
10
e
p(xk+1|xk , xk1, , x0) = p(xk+1|xk )
=
com
(35)
) det J1
pwk+1 (wk+1
(36)
= f 1(xk , xk+1, tk )
wk+1
(37)
f (xk , wk+1
, tk )
wk+1
(38)
J =
wk+1
.
11
(39)
(40)
com parmetros
x
k
= Ak1x
k1
(41)
Pk
= Ak1Pk1ATk1 + k Qk Tk
(42)
12
(43)
13
yk
y k
A=
1 t
0 1
(44)
uk =
Fk
g
M
N (0, Qk )
2
1
w1
0
t
=
0 2w2 20 k
(45)
(46)
14
k = 0, 1, . . .
(47)
(48)
15
k , S 0
Pk S x
xk |)i
L(
xk ) = i ci (|
k )
L(
xk ) = min(c, x
Tk S x
16
(49)
E{L(
xk )} = E{(xk k ) S (xk k )}
(51)
para qualquer S. Se S = I,
T
E{L(
xk )} = E{(xk k ) (xk k )}
X
2
=
E{(xk k )i }
(52)
(53)
17
= E{
xk x
Tk |y1, , yk }
(54)
= E{(xk x
k )(xk x
k )T |y1, , yk }
(55)
(56)
ou seja,
E{L(
xk )} = trPk
(57)
Assim a escolha x
k = k a estimativa de mnima varincia de xk , ou
seja, aquela que minimiza o trao da matriz de covarancias do erro de
estimao.
Portanto, estamos apenas interessados em
x
k
= E{xk |y1, , yk }
(58)
Pk
= E{(xk x
k )(xk x
k )T |y1, , yk }
(59)
18
= Ak1xk1 + k wk
(60)
yk
= Ck xk + vk
(61)
(62)
(63)
Pk|k1 = E{(xk x
k|k1)(xk x
k|k1)T |y1, , yk1}
(64)
19
(65)
(66)
(68)
(69)
(70)
20
= x
k|k1
(71)
Pk
= Pk|k1
(72)
(73)
com
p(yk |xk,y1, , yk1) = p(yk |xk )
= pvk (yk Ck xk )
(74)
(75)
(76)
21
(77)
= E{Ck xk + vk |yk1}
(78)
= Ck E{xk |yk1}
(79)
= Ck x
k|k1
(80)
e da matriz de covarincias
E{(yk Ck x
k|k1)(yk Ck x
k|k1)T |y1, , yk1}
(81)
= E{(Ck xk + vk Ck x
k|k1)(Ck xk + vk Ck x
k|k1)T |y1, , yk1}
= E{(Ck [xk x
k|k1] + vk )(Ck [xk x
k|k1] + vk )T |y1, , yk1} (82)
que, a partir de (64) se torna
E{(yk Ck x
k|k1)(yk Ck x
k|k1)T |y1, , yk1} = Ck Pk|k1CTk + Rk .
(83)
22
Portanto,
p(yk |y1, , yk1) = N (Ck x
k|k1, Ck Pk|k1CTk + Rk )
(84)
(85)
com
x
k
= x
k|k1 + Gk (yk Ck x
k|k1)
(86)
Pk
= (I Gk Ck ) Pk|k1
(87)
T
= (I Gk Ck ) Pk|k1 (I Gk Ck ) + Gk Rk GTk
(88)
23
yk Ck x
k|k1 chamado de termo de inovao e Gk o Ganho de
Kalman, dado por
Gk =
Pk|k1CTk
Ck Pk|k1CTk
+ Rk
(89)
(91)
24
= Ak1xk1 + Bk1uk1 + k wk
(92)
yk
= Ck xk + vk
(93)
(95)
Pk|k1 = Ak1Pk1ATk1 + k Qk Tk
(96)
25
= x
k|k1 + Gk (yk Ck x
k|k1)
(97)
Pk
= (I Gk Ck ) Pk|k1
(98)
Gk
= (I Gk Ck ) Pk|k1 (I Gk Ck ) + Gk Rk GTk
1
T
T
= Pk|k1Ck Ck Pk|k1Ck + Rk
(99)
(100)
26
27
= Gk 0.
Pk|k1 0 = Gk 0.
0 = Gk
Pk|k1CTk
Ck Pk|k1Ck
Pk|k1 em conseqncia de Qk
28
(101)
(102)
em que xk|k1 N (
xk|k1, 2k|k1) e vk N (0, 2v ). As equaes de correo
29
do filtro se tornam
x
k
= x
k|k1 +
2k|k1
2k|k1
2v
(yk x
k|k1)
= wx
k|k1 + (1 w)yk
(103)
(104)
(105)
Portanto, x
k estar entre x
k|k1 e yk , dependendo de w. No mais,
2k = w 2k|k1 = (1 w) 2v
(106)
= Ak1xk1 + Bk1uk1 + k wk
(107)
yk
= Ck xk + vk
(108)
k ), vk N (0, R
k ), x0 N (
0) descorrelacionados, se o
com wk N (0, Q
x0, P
filtro de Kalman for empregado com parmetros
0
P0 P
k
Qk Q
k
Rk R
x
k e x
k|k1 so consistentes pois garantido que
k
Pk P
k|k1
Pk|k1 P
31
= k1
(109)
yk
= k + vk
(110)
32
(111)
(112)
c
.
s + c
(113)
34
T
y(k 1) y(k na) u(k 1)
(k) =
a1 ana b1 bnb
=
u(k nb)
35
= k1
yk
= Tk k + vk
36
Rastreamento de parmetros
Considere o seguinte modelo de primeira ordem:
yk = ayk1 + buk1
em que e b so parmetros a serem estimados a partir de medies yk .
Este problema pode ser atacado sob a tica do rastreamento de
parmetros, em que so usados os seguintes modelos aproximados de
evoluo para estes parmetros:
ak
bk
ak1 + T a k1
bk1 + T b k1
38
Outros:
39
= f (xk1, uk1) + k wk
(114)
yk
= h(xk ) + vk
(115)
Problema: resolver
p(xk |y1, , yk ) =
(116)
ou ainda, determinar
x
k
x
k
40
(117)
41
xk+1 =
yk
x1,k+1
x2,k+1
x1,k + 0, 5
25x2,k
1
x
+
+ 0, 8 cos(1, 2(tk 1))
2 2,k
1+x2
2,k
+ wk+1
x22,k
+ vk
20
0, 05 0
0
2
Q=
0, 001 0
0
2
r = 1.
42
43
xk1
Assim, o modelo pode ser re-escrito na forma
xk
f (
xk1, uk1)
= f (
xk1, uk1) +
(xk1 x
k1) + k wk
xk1
f (
xk1, uk1)
f (
xk1, uk1)
=
xk1 + f (
xk1, uk1)
x
k1 + k wk
xk1
xk1
= Ak1xk1 + uk1 + k wk
44
com
Ak1 =
f (
xk1, uk1)
xk1
yk = h(xk ) + vk
que em torno da predio x
k|k1
h(
xk|k1)
h(xk ) h(
xk|k1) +
(xk x
k|k1)
xk|k1
45
que se torna
yk
yk h(
xk|k1) +
h(
xk|k1)
x
k|k1 =
xk|k1
yk
com
h(
xk|k1)
= h(
xk|k1) +
k|k1) + vk
(xk x
xk|k1
h(
xk|k1)
Ck =
xk|k1
h(
xk|k1)
xk + vk
xk|k1
= Ck xk + vk
yk = yk h(
xk|k1) + Ck x
k|k1
= Ak1xk1 + uk1 + k wk
(118)
yk
= Ck xk + vk
(119)
equaes:
(i) Fase de predio (entre os instantes tk1 e tk ):
x
k|k1 = E{f (xk1, uk1) + k wk |y1, , yk1}
= f (
xk1, uk1)
Pk|k1 = Ak1Pk1ATk1 + k Qk Tk
com
Ak1
(120)
(121)
(122)
f (
xk1, uk1)
=
xk1
= x
k|k1 + Gk (yk Ck x
k|k1)
(123)
= x
k|k1 + Gk (yk h(
xk|k1) + Ck x
k|k1 Ck x
k|k1)
(124)
= x
k|k1 + Gk (yk h(
xk|k1))
(125)
47
Pk
= (I Gk Ck ) Pk|k1
Gk
= (I Gk Ck ) Pk|k1 (I Gk Ck ) + Gk Rk GTk
1
T
T
= Pk|k1Ck Ck Pk|k1Ck + Rk
(126)
T
com
(127)
(128)
h(
xk|k1)
Ck =
xk|k1
48
= f (xk1, uk1) + k wk
(129)
yk
= h(xk ) + vk
(130)
(132)
f (
xk1, uk1)
f (
xk1, uk1)
Pk1
xk1
xk1
+ k Qk Tk (133)
49
Gk
= x
k|k1 + Gk (yk h(
xk|k1))
(134)
h(
xk|k1)
=
I Gk
Pk|k1
(135)
xk|k1
!1
T
T
h(
xk|k1)
h(
xk|k1)
h(
xk|k1)
= Pk|k1
Pk|k1
+ R(136)
k
xk|k1
xk|k1
xk|k1
50
51
(137)
yk
= h(xk ) + vk
(138)
= h(zk ) + vk
em que
zk contem estimativas de ambos xk e k que se tornam
correlacionadas devido a f (xk1, uk1, k1).
52
= f (xk1, uk1) + k wk
(139)
yk
= h(xk ) + vk
(140)
(141)
com vk N (0, Rk ) e
yk
c
Rk =
h(xk )
g(xk )
Rk
0
0
Sk
+ vk
54
55
= f (xk1, uk1) + k wk
(142)
yk
= h(xk ) + vk
(143)
xk
(1)
qk
xk
(2)
xk
(2)
qk
(Ns )
(Ns )
56
(i)
(i)
p(xk |y1, , yk )
Ns
X
(i)
(i)
qk (xk xk )
(144)
i=1
Ns
X
"N
s
X
(i)
qk (xk xk ) dxk
i=1
(i)
(i)
qk = 1
(145)
(146)
i=1
57
xk
Ns
X
"N
s
X
(i)
(i)
qk (xk xk )
i=1
dxk
(i) (i)
qk xk
i=1
(j)
(i)
59
(147)
Ns
X
(i)
(i)
(i)
qk ({x0, , xk } {x0 , , xk })
i=1
(148)
(i)
com i=1 qk = 1. No entanto, p(x0, , xk1, xk |y1, , yk ) difcil de ser
amostrada diretamente. Um dos motivos que, devido ao grande nmero de
amostras acumuladas desde k = 0, o algoritmo de amostragem seria
bastante pesado computacionalmente.
PNs
60
(i)
(i)
(i)
qk =
(i)
(i)
p(x0 , , xk |y1, , yk )
(i)
(x0 ,
(i)
, xk |y1,
, yk )
(149)
(i)
(i)
qk p(x0 , , xk |y1, , yk ).
(150)
O problema com esta soluo que para calcular (149) requer-se que sejam
(i)
(i)
armazenadas todas as (k + 1)Ns amostras {x0 , , xk }, nmero este que
aumenta com o tempo. Portanto, faz-se necessrio uma soluo seqencial.
61
Considere que exista uma funo de importncia que possa ser fatorada
como
(x0, , xk |y1, , yk ) = (xk |x0, , xk1, y1, , yk )
(x0, , xk1|y1, , yk1). (151)
(152)
(153)
62
e assim
(x0, , xk |y1, , yk ) = (xk |xk1, y1, , yk )(x0, , xk1|y1, , yk1)
(154)
(i)
(i)
(i)
(i)
i = 1, , Ns.
(155)
(i)
e considerando
p(x0, , xk |y1, , yk1) = p(xk |x0, , xk1, y1, , yk1)
p(x0, , xk1|y1, , yk1),(156)
ento p(x0, , xk |y1, , yk ) pode ser obtido recursivamente:
p(x0, , xk |y1, , yk ) = p(x0, , xk1|y1, , yk1)
=
(157)
(158)
Dado o modelo
xk
= f (xk1, uk1) + k wk
(159)
yk
= h(xk ) + vk
(160)
64
tem-se que
p(yk |x0, , xk , y1, , yk1) = p(yk |xk )
(161)
(162)
Portanto,
p(x0, , xk |y1, , yk ) =
(i)
qk =
(i)
(i)
(i)
(i)
p(x0 , , xk |y1, , yk )
(x0 , , xk |y1, , yk )
65
(i)
(i)
qk =
(i)
(i)
(i) (i)
, yk1)(xk |xk1, y1,
(i)
(i)
(i)
(i)
(i)
(i)
qk =
(i)
(i)
(i)
(i)
(i)
qk1
(i)
qk
(i)
(i)
, yk )
(i)
qk1
(163)
garantir
PNs
(i)
(i)
(i)
qk
qk = PN
s
(j)
q
j=1 k
(i)
(164)
67
= f (xk1, uk1) + k wk
(165)
yk
= h(xk ) + vk
(166)
(i)
q0 = p(x0 )
68
PNs
(i)
i=1 qk = 1.
xk
(i)
(i)
(i)
qk
(i)
(i)
(i)
(i)
qk
PNs
(i)
qk1
(i)
e depois normalizar
de forma que i=1 qk = 1. A estimativa de
mnima varincia do vetor de estados dada por
x
k =
Ns
X
(i) (i)
qk xk
i=1
Observao 9:
(i)
(i)
(i)
Observao 10:
O desempenho do SIS depende fortemente da escolha da densidade
(i) (i)
(xk |xk1, y1, , yk ). Uma m escolha pode fazer com que o algoritmo se
degenere (divergncia), implicando que uma dada amostra j pode ter
(j)
qk 1, e as outras no seriam amostras representativas da distribuio.
70
(i)
(i)
(i)
(i)
(i)
(i)
(i)
(i)
xk = f (xk1, uk1) + k wk
71
(i)
(j)
(j)
Pr{
xk = xk } = qk
72
xk+1 =
yk
x1,k+1
x2,k+1
x1,k + 0, 5
25x2,k
1
+ 0, 8 cos(1, 2(tk 1))
x
+
2 2,k
1+x2
2,k
+ wk+1
x22,k
+ vk
20
0, 05 0
0
2
Q=
0, 001 0
0
2
r = 1.
Referncias
73
197U208,
2000.
[6] ARULAMPALAM, M. S. et al. A tutorial on particle filters for online
nonlinear/non-gaussian Bayesian tracking. IEEE Trans. on Signal
Processing, v. 50, n. 2, p. 174188, February 2002.
74