Sie sind auf Seite 1von 75

36341 - Introduo aos Processos Estocsticos

Curso de Ps-Graduao em Engenharia Eltrica


Departamento de Engenharia Eltrica
Universidade de Braslia

Filtragem estocstica

Geovany A. Borges
gaborges@ene.unb.br

O problema da filtragem estocstica

Seja xt (resp. xk ) um processo a parmetro contnuo (resp. discreto)


gerando medies yt (resp. yk ), deseja-se determinar
p(xtk |y , 0 < tl, x0) (caso contnuo)
p(xk |y1, , yl) (caso discreto)

Conforme tl e tk (caso contnuo) ou l e k (caso discreto), tem-se as


seguintes classificaes do problema:
Caso contnuo
tl > tk
tl = tk
tl < tk

Caso discreto
l>k
l=k
l<k

Classificao
Suavizao
Filtragem
Predio

Modelos estocsticos no espao de estados


(contnuo)

Sistema dinmico estocstico em tempo contnuo (SDEC):


dxt
= f (xt, wt, t),
dt

t t0

(1)

com xt Rn, f (, , t) uma funo vetorial no-linear e wt um PE de


distribuio conhecida.

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)

com t sendo um vetor de movimentos Brownianos independentes e


E{wt} = 0, E{wtwT } = Q(t)(t ), Q > 0.

Soluo de (2):
xt = xt0 +

= xt0 +

t0

I(t) =

(4)

f (xt, t)dt + I(t)

(5)

t0

com

[f (xt, t) + G(xt, t)wt] dt

G(xt, t)d t

(6)

t0
3

sendo a integral estocstica de It.

Evoluo de p(xt) por meio da equao de Kolmogorov direta:


h

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)

com []ij sendo o operador correspondendo ao elemento de posio (i, j).


Exemplo 1: SDEC Linear
Sendo
dxt
= F(t)xt + G(t)wt
(8)
dt
com xt0 N (
xt0 , Pt0 ) independente de wt. Este um processo Gaussiano e
Markoviano (Gauss-Markov). Assim, p(xt) caracterizado pela sua mdia e
4

matriz de covarincias:
x
t = E{xt},

(9)

Pt = E{(xt x
t)(xt x
t)T }.

(10)

A equao de Kolmogorov direta se torna


h

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)

Pode-se mostrar que

1
p(xt)
(p(xt))
p(xt)
F(t)xt + tr GQGT
= p(xt)tr(F(t))
t
xt
2
xtxt

(12)

A evoluo da mdia dada por


d
xt
dt

dE{xt}
dxt
= E{
}
dt
dt
= E{F(t)xt + G(t)wt}

(14)

= F(t)
xt

(15)

(13)

pois E{wt} = 0. A evoluo de Pt segue abaixo:


dPt
dt

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

Desta forma, como wt e xt0 so independentes,


E{(xt x
t)wtT GT (t)} = E{

(t, )G( )w d wtT GT (t)}

t0

(27)

(t, )G( )E{w wtT }GT (t)d

(28)

(t, )G( )Q(t)(t )GT (t)d

(29)

t0

como E{wtwT } = Q(t)(t ),


E{(xt

x
t)wtT GT (t)}

t0

= (t, t)G(t)Q(t)GT (t)

(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.

Modelos estocsticos no espao de estados


(discreto)

Sistema dinmico estocstico em tempo discreto (SDED):


xk+1 = f (xk , wk+1, tk ),

k = 0, 1, . . .

(33)

com xk Rn, f (, , t) uma funo vetorial no-linear, wk um PE de


distribuio conhecida e, em geral, tk = kT com T sendo o perodo de
amostragem.

Interesse em p(xk ) : sendo wk uma seqncia Gaussiana branca e


independente de x0, ento
p(wk+1|wk , wk1, , w0) = p(wk+1)

(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 =

se a funo vetorial f for inversvel e existir apenas uma soluo nica

wk+1
.

11

Modelos estocsticos no espao de estados


(discreto)
Exemplo 2: SDED Linear
Sendo
f (xk , wk+1, tk ) = Ak xk + k+1wk+1

(39)

com wk+1 N (0, Qk+1) e x0 N (


x0, P0) pode-se mostrar que um
processo de Gauss-Markov tal que
xk N (
xk , Pk )

(40)

com parmetros
x
k

= Ak1x
k1

(41)

Pk

= Ak1Pk1ATk1 + k Qk Tk

(42)

12

Modelos estocsticos no espao de estados


(discreto)
Exemplo 3: SDED Linear com entrada exgena
O que dizer do processo
xk+1= Ak xk + Bk uk + k+1wk+1

(43)

com uk sendo uma entrada externa descorrelacionada de wk+1 e xk ?

13

Modelos estocsticos no espao de estados


(discreto)
Exemplo 4: Modelamento de um foguete
Sendo um foguete com empuxo vertical dado pela fora Fk e massa M :
zk = Azk1 + t uk + wk
com
zk =

yk
y k

A=

1 t
0 1

(44)

uk =

Fk
g
M

e g sendo a acelerao das gravidade, t sendo o perodo de amostragem,


y k , dyk /dtk e
wk
Qk

N (0, Qk )

2
1
w1
0
t
=
0 2w2 20 k

(45)
(46)

14

Filtragem estocstica em tempo discreto

Definio do problema: determinar p(xk |y1, , yk ) para o SDED que


evolui de acordo com o modelo
xk+1 = f (xk , wk+1, tk ),

k = 0, 1, . . .

(47)

a partir de medies modeladas por


yk = h(xk , vk , tk ).

(48)

15

Filtragem estocstica em tempo discreto

A partir de p(xk |y1, , yk ), estamos interessados em obter uma


estimativa x
k para xk .
Vrias escolhas possveis: mdia, mediana, modo principal.
Necessidade de definio de um critrio e minimizar.
Sendo o erro de estimao dado por x
k = xk x
k , a mtrica seria
E{L(
xk )} com as possveis escolhas [1]
T
L(
xk ) = x

k , S 0
Pk S x
xk |)i
L(
xk ) = i ci (|
k )
L(
xk ) = min(c, x
Tk S x

16

Filtragem estocstica em tempo discreto

O critrio quadrtico o mais interessante: sendo k = E{xk |y1, , yk },


k }
E{L(
xk )} = E{
xTk S x

(49)

= E{(xk k ) S (xk k )} + E{(k x


k ) S (k x
(50)
k )}
que minimizado com x
k = k = E{xk |y1, , yk }. Com esta escolha,
T

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

que a soma dos elementos da diagonal de


Pk

= E{
xk x
Tk |y1, , yk }

(54)

= E{(xk x
k )(xk x
k )T |y1, , yk }

(55)

= E{(xk k )(xk k )T |y1, , yk }

(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

Filtro de Kalman (FK)

Considere o SDED linear (processo de Gauss-Markov)


xk

= Ak1xk1 + k wk

(60)

yk

= Ck xk + vk

(61)

com wk N (0, Qk ), vk N (0, Rk ), x0 N (


x0, P0) e
E{wk vkT } = 0.

(62)

Como no se pode garantir ter medies a cada instante tk = kT , o


procedimento de estimao de xk dividido em duas fases:
Fase de predio: usa como estimativas
x
k|k1 = E{xk |y1, , yk1}

(63)

Pk|k1 = E{(xk x
k|k1)(xk x
k|k1)T |y1, , yk1}

(64)
19

Fase de correo: corrige a predio de forma a obter a estimativa


Bayesiana MAP (i.e., mdia no caso Gaussiano).

Fase de predio: entre os instantes tk1 e tk , a estimativa predita obtida


por
x
k|k1 = E{xk |y1, , yk1}
= E{Ak1xk1 + k wk |y1, , yk1}

(65)
(66)

= E{Ak1xk1|y1, , yk1} + E{k wk |y1, , yk1} (67)


Sendo wk descorrelacionado das medies (62),
x
k|k1 = Ak1E{xk1|y1, , yk1}
= Ak1x
k1

(68)
(69)

Pk|k1 dada por


Pk|k1 = Ak1Pk1ATk1 + k Qk Tk

(70)
20

Fase de correo: no instante tk , se nenhuma medio estiver disponvel,


ento
x
k

= x
k|k1

(71)

Pk

= Pk|k1

(72)

caso contrrio, utiliza-se a regra de Bayes


p(xk |y1, , yk ) =

p(yk |xk , y1, , yk1)p(xk |y1, , yk1)


p(yk |y1, , yk1)

(73)

com
p(yk |xk,y1, , yk1) = p(yk |xk )
= pvk (yk Ck xk )

(74)
(75)

devido a (61). A predio constitui a distribuio a priori


p(xk |y1, , yk1) = N (
xk|k1, Pk|k1)

(76)
21

Para determinar p(yk |y1, , yk1), parte-se de sua mdia


E{yk |y1, , yk1} = E{yk |yk1}

(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)

Percebe-se que p(yk |y1, , yk1) constante, e no depende de xk ,


como era de se esperar.
Pode-se demonstrar que [1]
p(xk |y1, , yk ) = N (
xk , Pk )

(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)

Entrada exgena: se o podelo possuir uma entrada uk de forma que (60)


se torna
xk = Ak1xk1 + Bk1uk1 + k wk
(90)
ento esta entrada afeta as equaes do filtro apenas na equao (69) da
fase de predio, que passa a ser
x
k|k1 = Ak1x
k1 + Bk1uk1

(91)

e (70) no se altera uma vez que uk no uma v.a.

24

Filtro de Kalman (FK)


Algoritmo 1: Filtro de Kalman Linear
Seja o sistema dinmico estocstico em tempo discreto
xk

= Ak1xk1 + Bk1uk1 + k wk

(92)

yk

= Ck xk + vk

(93)

com wk N (0, Qk ), vk N (0, Rk ), x0 N (


x0, P0) descorrelacionados, ou
seja
E{wk vkT } = 0,
E{wk xT0 } = 0,
E{vk xT0 } = 0.
(94)
O filtro de Kalman o estimador de mnima varincia de xk , composto de
duas fases:
(i) Fase de predio (entre os instantes tk1 e tk ):
x
k|k1 = Ak1x
k1 + Bk1uk1

(95)

Pk|k1 = Ak1Pk1ATk1 + k Qk Tk

(96)
25

(ii) Fase de correo (no instante tk ): dado a medio yk com matriz de


covarincias Rk
x
k

= 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

Filtro de Kalman (FK)


Observao 1:
O Filtro de Kalman o estimador Bayesiano geral para SDED linear e
variante no tempo. Sistemas invariantes no tempo so tratados como caso
especial, em que as matrizes do sistema so constantes.
Observao 2:
A estimativa x
k de mnima varincia, pois minimiza trPk .
Observao 3:
A medio yk no afeta a atualizao de Pk , apenas sua incerteza
representada sob a forma de Rk

27

Filtro de Kalman (FK)


Observao 4:
Casos limite:
(i) Medio no afeta estimativa:
Rk

= Gk 0.

Pk|k1 0 = Gk 0.

(ii) Medio afeta ao mximo a estimativa:


Rk

0 = Gk

Pk|k1CTk

Ck Pk|k1Ck

Pk|k1 em conseqncia de Qk

28

Filtro de Kalman (FK)


Observao 5:
Sendo Pk e Pk|k1 positivas semi-definidas (i.e., so matrizes de
covarincias), pela equao (98) tem-se
(I Gk Ck ) 0 = I Gk Ck

(101)

no sentido matricial. Isto implica que em Pk Pk|k1, resultando em reduo


de incerteza de predio aps o processo de correo. Isto pode ser
facilmente verificado para o caso escalar em que o estado observado
diretamente na sada
yk = xk + vk

(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)

que uma mdia ponderada com


2v
.
w= 2
k|k1 + 2v

(105)

Portanto, x
k estar entre x
k|k1 e yk , dependendo de w. No mais,
2k = w 2k|k1 = (1 w) 2v

(106)

implicando que 2k 2k|k1 e 2k 2v uma vez que 0 w 1. Isto significa


2k min( 2k|k1, 2v ). Com este resultado, verifica-se a reduo de incertezas
aps considerar-se a medio yk .
30

Filtro de Kalman (FK)


Teorema 1: Consistncia de estimao diante de erro de modelagem ([1],
pp. 248)
Seja o sistema
xk

= 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

Aplicaes do Filtro de Kalman

Fuso de dados sensoriais (caso de fuso simples):


Considere um sistema de medio de temperatura com o modelo
seguinte:
k

= k1

(109)

yk

= k + vk

(110)

Considere 1 N (1, 21) uma estimativa provida por um sensor no


instante k = 1. Em k = 2, um outro sensor apresenta uma medio
contaminada com rudo v2 N (0, 2v ). Determine 2|1 e 2, assim suas
varincias associadas.

32

Aplicaes do Filtro de Kalman

Estimao seqencial da mdia de um sinal:


Supor que deseja-se estimar (rastrear) o valor mdio xk de um sinal
discreto escalar zk . O seguinte modelo de evoluo da mdia usado:
xk = xk1 + wk

(111)

com wk N (0, qk2 ). A componente wk se justifica por


O sinal zk possuir mdia variante no tempo (no estacionrio);
x0 no ser bem conhecido a priori.
O modelo de medio dado por
yk = xk + vk

(112)

com vk N (0, rk2 ). A medio yk o prprio sinal, i.e., yk = zk . Pede-se:


33

Determinar as equaes do filtro de Kalman para este problema;


Mostrar que o filtro de Kalman pode ser interpretado como a verso
discreta (Euler) de um filtro passa-baixas com funo de transferncia
H(s) =

c
.
s + c

(113)

com c variante no tempo.

34

Aplicaes do Filtro de Kalman

Identificao recursiva de modelos lineares:


O modelo ARX
y(k)A(q) = u(k)B(q) + v(k)
A(q) = 1 + a1q 1 + + ana q na
B(q) = b1q 1 + + bnb q nb
pode ser escrito na forma
y(k) = T (k)

T
y(k 1) y(k na) u(k 1)
(k) =

a1 ana b1 bnb
=

u(k nb)

35

O Filtro de Kalman pode ser usado para a estimao recursiva de com o


uso do modelo
k

= k1

yk

= Tk k + vk

0, P0). O algoritmo obtido chamado de


com condio inicial 0 N (
Estimador Recursivo de Ganho Normalizado [2].

36

Aplicaes do Filtro de Kalman

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

com a k1 e b k1 sendo taxas (ou velocidades) de variao dos parmetros,


a serem estimadas. T o perodo de amostragem. Observa-se que com
37

a k1 = b k1 = 0, o modelo fica similar ao de identificao de modelos


lineares.
Pede-se para propor um estimador usando o Filtro de Kalman. Verificar em
simulao as seguintes situaes:
ak = 0, 8 e bk = 0, 2;
ak = 0, 8 e bk sendo uma onda triangular.
ak = 0, 8 e bk sendo um passeio aleatrio com b0 = 0, 85 e confinado a
0, 2 bk < 2, 9.

38

Aplicaes do Filtro de Kalman

Outros:

Filtragem adaptativa: caso de Qk e Rk so estimados on-line [3].


Rastreamento de alvos [4].
Observador de estados
Estimao sob retrio (usando pseudo-medies d = Ck xk ).
Branqueamento: sada o termo de inovao a posteriori yk Ck x
k .

39

Filtragem estocstica no-linear

Sistema dinmico estocstico no-linear em tempo discreto (rudo aditivo):


xk

= f (xk1, uk1) + k wk

(114)

yk

= h(xk ) + vk

(115)

com x0, wk e vk descorrelacionados.

Problema: resolver
p(xk |y1, , yk ) =

p(yk |xk , y1, , yk1)p(xk |y1, , yk1)


p(yk |y1, , yk1)

(116)

ou ainda, determinar
x
k

= E{xk |y1, , yk } = Estimativa de mnima varincia

x
k

= argxk max p(xk |y1, , yk ) = Estimativa de mximo a posteriori

40

Filtragem estocstica no-linear

Dificuldades em encontrar uma soluo analtica para


p(xk |y1, , yk ) =

p(yk |xk , y1, , yk1)p(xk |y1, , yk1)


p(yk |y1, , yk1)

(117)

Mesmo com x0 Gaussiano, so fatores que fazem com que xk seja


no-Gaussiano:
No-linearidade de f (xk1, uk1), que determina p(xk |y1, , yk );
No-linearidade de h(xk ), que determina p(yk |xk , y1, , yk1);
Erros de modelamento do processo, que podem implicar que o wk real
seja no-Gaussiano;
Erros de modelamento do medio, que podem implicar que o vk real
seja no-Gaussiano.

41

Filtragem estocstica no-linear


Exemplo 5: Modelo estocstico no-linear

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

com x0 N (0, P0), wk N (0, Q), vk N (0, r) tais que


P0 =

0, 05 0
0
2

Q=

0, 001 0
0
2

r = 1.

42

Filtragem estocstica no-linear

Filtros para sistemas estocsticos no-lineares:


Filtro de Kalman Estendido: linearizao local de primeira ordem do
modelo.
Filtro de Segunda Ordem: linearizao local de segunda ordem do
modelo.
Filtro de Kalman Estendido Iterativo: linearizao local com
maximizao iterativa de p(xk |y1, , yk ).
Filtro de Kalman Unscented Transform: propagao de mdia e matriz
de covarincias do modelo de processo usando a Unscented Transform.
Filtro Soma de Gaussianas: aproximao de p(xk |y1, , yk ) por uma
soma de gaussianas.
Filtro de Monte Carlo Seqencial: aproximao de p(xk |y1, , yk ) por
amostras.
e muitos outros ...

43

Filtro de Kalman Estendido (FKE)


Considerando o modelo de processo
xk = f (xk1, uk1) + k wk
em torno de x
k1, usando expanso em srie de Taylor tem-se
f (
xk1, uk1)
(xk1 x
k1)
f (xk1, uk1) f (
xk1, uk1) +

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

xk1, uk1) Ak1x


k1
uk1 = f (

O mesmo pode ser feito com relao ao modelo de medio

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

Desta forma, temos um sistema linear transformado


xk

= Ak1xk1 + uk1 + k wk

(118)

yk

= Ck xk + vk

(119)

sobre o qual pode-se aplicar o Filtro de Kalman, resultando nas seguintes


46

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

(ii) Fase de correo (no instante tk ): dado a medio yk com matriz de


covarincias Rk
x
k

= 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

Filtro de Kalman Estendido (FKE)


Algoritmo 2: Filtro de Kalman Estendido
Seja o sistema dinmico no-linear estocstico em tempo discreto
xk

= f (xk1, uk1) + k wk

(129)

yk

= h(xk ) + vk

(130)

com wk N (0, Qk ), vk N (0, Rk ), x0 N (


x0, P0) descorrelacionados, ou
seja
(131)
E{vk xT0 } = 0.
E{wk xT0 } = 0,
E{wk vkT } = 0,
O Filtro de Kalman Estendido o estimador de xk , composto de duas fases:
(i) Fase de predio (entre os instantes tk1 e tk ):
x
k|k1 = f (
xk1, uk1)
Pk|k1 =

(132)

f (
xk1, uk1)
f (
xk1, uk1)
Pk1

xk1

xk1

+ k Qk Tk (133)
49

(ii) Fase de correo (no instante tk ): dado a medio yk com matriz de


covarincias Rk
x
k
Pk

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

Filtro de Kalman Estendido (FKE)


Observao 6:
O Filtro de Kalman Estendido obtido por linearizao aproxima
p(xk |y1, , yk ) por uma Gaussiana, pois usa o modelo (118)-(119).
Observao 7:
O Filtro de Kalman Estendido um estimador sub-timo, devido s
aproximaes.
Observao 8:
k ), vk N (0, R
k ), x0 N (
0) descorrelacionados,
Com wk N (0, Q
x0, P
0, Qk Q
k , Rk R
k no se tem como
mesmo se forem usados P0 P
garantir consistncia de x
k e x
k|k1.

51

Filtro de Kalman Estendido (FKE)


Exemplo 6: Estimao conjunta de estados e parmetros
Considere o sistema
xk

= f (xk1, uk1, k1) + k wk

(137)

yk

= h(xk ) + vk

(138)

em que um vetor de parmetros que compem o modelo de evoluo do


processo. O problema consiste em estimar simultneamente xk e k . Uma
soluo consiste em aplicar o Filtro de Kalman Estendido (ou qualquer filtro
estocstico no-linear) para o sistema estendido

f (xk1, uk1, k1)


k wk
xk
=
+
zk =
w,k
k
k1
yk

= h(zk ) + vk

em que
zk contem estimativas de ambos xk e k que se tornam
correlacionadas devido a f (xk1, uk1, k1).
52

Filtro de Kalman Estendido (FKE)


Exemplo 7: Estimao sob restrio
Considere o sistema
xk

= f (xk1, uk1) + k wk

(139)

yk

= h(xk ) + vk

(140)

com wk N (0, Qk ), vk N (0, Rk ), x0 N (


x0, P0) descorrelacionados, mas
com restrio nas variveis de estado sob a foma de
c = g(xk ).

(141)

Uma forma de incorporar as restries no problema consiste em usar um


artifcio conhecido por pseudo-medio. Ou seja, o modelo de medio
53

passaria a ter uma componente fictcia:

com vk N (0, Rk ) e

yk
c

Rk =

h(xk )
g(xk )
Rk
0

0
Sk

+ vk

Com Sk = 0, a restrio (141) satisfeita a cada passo de correo do filtro.


Se for desejado relaxar a restrio (141), basta escolher Sk > 0. Se Sk ainda
for muito pequeno a estimativa no fica longe de satisfazer (141).

54

Filtro de Kalman Estendido (FKE)


Exemplo 8: Rastreamento de Foguete
Discusso em sala de aula. Observar o conceito de medio modificada.

55

Filtragem de Monte Carlo Seqencial (MCS)


Seja o sistema dinmico no-linear estocstico em tempo discreto
xk

= f (xk1, uk1) + k wk

(142)

yk

= h(xk ) + vk

(143)

Os filtros de Monte Carlo pertencem a uma classe de algoritmos que


aproximam p(xk |y1, , yk ) por amostras desta FDP
(1)

xk

(1)

qk

xk

(2)

xk

(2)

qk

(Ns )

com pesos associados


qk

(Ns )

56

(i)

(i)

de forma que qk p(xk |y1, , yk ) e a seguinte aproximao feita

p(xk |y1, , yk )

Ns
X

(i)

(i)

qk (xk xk )

(144)

i=1

Os pesos devem ser determinados de forma que

p(xk |y1, , yk ) dxk

Ns
X

"N
s
X

(i)

qk (xk xk ) dxk

i=1

(i)

(i)

qk = 1

(145)

(146)

i=1

57

A partir das amostras, a estimativa de mnima varincia dada por


Z
E{xk |y1, , yk } =
xk p(xk |y1, , yk ) dxk

xk

Ns
X

"N
s
X

(i)

(i)

qk (xk xk )

i=1

dxk

(i) (i)

qk xk

i=1

Por outro lado, a estimativa mximo a posteriori seria


x
M AP

= argxk max p(xk |y1, , yk )


(j)

(j)

(i)

xk tal que qk > qk , j 6= i.


(i)

Pela literatura, as amostras xk so comumente denominadas de partculas.


Devido a isto, filtros MCS so tambm conhecidos por filtros de partculas.
58

Neste contexto, dois filtros MCS sero apresentados:

Filtro Sequential Importance Sampling (SIS)

Filtro Sampling Importance Re-sampling (SIR)

Boas referncias sobre este tpico so [5] [6].

59

Filtro Sequential Importance Sampling (SIS)


A densidade p(xk |y1, , yk ) pode ser obtida a partir de
p(xk |y1, , yk ) =

p(x0, , xk1, xk |y1, , yk ) dx0 dxk1

(147)

Desta forma, o problema de filtragem pode ser resolvido a partir da densidade


conjunta p(x0, , xk1, xk |y1, , yk ), que pode ser aproximada por
p(x0, , xk1, xk |y1, , yk )

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

O algoritmo de amostragem de importncia pode ento ser usado nestes


casos:
(i)

(i)

Gera-se {x0 , , xk } seguindo uma FDP auxiliar


(x0, , xk |y1, , yk } (funo de importncia)

Usa-se qk dado por

(i)

(i)

qk =

(i)

(i)

p(x0 , , xk |y1, , yk )
(i)
(x0 ,

(i)
, xk |y1,

, yk )

(149)

de forma que fica satisfeita a relao


(i)

(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)

Na verdade, isto seria possvel se


(x0, , xk1|y1, , yk ) = (x0, , xk1|y1, , yk1).

(152)

Verifique isto a partir da relao (A, B|C) = (A|B, C)(B|C).


Mais ainda, () pode ser escolhida de forma que
(xk |x0, , xk1, y1, , yk ) = (xk |xk1, y1, , yk )

(153)
62

e assim
(x0, , xk |y1, , yk ) = (xk |xk1, y1, , yk )(x0, , xk1|y1, , yk1)
(154)
(i)

(i)

Ento, a partir de (154), o conjunto de amostras x0 , , xk pode ser obtido


(i)
(i)
(i)
a partir de x0 , , xk1 acrescentando-se amostras xk geradas de
(i)

(i)

(i)

xk (xk |x0 , , xk1, y1, , yk )

i = 1, , Ns.

(155)

(i)

Percebe-se que xk uma predio de xk dada toda seqncia de eventos


ocorridos desde k = 0. Portanto, determinou-se uma forma de gerar amostras
seqencialmente (ou recursivamente). O mesmo precisa ser feito com
(i)
relao aos pesos qk .
A partir da regra de Bayes
p(x0, , xk |y1, , yk ) =

p(yk |x0, , xk , y1, , yk1)p(x0, , xk |y1, , yk1)


,
p(yk |y1, , yk1)
63

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)
=

p(yk |x0, , xk , y1, , yk1)p(xk |x0, , xk1, y1, , yk1)


p(yk |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)

p(xk |x0, , xk1, y1, , yk1) = p(xk |xk1)

(162)

Portanto,
p(x0, , xk |y1, , yk ) =

p(yk |xk )p(xk |xk1)


p(x0, , xk1|y1, , yk1)
p(yk |y1, , yk1)

uma forma recursiva de obter p(x0, , xk |y1, , yk ) a partir da densidade


conjunta acumulada at k 1. Juntando este resultado com o da equao
(154), obtem-se uma forma seqncial para atualizao dos pesos:

(i)

qk =

(i)

(i)

(i)

(i)

p(x0 , , xk |y1, , yk )
(x0 , , xk |y1, , yk )
65

(i)

(i)

qk =

(i)

(i)

p(yk |xk )p(xk |xk1)


p(yk |y1,

(i) (i)
, yk1)(xk |xk1, y1,

(i)

(i)

(i)

(i)

, yk ) (x0 , , xk1|y1, , yk1)

(i)

p(yk |xk )p(xk |xk1)

(i)

qk =

(i)

(i)

p(x0 , , xk1|y1, , yk1)

(i)

(i)

(i)

p(yk |y1, , yk1)(xk |xk1, y1, , yk )

qk1

Como p(yk |y1, , yk1) no depende dos estados,


(i)

(i)

qk

(i)

(i)

p(yk |xk )p(xk |xk1)


(i) (i)
(xk |xk1, y1,

, yk )

(i)

qk1

(163)

Na verdade, no necessrio conhecer p(yk |y1, , yk1). Mas preciso


66

garantir

PNs

(i)

i=1 qk = 1, que pode ser obtido fazendo normalizao:

(i)

(i)

qk

qk = PN
s

(j)
q
j=1 k

(i)

(164)

e depois usando qk como os novos pesos.

67

Filtro Sequential Importance Sampling (SIS)


Algoritmo 3: Filtro Sequential Importante Sampling (SIS)
Seja o sistema dinmico no-linear estocstico em tempo discreto
xk

= f (xk1, uk1) + k wk

(165)

yk

= h(xk ) + vk

(166)

com wk N (0, Qk ), vk N (0, Rk ), x0 N (


x0, P0). O algoritmo SIS de
filtragem estocstica Monte Carlo se resume nos seguintes passos:

Inicializao: dado p(x0), fazer


(i)

Gerar amostras x0 , i = 1, , Ns, de p(x0).


(i)
Determinar os pesos q0 . A partir de (150), seria natural usar
(i)

(i)

q0 = p(x0 )

68

e depois normalizar seus valores de forma que

PNs

(i)

i=1 qk = 1.

A cada instante k 1, atualizar as amostras e pesos por meio de


(i)

xk

(i)

(i)

(xk |xk1, y1, , yk )


(i)

(i)

qk

(i)

(i)

p(yk |xk )p(xk |xk1)


(i)

(i)

(xk |xk1, y1, , yk )

(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)

Sendo wk N (0, Qk ) e vk N (0, Rk ), ento p(yk |xk ) e p(xk |xk1) so


densidades Gaussianas.
69

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

Filtro Sampling Importance Re-sampling (SIR)


O SIR um filtro com reduzido risco de divergncia quando comparado ao
SIS. Isto se deve a duas alteraes no SIS:
I. Escolhe-se

(i)

(i)

(i)

(i)

(xk |xk1, y1, , yk ) = p(xk |xk1)


(i)

de foma que qk atualizado como


(i)

(i)

(i)

qk = p(yk |xk ) qk1


de forma que as amostras com maior verosimilhana com as medies
tero seus pesos aumentados com relao ao outros (aps normalizao).
As amostras podem ser obtidas, por exemplo, usando
(i)

(i)

(i)

xk = f (xk1, uk1) + k wk

71

(i)

com wk sendo uma amostra de p(wk ).


II. Reamostragem: esta fase se faz necessria para minimizar o nmero de
(i)
amostras com qk 0. A fase de reamostragem consiste em gerar um
(1)
(N )
novo conjunto de amostras x
k , , x
k s a partir de amostragem com
(1)
(N )
reposio de xk , , xk s em que
(i)

(j)

(j)

Pr{
xk = xk } = qk

o que implica que sero replicadas amostras com maior verossimilhana


(i)
(i)
p(yk |xk ). Aps esta fase, os pesos recebem qk = 1/Ns.
Observao 11:
Existe um risco de degenerao se as medidas possurem baixssima
(i)
incerteza, i.e., p(yk |xk ) muito estreita. Isto reduz a probabilidade de se ter
(i)
amostras representativas em torno do mximo de p(yk |xk ).

72

Filtro Sampling Importance Re-sampling (SIR)


Exemplo 9: SIR aplicado a um modelo estocstico no-linear

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

com x0 N (0, P0), wk N (0, Q), vk N (0, r) tais que


P0 =

0, 05 0
0
2

Q=

0, 001 0
0
2

r = 1.

Referncias
73

[1] JAZWINSKI, A. H. Stochastic Processes and Filtering Theory. [S.l.]:


Academic Press, 1970.
[2] LJUNG, L. System Identification - Theory for the User. Second edition.
[S.l.]: Prentice Hall, 1999.
[3] ANDERSON, B. D.; MOORE, J. B. Optimal Filtering. [S.l.]: Prentice Hall,
1979.
[4] BAR-SHALOM, Y.; LI, X.-R. Estimation and Tracking: Principles,
Techniques and Software. [S.l.]: Norwood: Artech House, 1987.
[5] DOUCET, A.; GODSILL, S.; ANDRIEU, C. On sequential monte carlo
sampling methods for bayesian filtering. Statistics and Computing, v. 10, p.

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

Das könnte Ihnen auch gefallen