ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΘΕΩΡΗΤΙΚΗ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΘΕΩΡΙΑ ΣΥΣΤΗΜΑΤΩΝ & ΕΛΕΓΧΟΥ ΕΡΓΑΣΙΑ ΜΑΘΗΜΑΤΟΣ: ΘΕΩΡΙΑ ΒΕΛΤΙΣΤΟΥ ΕΛΕΓΧΟΥ ΦΙΛΤΡΟ KALMAN ΜΩΥΣΗΣ ΛΑΖΑΡΟΣ Επιβλέπων: Νικόλαος Καραμπετάκης Αν. Καθηγητής Α.Π.Θ. Θεσσαλονίκη, Ιούλιος
ΠΕΡΙΛΗΨΗ Το Φίλτρο Kalman αποτελεί μια από τις σημαντικότερες τεχνολογικές εφευρέσεις του περασμένου αιώνα. Είναι ένας αλγόριθμος που εφαρμόζεται σε συστήματα που δέχονται εξωτερικές φυσικές διαταραχές (θορύβους), με σκοπό τον «καθαρισμό» των μετρήσεων που γίνονται και τη δημιουργία μιας νέας εκτίμησης της κατάστασης του συστήματος, απογυμνωμένη από διαταραχές. Στο πρώτο κεφάλαιο της παρούσης εργασίας δίνουμε εισαγωγικές έννοιες της θεωρίας πιθανοτήτων. Έπειτα προχωρούμε στον ορισμό των στοχαστικών διαδικασιών και συγκεκριμένα του λευκού θορύβου, μια στοχαστική διαδικασία που θα μας απασχολήσει, αφού τα χαρακτηριστικά της διέπουν τις διαταραχές μετρήσεων που παρουσιάζονται στα real-life συστήματα. Στο δεύτερο κεφάλαιο θα ορίσουμε το φίλτρο Kalman διακριτού χρόνου αναλυτικά, παραθέτοντας όλη τη σχετική θεωρία και παραδείγματα. Στο τρίτο κεφάλαιο θα περιγράψουμε το φίλτρο στον συνεχή χρόνο. Θα το επιτύχουμε μελετώντας τις σχέσεις που συνδέουν τις σ.δ. θορύβων διακριτού και συνεχούς χρόνου και θέτοντας το διάστημα δειγματοληψίας να τείνει στο μηδέν. Εξετάζεται επίσης μια εκδοχή του φίλτρου με τη μορφή του παρατηρητή κατάστασης. Θα δοθούν παραδείγματα για πλήρη κατανόηση. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ Φίλτρο Kalman, εκτίμηση κατάστασης, εξίσωση Riccai, παρατηρητής κατάστασης, απαλοιφή θορύβου, λευκός θόρυβος 3
ABSRAC he Kalman Filer is one of he mos imporan echnological invenions of he pas cenury. I is essenially an algorihm applied o sysems being subjeced o disurbances (noises), in order o clean he measuremens aen and creae a new sysem sae esimaion, depraved of all disurbance. In he firs chaper of his paper we presen an inroducion o he probabiliy heory. hen we define he erm sochasic process and specifically whie noise, which is a s.p. of grea ineres o us, cause i s saisical aribues define mos of he disurbances me in real-ime sysems. In he second chaper we analyically define he discree ime Kalman Filer, giving all he heory needed plus some examples for beer undersanding. In he hird chaper we describe he filer in coninuous ime. We accomplish ha by firs examining he relaionships beween he discree and coninuous ime noise sequences and seing he sampling inerval o zero. Also a special case of he Filer is examined, in he form of he Sae Observer. Examples are given in all cases. KEY WORDS Kalman Filer, sae esimaion, Riccai equaion, sae observer, noise filering, whie noise 4
ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΕΡΙΛΗΨΗ.........3 ABSRAC..... 4 ΠΕΡΙΕΧΟΜΕΝΑ..... 5 ΦΙΛΤΡΟ KALMAN: ΕΙΣΑΓΩΓΗ...6 Κεφάλαιο Σελίδα. ΣΤΟΙΧΕΙΑ ΑΠΟ ΤΗ ΘΕΩΡΙΑ ΠΙΘΑΝΟΤΗΤΩΝ.8 Πολυδιάστατες τυχαίες μεταβλητές... Στοχαστικές διαδικασίες. ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ..7 Παραδείγματα 3. ΦΙΛΤΡΟ KALMAN ΣΥΝΕΧΟΥΣ ΧΡΟΝΟΥ..5 Σχέση μεταξύ διακριτών λευκών θορύβων (discree whie noise sequences) και λευκών θορύβων συνεχούς χρόνου (whie noise processes).5 Μετάβαση από το διακριτό στο συνεχές φίλτρο...7 Φίλτρο σταθερής κατάστασης P 9 Παραδείγματα 9 Επίλυση της διαφορικής εξίσωσης Riccai 34 Συσχέτιση μεταξύ θορύβων...36 Φίλτρο Kalman ως παρατηρητής κατάστασης...36 ΒΙΒΛΙΟΓΡΑΦΙΑ...4 5
Φίλτρο Kalman: Εισαγωγή Το φίλτρο Kalman αναπτύχθηκε από τον Rudolf E. Kalman το 96 ως ένας αλγόριθμος βέλτιστου υπολογισμού της κατάστασης ενός συστήματος, το οποίο υπόκειται σε θορύβους που καθιστούν τα συμπεράσματα που λαμβάνουμε αναξιόπιστα. Με τον όρο αλγόριθμος, εννοούμε πως είναι ένα σύνολο εξισώσεων που παράγουν μια εκτίμηση της κατάστασης του συστήματος. Είναι επίσης βέλτιστος, από την άποψη πως ελαχιστοποιεί τη διακύμανση του σφάλματος μεταξύ κατάστασης και εκτίμησης. Ο Kalman απέκτησε Bachelor και Maser s degree από το πανεπιστήμιο MI και τελείωσε το PhD του το 957 στο Columbia Universiy.. Έκτοτε έχει εργαστεί σε πάρα πολλά πανεπιστήμια και έχει συνεργαστεί με πολλούς κυβερνητικούς οργανισμούς (NASA). Σήμερα πλέον θεωρείται από τους σημαντικότερους ηλεκτρολόγους μηχανικούς με αναρίθμητες διακρίσεις και βραβεία. Το 8 μάλιστα με αφορμή τα 5 χρόνια από την θεμελίωση του διάσημου φίλτρου του, βραβεύτηκε με το Naional Medal of Science, που του απονεμήθηκε από τον Barac Obama. Αρχικά οι ιδέες του Kalman αναφορικά με τη λειτουργικότητα και την αποτελεσματικότητα του φίλτρου είχαν αντιμετωπιστεί με σκεπτικισμό. Μάλιστα αν και ο ίδιος ήταν ηλεκτρολόγος, αναγκάστηκε να πρωτοπαρουσιάσει την εργασία του σε ένα περιοδικό για μηχανολόγους μηχανικούς. Τελικά όμως το φίλτρο εφαρμόστηκε στην πράξη με επιτυχία. Η ενέργεια αυτή αποδίδεται στον Sanley F. Schmid, ο οποίος κατά την επίσκεψη του Kalman στο Nasa Ames Research Cener, είδε τη δυνατότητα εφαρμογής των ιδεών του Kalman στο πρόβλημα της εκτίμησης της τροχιάς του σκάφους του Apollo Program. Το φίλτρο Kalman λοιπόν έπαιξε το ρόλο του στην πρώτη ιστορική αποστολή ανθρώπων στο φεγγάρι! Άξια αναφοράς είναι και η συμβολή του Richard R. Bucy, ο οποίος εργάστηκε μαζί με τον Kalman στη θεωρητική επέκταση του φίλτρου και στον συνεχή χρόνο, γνωστό ως Kalman-Bucy Filer. Η ανάπτυξη του φίλτρου λοιπόν, αποτελεί ένα από τα σημαντικότερα κατορθώματα του προηγούμενου αιώνα, τουλάχιστον από επιστημονική άποψη. Μια τέτοια δήλωση δεν είναι καθόλου υπερβολική, αφού το φίλτρο Kalman αποτέλεσε τη γέφυρα ανάμεσα στη θεωρητική μελέτη και στην πρακτική εφαρμογή. Δεδομένου πως οποιαδήποτε διεργασία ή μέτρηση διαφθείρεται από θόρυβο, δε θα είχαμε τη δυνατότητα να αναπτύξουμε πολλές εφαρμογές αν δεν βρίσκαμε τρόπο να προβούμε σε αποφάσεις, αποβάλλοντας την αβεβαιότητα που δίνει ο 6
θόρυβος. Χρησιμοποιείται σε εφαρμογές όπως η ναυπηγική, η εκτίμηση θέσης ενός αυτοκινήτου (GPS), η εξομάλυνση (smoohing) μηνυμάτων (ήχου είτε εικόνας) που έχουν φθαρεί από θόρυβο, σε Radar, γενικά σε οποιαδήποτε τεχνολογική διαδικασία απαιτεί υψηλή ακρίβεια δεδομένων. Επίσης βρίσκει εφαρμογή σε οικονομικά μοντέλα, όπως τα Auoregressive- movingaverage-models για τη μελέτη και την πρόβλεψη της συμπεριφοράς χρονοσειρών αλλά και στη μελέτη βιολογικών δομών, όπως μοντέλα πληθυσμών, μεταβολισμού και συγκεντρώσεις στοιχείων (π.χ. χλωροφύλλη) σε μεγάλους υδάτινους όγκους (ποτάμια, λίμνες). 7
Στοιχεία από τη θεωρία πιθανοτήτων Προτού προχωρήσουμε στην ανάλυση του Φίλτρου Kalman, θα χρειαστούμε κάποια εργαλεία από τις πιθανότητες που θα μας βοηθήσουν να κατανοήσουμε την έννοια του λευκού θορύβου, αλλά και τις ποσότητες που θα πρέπει να βελτιστοποιήσουμε ώστε να πάρουμε την εκτίμηση μας. Πείραμα τύχης: Ένα πείραμα, δηλαδή ένα γεγονός ή μια διαδικασία της οποίας το αποτέλεσμα δεν μπορεί να προβλεφθεί ή να υπολογιστεί. Το σύνολο όλων των δυνατών αποτελεσμάτων ενός τέτοιου πειράματος ονομάζεται δειγματοχώρος Ω. Κλασική Πιθανότητα: Ως πιθανότητα ενός γεγονότος ορίζουμε το πηλίκο του πλήθους των ευνοϊκών για την πραγματοποίηση του γεγονότος αποτελεσμάτων προς το πλήθος όλων των δυνατών αποτελεσμάτων. Παραδείγματα τέτοιων πειραμάτων είναι η ρίψη ενός ζαριού ή το τράβηγμα ενός χαρτιού τράπουλας (πειράματα με διακριτό δειγματοχώρο) και το ύψος ενός τυχαίου ατόμου(συνεχή δειγματοχώρο). Τυχαία Μεταβλητή: Μια συνάρτηση η οποία παίρνει τυχαίες τιμές. Την θεωρούμε συνήθως ως τη συνάρτηση των αποτελεσμάτων ενός πειράματος τύχης. Για παράδειγμα, το αποτέλεσμα Χ της ρίψης ενός ζαριού είναι τυχαία μεταβλητή! Σε κάθε τιμή της τυχαίας μεταβλητής αντιστοιχεί μια πιθανότητα, π.χ στο πείραμα της ρίψης ενός ζαριού έχουμε PX ( 6). Όπως είναι 6 γνωστό ισχύει: P( X x ) p αν η τυχαία μεταβλητή παίρνει τιμές σε αριθμήσιμο σύνολο f ( x) dx αν η τυχαία μεταβλητή παίρνει τιμές από μη-αριθμήσιμο σύνολο (π.χ. από το R) Στην περίπτωση που μιλάμε για συνεχείς τυχαίες μεταβλητές (αυτές θα μας απασχολήσουν), η πιθανότητα η τ.μ. να πάρει μια συγκεκριμένη τιμή δίνεται από την f(x), η οποία ονομάζεται συνάρτηση πυκνότητας πιθανότητας (probabiliy densiy funcion). Η πιθανότητα η τ.μ. να πάρει μια τιμή μέσα σε ένα διάστημα [a,b] δίνεται από το ολοκληρωμα της b σ.π.π., δηλαδή P( a X b) f ( x) dx a 8
Ομοίως ορίζεται η συνάρτηση κατανομής F ( x ) ως η πιθανότητα η τ.μ. να πάρει τιμές x μικρότερες ή ίσες του x, δηλαδή FX ( x) P( X x) f ( ) d Υπάρχουν πολλές χαρακτηριστικές συναρτήσεις κατανομής, που χρησιμοποιούνται ευρέως σε εφαρμογές και εκφράζουν πολλά φυσικά φαινόμενα. Αυτή που θα μας απασχολήσει είναι η Κανονική ή Gaussian κατανομή. Η σ.π.π. της είναι x ( ) f ( x) e, x όπου μ η μέση τιμή και σ η τυπική απόκλιση της κατανομής, τις οποίες θα αναλύσουμε παρακάτω. Η μορφή της κατανομής θυμίζει καμπάνα, γι αυτό ονομάζεται καμπανοειδής κατανομή, που σημαίνει ότι η πιθανότητα των γεγονότων γύρω από τη μέση τιμή είναι πολύ υψηλή σε σχέση με την πιθανότητα των ακραίων τιμών. X Ένα απλό παράδειγμα μιας τυχαίας μεταβλητής που ακολουθεί την κανονική κατανομή είναι το ύψος των ανδρών μέσης ηλικίας. Το μεγαλύτερο ποσοστό βρίσκεται μεταξύ.7μ και.9μ με ελάχιστες εξαιρέσεις σε πιο ακραίες τιμές(.5μ ή πάνω από.μ). 9
Σημαντικό είναι να παρατηρήσουμε ότι στον τύπο της σ.π.π. οι μόνες παράμετροι είναι η μέση τιμή και η τυπική απόκλιση. Αυτό μας φανερώνει ότι μια τυχαία μεταβλητή που ακολουθεί την κανονική κατανομή μπορεί να χαρακτηριστεί πλήρως μόνο με τη γνώση της μέσης τιμής και της διακύμανσής της. Μέση τιμή τυχαίας μεταβλητής (Mean value) (ΕΧ ή μ): Η μέση τιμή είναι το πιο στοιχειώδες στατιστικό μέτρο και αποτελεί γενίκευση του μέσου όρου μιας ακολουθίας τιμών. Η ερμηνεία της είναι ότι μας δίνει ένα κέντρο βάρους γύρω από το οποίο παίρνει τιμές η τ.μ. Αν η τ.μ. είναι απαριθμητή με συνάρτηση πιθανότητας p( x) P( X x ) τότε η μέση τιμή της είναι EX x p( x ). (με την προυποθεση πως ισχύει x p( x ) ) i i i Αν η τ.μ. είναι συνεχής με συνάρτηση πυκνότητας πιθανότητας f(x) τότε η μέση τιμή της είναι EX xf ( x) dx (με την προϋπόθεση πως ισχύει x f ( x) dx ) Διασπορά ή Διακύμανση (variance) και τυπική απόκλιση: Η διασπορά μας δίνει πληροφορία για το πόσο απομακρυσμένες γύρω από τη μέση τιμή βρίσκονται οι τιμές της τ.μ. Η διασπορά συμβολίζεται με VarX ή και είναι η ποσότητα ( x ) f ( x) dx για συνεχείς τ.μ. i i VarX E( X ), δηλαδή: i ( x ) f ( x ) για απαριθμητές (διακριτές) τ.μ. Η θετική τετραγωνική ρίζα της διασποράς deviaion) VarX ονομάζεται τυπική απόκλιση (sandard Συνδιακύμανση (Covariance): Η συνδιακύμανση μεταξύ δύο τυχαίων μεταβλητών Χ και Υ μας δείχνει πως σχετίζονται οι μεταβλητές μεταξύ τους, δηλαδή κατά πόσο έχουν την ίδια συμπεριφορά. Δίνεται από τον τύπο: Cov( X, Y ) E ( X )( Y Y ) ( x x)( y y ) f ( x, y) dxdy όπου f ( x, y ) είναι η από κοινού συνάρτηση πυκνότητας πιθανότητας (join probabiliy densiy funcion). Αν Cov( X, Y ) οι μεταβλητές καλούνται ασυσχέτιστες (uncorrelaed). Για Χ=Υ έχουμε τον τύπο της διακύμανσης.
Πολυδιάστατες τυχαίες μεταβλητές Είναι δυνατόν αντί για μια μονο τ.μ. να έχουμε ένα διάνυσμα (vecor) τυχαίων μεταβλητών, δηλαδή: X ( X, X,.., X ). Σε αυτή την περίπτωση ως διάνυσμα πιθανότητας ορίζουμε το n P( X ) P( X x ), P( X x ),.., P( X x ) Ομοίως ορίζονται και τα διανύσματα μέσης τιμής και διακύμανσης, δηλαδή EX ( EX, EX,.., EX ) n VarX ( E( X ), E( X ),.., E( X ) ) n n n Πίνακας Συνδιακύμανσης (Covariance Marix): Αυτό που έχει ενδιαφέρον είναι το πώς υπολογίζεται όχι η συνδιακύμανση, αλλά ο πίνακας συνδιακύμανσης δύο πολυδιάστατων τυχαίων μεταβλητών. (, Cov X Y ) E ( X EX )( Y EY ) = E ( X )( Y ) E ( X )( Y )... E ( X )( Y ) E ( X )( Y ) E ( X )( Y )...... E ( X )( Y ) E ( X )( Y )... E ( X )( Y ) n n n n n n n n Αν Cov( X, Y ) = οι Χ και Υ ονομάζονται ασσυσχέτιστες. Ομοίως ορίζεται ο πίνακας αυτοδιακύμανσης Cov( X, X ),ο οποίος εύκολα καταλαβαίνει κανείς πως είναι συμμετρικός και θετικά ορισμένος, αφού E ( X i i)( X j j ) E ( X j j )( X i i). Πίνακας συσχέτισης: Ομοίως ορίζουμε τον πίνακα συσχέτισης πολυδιάστατων μεταβλητών: n n R ( ) E ( X ) E X... E X........ E X E X... E X n n n n n
όπου E ( X iyj ) xi y j f ( xi, y j ) dxidy j και f ( xi, x j) είναι η από κοινού συνάρτηση πυκνότητας πιθανότητας.αν Cov( X, Y ) = τότε όπως είπαμε οι πολυδιάστατες τυχαίες μεταβλητές λέγονται ασσυσχέτιστες και ισχύει ( ) ( EX )( EY ) Ομοίως, εάν Χ=Υ έχουμε τον πίνακα αυτοσυσχέτισης της πολυδιάστατης τ.μ. R X ( X ) E ( X X ) E X X... E X X E ( X X )....... E X X E X X... E X X n n n n n (συμμετρικός & θετικά ορισμένος) Αυτοί οι πίνακες θα μας χρησιμεύσουν ιδιαίτερα παρακάτω, όπου θα ορίσουμε τις στοχαστικές διαδικασίες! Στοχαστικές Διαδικασίες Στοχαστική διαδικασία είναι ένα σύνολο τυχαίων μεταβλητών ορισμένων σε ένα χώρο πιθανοτήτων. Εάν είναι αριθμήσιμο το πλήθος τους τότε η διαδικασία συμβολίζεται με X : X, X, X 3,.. Εάν το πλήθος δεν είναι αριθμήσιμο, τότε η διαδικασία συμβολίζεται με X ( ) :. Στην πρώτη περίπτωση αναφερόμαστε σε διαδικασία σε διακριτό χρόνο, ενώ στη δεύτερη σε στοχαστική διαδικασία σε συνεχή χρόνο. Στις περισσότερες περιπτώσεις η μεταβλητή εκφράζει χρόνο και η στοχαστική διαδικασία συμβολίζει την εξέλιξη ενός γεγονότος με την πάροδο του, π.χ. ο αριθμός πωλήσεων ενός προϊόντος τους μήνες ενός χρόνου ή η στάθμη των βροχοπτώσεων σε μια περιοχή κάθε μήνα για έναν χρόνο. χρόνου, τα Επειδή όπως είπαμε, οι σ.δ. εκφράζουν την εξέλιξη ενός φαινομένου με την πάροδο του X έχουν την ίδια συνάρτηση πιθανότητας (ή πυκνότητας πιθανότητας) της οποίας όμως τα στατιστικά χαρακτηριστικά μπορεί να αλλάζουν από χρόνο σε χρόνο. Στασιμότητα (Saionariy): Η στοχαστική διαδικασία ονομάζεται στατική αν τα στατιστικά χαρακτηριστικά της συνάρτησης (πυκνότητας) πιθανότητας παραμένουν σταθερά με το χρόνο. Δηλαδή για τη διαδικασία X ισχύει
EX VarX Cov( X, X ) Cov( X, X ) p ( ) Δηλαδή η συνδιακύμανση μεταξύ μεταβλητών της στοχαστικής διαδικασίας δεν εξαρτάται από τις χρονικές στιγμές & αλλά από τη διαφορά τους τ. Μια σ.δ. ονομάζεται ασυσχέτιστη, αν Cov( X, X ) =, δηλαδή τότε δεν υπάρχει καμια σχέση μεταξύ των X i. Ομοίως, δύο στατικές στοχαστικές διαδικασίες ονομάζονται ασσυσχέτιστες αν Cov( X, Y ) Gaussian στοχαστική διαδικασία: Μια στοχαστική διαδικασία ονoμάζεται γκαουσιανή, αν κάθε X i ακολουθεί την Gaussian disribuion. Αν μάλιστα είναι και στατική, τότε η κατανομή είναι ακριβώς η ίδια για κάθε X i. Λευκός Θόρυβος: Ως λευκό θόρυβο, ορίζουμε μια στοχαστική διαδικασία η οποία είναι γκαουσιανή με μέση τιμή μ= και ασσυσχέτιστη από στιγμή σε στιγμή.. Ας αναλύσουμε κάθε μια ιδιότητα ξεχωριστά, ώστε να κατανοήσουμε πλήρως τα χαρακτηριστικά του θορύβου. Είναι Gaussian, δηλαδή κάθε τ.μ. σε κάθε χρονική στιγμή ακολουθεί την κανονική συνάρτηση 3
κατανομής με μ=. Επιπλέον, είναι ασσυσχέτιστη μεταξύ χρονικών στιγμών δηλαδή Cov( X, X ) Cov( X, X ) E ( X )( X ) X X για Ισχύει δηλαδή ότι ( ) X ( ) Q( ) ( ) που σημαίνει ότι για έχουμε μηδέν (ασσυσχέτιστες τ.μ σε διαφορετικές χρονικές στιγμές) ενώ για =τ παίρνουμε τη διακύμανση για την τ.μ. X X () Δεν είναι τυχαίο που στα μοντέλα που χρησιμοποιούμε, θεωρούμε πως οι διαταραχές εκφράζονται μέσω λευκών θορύβων. Μελέτες τέτοιων διαταραχών σε συστήματα έχουν δείξει ότι όντως οι περισσότεροι θόρυβοι μετρήσεων ακολουθούν Gaussian κατανομή με μέση τιμή ίση με μηδέν. Μάλιστα έχει παρατηρηθεί πως το άθροισμα πολλών διαταραχών με διαφορετικές κατανομές τείνει να έχει Gaussian κατανομή. Επομένως ο λευκός θόρυβος αποτελεί μια άριστη μοντελοποίηση των αληθινών διαταραχών. Μπορούμε να παράγουμε ένα σήμα λευκού θορύβου στο Malab με την εντολή wgn (Από το Malab help: y = wgn(m,n,p) generaes an m-by-n marix of whie Gaussian noise. p specifies he power of y in decibels relaive o a wa. he defaul load impedance is ohm.) 4 3 - - -3-4 3 4 5 6 7 8 9 4
.5 cosine signal cosine corruped by noise.5 -.5 - -.5-8 -6-4 - 4 6 8 Συνημιτονικό σήμα υπό την επίδραση λευκού θορύβου (command in Malab: awgn(x,snr) 5
Προσθήκη Λευκού Θορύβου σε εικόνα. Commands in Malab: imnoise imread, figure, imshow 6
Φίλτρο Kalman Διακριτού Χρόνου Έστω ότι έχουμε την εξίσωση διαφορών x x w που περιγράφει το σύστημα διακριτού χρόνου μας, όπου xτο nxn διάνυσμα κατάστασης, (, ) ο nxn πίνακας μετάβασης από τη χρονική στιγμή στην, ο οποίος προκύπτει από τη λύση της ομογενούς ε.δ. και w ένα διάνυσμα nx, δηλαδή μια πολυδιάστατη στοχαστική διαδικασία με χαρακτηριστικά λευκού θορύβου, δηλαδή Ew [ ] και E[ ww j ] Q ( j ).Τη θεωρούμε επιπλέον στατική, δηλαδή ο πίνακας διακύμανσης Q είναι ο ίδιος για κάθε. Αυτή η παραδοχή διευκολύνει τη μελέτη μας. Για αυτό το σύστημα έχουμε ένα λx διάνυσμα μετρήσεων z το οποίο περιγράφεται από την εξίσωση z H x v (). Το z δηλαδή είναι ένας γραμμικός συνδυασμός των γνωστών καταστάσεων x όπου εισέρχεται και ένα σφάλμα μετρήσεων v που επίσης είναι μια λx πολυδιάστατη στατική στοχαστική διαδικασία με χαρακτηριστικά λευκού θορύβου Ev [ ] και E[ vv j ] R ( j ). Ο λxn πίνακας H ονομάζεται πίνακας μετρήσεων, αφού δίνει τις μετρήσεις των z από τα x, απουσία θορύβου. Εξαρτάται από το, γιατί στην γενική περίπτωση τον θεωρούμε χρονικά μεταβαλλόμενο (πράγμα που συμβαίνει στα πιο ανεπτυγμένα συστήματα). Έστω ότι για το σύστημα μας έχουμε μια αρχική, εκ των προτέρων (a priori) εκτίμηση της κατάστασης στην χρονική στιγμή x την οποία συμβολίζουμε ως x ˆ ( ). Ψάχνουμε μια βελτιωμένη εκτίμηση x ˆ ( ), κάνοντας χρήση των μετρήσεων z. Επειδή στην πράξη μιλάμε για φίλτρα πεπερασμένης μνήμης, η εκτίμηση αναζητείται με τον αναδρομικό τύπο xˆ ( ) K ' xˆ ( ) K z () δηλαδή ως γραμμικός συνδυασμός της a priori εκτίμησης x ˆ ( ) και των μετρήσεων z, όπου K ', K είναι χρονικά μεταβαλλόμενοι πίνακες βαρών οι οποίοι πρέπει να προσδιοριστούν. Οι πίνακες θα προσδιοριστούν με κριτήριο την ελαχιστοποίηση του σφάλματος μεταξύ της εκτίμησης μας και της πραγματικής τιμής του διανύσματος χ. (Θα δούμε παρακάτω ποιο είναι το μαθηματικό κριτήριο για την ελαχιστοποίηση αυτή). 7
Εδώ να διευκρινίσουμε ότι τα x ˆ ( ) και x ˆ ( ) αναφέρονται και τα στην ίδια χρονική στιγμή. Έχουμε δηλαδή για τη συγκεκριμένη χρονική στιγμή την αληθινή κατάσταση x, την αρχική εκτίμηση x ˆ ( ) και τη βελτιωμένη x ˆ ( ). Έστω λοιπόν το σφάλμα της εκτίμησης μας από την πραγματική τιμή του x ( ) xˆ ( ) x (σφάλμα a poseriori εκτίμησης) και x ( ) xˆ ( ) x (σφάλμα a priori εκτίμησης) Αντικαθιστώντας στην παραπάνω σχέση τις () & () έχουμε: x ( ) K ' xˆ ( ) K z x K ' xˆ ( ) K ( H x v ) x K ' ( x ( ) x ) K H x K v x [ K ' K H I] x K ' x ( ) K v Εξ ορισμού ισχύει Ev [ ]. Επίσης υποθέτουμε ότι για την προηγούμενη εκτίμηση μας Ex [ ( )], υποθέτουμε δηλαδή ότι είναι αμερόληπτη (unbiased). Η λοξότητα ή προκατάληψη (bias) ενός εκτιμητή δείχνει το πόσο ικανοποιητική είναι η εκτίμηση. Για να είναι και αυτή η εκτίμηση αμερόληπτη, δηλαδή να ισχύει Ex [ ( )] θα πρέπει E[ x ( )] [ K ' KH I] K ' I KH και ο εκτιμητής παίρνει τη μορφή () xˆ ( ) ( I K H ) xˆ ( ) K z ή αλλιώς xˆ ( ) xˆ ( ) K [ z H x ˆ ( )]. Το αντίστοιχο σφάλμα εκτίμησης γίνεται x ( ) ( I K H ) x ( ) K v. Από την προηγούμενη σχέση μπορούμε να υπολογίσουμε τον πίνακα συνδιακύμανσης του σφάλματος. Εξ ορισμού είναι P ( ) E[ x ( ) x ( ) ] E [( I K H ) x ( ) K v ][( I K H ) x ( ) K v ] E [( I K H ) x ( ) K v ][ x ( ) ( I K H ) v K E ( I K H ) x ( ) x ( ) ( I K H ) K v x ( ) ( I K H ) ( I K H ) x ( ) v K K v v K x Ορίζουμε ως P ( ) E x ( ) x ( ) και R E v v ο πίνακας συνδιακύμανσης για την πολυδιάσταση σ.δ. v τη χρονική στιγμή. Επειδή η μέτρηση του σφάλματος x ( ) και ο 8
θόρυβος v είναι ασυσχέτιστα μεταξύ τους, ισχύει E v x ( ) E x ( ) v Λαμβάνοντας αυτά υπ όψιν αντικαθιστούμε στην προηγούμενη σχέση και έχουμε P ( ) ( ) ( )( ) I KH P I KH KR K (3) Κριτήριο επιλογής του πίνακα K Ο βέλτιστος πίνακας K είναι αυτός ο οποίος θα ελαχιστοποιήσει το άθροισμα των διαγώνιων στοιχείων του πίνακα συνδιακύμανσης του σφάλματος. Επομένως, ως συνάρτηση κόστους επιλέγουμε την J E[ x ( ) x ( )] ί [ P ( )] που ισοδυναμεί με το να ελαχιστοποιήσουμε το μήκος του διανύσματος σφάλματος. Για να βρούμε την τιμή του K που δίνει ελάχιστο, θα υπολογίσουμε τη μερική παράγωγο του J ως προς K και θα την εξισώσουμε με μηδέν. Κάνοντας χρήση των ιδιοτήτων ί ( ABA ) AB A r( XA ) r( A X) r( X A) r( AX ) A έχουμε X X X X και K ί [( I K H ) P ( )( I K H ) K R K ] K ί [ P ( ) K P ( ) H P ( ) H K K H P ( ) H K K R K ] P ( ) H P ( ) H K H P ( ) K R ( I K H ) P ( ) H K R όπου κάναμε χρήση της συμμετρίας του P, δηλαδή K H P ( ) H P ( ) H K R K H P ( ) H R P ( ) H K P ( ) H H P ( ) H R (4) P P. Αν λύσουμε ως προς Κ θα έχουμε Ο πίνακας αυτός ονομάζεται Kalman Gain Marix. Αντικαθιστώντας την (4) στην εξίσωση (3) έχουμε: P P P H H P H R H P ( ) ( ) ( ) [ ( ) ] ( ) [ I K H ] P ( ) (5) 9
Παρατήρηση: Αν και μιλάμε για διακριτό χρόνο, η παραγώγιση ως προς K είναι επιτρεπτή. Αυτό γιατί για μια συγκεκριμένη χρονική στιγμή (σταθερό ), παραγωγίζουμε την ποσότητα ί [ P ( )] ως προς μια ποσότητα που έχει συνεχές φάσμα τιμών, δηλαδή ως προς K. Μένει να περιγράψουμε την μετάβαση από τη χρονική στιγμή - στη χρονική στιγμή. Για το a priori διάνυσμα εκτίμησης x ˆ η μετάβαση είναι απλή και προφανής, όπως και στην αντίστοιχη ομογενή ε.δ του πραγματικού συστήματος: xˆ ( ) ˆ x ( ) (6) Γίνεται δηλαδή με τη χρήση του πίνακα μετάβασης και της a poseriori εκτίμησης που κάναμε για την προηγούμενη χρονική στιγμή -. Για τον πίνακα συνδιακύμανσης του σφάλματος έχω P ( ) x ( ) x ( ) [ xˆ ( ) x ][ xˆ ( ) x ] [ xˆ ( ) x ][ xˆ ( ) x ] [ ˆ ( ) ][ ˆ ( ) x x w x x w ( ) ( ) ( ) E x x w w x w w x ( ) Επειδή τα x ( ) και w είναι ασυσχέτιστα ισχύει E[ x ( ) w ] E[ w x ( )] άρα P ( ) P ( ) Q (7) Το φίλτρο Κalman διακριτού χρόνου συνοψίζεται στα εξής βήματα:.υπολογίζουμε τα P ( ) και x ˆ ( ) χρησιμοποιώντας τους P ( ), και Q..Υπολογίζουμε τον K με χρήση του P ( ). 3.Υπολογίζουμε τον P ( ) με χρήση του K. 4.Υπολογίζουμε τη νέα εκτίμηση x ˆ ( ) με χρήση των K, x ˆ ( ) και των μετρήσεων z. Παρατήρηση: Ο πίνακας P πρέπει να είναι συμμετρικός και θετικά ορισμένος. Σε περίπτωση που δεν πληρούνται αυτές οι προϋποθέσεις πιθανόν να υπάρχει υπολογιστικό σφάλμα. Ένας τρόπος να εξασφαλίσουμε αυτές τις ιδιότητες είναι αν αντί του τύπου P ( ) [ I KH ] P ( ) χρησιμοποιήσουμε τον αρχικό τύπο που δείξαμε, δηλαδή τον P ( ) ( ) ( )( ) I KH P I KH KR K. Παρατηρούμε ότι ο P είναι άθροισμα δύο συμμετρικών πινάκων. Ο πρώτος είναι θετικά ορισμένος και ο δεύτερος μη αρνητικά ορισμένος, γεγονός που κάνει τον P θετικά ορισμένο πίνακα. Εναλλακτικά, μπορούμε στον αλγόριθμο
υπολογισμού μας να ενσωματώσουμε ανά τακτά διαστήματα τη διορθωτική εντολή P P P. Πίνακας Εξισώσεων Φίλτρου Kalman Διακριτού Χρόνου Σύστημα Μετρήσεις Υποθέσεις Σχέση μεταξύ χρονικών στιγμών: Εκτίμησης Κατάστασης Συνδιακύμανση Σφάλματος x x w w N q (, ) z H x v v N(, r ) E[ x()] x E[ w v ], j ˆ xˆ ( ) x ˆ ( ) P ( ) P ( ) Q j Kalman Gain Marix Συνδιακύμανση Σφάλματος (a poseriori) Εκτίμηση Κατάστασης (a poseriori) K P ( ) H H P ( ) H R P ( ) [ I KH ] P ( ) xˆ ( ) xˆ ( ) K [ z H x ˆ ( )] ΠΑΡΑΔΕΙΓΜΑΤΑ Παράδειγμα ο : Έστω ότι έχουμε ένα σύστημα που περιγράφεται από τις εξής ε.δ.: x x w, z x v, E[ v] E[ w ] E[ vv] ( ), ˆ ˆ E[ w w ] ( ), z, z 3, E[ x()] xˆ E [ x() x][ x() x] P. Να βρεθεί η Εδώ έχουμε Φ=H= & Q=, R=. Έχουμε P ( ) P ( ) Q P ( ) K P ( ) H [ H P ( ) H R ] P P ˆx. P( ) P ( ) ( ) ( ) 3 P ( ) P ( ) 3 P ( ) ( P ( ) ) P ( ) [ I K H ] P ( ) [ ] P ( ) P ( ) ( ) 3 ( ) 3 ( ) 3 P P P
P ( ) ( ) ( ) [ ( )] ( ) [ ( )] Αφού κάναμε τις απαραίτητες xˆ ˆ ˆ ˆ ˆ x K z H x x z x P ( ) 3 αλλαγές στους τύπους, ξεκινάμε κάνοντας τα βήματα του αλγορίθμου όπως τα δείξαμε κ= P( ) P ( ) K P P ( ) P ( ) 3 3 3 P ( ) ( ) 3 3 3 ( ) P xˆ 4 ( ) xˆ ˆ [ x ] 3 3 3 κ= 35 P( ) P ( ) 3 3 xˆ ( ) x ˆ ( ) K P 4 3 35 P ( ) 3 3 35 P 6 ( ) 3 3 6 3 3 P( ) 35 7 ( ) 3 6 6 ( ) P xˆ ( ) xˆ ( ) 4 35 5 4 55 989 3 6 3 3 793 793 Παράδειγμα: Θα εξετάσουμε το πρόβλημα της εκτίμησης μιας σταθεράς. Έστω λοιπόν οι σχέσεις: x x.345 z x v όπου v N (,.) P x ˆ ( )
Θα χρησιμοποιήσω το Malab για να υπολογίσω την εκτίμηση x ˆ( ) του Φίλτρου Kalman για την σταθερά. r=.; %creae a random sequence of numbers. funcion randn draws numbers from sandard %normal disribuion noise=randn(,5); %creae he random whie noise sequence by muliplying he se of random numbers by he %sandard deviaion (ipii apolisi) of w w=sqr(r)*noise; %creae he measuremens vecor zmeasure=.345+w; %creae he real-ime consan vecor xconsan(:5)=.345; %creae he algorihm for he alman filer (firs 5 esimaions) xprior()=; Pprior()=; K()=Pprior()/(Pprior()+r); xpos()=xprior()+k()*(zmeasure()-xprior()); Ppos()=(-K())*Pprior(); for i=:5 end xprior(i)=xpos(i-); Pprior(i)=Ppos(i-); K(i)=Pprior(i)/(Pprior(i)+r); xpos(i)=xprior(i)+k(i)*(zmeasure(i)-xprior(i)); Ppos(i)=(-K(i))*Pprior(i); for i=:5 (i)=i; end plo(,xpos(),'*',,zmeasure(),'g--',,xconsan(),'r') legend('esimaion','measuremens','real-ime quaniy') 3
.4 Μωυσής Λάζαρος-Φίλτρο Kalman esimaion measuremens real-ime quaniy.3.. -. 5 5 Στο ίδιο πρόβλημα, αν προσθέσω μια μικρή διαταραχή στο φυσικό σύστημα x x w.345 w με w N (,.) θα αλλάξει ελαφρώς το σύστημα και θα έχω : (στον αλγόριθμο η μοναδική αλλαγή είναι στην εντολή Pprior(i)=Ppos(i-)+.; και στο διάνυσμα xconsan.).35.3 esimaion measuremens real-ime quaniy.5..5..5 -.5 -. -.5 5 5 4
Φίλτρο Kalman Συνεχούς Χρόνου Για να ορίσουμε το φίλτρο στον συνεχή χρόνο, θα χρησιμοποιήσουμε τα αποτελέσματα για το αντίστοιχο διακριτό, κάνοντας τις απαραίτητες αλλαγές. Αρχικά, θα ορίσουμε το σύστημα μας στον συνεχή χρόνο x'( ) F( ) x( ) G( ) w( ) w( ) (, Q ) z( ) H ( ) x( ) v( ) v( ) (, R ) c c Όπου x () είναι το διάνυσμα καταστάσεων, w () και v () διανύσματα διαταραχών με χαρακτηριστικά λευκού θορύβου και z () το διάνυσμα μετρήσεων. Όπως και στο διακριτό χρόνο, ως ορίζουμε τον πίνακα μετάβασης από τη χρονική στιγμή στην. Για τον F ( ) ( ) F ισχύει e I F( )... I F O( ). Επομένως μια προσέγγιση του πίνακα μετάβασης είναι η I F. Μένει να δούμε με ποιο τρόπο συνδέονται τα στατιστικά χαρακτηριστικά των διακριτών θορύβων του συστήματος και των μετρήσεων με τους αντίστοιχους συνεχείς. Σχέση μεταξύ διακριτών λευκών θορύβων (discree whie noise sequences) και λευκών θορύβων συνεχούς χρόνου (whie noise processes) Έστω το σταθερό σύστημα διακριτού χρόνου: x x w w (, Q ) ( ) ( ) Θόρυβος κατάστασης χ()= Όπου η χρονική περίοδος ανάμεσα σε κάθε δείγμα είναι Τ. Αν λύσουμε αναδρομικά, θα βρούμε για τη x ότι: x w w w... w ( ) Η συνδιακύμανση της κατάστασης x είναι E[ x x ] E[( w w w... w )( w w w... w ) ] ( ) ( ) E( wiw j ) Q E w w E w w... E w w ( ) ( ) 5
Τώρα ας θεωρήσουμε ένα σταθερό σύστημα συνεχούς χρόνου: x'( ) w( ) w( ) (, QM ) όπου Μ μια ποσότητα απροσδιόριστη (προς το παρόν!). Η συνδιακύμανση της κατάστασης x() είναι: E[ x( ) x( ) ] E w( a) da w( b) db E w( a) w( b) dadb QM ( a b) dadb QMdb QM Αν θέσουμε τώρα M η συνδιακύμανση θα γίνει E[ x( ) x( ) ] Q και αν σκεφτούμε ότι η σχέση μεταξύ συνεχούς χρόνου και διακριτών στιγμών είναι = η παραπάνω σχέση γίνεται E[ x( ) x( ) ] Q. Συμπεραίνουμε πως ο διακριτού χρόνου λευκός θόρυβος με συνδιακύμανση Q και διάστημα μεταξύ δειγμάτων Τ είναι ισοδύναμος με λευκό θόρυβο συνεχούς χρόνου με συνδιακύμανση Q, δηλαδή [ ( ) ( ) ] Q Q ( ) c E w w. Θόρυβος μετρήσεων Έστω ότι έχουμε τη μέτρηση μιας σταθεράς σε διακριτό χρόνο, δηλαδή: x x y x v v( ) (, R ) Έχουμε δείξει ότι ο a poseriori πίνακας συνδιακύμανσης του σφάλματος εκτίμησης είναι P ( ) [ K ] P ( ) όπου P( ) P ( ) και σχέση του P(+) θα βρούμε P ( ) K P ( ). Αν αντικαταστήσουμε στην P( ) R P ( ) R. Λύνοντας τη σχέση αναδρομικά έχουμε P( ) R P( ) P ( ) P ( ) R P( ) R P( ) R R P ( ) R P ( ) R P ( ) R P ( ) R R P ( ) R P ( ) R R P ( ) R P( ) R P ( ) R ( ) P ( ) R P P ( ) R P ( ) R παίρνω το όριο καθώς P,δηλαδή για σφάλμα αρχικής εκτίμησης lim P ( ) P R R 6
Για να είναι η συνδιακύμανση του σφάλματος εκτίμησης ανεξάρτητη της περιόδου Τ θα πρέπει R R c, όπου R c σταθερά. Αυτή είναι και η σχέση που συνδέει τη συνδιακύμανση μεταξύ των θορύβων μετρήσεων συνεχούς και διακριτού χρόνου, δηλαδή v (, R) όπου Τ είναι το διάστημα μεταξύ διακριτών μετρήσεων. v( ) (, R ) Μετάβαση από το διακριτό στο συνεχές Φίλτρο Kalman Έχουμε κάνει τις απαραίτητες προσεγγίσεις για τους πίνακες I F Q Qc E[ w( )( w( )) ] Q Qc E[ Gw( )( Gw( )) ] E[ Gw( ) w( ) G ] GQ G c Rc R Στο διακριτό χρόνο είχαμε δείξει πως ο πίνακας συνδιασποράς του σφάλματος υπολογίζεται από τον τύπο ( ) ( ) P P Q. Κάνοντας τις αντικαταστήσεις έχουμε ( ) [ ( ) ] ( )[ ( ) ] P ( ) ( ) ( ) I F P I F G Q G κάνουμε τις σχετικές πράξεις και παίρνουμε ( ) ( ) [ ( ) ( ) ( ) ( ) P ( ) ( ) ( )] ( ) P F P P F G Q G O Αν στον παραπάνω τύπο κάνουμε αντικατάσταση το P ( ) [ I KH ] P ( ) έχουμε ( ) [ ] ( ) ( )[ ] ( ) [ ] ( ) ( ) P ( ) ( ) ( ) I KH P F I KH P I KH P F G Q G F( ) KHP ( ) F( ) P ( ) P ( ) F( ) KHP ( ) F( ) P ( ) P ( ) KHP ( ) G( ) Q( ) G( ) P ( ) ( ) ( ) P K H P F( ) K H P ( ) F( ) P ( ) P ( ) F( ) KH P ( ) F( ) G( ) Q( ) G( ) Εξετάζουμε πρώτα ξεχωριστά τον όρο: (4) K P ( ) H [ H P ( ) H R ] P ( ) H [ H P ( ) H R ] P ( ) H [ H P ( ) H R] 7
και καθώς το έχουμε lim K P H R Αυτός είναι ο πίνακας κέρδους (Kalman gain marix) του συνεχούς συστήματος. Έχοντας αυτή τη σχέση παίρνουμε το όριο στην P ( ) P ( ) παραπάνω εξίσωση lim P F P P F G QG P H R H P '( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Η παραπάνω μη γραμμική ως προς P εξίσωση ονομάζεται διαφορική εξίσωση Riccai. Είχαμε δείξει πως στο διακριτό χρόνο η εκτίμηση xˆ ( ) υπολογίζεται από τον τύπο xˆ ( ) ˆ ( ) [ ˆ x K z H x ( )] και αν αντικαταστήσουμε το xˆ ( ) ˆ x ( ) έχουμε xˆ ( ) xˆ ( ) K [ z H x ˆ ( )] Αν τώρα κάνουμε τις επιπλέον αντικαταστάσεις I F και K P H R : xˆ ( ) [ I F ] xˆ ( ) P H R z H [ I F ] x ˆ ( ) xˆ ( ) xˆ ( ) F xˆ ( ) P H R z P H R H xˆ ( ) P H R H F xˆ ( ) xˆ ˆ ( ) x ( ) F xˆ ˆ ( ) P H R z P H R H x ( ) O( ) xˆ ( ) xˆ ( ) F xˆ ( ) P H R z H xˆ ( ) Παίρνοντας το όριο καθώς καταλήγουμε στην ˆ ˆ ˆ x'( ) F( ) x( ) P( ) H( ) R( ) [ z( ) H( ) x( )] που είναι η διαφορική εξίσωση του συνεχούς φίλτρου Kalman, όπου ο πίνακας P () υπολογίζεται από τη διαφορική εξίσωση Riccai. Σύστημα Μετρήσεις Πίνακας Φίλτρου Kalman Συνεχούς Χρόνου x'( ) F( ) x( ) G( ) w( ) w( ) N(, Q( )) z( ) H( ) x( ) v( ) v( ) N(, R( )) Υποθέσεις Kalman Gain Marix Συνδιακύμανση Σφάλματος Εκτίμηση Κατάστασης E[ x()] x ˆ E ( x() xˆ ˆ )( x() x) P j E[ w v ], j K P H R ( ) ( ) ( ) ( ) P' FP PF GQG PH R HP ˆ ˆ ˆ x'( ) F( ) x( ) P( ) H( ) R( ) [ z( ) H( ) x( )] 8
Φίλτρο σταθερής κατάστασης P Στην περίπτωση που το σύστημα και οι μετρήσεις του περιγράφονται από γραμμικούς, χρονικά αμετάβλητους πίνακες (οι F,G,H δεν μεταβάλλονται χρονικά) και οι διακυμάνσεις των διαταραχών είναι επίσης σταθερές (Q,R δεν μεταβάλλονται χρονικά), η διαδικασία φιλτραρίσματος ίσως να καταλήξει σε μια σταθερή κατάσταση όπου ο P θα είναι σταθερός. Η παρατηρησιμότητα του συστήματος εξασφαλίζει την ύπαρξη μιας seady-sae λύσης και η ελεγξιμότητα εξασφαλίζει τη μοναδικότητά της. Δηλαδή, καθώς έχουμε P ' και η δ.ε. Riccai γίνεται αλγευρική εξίσωση FP P F GQG P H R HP Ο Kalman gain marix γίνεται K P H R και το φίλτρο Kalman: xˆ '( ) Fxˆ ( ) K [ z( ) H xˆ ( )] xˆ '( ) F xˆ ( ) K H xˆ ( ) K z( ) Laplace ( si F K H) Xˆ ( s) K Z( s) X ˆ ( s) ( si F K H ) K Z( s ) όπου ( ) si F K H K είναι η συνάρτηση μεταφοράς του φίλτρου Kalman σε seady-sae. ΠΑΡΑΔΕΙΓΜΑΤΑ Παράδειγμα: Να γίνει εκτίμηση της σταθεράς x, αν έχουμε διαθέσιμη μια μέτρηση z η οποία διαταράσσεται από λευκό θόρυβο με μηδενική μέση τιμή και διακύμανση r. o σύστημα που έχουμε είναι το Σύστημα: x'( ) Μέτρηση: z( ) x( ) v( ) όπου v N(, r ). Έχουμε λοιπόν f=g=q= και h=. Η δ.ε. Riccai είναι p'( ) p () r Με τη βοήθεια του Malab έχουμε >> p=dsolve('dp=-(p^)/r','p()=p','') p = r/(+/p*r) >> prey(p) 9
r -------- r + ---- p Ο πίνακας Kalman gain θα είναι p xˆ'( ) r [ z xˆ( )] p r K p r p r p r και το φίλτρο συνεχούς χρόνου είναι Παράδειγμα: Ένα διαστημικό αεροσκάφος απομακρύνεται από τη γη με σχεδόν σταθερή ταχύτητα και υπόκειται σε μικρές τυχαίες υψηλής συχνότητας διαταραχές στην ταχύτητα του(δηλαδή επιταχύνσεις/επιβραδύνσεις) με φασματική συχνότητα q. Προσδιορίστε την ακρίβεια εκτίμησης της ταχύτητας του οχήματος, αν χρησιμοποιούμε ραντάρ (χρήση φαινομένου Doppler) το οποίο μετράει με σφάλμα φασματικής συχνότητας ίσο με r. Έστω x η απόκλιση από την προβλεπόμενη ταχύτητα του αεροσκάφους. Αφού χωρίς τις διαταραχές η ταχύτητα θα ήταν σταθερή, η παράγωγός της (επιτάχυνση) εξαρτάται μόνο από τις διαταραχές, δηλαδή x'( ) w( ) w N(, q ) z( ) x( ) v( ) v N(, r ) η διαφορική εξίσωση Riccai είναι (f=,g=h=) p p '( ) q, p() p r Με τη βοήθεια του Malab έχουμε: >> p=dsolve('dp=-(p^)/r+q','p()=p','') Warning: Compac, analyic soluion could no be found. I is recommended ha you apply PREY o he oupu. ry mhelp dsolve, mhelp RooOf, mhelp DESol, or mhelp allvalues for more informaion. > In C:\MALAB6p5\oolbox\symbolic\dsolve.m a line 99 p =anh((*(q*r)^(/)+r*aanh(p/(q*r)^(/)))/r)*(q*r)^(/) 3
Ή με τη βοήθεια του Mahemaica: DSolve[p'[]==-(p[]^)/R+Q,p[],] p[] Q Ranh Q QRC[] R και η εξίσωση του φίλτρου γίνεται: Q R Q QRC[] xˆ'( ) anh ( z( ) xˆ( )) R R Παράδειγμα: Έστω η διαφορική εξίσωση x''( ) x'( ) x( ) w( ) με E[ w( )] E[ w( ) w( )] q ( ). Θέτοντας x( ) x( ) x'( ) x( ) έχουμε το saespace σύστημα x '( ) x ( ) '( ) ( ) x x w () με αρχικές συνθήκες E[ x()] E[ x ()] και E x () x () x () x () x () x () P () P () P () P () Μετρήσεις γίνονται μέσω της ποσότητας z( ) x( ) v( ) με E[ v( )] E[ v( ) v( )] r ( ). Η διαφορική εξίσωση Riccai είναι '( ) '( ) ( ) ( ) ( ) ( ) q '( ) '( ) ( ) ( ) ( ) ( ) P P P P P P P P P P P P P ( ) P ( ) P ( ) P ( ) P P P ( ) P ( ) ( ) ( ) r P ( ) P ( ) P ( ) P ( ) P ( ) P ( ) P ( ) P ( ) 4 P ( ) P ( ) P ( ) P ( ) P ( ) P ( ) P ( ) q r P ( ) P ( ) P ( ) Από την οποία προκύπτουν οι διαφορικές εξισώσεις: P '( ) P( ) P( ) r P '( ) P( ) P( ) P( ) P( ) P( ) r 4 P '( ) P( ) 4 P( ) q P( ) r Αυτό το σύστημα είναι δύσκολο να λυθεί, μπορούμε όμως να το λύσουμε με τη βοήθεια του Mahemaica. Αρχικά θα λύσω το seady sae σύστημα για P ()=. 3
Solve[{==*p-(/r)*p^,==p-(w^)*p-*z*w*p- (/r)*p*p,==-*(w^)*p-4*z*w*p- (/r)*p^+(w^4)*q},{p,p,p}] p r w z r w q w 4 r z w, p, p r w z q r w 4 4 r w z, p r w z r w q w 4 r z w, p, p r w z q r w 4 4 r w z, p r w z r w 4 r q w 4 r z w, p r, p r w z 4 r w q r w 4 4 r w z, p r w z r w 4 r q w 4 r z w, p r, p r w z 4 r w q r w 4 4 r w z Από εδώ θα επιλέξουμε τη λύση που εξασφαλίζει θετικά ορισμένο πίνακα P. Το Mahemaica όμως είναι ένα ισχυρό εργαλείο και μας επιτρέπει να λύσουμε και αναλυτικά τη διαφορική εξίσωση. Οι αρχικές συνθήκες που θα χρησιμοποιήσω είναι q= r= ω= ζ=. P () P () P (). soluion _ Wih q, r, w, z., NDSolve p' p r p ^, p' p w ^ p z w p r p p, p' w ^ p 4 z w p r p ^ w ^ 4 q, p, p, p, p, p, p,,,, All, Plo soluion,,, 3
.8 p().6 p().4. p() 4 6 8. Βλέπουμε ότι καθώς ο χρόνος μεγαλώνει, τα P προσεγγίζουν τις seady-sae λύσεις που βρήκαμε. Η επιλογή αρχικών συνθηκών για τα P δεν έχει ιδιαίτερο ρόλο. Ίσως πιο ρεαλιστικό θα ήταν να επιλέξουμε τιμές διάφορες του μηδενός, με τη λογική πως αφού ο πίνακας P εκφράζει τη συνδιακύμανση του σφάλματος, η αρχική μας εκτίμηση ποτέ δεν πρόκειται να είναι ακριβής άρα P (). Αν κάνουμε όμως τα διαγράμματα θα δούμε πως σε βάθος χρόνου οι εξισώσεις έχουν την ίδια κατάληξη..5.5...5.5 4 6 8 4 6 8 33
Η εξίσωση του φίλτρου Kalman γίνεται ˆ ˆ ˆ x'( ) F( ) x( ) P( ) H( ) R( ) [ z( ) H( ) x( )] xˆ ( ) xˆ ( ) P ( ) P ( ) xˆ ( ) z ( ) xˆ ( ) xˆ ( ) P ( ) P ( ) xˆ ( ) r xˆ ˆ '( ) x() P() xˆ '( ) xˆ ( ) xˆ ( ) r P () P() xˆ '( ) xˆ ˆ ( ) z( ) x( ) r P() xˆ ˆ ˆ ˆ '( ) x ( ) x( ) z( ) x( ) r z( ) xˆ ( ) Επίλυση της διαφορικής εξίσωσης Riccai Από τα παραπάνω παραδείγματα καταλαβαίνουμε ότι η επίλυση της δ.ε. με αναλυτικό τρόπο είναι εφικτή μόνο για απλά προβλήματα. Συνήθως χρησιμοποιούνται αριθμητικές μέθοδοι για τον υπολογισμό του πίνακα P. Η αριθμητική ολοκλήρωση είναι ο συνήθης τρόπος προσέγγισης των χρονικά μεταβαλλόμενων συστημάτων. Συστήματα για τα οποία η δ.ε. Riccai έχει σταθερούς, χρονικά αμετάβλητους συντελεστές μπορούν να λυθούν με τον εξής τρόπο. Έστω η μη γραμμική δ.ε.: P' FP PF GQG PH R HP Κάνοντας το μετασχηματισμό Py όπου y ' F y H R HP y οδηγούμαστε σε ένα σύστημα διαφορικών εξισώσεων. Υπολογίζουμε το λ : ' ' ' P y P y FP y PF y GQG y PH R HP y PF y PH R HP y ' FP y GQG y F GQG y Το γραμμικό σύστημα που προκύπτει είναι το: y' ' F GQG H R H F y Η λύση του συστήματος (όπου Φ ο πίνακας μετάβασης) είναι: y( ) ( ) ( ) y( ) yy y ( ) ( ) ( ) ( ) y () 34
Όπου χωρίσαμε τον πίνακα Φ σε τέσσερις nxn bloc υποπίνακες. Τώρα λοιπόν έχουμε ( ) P( ) y( ) P( ) ( ) y( ) P( ) ( ) y( ) ( ) ( ) ( ) y( ) ( ) ( ) y yy y P( ) ( ) ( ) P( ) ( ) ( ) P( ) y yy y y ( ) y ( ) Μετατρέψαμε λοιπόν τη δ.ε. Riccai σε ισοδύναμή της γραμμική. Αρκεί να υπολογιστεί ο πίνακας Φ για να τη λύσουμε. ος τρόπος Ένας πιο προφανής τρόπος (σε αντίθεση με την έξυπνη μεν, αλλά παράδοξη αντικατάσταση) είναι να σπάσουμε τον πίνακα P σε μια δεξιά κλασματική περιγραφή του, δηλαδή P( ) A( ) B( ) Με χρήση της ιδιότητας παίρνουμε B( ) B( ) B '( ) B( ) αντικαθιστούμε το P στη δ.ε.r. και P ' FP PF GQG PH R HP A'( ) B( ) A( )[ B( ) ]' FA( ) B( ) A( ) B( ) F GQG A( ) B( ) H R HA( ) B( ) A'( ) B( ) A( ) B( ) B'( ) B( ) FA( ) B( ) A( ) B( ) F GQG A( ) B( ) H R HA( ) B( ) A'( ) A( ) B( ) B'( ) FA( ) A( ) B( ) F B( ) GQG B( ) A( ) B( ) H R HA( ) B () [ A'( ) FA( ) GQG B( )] A( ) B( ) [ B'( ) F B( ) H R HA( )] Ένας τρόπος να αληθεύει αυτή η εξίσωση είναι να θεωρήσουμε A'( ) FA( ) GQG B( ) A'( ) F() GQG A( ) B'( ) F B( ) H R HA( ) B H R H F '( ) B( ) μεταρέψαμε δηλαδή τη δ.ε. σε αυτό το σύστημα ομογενών δ.ε. με αρχικές συνθήκες A() B() και αν θέσουμε B() I τότε P() A() B() A() I A (),δηλαδή το διάνυσμα αρχικών συνθηκών γίνεται A() P() B() I (Βλέπουμε επίσης πως ο πίνακας του νέου συστήματος είναι ο ίδιος με τον ο τρόπο). 35
Συσχέτιση μεταξύ Θορύβων Στην ειδική περίπτωση όπου οι θόρυβοι w () και v () συσχετίζονται, δηλαδή ισχύει E[ w( ) v( ) ] C( ) ( ) ο τρόπος αντιμετώπισης του προβλήματος είναι η μετατροπή του σε ένα ισοδύναμο χωρίς συσχετίσεις μεταξύ των θορύβων. Προσθέτουμε στη σχέση x ' F x Gw τη μηδενική ποσότητα x ' F x Gw D( z H x v ) όπου D GCR. Το νέο πρόβλημα λοιπόν μετατρέπεται στο x' ( F DH ) x Dz ( Gw Dv ) όπου το Dz θεωρείται γνωστό (αφού z το διάνυσμα μετρήσεων) και ( Gw Dv ) είναι ο νέος θόρυβος του πραγματικού συστήματος. Τώρα έχουμε ( ) E Gw Dv v E Gwv Dvv GC DR GC GCR R. Οι θόρυβοι δηλαδή είναι μεταξύ τους ασυσχέτιστοι. (Ασφαλώς οι πίνακες F,D,H,R,C, είναι εν γένει χρονικά μεταβαλλόμενοι, δηλαδή F(),D() κ.τ.λ.) Φίλτρο Kalman ως παρατηρητής κατάστασης Θα μελετήσουμε το πρόβλημα της δημιουργίας ενός βέλτιστου παρατηρητή κατάστασης σε ένα σύστημα το οποίο διέπεται από θορύβους. Ο βέλτιστος αυτός παρατηρητής είναι γνωστός ως φίλτρο Kalman-Bucy. Το αποτέλεσμα που θα βγάλουμε είναι ουσιαστικά ίδιο με το Φίλτρο στο συνεχή χρόνο που ορίσαμε προηγουμένως. Όμως εδώ έχουμε ένα διαφορετικό τρόπο προσέγγισης του προβλήματος, η λύση του οποίου δίνεται με μια πολύ σαφή και κομψή διαδικασία και γι αυτό αξίζει και με το παραπάνω να τον αναφέρουμε. Έστω λοιπόν το γραμμικό σύστημα x'( ) Ax( ) Bu( ) y( ) Cx( ) Du( ) και ας υποθέσουμε ότι υπάρχουν διαταραχές στην εξίσωση κατάστασης αλλά και στην έξοδο: x'( ) Ax( ) Bu( ) w( ) w N(, Q) y( ) Cx( ) Du( ) v( ) v N(, R) όπου w() και v() λευκοί θόρυβοι με τα παραπάνω στατιστικά. Λόγω των διαταραχών αυτών η εκτίμηση κατάστασης που δίνεται από τον παρατηρητή δεν είναι πλέον ακριβής και χρειάζεται βελτίωση. Η δουλειά του βέλτιστου παρατηρητή είναι να ελαχιστοποιήσει το σφάλμα εκτίμησης. Έστω ότι ο παρατηρητής είναι της μορφής 36
xˆ '( ) Axˆ ( ) Bu( ) G( y( ) yˆ ( )) Το σφάλμα εκτίμησης x( ) x( ) xˆ ( ) ικανοποιεί τη διαφορική εξίσωση x '( ) x '( ) xˆ '( ) Ax( ) Bu( ) w( ) Axˆ ( ) Bu( ) G( y( ) yˆ ( )) Ax( ) w( ) Axˆ( ) G Cx( ) Du( ) v( ) Cxˆ( ) Du( ) Ax( ) w( ) Axˆ( ) GCx( ) Gv( ) GCxˆ( ) A GC x( ) A GC xˆ ( ) w( ) Gv( ) A GC x( ) w( ) Gv() Η λύση της παραπάνω διαφορικής εξίσωσης είναι (γενική λύση+μερική): A GC A GC ( ) ( ) () ( ) ( ) x e x e w Gv d Η ελαχιστοποίηση του σφάλματος εκτίμησης ισοδυναμεί με την ελαχιστοποίηση του ολοκληρώματος, αφού ο όρος έξω από αυτό δεν μπορεί να μεταβληθεί. Ορίζουμε: A GC ( ) ( ) ( ) ( ) e e w Gv d a A GC a e w( a) Gv( a) da Ο πίνακας συνδιακύμανσης του σφάλματος εκτίμησης: 37
A GC a A GC b E[ e( ) e( ) ] E e w( a) Gv( a) da( e w( b) Gv( b) db) A GC a A GC b E e w( a) Gv( a) e w( b) Gv( b) dadb A GC a A GC b e w( a) Gv( a) w( b) Gv( b) e dadb A GC a A GC b e E[ w( a) Gv( a) w( b) Gv( b) ] e dadb Ας υπολογίσουμε πρώτα την εσωτερική παράσταση: E[ w( a) Gv( a) w( b) Gv( b) E[ w( a) w( b) ] E[ Gv( a) v( b) G ] E[ w( a) v( b) G ] E[ Gv( a) w( b) ] Q ( b a) GRG ( b a) ( Q GRG ) ( b a) Συνολικά: A GC a A GC b E[ e( ) e( ) ] e ( Q GRG ) e ( b a) dadb A GC b A GC b e ( Q GRG ) e db w( ), v( ) αυτή είναι η ποσότητα που θέλουμε να ελαχιστοποιήσουμε, ή στην περίπτωση του άπειρου χρονικού ορίζοντα η A GC b A GC b e ( Q GRG ) e db. Πως θα λύσουμε λοιπόν αυτό το πρόβλημα ελαχιστοποίησης? Πολύ απλά, θα χρησιμοποιήσουμε ένα άλλο γνωστό μας πρόβλημα του οποίου ξέρουμε τη λύση και θα το μετατρέψουμε σε αυτό που θέλουμε! Το πρόβλημα λοιπόν που θα τροποποιήσουμε είναι το LQR (linear quadraic regulaor) problem. Περιγράφεται από τις εξισώσεις: x '( ) Ax( ) Bu( ) J ( x) ( x Qx u Ru) d Αν εφαρμόσουμε ανάδραση κατάστασης u()=kx() το πρόβλημα γίνεται: x'( ) Ax( ) Bu( ) Ax( ) BKx( ) ( A BK) x( ) έ της οποίας διαφορικής εξίσωσης λύση είναι η x() & u() στο συναρτησιακό θα πάρω ( A BK ) x( ) e x (). Κάνοντας αντικατάσταση τα 38
J( x) ( x Qx u Ru) d ( x Qx ( Kx) RKx) d ( x ( Q K RK) xd ( A BK ) ( A BK ) [[ ()] ( ) ()] e x Q K RK e x d ( A BK ) ( ) () ( A BK ( ) ) () x e Q K RK e d x και στην περίπτωση του άπειρου χρονικού ορίζοντα το ( A BK ) ( ) ( ) () ( A BK ( ) ) () J x x e Q K RK e d x Η λύση στο LQR problem δίνεται για K R B S, όπου S είναι μοναδικός, θετικά ορισμένος πίνακας που προκύπτει από τη λύση της αλγευρικής εξίσωσης Riccai: SA A S Q SBR B S Συγκρίνοντας τις εξισώσεις ( A BK ) ( A BK ) ( ) ( ( ) ) J x e Q K RK e d A GC b A GC b J ( x) e ( Q GR G ) e db noise noise A BK A C G Q K RK Qnoise GRnoiseG A A K G B C Q Qnoise R R noise Συνοψίζουμε τα παραπάνω συμπεράσματα στο θεώρημα Θεώρημα: Έστω το γραμμικό σύστημα x'( ) Ax( ) Bu( ) w( ) w N(, Q) y( ) Cx( ) Du( ) v( ) v N(, R) Αν το ζεύγος (A,C) είναι παρατηρήσιμο, τότε ο βέλτιστος παρατηρητής κατάστασης δίνεται από την εξίσωση xˆ '( ) Axˆ ( ) Bu( ) G( y( ) yˆ ( )) όπου G ( R CU) UC R και U είναι θετικά ορισμένος, λύση της αλγευρικής εξίσωσης Riccai UA AS Q UC R CU Παράδειγμα: Έστω το σύστημα 39
x ' x u w όπου οι w,v ικανοποιούν τα χαρακτηριστικά λευκού θορύβου y x v με 4 6 Q 6 9 3 και R= 3 Θα βρούμε το φίλτρο Kalman του παρατηρητή κατάστασης με τη βοήθεια του Malab και συγκεκριμένα της εντολής care, ιδανική για την αλγευρική εξίσωση Riccai. a=[- ; -; -]; q=[4 6 ;6 9 3; 3 ]; a=a'; c=[ ]; c=c'; r= u=care(a,c,q,r) u =.3768.63.49.63.66.356.49.356.5 G=-u*c G = -.5788 -.7549 -.8774 Άρα το φίλτρο Κάλμαν δίνεται από την εξίσωση.5788 xˆ '( ) Axˆ ( ) Bu( ) G( y( ) yˆ ( )) xˆ ( ) u( ).7549 ( y( ) yˆ ( )).8774 4
ΒΙΒΛΙΟΓΡΑΦΙΑ [] Τechnical saff, he analyic sciences corporaion, edied by Arhur Gelb (974). Applied Opimal Esimaion. he MI Press. [] Feng Lin (7). Robus Conrol Design, An opimal conrol approach. John Wiley and Sons. [3] Alo Sinha (7). Linear Sysems, Opimal and Robus Conrol. CRC Press. [4] Mohinder S. Grewal, Angus P. Andrews (). Kalman Filering: heory and Pracise Using Malab. John Wiley and Sons. [5] Greg Welch, Gary Bishop (). An Inroducion o he Kalman Filer. AMC. [6] Dan Simon (6). Opimal Sae Esimaion, Kalman, H[infiniy] and Nonlinear Approaches. John Wiley and Sons. [7] he Kalman Filer (websie mainained by G.Welch and G.Bishop) hp://www.cs.unc.edu/~welch/alman/#anchor-49575 [8] Kalman Filer for Dummies. hp://bilgin.esme.org/bisbyes/kalmanfilerfordummies.aspx [9] Wiipedia Aricle: hp://en.wiipedia.org/wii/kalman_filer [] Π.Ν. Παρασκευόπουλος (4), Βέλτιστος Έλεγχος, Φίλτρο Kalman, Στοχαστικός Έλεγχος. Εκδόσεις Π.Ν. Παρασκευόπουλου. [] Νικόλαος Καραμπετάκης (9). Βέλτιστος Έλεγχος Συστημάτων. Εκδόσεις Ζήτη. [] Arhur E. Bryson,, Jr. Yu-Chi Ho (975). Applied Opimal Conrol, Opimizaion, Esimaion and Conrol. Halsed Press. [3] Σ. Κουνιάς, Χ. Μωυσιάδης (995). Θεωρία πιθανοτήτων I. Εκδόσεις Ζήτη. [4] Πανεπιστημιακές σημειώσεις Πιθανοτήτων, Τμήμα Μαθηματικών Πανεπιστήμιο Αιγαίου. hp://www.mah.aegean.gr/courses/probabiliies/p_5/index5.hm [5] Wiipedia Aricle: hp://en.wiipedia.org/wii/sochasic_process#coninuous_ime_and_coninuous_sae _space [6] Marix Reference Manual, Frey Lab, Probabilisic and Saisical Inference Group, Universiy of orono. hp://www.psi.orono.edu/marix/calculus.hml [7] Δ. Φουσκάκης. Πολυδιάστατες Τυχαίες Μεταβλητές. 4
[8] Ν.Παπανδρέου Πανεπιστήμιο Πατρών, Τμήμα μηχανικών υπολογιστών & πληροφορικής. Στοχαστικά Σήματα και Εφαρμογές. [9] Δημήτρης Κουγιουμτζής. Σημειώσεις μαθήματος «Χρονικές Σειρές» του μεταπτυχιακού προγράμματος Στατιστική και Επιχειρησιακή Έρευνα, Τμήμα Μαθηματικών Α.Π.Θ. 4