% -----------------------------*- LaTeX -*------------------------------
\documentclass[12pt,A4]{report}
\usepackage{PSC_class}

%titoli e sillabazione in italiano
\usepackage[italian]{babel}

%per poter usare le lettere accentate (à,ò,ì) senza problemi
\usepackage[latin1]{inputenc}


\begin{document}

% \course{CS 497}           % optional
% \coursetitle{Geometric Data Structures} % optional
% \semester{Fall 1998}          % optional
% \lecturer{Jeff Erickson}      % optional
\scribe{Alberton R., Ausserer M., Barazzuol A.}        % required
\lecturenumber{5}           % required, must be a number  %CONTROLLARE
\lecturedate{Ottobre 22}       % required, omit year

\maketitle

% ----------------------------------------------------------------------


%\begin{danger}
%This is the danger environment.
%\end{danger}

\section{Equazioni filtro di Kalman}

Nei prossimi esempi si vedranno delle ulteriori applicazioni delle equazioni del filtro di Kalman in forma di informazione che per comodità vengono qui di seguito riassunte: 


\begin{equation}
    \hat{x}_{k+1|k+1} = A \hat{x}_{k|k} + K_{k+1} \left(y_{k+1} - C A \hat{x}_{k|k} \right)
\end{equation}

\begin{equation}    \label{Pkpk}
    P_{k+1|k} = A P_{k|k} A^{T} + Q
\end{equation}

\begin{equation}    \label{Pkk}
    P_{k+1|k+1} = P_{k+1|k} - P_{k+1|k} C^{T} \left( C P_{k+1|k} C^{T} + R \right)^{-1} C P_{k+1|k}
\end{equation}

\begin{equation}
    K_{k+1} = P_{k+1|k} C^{T} \left( C P_{k+1|k} C^{T} + R \right)^{-1}
\end{equation}

con condizioni iniziali:

\begin{equation}
    \begin{array}{c c}
    P_{0|-1} = P_{0} & \hat{x}_{0} = \bar{x}_{0}
    \end{array}
\end{equation}




%\scriptsize
Si continua l'esempio 4 della lezione precedente e si prende in considerazione il vettore delle misure:

\[
\begin{array}{ll}

y_i = 
\begin{bmatrix}
x_i && 1
\end{bmatrix}
\underbrace{
\begin{bmatrix}
a \\ b
\end{bmatrix}
}_\theta
+ v_i
\, ,
 &
\quad
i=1,\ldots,N \\
 & \quad v_i \sim \mathcal{N}(0,\sigma^2)
\end{array}
\]

Ponendoci nel caso di stima di un vettore $\theta$ costante $(A=I,Q=0,P_0=\infty)$ e ponenendo $y=[y_1 \cdots y_N]^T$, con $R=\sigma^2I$ la stima diventa:
\[
\hat{\theta}=\hat{x}_{0|0}=(C^TC)^{-1}C^Ty
\]
Nel caso di rumori con varianze diverse e possibilmente correlati ovvero, $R\neq\sigma^2I$


 si ottiene:
\[
\hat{\theta}=\hat{x}_{0|0}=(C^TR^{-1}C)^{-1}C^TR^{-1}y
\]
chiamato "`stimatore ai minimi quadrati pesati"'.


%%%%%%%%%%%%%%%%%%%%
\textbf{Esempio 5)}
Si considerino le matrici
\[
C = 
\begin{bmatrix}
C_1 \\
\vdots \\
C_N
\end{bmatrix} 
\in \mathbb{R}^{N \times 2}
,\quad
R=
\begin{bmatrix}
R_1 &&  && \bold{0}  \\
 && \ddots &&  && \\
\bold{0} &&  && R_N
\end{bmatrix}
\]


Si vuole vedere come si scrive lo stimatore ai minimi quadrati pesati in questa situazione. Supponendo che la matrice $C$ sia composta dai vettori riga $C_i$  si ottiene:
\[
C^T R^{-1} C = 
\begin{bmatrix}
C_1^T && \cdots && C_N^T
\end{bmatrix}
\begin{bmatrix}
R_1 &&  && \bold{0}  \\
 && \ddots &&  && \\
\bold{0} &&  && R_N
\end{bmatrix}
\begin{bmatrix}
C_1 \\
\vdots \\
C_N
\end{bmatrix}
=
\sum_{i=1}^{N}C_i^TR_i^{-1}C_i
\]

e dunque ciò che si ottiene è che l'incertezza complessiva è data dalla somma delle incertezze di ogni misura.\\
Vale poi:

\[
C^TR^{-1}y = \sum_{i=1}^{N}C_iR_i^{-1}y_i
\]

e dunque lo stimatore finale è:

\[
\hat{\theta}=
(\sum_{i=1}^{N}C_i^TR_i^{-1}C_i)^{-1}
( \sum_{i=1}^{N}C_iR_i^{-1}y_i)
\]

%Si noti che vale:


Moltiplicando e dividendo per $1/N$ si ha:
\[
\hat{\theta}=
(1/N\sum_{i=1}^{N}C_i^TR_i^{-1}C_i)^{-1}
(1/N \sum_{i=1}^{N}C_iR_i^{-1}y_i)
\]



Calcolando le due medie precedenti si ottiene la stima cercata che verr\'a chiamata \textit{"`stimatore ai minimi quadrati distribuita'"} e vale:
\[
\hat{\theta}\sim \mathcal{N}(\, \theta,(\sum_{i=1}^{N}C_i^TR_i^{-1}C_i)^{-1} \,)
\]

per cui \'e   ancora uno stimatore corretto.  \\

\newpage
%%%%%%%%%

\textbf{Esempio 6)}[Stima ai minimi quadrati iterattiva]   \\

Si prende ora in considerazione il modello precedente (con lo stesso significato delle variabili)
\[
y_k=c_k\theta+v_k , \qquad v_k \sim \mathcal{N}(0,R_k) , \quad K=1,\ldots
\]
ma in questo caso il pedice $k$ sta a significare che le misure non arrivano più tutte assieme ma in maniera sequenziale.
Anche in questo caso il parametro non noto resta costante nel tempo, e dunque si ha: $A=I,Q=0,P_0=\infty$ per cui anche $P_{1|0}=P_{0|0}=\infty$.
Con questa inizializzazione l'algoritmo del filtro di Kalman in forma di informazione diventa:
\[
\begin{array}{ll}
\hat{x}_{k|k} = (\sum_{i=1}^{k}C_i^TR_i^{-1}C_i)^{-1}(\sum_{i=1}^{N}C_i^TR_i^{-1}y_i) \\
P_{k|k} = (\sum_{i=1}^{k}C_i^TR_i^{-1}C_i)^{-1} = (P_{k-1|k-1}^{-1}+C_k^TR_k^{-1}C_k)^{-1}
\end{array}
\]
si osservi come la varianza dell'errore di stima diminuisca al crescere di $k$, e in particolare diminuisce in maniera pesata lungo alcune direzioni. Questa può essere riscritta come:
\[
P_{k|k}^{-1}=P_{k-1|k-1}^{-1}+C_k^TR_k^{-1}C_k
\]
e dunque lo stimatore diventa:
\[
\hat{x}_{k|k}=(P_{k-1|k-1}^{-1}+C_k^TR_k^{-1}C_k)^{-1}(P_{k-1|k-1}^{-1} \ \hat{x}_{k-1|k-1}+C^T_kR_k^{-1}y_k)
\]
ad ogni passo è necessario quindi invertire la matrice $P$, questo è il prezzo che viene pagato nel fare il conto iterativamente. Nel caso in cui l'inversa non esistesse si possono adottare due soluzioni. La prima consiste nel prendere $P_0=MI$ con $M\gg1$  in modo tale che l'inversa esista già dal primo passo. Nel secondo caso si aspetta qualche passo fino a che il termine in sommatoria diventi definito positivo e dal quel punto si inizia ad usare l'algoritmo di stima. La differenza fra le due soluzioni è che la secondo soluzione non da delle stime nei primi passi. Quando peró da dei risultati quelli teoricamente sono piú vicini al valore vero rispetto alle stime ottenute usando la prima soluzione.\\


%%%%%%%%%
\textbf{Esempio 7)}[Stima ai minimi quadrati dinamica o adattiva]\\

Puó succedere che il parametro $\theta$ cambia nel tempo. Si puó far ripartire l'algoritmo con il nuovo valore di $\theta$ oppure usare un'algoritmo che tiene conto dei possibili cambiamenti di $\theta$. Un modello molto semplice che tiene conto di questi possibili cambiamenti è il seguente:
$$
x_{k+1} = x_k + w_k, \quad w_k \sim \mathcal{N}(0,qI).
$$
Il nuovo $\theta$ è quindi uguale a quello precedente a cui viene sommato il rumore. Se il parametro $q$ è piccolo si ha che $\theta$ cambia di poco. Il filtro userá quindi molte misure in modo da filtrare il rumore. Si hanno peró dei transitori di stima lenti. Se $q$ è invece grande il filtro ha un transitorio di stima veloce e le stime saranno peró soggette a pi\'u rumore.



\end{document}
