• Nenhum resultado encontrado

Exemplos de aplicação de filtros de partículas

2.6.1 Exemplo 1 - Modelo linear Autoregressivo Gaussiano

Para ilustrar a aplicação de filtros de partículas, vamos considerar o seguinte problema: deseja-se estimar Xn, um processo gaussiano autoregressivo observado através de yn,

definido como: 

Xn+1 = αXn+ un

yn = Xn+ vn (2.42)

em que 0 < α < 1, e une vnsão dois processos gaussianos brancos e de média nula, com variância σ2

u e σv2 respectivamente.

Neste exemplo, utilizamos a função de importância ótima p(Xn|X0:n−1, y0:n). As- sim, para projetar um filtro de partículas para o problema em questão, precisamos obter as expressões:

1. da função de importância p(Xn|X0:n−1, y0:n).

2. da razão p(Xn, yn|X0:n−1, y0:n−1)/p(Xn|X0:n−1, y0:n) (necessária para atualizar os pesos (2.8)).

Cálculo da função de importância

Inicialmente, observe que como conseqüência da lei de Bayes podemos escrever: p(Xn, yn|X0:n−1, y0:n−1) = p(yn|X0:n, y0:n−1)p(Xn|X0:n−1, y0:n−1) . (2.43)

Analisando (2.42), podemos concluir que

p(yn|X0:n, y0:n−1) = p(yn|Xn) = N (yn|Xn; σ2 v), uma vez que yn Xn+ vn. Da mesma forma, obtemos que

p(Xn|X0:n−1, y0:n−1) = p(Xn|Xn−1) =N (Xn|αXn−1; σ2u), do que concluímos que:

p(Xn, yn|X0:n−1, y0:n−1) =N (Xn|αXn−1; σ2u)N (yn|Xn; σ2v) . (2.44) Por outro lado, observe agora que:

p(Xn|X0:n−1, y0:n) = p(Xn, yn|X0:n−1, y0:n−1) p(yn|X0:n−1, y0:n−1) = p(Xn, yn|X0:n−1, y0:n−1)  dXn p(Xn, yn|X0:n−1, y0:n−1) . (2.45) Combinando (2.44) e (2.45) resulta: p(Xn|X0:n−1, y0:n) = N (X n|αXn−1; σu2)N (yn|Xn; σv2)  dXnN (Xn|αXn−1; σ2 u)N (yn|Xn; σ2v) . (2.46)

Após cálculos tediosos (vide Apêndice D), pode-se mostrar que: N (Xn|αXn−1; σ2 u)N (yn|Xn; σv2) = N Xn|ynσ2u+αXn−1σ2v σ2 u+σ2v ; σ2 uσ2v σ2 u+σ2v ! N (yn|αXn−1; σ2 u+ σv2) . (2.47)

Utilizando (2.47), pode-se verificar que a integral do denominador de (2.46) é dada por N (yn|αXn−1; σu2 + σv2) (já que o termo dependente de Xn tem integral unitária), resultando que: p(Xn|X0:n−1, y0:n) =N " Xn|ynσ 2 u+ αXn−1σv2 σ2 u+ σv2 ; σ 2 uσv2 σ2 u+ σv2 # (2.48)

Cálculo da função de atualização dos pesos

Inicialmente, note que a razão de densidades presente em (2.8) pode ser reescrita como p(Xn, yn|X0:n−1, y0:n−1)

cuja expressão já foi obtida anteriormente, valendo

p(yn|X0:n−1, y0:n−1) =N (yn|αXn−1; σ2

u+ σ2v) . (2.50)

Algoritmo

A adaptação do filtro de partículas descrito na Tabela 2.2 ao modelo de (2.42) resulta então no seguinte algoritmo:

• Inicialize o algoritmo como descrito na Tabela 2.2. • Amostre cada partícula fazendo

Xn(i) ∼ N  Xn|ynσ 2 u+ αX (i) n−1σv2 σ2 u+ σv2 ; σ 2 uσv2 σ2 u+ σv2  . (2.51)

• Atualize os pesos por

wn(i) = w(i)n−1N (yn|αXn−1(i) ; σu2+ σv2) . (2.52)

• Normalize os pesos, e estime p(X0:n|y0:n) conforme a Tabela 2.2.

Observação 4 Pode-se estimar X0:npara o modelo descrito em (2.42) de forma ótima

através de um filtro de Kalman. De fato, pode-se verificar que Xntem uma distribuição

gaussiana da forma Xn ∼ N (Xn| ˆXn; Pn), em que ˆXn e Pn podem ser calculados

através das recursões:

ˆ Xn = α ˆXn−1+ Pn−1 Pn−1+σ2v(yn− α ˆXn−1) Pn = α2 Pn−1σ 2 v Pn−1+σ2v + σ 2 u (2.53)

iniciadas com ˆX0 = E[Xn] = 0 e P0 = σu2.

Simulação

Geramos uma seqüência de 100 amostras de Xne ynde acordo com o modelo (2.42), utilizando α = 0, 999, σ2

u = 0, 1 e σv2 = 0, 5. Em seguida, estimamos (a média de) x0:100 a partir de y0:100 utilizando um filtro de Kalman e um filtro de partículas (empregando M = 100 partículas, sem reamostragem). Na Figura 2.1 mostramos os resultados obtidos. Como se pode observar, ambas as estimativas seguem o sinal original com precisão razoável. Observou-se, no entanto, que variância do erro de estimação do filtro de partículas neste experimento (não mostrada no gráfico) foi igual

a 0,16, maior que o observado para o filtro de Kalman (0,14), o que é justificável pelo fato do filtro de Kalman ser ótimo para este modelo de sinal.

0 10 20 30 40 50 60 70 80 90 100 -1.5 -1 -0.5 0 0.5 1 1.5 exato KF PF

Figura 2.1: Gráfico de uma realização de X0:ngerado pelo modelo dado em (2.42) e de suas estimativas através de um filtro de Kalman (KF) e de um filtro de partículas (PF).

2.6.2 Exemplo 2 - Modelo autoregressivo com função de observa-

ção não-linear

Vamos considerar agora um modelo com evolução de estado semelhante à do exemplo anterior, mas observado através de uma função não-linear:



Xn+1 = αXn+ un yn = (Xn)13 + vn

(2.54)

em que 0 < α < 1, e une vnsão dois processos gaussianos brancos e de média nula, com variância σ2

u e σv2 respectivamente.

Observando-se o desenvolvimento do exemplo anterior, pode-se verificar que a função de observação não-linear faz com que não seja possível determinar analitica- mente a função de importância ótima (2.47). Pode-se, no entanto, empregar a função de importância a priori, resultando no seguinte algoritmo:

• Amostre cada partícula fazendo

Xn(i)∼ N Xn|αXn−1(i) ; σu2 !

. (2.55)

• Atualize os pesos por w(i) n = w (i) n−1N yn|(X(i) n )(1/3); σv2  . (2.56)

• Normalize os pesos, e estime p(X0:n|y0:n) conforme a Tabela 2.2.

Observação 5 Dada a não-linearidade do modelo descrito em (2.54), a estimação da densidade a posteriori de X0:n não pode ser calculada através de um filtro de Kal-

man como no exemplo anterior. Pode-se, no entanto, estimar X0:nde forma subótima

empregando uma das diversas versões linearizadas do filtro de Kalman descritas na literatura (filtro de Kalman extendido (EKF) [15], filtro de Kalman baseado na “uns- cented transform” [32]). Empregando o EKF, resulta que estimativas da média ˆXn e

da variância Pnda variável de estado podem ser obtidas através das recursões:

Hn = 1 3Xˆ −2 3 n−1 Pn|n−1 = α2Pn−1+ σu2 γn = HnHPn|n−1Hn+ σ2v (2.57) ˆ Xn = α ˆXn−1+ γn−1[yn− (α ˆXn−1)13]Pn|n−1Hn Pn = Pn|n−1− γn−1Pn|n−1HnHnHPn|n−1H

iniciadas com ˆX0 = E[Xn] = 0 e P0 = σu2.

2.6.3 Simulação

Geramos uma seqüência de 100 amostras de Xne ynde acordo com o modelo (2.54), com α = 0, 999, σ2

u = 0, 1 e σv2 = 1. Em seguida, estimamos (a média de) x0:100 a partir de y0:100 utilizando um filtro de Kalman estendido (EKF) e o filtro de partículas descrito na Sec. 2.6.2 (empregando M = 150 partículas, com reamostragem multino- mial acionada sempre que o tamanho efetivo da amostra cai abaixo de 50%). A Figura 2.1 ilustra os resultados obtidos. Como se pode observar, ambas as estimativas seguem o sinal original com precisão razoável. Neste caso, ao contrário do exemplo anterior, as estimativas produzidas pelo filtro de partículas foram mais precisas: a variância média do erro de estimação (ao longo de 100 realizações) foi igual a 0, 4806, contra um valor

médio de 0, 6759 para o filtro de Kalman estendido. 0 10 20 30 40 50 60 70 80 90 100 -1 0 1 2 3 4 5 6 7 8 k xk exato EKF PF

Figura 2.2: Gráfico de uma realização de X0:ngerado pelo modelo dado em (2.54) e de suas estimativas através de um filtro de Kalman estendido (EKF) e de um filtro de partículas (PF).

Capítulo 3

Filtro de Partículas para Equalização

Cega

Neste capítulo, empregamos filtros de partículas na solução do problema de equa- lização cega de canais lineares FIR invariantes no tempo. Este problema, que talvez constitua uma das formulações mais imediatas de filtragem estocástica com parâmetros desconhecidos, é afetado intrinsecamente por ambigüidades de fase, que impossibili- tam a operação dos filtros de partículas caso providências para estabelecer coerência de fase (entre as partículas) não sejam tomadas.

Desta forma, após descrever o modelo de sinal adotado (Sec. 3.1) e deduzir o equa- cionamento básico dos filtros de partículas Rao-Blackwellizados (Sec. 3.2), propomos na Sec. 3.3 três diferentes métodos para contornar os efeitos da ambigüidade de fase. A Sec. 3.4, por sua vez, descreve métodos para equalização cega baseados em evolução artificial, os quais, diferentemente dos algoritmos empregando Rao-Blackwellização, são capazes de operar sob ruídos aditivos não-gaussianos. Finalizando este capítulo, a Sec. 3.5 reúne o resultado de simulações numéricas nas quais o desempenho dos métodos propostos é avaliado.

3.1 Modelo de sinal, hipóteses e objetivos

Neste capítulo, desenvolvemos filtros de partículas para a equalização de canais de or- dem conhecida e invariantes no tempo. Retomando a notação apresentada na Sec. 1.1, adotamos que as amostras yn do sinal recebido em banda base podem ser descritas como yn = L−1  i=0 hixn−i+ vn , (3.1)

em que hi é a resposta ao impulso do canal de transmissão (de ordem L) e vn o ruído aditivo (assumido gaussiano, branco, de média nula e variância σ2

v conhecida, salvo menção em contrário). Nosso objetivo é aproximar a densidade a posteriori p(x0:n|y0:n) através de filtros de partículas.

Como argumentamos no Cap. 2, a aplicação de filtros de partículas na solução de problemas de estimação requer que se seja capaz de expressar o sinal observado yn como a saída de um sistema dinâmico, cuja variável de estado Xn seja preferencial- mente uma função simples das variáveis que se desejam estimar. Definindo

Xn  [ xn ... xn−L+1 ]T ∈ R(L×1) , obtemos que o sinal observado ynpode ser descrito como



Xn+1 = F Xn+ f xn+1 yn = hHXn+ vn