Filtro di Kalman
Il filtro di Kalman è un efficiente filtro ricorsivo che valuta lo stato di un sistema dinamico a partire da una serie di misure soggette a rumore. Per le sue caratteristiche intrinseche è un filtro ottimo per rumori e disturbi agenti su sistemi gaussiani a media nulla. Trova utilizzo come osservatore dello stato, come loop transfer recovery (LTR) e come sistema di identificazione parametrica. Il problema della progettazione del filtro di Kalman è il problema duale del regolatore lineare quadratico (LQR).
Storia
[modifica | modifica wikitesto]Il filtro prende il nome da Rudolf E. Kalman, sebbene in realtà Thorvald Nicolai Thiele[1] e Peter Swerling abbiano sviluppato un algoritmo simile in precedenza. Stanley Schmidt è generalmente riconosciuto essere stato il primo a sviluppare una realizzazione pratica di un filtro di Kalman. Durante una visita di Kalman al Centro di Ricerche Ames della NASA Schmidt vide l'applicabilità delle idee di Kalman al problema della stima delle traiettorie per il programma Apollo e finì con l'includerlo nel programma del computer di bordo dell'Apollo. Il filtro fu sviluppato in articoli scientifici da Swerling (1958), Kalman (1960) e Kalman e Bucy (1961).
In seguito, partendo dalla formulazione originaria di Kalman che ora è chiamata il filtro semplice di Kalman, sono stati sviluppati numerosi tipi di filtro di Kalman; alcuni esempi sono il filtro esteso di Schmidt, il filtro di informazione e diversi filtri a radice quadrata sviluppati da Bierman, Thornton e molti altri. Anche l'anello ad aggancio di fase (PLL), circuito elettronico usato in innumerevoli applicazioni quali la radio, i calcolatori elettronici e la trasmissione dati, può essere considerato un filtro di Kalman.
Filtro di Kalman a tempo continuo
[modifica | modifica wikitesto]Definizione del problema
[modifica | modifica wikitesto]Si consideri l'applicazione del problema ad un generico sistema MIMO: dato un sistema dinamico lineare stazionario soggetto a rumore di processo e rumore di misura , si scrivono le equazioni caratteristiche come:
- con
dove i rumori e sono incorrelati nel tempo, congiuntamente gaussiani a media nulla. Senza troppa perdita di generalità si può considerare (caso di un sistema strettamente proprio). Dato il rumore, si scriva una matrice detta matrice di covarianza come:
dove
Come ipotesi aggiuntive si prendano: (definita positiva), ovvero la componente di rumore di misura è a covarianza non nulla su ogni uscita, , ovvero i rumori su stato e uscita sono incorrelati; lo stato è modellizzato come una variabile casuale gaussiana tale che:
e inoltre i rumori e lo stato sono incorrelati, ovvero:
Osservatore dello stato
[modifica | modifica wikitesto]Si consideri a questo punto l'osservatore
Da qui, con semplici passaggi algebrici per sostituzione, è possibile scrivere la dinamica dell'errore nel seguente modo:
dove si definiscono
Scrivendo ora
Il valore atteso dell'errore segue una dinamica in evoluzione libera non forzata, come nel caso di un sistema autonomo. Si definisca in questo caso la matrice di covarianza dell'errore
L'obiettivo di ottimizzazione è quindi trovare che minimizza la cifra di merito
con vettore generico di dimensioni opportune.
Forma del filtro di Kalman
[modifica | modifica wikitesto]Si dimostra che il guadagno che risolve il problema di ottimizzazione ha la forma
dove è la soluzione dell'equazione di Riccati scritta nella forma
con condizione iniziale
Si tratta esattamente del caso duale del problema di ottimizzazione per il controllo LQ.
Proprietà del filtro di Kalman
[modifica | modifica wikitesto]Si studiano qui le proprietà del filtro di Kalman su orizzonte temporale infinito. Un risultato importante riguarda la stabilità del filtro: si definisca la matrice come partizione della matrice , ovvero tale che
Allora il filtro di Kalman risulta stabile se la coppia è raggiungibile e se la coppia è osservabile.
Sotto queste ipotesi lo stimatore ottimo è:
con
dove è l'unica soluzione definita positiva dell'equazione stazionaria di Riccati
Stabilità asintotica
[modifica | modifica wikitesto]Sotto le ipotesi considerate il filtro di Kalman è asintoticamente stabile, in quanto si verifica che tutti i poli del filtro hanno parte reale negativa, ovvero gli autovalori della matrice sono a parte reale negativa.
Filtro di Kalman a tempo discreto
[modifica | modifica wikitesto]Definizione del problema
[modifica | modifica wikitesto]Si consideri l'applicazione del problema a un generico sistema MIMO: dato un sistema dinamico lineare stazionario soggetto a rumore di processo e rumore di misura , si scrivono le equazioni caratteristiche come:
- con
dove i rumori e sono incorrelati, gaussiani a media nulla.
Ne risultano le formule (stima filtrata dello stato, varianza dell'errore di stima filtrata, predittore dello stato, varianza dell'errore di predizione):
Dove:
Note
[modifica | modifica wikitesto]- ^ Steffen L. Lauritzen, Thiele: Pioneer in Statistics Archiviato il 13 ottobre 2008 in Internet Archive., Oxford University Press, 2002. ISBN 0-19-850972-3.
Bibliografia
[modifica | modifica wikitesto]- Magni L., Scattolini R., Complementi di controlli automatici, Pitagora Editrice, Bologna, 2006.
- Colaneri P., Locatelli A., Controllo robusto in RH2/RH, Pitagora Editrice, Bologna, 1993.
- K. Zhou, J. C. Doyle, K. Glover, Robust and optimal control, Prentice Hall, 1996.
- P. Dorato, C. Abdallah, V. Cerone Linear quadratic control: an introduction, Prentice Hall, 1995.
Voci correlate
[modifica | modifica wikitesto]- Regolatore lineare quadratico (LQR)
- Loop transfer recovery (LTR)
- Controllo LQG
- Controllo robusto
- Sistema dinamico
- Sistema dinamico lineare stazionario
- Controlli automatici
- Equilibrio di un sistema dinamico.
- Controllabilità di un sistema dinamico.
- Identità di Woodbury
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file sul filtro di Kalman
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Eric W. Weisstein, Kalman Filter, su MathWorld, Wolfram Research.
Controllo di autorità | Thesaurus BNCF 52885 · LCCN (EN) sh85071360 · GND (DE) 4130759-8 · J9U (EN, HE) 987007538686705171 · NDL (EN, JA) 001096900 |
---|