Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Τομέας Συστημάτων και Αυτομάτου Ελέγχου ΠΡΟΣΑΡΜΟΣΤΙΚΟΣ ΕΛΕΓΧΟΣ Διάλεξη 5 Πάτρα 2008
Χρονικά μεταβαλλόμενες παράμετροι Στο πρόβλημα των ελαχίστων τετραγώνων οι παράμετροι θ i θεωρούνται πως είναι σταθερές. Παρά ταύτα σε πολλά προβλήματα προσαρμοστικού ελέγχου, έχουμε παραμέτρους που μεταβάλλονται αργά με τον χρόνο. Σε αυτήν την περίπτωση αντικαθιστούμε το κριτήριο των ελαχίστων τετραγώνων με το: t t i V( θ, t) = λ ( y( i) φ ( i) θ) 2, 0 λ 2 i= Η παράμετρος λ καλείται συντελεστής απώλειας μνήμης του συστήματος (forgetting factor).
Θεωρούμε ότι ο πίνακας Φ(t) είναι πλήρης τάξης για t t0. Η παράμετρος θ που ελαχιστοποιεί το προηγούμενο κριτήριο δίδεται αναδρομικά: ˆ ˆ θ () t = θ( t ) + K()( t y() t φ () t ˆ θ( t )) ( ) Kt () = Pt ( ) φ() t λi+ φ () tpt ( ) φ() t ( φ ) Pt () = I Kt () () t Pt ( )/ λ
Exponentially Weighted RLS (Recursive Least Squares) V( n) = e ( n) Λ( n) e( n) { n n } Λ ( n) = diag λ, λ,, λ, Premultiplying Prewindowed με παρνουμε: Λ /2 ( n) και λύνοντας για H ˆ ( n ) ˆ ( ) ( ) ( ) ( ) ( ) ( ) ( ) Hn= U nλ nun U nλ ndn Ορίζουμε: Pn ( ) = U ( n) Λ( nun ) ( )
Έχουμε: P ( n+ ) = λu ( n) Λ ( n) U( n) + φ( n+ ) φ ( n+ ) = λp ( n) + φ( n+ ) φ ( n+ ) P ( n + ) = Pn ( ) Pn ( ) φ( n+ ) λ + φ ( n+ ) Pn ( ) φ( n+ ) φ ( n+ ) Pn ( ) λ Hn ˆ ( + ) = Pn ( + ) U ( n+ ) Λ ( n+ ) dn ( + ) = Pn ( + ) λu ( n) Λ ( ndn ) ( ) + φ( n+ ) dn ( + ) K( n+ ) = P( n+ ) φ( n+ ) = P( n) φ( n+ ) λ + φ ( n+ ) P( n) φ( n+ )
Αρχικοποίηση: ˆ (0) 0 H = P(0) = σ I φ (0) = 0 Σε κάθε βήμα ισχύει: en ( ) = dn ( ) φ ( nh ) ˆ ( n ), ( = e ˆ ( n )) H ( n ) Pn ( ) = Pn ( ) Pn ( ) φ( n) λ+ φ ( npn ) ( ) φ( n) φ ( npn ) ( ) λ Kn ( ) = Pn ( ) φ ( n ) λ + φ ( npn ) ( ) φ ( n ) (Ανανέωση κέρδους)
Επίσης σε κάθε βήμα ισχύει: Hˆ ( n ) = Hˆ ( n ) + K ( nen ) ( ) (Ανανέωση των συντελεστών φίλτρου) [ ] φ ( n + ) = Z φ ( n ) + y ( n + ),0,,0 ( Ανανέωση των καταστάσεων φίλτρου) όπου Z 0 0 = 0
Απλοποιημένοι αλγόριθμοι Ο RLS αλγόριθμος έχει όπως είδαμε δύο μεταβλητές καταστάσεως, ˆ θ και Ρ, που πρέπει να ενημερώνονται σε κάθε βήμα. Η ενημέρωση του διανύσματος ˆ θ απαιτεί 2n προσθέσεις και 2n πολλαπλασιασμούς λ ανά βήμα. Αντίθετα η ενημέρωση του πίνακα Ρ απαιτεί.5n(n+) προσθέσεις,.5n(n+) πολλαπλασιασμούς και 0.5n(n+) διαιρέσεις ανά βήμα. Υπάρχουν αρκετοί απλοποιημένοι αλγόριθμοι που αποφεύγουν την ενημέρωση του πίνακα Ρ, με κόστος βέβαια βραδύτερη σύγκλιση. Ένας τέτοιος αλγόριθμος είναι και ο αλγόριθμος προβολής Kaczmarz που ακολουθεί.
Έχουμε: yt () = φ () tθ Η μέτρηση y(t) περιέχει πληροφορία μόνο στην κατεύθυνση φ(t) στον χώρο των παραμέτρων, επομένως: ˆ θ () t = ˆ θ( t ) + aφ() t Όπου η παράμετρος α επιλέγεται έτσι ώστε: y () t = φ () t ˆ θ () t = φ () t ˆ θ ( t ) + aφ () t φ () t
Οπότε: a = y() t φ () t ˆ θ ( t ) φ () t φ() t ( ) Και προκύπτει ο αλγόριθμος Kaczmarz: ˆ ˆ φ() t θ () t = θ ( t ) + y () t φ () t ˆ θ ( t ) φ () t φ() t ( y φ )
Υποθέτοντας ότι τα δεδομένα έχουν παραχθεί από την εξίσωση: με παράμετρο θ y() t = ϕ () t θ 0 = θ. Τότε προκύπτει από τον προηγούμενο αλγόριθμο ότι το παραμετρικό σφάλμα: 0 θ = θ ˆ θ
ικανοποιεί την σχέση: θ () t = A() t θ ( t ) όπου At () φ() t φ () t = I φ () t φ () t (Α(t) : Πίνακας Προβολής)
Για την αποφυγή του προβλήματος που δημιουργείται όταν φ(t) = 0, ο αλγόριθμος αυτός στην πράξη τροποποιείται ως εξής: ˆ ˆ γφ() t θ() t = θ( t ) + y() t φ () t ˆ θ( t ) a+ φ () t φ () t ( ) όπου a 0, 0 < γ < 2
Adaptive FIR Filtering Θεωρούμε ένα μοντέλο (Σ) που περιγραφέται από την σχέση: με = [ ] y( n) = + h u( n ) + + h y( n N) H h h N N Επομένως: y( n) = H un ( ) un ( N )
y FIR φίλτρο ŷ ε θ Μηχανισμός Προσαρμογής Block διάγραμμα αναδρομικού παραμετρικού εκτιμητή για FIR μοντέλο
Έχουμε : n 2 ( ) e( s) Vn = s = 0 en ( ) = dn ( ) yn ( ) Vn ( ) = e ( nen ) ( ) ˆ ( ) ( ) ( ) ( ) ( ) H n = U n U n U n d n
0 h e(0) d(0) u(0) e() d() 0 = u (0) en ( ) dn ( ) d( n) un ( ) un ( N) hn U( n) (prewindowed) un ( ) u(0) h en ( ) dn ( ) = en ( ) d( n) un ( ) un ( N) hn (unwindowed covariance)
Ισχύει ότι: Pn ( ) = U ( nun ) ( ) Un ( ) Pn ( + ) = U ( n) Φ ( n+ ) = U ( nun ) ( ) +Φ ( n+ ) Φ ( n+ ) Φ ( n + ) [ ] Φ ( n + ) = u ( n ) u ( n N + ) Pn ( + ) = Pn ( ) Pn ( ) Φ ( n+ ) +Φ ( n+ ) Pn ( ) Φ ( n+ ) Φ ( n+ ) Pn ( ) () [ + ] = ( + ) (λόγω της ιδιότητος: A BCD A A B C DA B DA ) ˆ Hn ( + ) = Pn ( + ) U ( n+ ) dn ( + ) = Pn ( + ) U ( ndn ) ( ) +Φ ( n+ ) dn ( + ) (2)
Επομένως από τις σχέσεις (), (2) προκύπτει: ˆ ˆ ˆ Hn ( + ) = Hn ( ) Pn ( ) Φ ( n+ ) +Φ ( n+ ) Pn ( ) Φ ( n+ ) Φ ( n+ ) Hn ( ) + Pn ( + ) Φ ( n+ ) dn ( + ) Ορίζουμε: Kn ( + ) = Pn ( + ) Φ ( n+ ) = = Pn ( ) Φ ( n+ ) +Φ ( n+ ) Pn ( ) Φ ( n+ ) (3) ˆ ˆ Hn ( + ) = Hn ( ) + Kn ( + ) dn ( + ) Φ ( n+ ) Hn ˆ( ) (4) Από εξισώσεις (),(3) και (4) RLS l ˆ P(0) = U (0) U(0) ˆ ή P(0) = σ I, σ-large, H(0) = P(0) U (0) d(0) ή H (0) = 0
Sliding window μορφή του RLS Εκτίμηση ως συνάρτηση των δεδομένων σε ένα τετράγωνο παράθυρο μήκους L. { un ( L + ), K, un ( ) } Πρόσθεση νέου σημείου [ yn ( )] P( n) = Pn ( ) Pn ( ) Φ ( n) +Φ ( npn ) ( ) Φ( n) Φ ( npn ) ( ) ˆ ( ) = ˆ( ) + ( ) ( ) Φ ( ) ( ) H n H n K n y n n P n Kn ( ) = Pn ( ) Φ ( n) +Φ ( npn ) ( ) Φ( n)
Απόρριψη σημείου δεδομένων [ yn ( L) ] P( n) = P ( n) + P ( n) Φ( n L) +Φ ( n L) P ( n) Φ( n L) Φ ( n L) P ( n) Hn ˆ = Hˆ n K n yn L t LHˆ Φ n ( ) ( ) ( ) ( ) ( ) ( ) K ( n) = P ( n) Φ( n L) +Φ ( n L) P ( n) Φ( n L)
Πλεονεκτήματα: Χρησιμοποιείται για παρακολούθηση απότομων αλλαγών στην δυναμική του συστήματος. Μειονεκτήματα: (L+N) σημεία δεδομένων πρέπει να αποθηκευτούν Η υπολογιστική πολυπλοκότητα διπλασιάζεται