Filtro di Kalman

Home Su

Sommario

Flitro di Kalman: Algoritmo
Flitro di Kalman: Step 1
Flitro di Kalman: Step 2
Flitro di Kalman: Step 3
Flitro di Kalman: Step 4
Flitro di Kalman: Step 5
Flitro di Kalman: Implementazione

Presentazione

Il Filtro di Kalman è un algoritmo utilizzato per il filtraggio dei dati costruito sulla base di una media ragionata tra il prossimo valore predetto e il prossimo valore stimato. Questo filtro è spesso utilizzato per ottenere una migliore valutazione di un dato ottenuto dalla lettura di più sensori, ognuno caratterizzato da un rumore di misura avente caratteristiche differenti nel tempo (e quindi nella frequenza).

Per costruire un filtro di Kalman sono necessari i seguenti ingredienti:

Una serie di misure sul sistema da stimare

La Conoscenza di un modello matematico lineare descrittivo del sistema

Il Modello statistico dei rumori sulle misure

Per la descrizione del sistema dinamico lineare, non stazionario e tempo discreto, si usino i seguenti simboli, tenendo conto che i pedici "k" sono utilizzati per tenere conto dell'istante in cui si effettua l'operazione di aggiornamento della stima:

xk : vettore di stato: In un sistema lineare, lo stato rappresenta l'energia presente in uno degli accumulatori di energia interni al processo di cui il sistema lineare ne rappresenta una modellazione matematica. Un esempio di stato è l'energia potenziale di compressione di una molla, ovvero la quantità di liquido contenuta in un serbatoio (rappresentante dell'energia potenziale gravitazionale posseduta dal fluido);

uk : vettore degli ingressi: gli ingressi di un sistema lineare rappresentano le fonti di energia affluenti nel processo che vanno a modificare l'evoluzione dello stato in maniera più o meno significativa;

yk : vettore delle misure: lo stato di un sistema è a volte direttamente misurabile, a volte deve essere misurato attraverso grandezze loro equivalenti o il cui valore rappresenta la combinazione di una o più variabili di stato, possibilmente sporcato da errori di misura o da imprecisione nella modellizzazione matematica del sistema lineare;

wk : disturbo sullo stato: rappresenta gli ingressi che agiscono in maniera incontrollabile sullo stato del sistema;

vk : rumore sulle misure: rumore di lettura presente nel vettore delle misure rispetto al valore che avrebbero in conseguenza al valore attuale dello stato e delle variabili di ingresso. 

Qk: Matrice di Covarianza del disturbo sullo stato: rappresenta la variabilità statistica del vettore dei disturbi sullo stato (il vettore ha media nulla) ovvero la potenza del disturbo introdotto nel sistema che devia l'andamento delle variabili di stato rispetto a quello prevedibile dalla conoscenza del vettore degli ingressi e dalla legge lineare che ne governa l'evoluzione;

Rk: Matrice di Varianza del rumore sulle misure: rappresenta la variabilità statistica del vettore dei disturbi di misura (vettore a media nulla) e rappresenta la potenza del disturbo sulla misura introdotta su ciascuna delle misure accessibili;

Pk: Matrice di Varianza dell'errore sullo stato: rappresenta la variabilità dell'errore sulla stima dello stato conseguente ai due fattori di disturbo (errore di misura e disturbo dello stato);

Kk: Matrice di correzione della stima: indica il livello di fiducia assegnata alla misura rispetto alla fiducia assegnata alla stima dello stato in base al valore precedente e al modello matematico che ne rappresenta l'evoluzione; Tanto maggiore è il valore di Kk, tanto minore fiducia merita la stima basata sul modello rispetto alla misura riportata;

Fk: Matrice di stato: Matrice descrittiva dell'evoluzione libera della variabile di stato rispetto al suo valore attuale;

Yk: Matrice degli Ingressi: Matrice descrittiva dell'evoluzione forzata della variabile di stato rispetto al valore attuale dell'ingresso;

Ck: Matrice delle uscite: Matrice descrittiva del valore assunto dalle variabili misurate in funzione del valore attuale della variabile di stato; 

Le grandezze elencate hanno le seguenti proprietà (descrizione del modello statistico degli errori: E[.] rappresenta l'operatore di calcolo della varianza) e definizioni:

Qk = E[wk wkT ] ;    essendo    E[wj wkT ] = 0 per j diverso da k

Rk = E[vk vkT ] ;      essendo    E[vj vkT ] = 0 per j diverso da k

E[wj vkT ] = 0 per ogni j,k

P0 = E[(x0 - x) (x0 - x)]   avendo definito x = E[x0]

Il modello matematico del sistema è definito dalle equazioni seguenti:

xk = Fk-1 xk-1 + Yk-1 uk-1     Evoluzione dello stato

yk = Ck xk                          Evoluzione della misura

L'algoritmo del filtro di Kalman

L'operazione di filtraggio si articola nelle seguenti operazioni:

L'algoritmo completo
Inizializzazione
Aggiornamento dello stato
Aggiornamento della matrice di correzione dello stato
Stima pesata della variabile di stato
Preparazione del ciclo di calcolo successivo

Aggiornamenti

Un esempio di implementazione del filtro di Kalman è stato aggiunto:

Implementazione del filtro di Kalman

 

Questa pagina è stata aggiornata il 05/08/05.

Leonardo Daga's Warehouseâ, http:/digilander.iol.it/LeoDaga
Send any Comments to: leonardodaga@libero.it