1 Μια εισαγωγή στο φίλτρο Kalman Το 1960, R.E. Kalman δημόσιευσε το διάσημο έγγραφό του περιγράφοντας μια επαναλαμβανόμενη λύση στο γραμμικό πρόβλημα φιλτραρίσματος διακριτών δεδομένων. Από εκείνη τη στιγμή, οφείλεται σε μεγάλο βαθμό στην πρόοδο στον ψηφιακό υπολογισμό, το φίλτρο Kalman έχει αποτελέσει αντικείμενο εκτεταμένης έρευνας και εφαρμογής, ιδιαίτερα στον τομέα της αυτόνομης ή υποβοηθούμενης πλοήγησης. Το Φίλτρο Kalman αποτελεί μια από τις σημαντικότερες τεχνολογικές εφευρέσεις του περασμένου αιώνα. Είναι ένας αλγόριθμος που εφαρμόζεται σε συστήματα που δέχονται εξωτερικές φυσικές διαταραχές (θορύβους), με σκοπό τον «καθαρισμό» των μετρήσεων που γίνονται και τη δημιουργία μιας νέας εκτίμησης της κατάστασης του συστήματος, απογυμνωμένη από διαταραχές. Επίσης το φίλτρο Kalman είναι ένα σύνολο μαθηματικών εξισώσεων που παρέχει αποτελεσματικά υπολογιστικά (επαναληπτικά) μέσα για την εκτίμηση της κατάστασης μιας διαδικασίας, κατά τρόπο που να ελαχιστοποιείται ο μέσος όρος των τετραγώνων των σφαλμάτων. Το φίλτρο είναι πολύ ισχυρό σε διάφορες πτυχές: υποστηρίζει εκτιμήσεις του παρελθόντος, του παρόντος, και ακόμη και τις μελλοντικές καταστάσεις, και μπορεί να το πράξει ακόμη όταν η ακριβής φύση του διαμορφωμένου συστήματος είναι άγνωστη. Ο σκοπός της πτυχιακής είναι να παρασχεθεί μια πρακτική εισαγωγή στο ιδιαίτερο Kalman φίλτρο. Αυτή η εισαγωγή περιλαμβάνει μια περιγραφή και κάποια συζήτηση του βασικού ιδιαίτερο φίλτρο Kalman, μια παραγωγή, περιγραφή και κάποια συζήτηση του Φίλτρο Kalman, και σχετικά απλά (απτά) παράδειγματα με πραγματικούς αριθμούς & αποτελέσματα.
2 ΘΕΩΡΙΑ ΕΚΤΙΜΗΣΗΣ ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΘΕΩΡΙΑΣ ΕΚΤΙΜΗΣΗΣ Η θεωρία εκτίμησης (estimation theory) έχει ως αντικείμενο τον υπολογισμό της βέλτιστης εκτίμησης μίας κατάστασης δεδομένου ενός συνόλου μετρήσεων. Η κατάσταση (state) είναι η τιμή x ( ) της στοχαστικής διαδικασίας { x ( )} τη χρονική στιγμή (ο χρόνος θεωρείται διακριτός). Η μέτρηση (measurement) είναι η τιμή z ( ) της στοχαστικής διαδικασίας { z ( )} τη χρονική στιγμή. Το πρόβλημα της θεωρίας εκτίμησης είναι να υπολογιστεί η εκτίμηση (estimation) x( / ) της κατάστασης τη χρονική στιγμή δεδομένου του συνόλου των μετρήσεων Z { z(1), z(2),..., z( )} προκαθορισμένο βέλτιστο κριτήριο. μέχρι και τη χρονική στιγμή, χρησιμοποιώντας ένα Οι τύποι της εκτίμησης, οι οποίοι παρουσιάζονται στον Πίνακα, προσδιορίζονται από τη σχέση των χρονικών στιγμών και : πρόβλεψη (prediction), όταν η εκτίμηση της κατάστασης αφορά σε κάποια χρονική στιγμή μετά από αυτήν της τελευταίας μέτρησης, φιλτράρισμα (filtering) όταν η εκτίμηση της κατάστασης αφορά σε κάποια χρονική στιγμή που ταυτίζεται με αυτήν της τελευταίας μέτρησης, λείανση (smoothing) όταν η εκτίμηση της κατάστασης αφορά σε κάποια χρονική στιγμή πριν από αυτήν της τελευταίας μέτρησης. Πίνακας. Τύποι εκτίμησης. Εκτίμηση Πρόβλεψη μέλλον Φιλτράρισμα παρόν Λείανση παρελθόν x( / ) Για την επίλυση του προβλήματος της θεωρίας εκτίμησης είναι αναγκαίο να προσδιοριστεί ένα μαθηματικό μοντέλο που αποτελείται από: - το δυναμικό μοντέλο, που εκφράζει τη σχέση κατάστασης και μέτρησης
3 - το στατιστικό μοντέλο, που εκφράζει τη φύση της κατάστασης και των μετρήσεων. Επίσης, πρέπει να προσδιοριστεί ένα κριτήριο βέλτιστης εκτίμησης. Η διαφορά της εκτίμησης από την πραγματική κατάσταση είναι το λάθος εκτίμησης (estimation error). Όσο μικρότερο είναι το λάθος εκτίμησης, τόσο καλύτερη είναι η εκτίμηση της πραγματικής κατάστασης. Επομένως, το κριτήριο βέλτιστης εκτίμησης είναι η ελαχιστοποίηση της μέσης τιμής κάποιας συνάρτησης του λάθους εκτίμησης, που πρέπει να προσδιοριστεί. Η επιλογή του τετραγώνου του λάθους εκτίμησης ως συνάρτησης λάθους εκτίμησης, έχει φυσική σημασία, γιατί η μέση τιμή του τετραγώνου του λάθους εκτίμησης είναι η διασπορά λάθους εκτίμησης. Ανάλυση τύπων εκτίμησης Πρόβλεψη (prediction) Πρόβλεψη είναι η πλευρά προσχεδίασης των πληροφοριών επεξεργασίας. Ο στόχος είναι να αποκτήσει τη χρονική στιγμή t πληροφορίες σχετικά με s(t+ λ) για λ>0, δηλ. να λάβουν πληροφορίες σχετικά με το τι s(.) θα είναι μετά από το χρόνο στον οποίο οι πληροφορίες παράγονται. Στη λήψη των πληροφοριών οι μετρήσεις μέχρι τη χρονική στιγμή t μπορεί να χρησιμοποιηθούν. Παραδείγματα εφαρμογής της πρόβλεψης αφθονούν σε πολλούς τομείς της επεξεργασίας πληροφοριών από τον ανθρώπινο εγκέφαλο. Φιλτράρισμα (filtering) Ας εξετάσουμε τι ακριβώς εννοούμε με τη λέξη φιλτράρισμα. Ας υποθέσουμε ότι υπάρχει κάποια ποσότητα που σχετίζεται με τη λειτουργία του συστήματος του οποίου η τιμή θα θέλαμε να γνωρίζουμε σε κάθε στιγμή του χρόνου. Χάριν του επιχειρήματος, υποθέστε ότι το σύστημα εν λόγω είναι ένα συνεχές χρονικό σύστημα και η εν λόγω ποσότητα συμβολίζεται με s(.)μπορεί να είναι ότι αυτή η ποσότητα δεν είναι άμεσα μετρήσιμη, ή ότι μπορεί μόνο να μετρηθεί με το λάθος. Σε κάθε περίπτωση, θα υποθέσουμε ότι θορυβώδεις μετρήσεις z(.) είναι
4 διαθέσιμες, με z(.) όχι το ίδιο όπως s(.).με την έννοια, το φιλτράρισμα νοείται η ανάκτηση στο χρόνο t κάποιων πληροφοριών σχετικά με s (t) με τη χρήση μετρήσεων μέχρι τη χρονική στιγμή t. Ένα παράδειγμα της εφαρμογής του φιλτραρίσματος στην καθημερινή ζωή είναι στη λήψη του ραδιοφώνου. Λείανση (smoothing) Η λείανση διαφέρει από το φιλτράρισμα στο οποίο οι πληροφορίες για το s (t) δεν χρειάζεται να είναι διαθέσιμες κατά το χρόνο t, και οι μετρήσεις που προέρχονται αργότερα από τη χρονική στιγμή t μπορεί να χρησιμοποιηθούν για τη λήψη πληροφοριών σχετικά με s (t). Αυτό σημαίνει ότι πρέπει να υπάρχει μια καθυστέρηση στην παραγωγή των πληροφοριών σχετικά με s (t), όπως συγκρίνεται με την περίπτωση φιλτραρίσματος, αλλά η ποινή του να έχει μια καθυστέρηση μπορεί να σταθμίζεται με την ικανότητα να χρησιμοποιούν τα δεδομένα περισσότερες μετρήσεις από ό, τι στην περίπτωση φιλτραρίσματος στην παραγωγή των πληροφοριών για s (t). Όχι μόνο μπορεί κανείς να μετρήσει τη χρήση μέχρι τη χρονική στιγμή t, αλλά μπορεί κανείς να χρησιμοποιήσει τις μετρήσεις μετά από χρόνο t. Για το λόγο αυτό, θα περίμενε κανείς ότι η διαδικασία εξομάλυνσης να είναι πιο ακριβή κατά κάποιο τρόπο από τη διαδικασία φιλτραρίσματος. Ένα παράδειγμα της εξομάλυνσης παρέχεται από τον τρόπο που ο ανθρώπινος εγκέφαλος αντιμετωπίζει το πρόβλημα της βιαστικής γραπτής γραφής. ΑΛΓΟΡΙΘΜΟΙ ΕΚΤΙΜΗΣΗΣ Ανάλογα με τον τύπο της εκτίμησης υπάρχουν διάφοροι αλγόριθμοι εκτίμησης: αλγόριθμοι για εκτίμηση (φίλτρα), αλγόριθμοι για πρόβλεψη και αλγόριθμοι για λείανση. Αλγόριθμοι για εκτίμηση (φίλτρα) Το πρόβλημα του φιλτραρίσματος είναι να υπολογιστεί η βέλτιστη εκτίμηση (φιλτράρισμα) x( / ) της κατάστασης τη χρονική στιγμή δεδομένου του συνόλου των μετρήσεων Z { z(1), z(2),..., z( )} μέχρι και τη χρονική στιγμή.
5 Ο πρώτος ολοκληρωμένος αλγόριθμος εκτίμησης (φίλτρο) προτάθηκε από τον Rudolf E. Kalman στις αρχές της δεκαετίας του 60 και είναι γνωστός ως φίλτρο Kalman (Kalman filter) [Kalman (1960)]. Στα μέσα της δεκαετίας του 70 o Δημήτριος Γ. Λαϊνιώτης πρότεινε τον αλγόριθμο διαμερισμού (partitioning algorithm), που είναι γνωστός ως φίλτρο Λαϊνιώτη (Lainiotis filter) [Lainiotis (1975)]. Τα φίλτρα Kalman και Λαϊνιώτη υπολογίζουν αναδρομικά την εκτίμηση x( / ) διαστάσεων nx1 και τη διασπορά λάθους εκτίμησης P( / ) διαστάσεων nn x. Αλγόριθμοι για πρόβλεψη Το πρόβλημα της πρόβλεψης είναι να υπολογιστεί η βέλτιστη πρόβλεψη x( / ) της κατάστασης τη χρονική στιγμή δεδομένου του συνόλου των μετρήσεων Z { z(1), z(2),..., z( )} μέχρι και τη χρονική στιγμή, όπου. Η βέλτιστη πρόβλεψη διαστάσεων nx1 είναι: x( / ) F(, ) x( / ) (1.10) και η αντίστοιχη διασπορά λάθους πρόβλεψης διαστάσεων nnείναι: x P( / ) F(, 1) P( 1, ) F T (, 1) Q( 1) (1.11) όπου F(, ) F(, 1) F( 1, 2) F( 1, ) (1.12) Όταν 1 προκύπτει ο αλγόριθμος πρόβλεψης κατά ένα βήμα: x( 1/ ) F( 1, ) x( / ) (1.13) T P( 1/ ) F( 1, ) P( / ) F ( 1, ) Q( ) (1.14) για 0,1,... με αρχικές συνθήκες
6 x(0/0) x 0 P(0/0) P 0 Για τον υπολογισμό της πρόβλεψης και της διασποράς λάθους πρόβλεψης απαιτείται ο υπολογισμός της εκτίμησης x( / ) και της διασποράς λάθους εκτίμησης P( / ). Είναι προφανές ότι η πρόβλεψη απαιτεί φιλτράρισμα, το οποίο μπορεί να γίνει με το φίλτρο Kalman ή με το φίλτρο Λαϊνιώτη. Αλγόριθμοι για λείανση Το πρόβλημα της λείανσης είναι να υπολογιστεί η βέλτιστη εκτίμηση x( / ) της κατάστασης τη χρονική στιγμή δεδομένου του συνόλου των μετρήσεων Z { z(1), z(2),..., z( )} μέχρι και τη χρονική στιγμή, όπου. Οι πλέον γνωστοί αλγόριθμοι λείανσης είναι ο αλγόριθμος Meditch και ο αλγόριθμος λείανσης Λαϊνιώτη. Ο αλγόριθμος Meditch υπολογίζει αναδρομικά τη βέλτιστη λείανση διαστάσεων nx1: x( / ) x( / 1) B( )[ x( / ) x( / 1)] (1.15) και την αντίστοιχη διασπορά λάθους λείανσης διαστάσεων nn: x T P( / ) P( / 1) B( )[ P( / ) P( / 1)] B ( ) (1.16) όπου B( ) B( 1) A( 1) (1.17) T 1 A( 1) P( 1/ 1) F ( / 1) P ( / 1) (1.18) με αρχική τιμή B( 1) A( )
7 για 1, 2,... Για τον υπολογισμό της λείανσης και της διασποράς λάθους λείανσης απαιτείται ο υπολογισμός της εκτίμησης x( / ) και της διασποράς λάθους εκτίμησης P( / ) καθώς και ο υπολογισμός της πρόβλεψης x( / 1) και της διασποράς λάθους πρόβλεψης P( / 1). Είναι προφανές ότι η λείανση απαιτεί φιλτράρισμα, το οποίο μπορεί να γίνει με το φίλτρο Kalman ή με το φίλτρο Λαϊνιώτη. Είναι σαφές ότι όλοι οι αλγόριθμοι εκτίμησης (πρόβλεψης, φιλτραρίσματος, λείανσης) απαιτούν φιλτράρισμα, το οποίο μπορεί να γίνει με το φίλτρο Kalman ή με το φίλτρο Λαϊνιώτη.