utilizarea filtrelor kalman neliniare pentru a estima semnale

Upload: alex-donciu

Post on 10-Mar-2016

214 views

Category:

Documents


0 download

DESCRIPTION

filtrare

TRANSCRIPT

Utilizarea filtrelor Kalman neliniare pentru a estima semnale

Filtrul Kalman este un instrument care estimeaz variabilele unei game largi de procese. n termeni matematici am spune c un filtru Kalman estimeaz strile unui sistem liniar. Exist dou motive pentru care ati putea s dorii s tii strile unui sistem, fie liniar sau neliniar: n primul rnd, poate fi necesar pentru a estima starile pentru a controla sistemul. De exemplu, inginerii electricieni trebuie s estimeze curenii de lichidare al unui motor pentru a controla poziia. Inginerul aerospaial trebuie s estimeze viteza unui satelit pentru a controla orbita sa. Inginerul biomedical trebuie s estimeze nivelul de zahar din sange pentru a regla ratele de injectare ale insulinei. n al doilea rnd, poate fi necesar s se estimeze stri ale sistemului, deoarece acestea sunt interesante n dreptul lor propriu. De exemplu, inginerul electric trebuie s estimeze parametrii de putere de sistem, n scopul de a prezice insuficienta probabiliti. Inginerul aerospaial trebuie s estimeze poziia satelitului, n scopul de a programa inteligent activiti viitoare prin satelit. Inginerul biomedical trebuie s estimeze in sange nivelul de proteine pentru a evalua starea de sanatate a unui pacient.Filtrul Kalman standard este un instrument eficient pentru estimarea, dar este limitat la sistemele liniare. Cele mai multe sisteme din lumea real sunt neliniare, caz n care nu se aplic n mod direct filtre Kalman. n lumea real, filtrele neliniare sunt utilizate mai des dect filtre liniare pentru c sistemele reale sunt neliniare. De fapt, prima utilizare a filtrelor Kalman au fost implicate filtrele neliniare Kalman n programul spaial NASA n anii 1960. Dac vrem s utilizam un filtru Kalman standard pentru a estima un semnal, procesul de msurare trebuie s fie descris de ecuaii liniare de sistem. Un sistem liniar este un proces care poate fi descris prin urmtoarele dou ecuaii[footnoteRef:1]: [1: "Filtrare Kalman," Iunie 2001, pg. 72-79]

(1)

(2)

Aceste ecuaii definesc un sistem liniar, deoarece acestea nu conin funcii exponeniale, funcii trigonometrice, sau orice alte funcii, care nu ar face-o linie dreapt, atunci cnd sunt reprezentate grafic. Ecuaiile 1 i 2 au mai multe variabile: A, B, i C sunt matrici k este indicele de timp x se numete starea sistemului u este o intrare cunoscuta in sistem (numit semnal de comand) y este o ieire msurat w i v sunt zgomotul - w se numete zgomot de proces, iar v este numit zgomot de msurare

Altele dect indicele de timp, aceste variabile sunt (n general) vectori i, prin urmare conin mai mult de un element.n problemele de estimare de stari, dorim s estimm x, deoarece conine toate informaiile despre sistemul. Problema este c nu se poate msura direct x. n schimb ne-am msura Y, care este o funcie de x, care este corupta de zgomotul v. Putem folosi y pentru a ne ajuta s obinen o estimare a lui x, dar nu putem lua n mod necesar informaii de la y la valoarea nominal, deoarece este corupt de zgomot.Ca un exemplu, s presupunem c sistemul nostru este un rezervor, un robot mobil, o main de livrare pizza, sau un alt vehicul aflat n micare n linie dreapt. Putem spune c starea const n poziia autovehiculului i viteza. Intrarea u este acceleraia i y ieire este poziia msurat. S presupunem n continuare c suntem capabili s msuram poziia la fiecare secund T. Acest sistem poate fi descris astfel:

(3)X k este un vector care conine poziiei vehiculului i viteza la momentul k, Uk este un scalar care este egal cu acceleraia, i Yk este un scalar care este egal cu wk, msurat este un vector care are interferena procesului datorit gropilor , incertitudinile cunotinelor noastre de u k, i alte efecte nemodelate. n cele din urm, vk este un scalar care este egal cu zgomotul msurat (adic, eroare instrumentaiei).Acum, s presupunem c vrem s controleze vehiculul ca s urmeze o cale specifica, sau vrem s estima, poziia autovehiculului pentru un alt motiv. Am putea folosi doar YK ca estimarea a poziiei, dar YK este zgomotos. Am putea face mai bine prin utilizarea unui filtru Kalman. Aceasta se datoreaz faptului c un filtru Kalman utilizeaz nu numai y k pentru msurarea poziiei, dar, de asemenea informaiile coninute n ecuaia de stare. Ecuatiile filtrului Kalman pot fi urmatoarele:

(4)n cazul n care timpul de pas k = 0, 1, 2, ... nc o dat, filtrul Kalman este numit un filtru liniar, deoarece ecuaia nu conine funcii exponeniale, funcii trigonometrice, sau orice alte funcii, care nu ar aprea ca o linie dreapt pe un grafic. Aici sunt semnificaiile variabilelor din ecuatiile filtrului Kalman : k reprezint estimarea xk Kk se numete ctigul Kalman (aceasta este o matrice) PK este numit covariana estimare eroare (de asemenea, o matrice) Q este covariana procesului de zgomot wk , iar R este covariana zgomotului de msurare Vk(inca doua matrici) -1 Exponent indic inversare matrice T exponent indic transpunere matrice I este matricea identitate

Limitri liniaritate

Filtrul Kalman este un filtru liniar care poate fi aplicat la un sistem liniar. Din pcate, sisteme liniare nu exist cu adevrat - toate sistemele sunt n cele din urm neliniare. Chiar simplu relaia I = V / R din legea lui Ohm este doar o aproximare ntr-un interval limitat. n cazul n care tensiunea peste un rezistor depete o anumit valoare, legea lui Ohm se strica. Figura 1 prezint o relaie tipic ntre curentul printr-un rezistor i de tensiunea pe rezistor. La intrare mic tensiuni relaia este o linie dreapt, dar n cazul n care puterea disipat de rezistor depete o anumit valoare, relaia devine foarte neliniara. Chiar un dispozitiv la fel de simplu ca un rezistor este doar aproximativ liniar, i chiar i atunci doar ntr-o serie limitat de funcionare. Acest lucru ilustreaz faptul c sistemele liniare nu exist n lumea real.

Deci vedem c sistemele liniare nu exist ntr-adevr. Cu toate acestea, multe sisteme sunt destul de aproape de estimarea liniar (de exemplu, filtre standard Kalman) dau rezultate bune. Filtrarea neliniar poate fi dificil i complex; este cu siguran nu la fel de bine neleas ca filtrarea liniara. Cu toate acestea, unele metode de estimare neliniare au devenit (sau devin) rspndite. Acestea includ extensii neliniare ale filtrului Kalman, "fara parfum" de filtrare.

Expansiunea seriilor Taylor

Cheia pentru filtrarea Kalman neliniara este de a extinde termenii neliniari ale ecuaiei sistemului ntr-o expansiune a seriilor Taylor n jurul unui punct nominal. O serie de expansiune Taylor a unei funcii neliniare poate fi scrisa ca:

(5)n ecuaia 5: este derivata de ordinul n al f (x), evaluate laEcuaia 5 pare complicata, dar este foarte simpla. S ne uitm la un exemplu. S presupunem c vrem s se extind f (x) = cos (x) ntr-o serie Taylor n jurul punctului = 0. Amintii-v c derivata de cos (x) este "sin (x), i derivatul de sin (x) este cos (x). Aceasta nseamn c se poate scrie seria extinderea Taylor de cos (x) ca:

(6)

Din moment ce extindem cos (x) n jurul punctului nominal x = 0, vom vedea c = 0, i x = x - = x. Extinderea seriei Taylor de cos (x) devine egal cu: (7)Dac folosim o serie Taylor de ordinul doi pentru expansiunea cos (x), putem spune c cos (x) este aproximativ egal cu 1 - x2 / 2. (Se numete "de ordinul doi", deoarece include termene de pn la inclusiv a doua putere a lui x.) cu alte cuvinte, putem ignora restul termenilor din seria Taylor. Aceasta deoarece termenii suplimentari din seria Taylor implic puteri mai mari de x, care sunt mprite de factoriale. ncercai o serie Taylor de ordin doi pentru extinderea cos (x). Tabelul 1 prezint cos (x) i doua serie Taylor de expansiune pentru diferite valori ale lui x. Vedem c, X devine mai mic (care este, aa cum acesta devine mai aproape de punctul nominal = 0), dezvoltarea n serie Taylor ofer o aproximare mai bun i valoarea real a cos (x).

Linearizarea unei funcii nseamn expansiune ntr-un "prim-ordin", seria Taylor n jurul valorii de un moment de expansiune. Cu alte cuvinte, o serie Taylor de ordin unu este egala cu:

Figura 2 prezint funcia sin (x), mpreun cu expansiunea seriei Taylor de ordinul unu in jurul punctului nominal = 0. Reinei c, pentru valori mici ale lui x, cele dou linii din figura sunt destul de aproape, ceea ce arat c dezvoltarea n serie Taylor este o bun aproximare a lui sin(x). Dar, aa cum X devine mai mare cele dou linii divergente, astfel pentru valori mari ale lui x, dezvoltarea n serie Taylor este o aproximare slab.

Filtrul Kalman linear

Ideea de baz a filtrului Kalman liniarizat este de a ncepe cu un sistem neliniar i apoi a gsi un sistem liniar a crui stare reprezint abaterile de la o traiectorie nominal a sistemului neliniar. Putem folosi apoi filtrul Kalman pentru a estima abaterile de la traiectoria nominal. Acest calcul ne d indirect o estimare a starilor din sistemul neliniar.Iat un model general de sistem neliniar:

(9)

(10)Ecuaia de stare f () n ecuaia 9 i ecuaia de msurare h () n ecuaia 10 sunt funcii neliniare. Ca un exemplu, s presupunem c avem un sistem care arata ca acest lucru:

(11)

(12)Ecuaia de stare prezentata n ecuaia 11 are doi termeni neliniari: un termen ptrat i un termen cosinus. Ecuaia de ieire (Ecuaia 12) este, de asemenea, neliniara, deoarece conine 1 / xk. Dac oricare ecuaie de stare sau ecuaie de ieire are termeni neliniari, atunci sistemul se numete sistem neliniar.n filtrul liniarizata Kalman, vom folosi un prim-ordin a seriei Taylor de a extinde ecuaia de stare i ecuaia de ieire n jurul unei stari nominale. Stareaa nominala este o funcie de timp, deci este uneori numita o traiectorie. Traiectoria nominal se bazeaz pe o presupunere a ceea ce comportamentul sistemului s-ar putea arata. De exemplu, n cazul n care ecuaiile sistemului reprezint dinamica unui avion, stareaa nominala ar putea fi traiectoria unuizbor planificat.

(13)Acum observam c abaterile de la traiectoria nominal pot fi scrise ca:

(14) Combinand ecuatiile (13) si (14) rezulta:

(15)Asta nseamn c putem folosi un filtru standard de Kalman pentru a estima x.

Exist dou puncte importante de reinut atunci cnd se utilizeaz filtrul Kalman liniarizat:

Dup ultilizarea filtrului Kalman pentru a estima x, avem nevoie pentru a aduga estimarea x la starea nominal n scopul de a obine o estimare a stat x. Aceasta deoarece x = x -..

n cazul n care adevrata stare x este prea departe de starea nominal, atunci filtrul Kalman liniarizat nu va da rezultate bune. Iat un rezumat al algoritmului filtrului liniarizat Kalman:

1)Ecuatiile sistemului sunt:

(16)

(17)2)Traictoria nominala este cunoscuta inaintea timpului:

(18) 3)Cu fiecare pas, analizeaza derivatele partiale ale matricilor, evaluate in starea nominala:

(19)Derivaii din ecuaia de mai sus sunt luate cu privire la xk. 4)Definii yk ca diferen ntre yk calculul efectiv i msurarea nominal: (20)

5) Executam urmatoarele ecuatii:

(21)

BibliografieSimon, D. Estimarea starilor optimale: Kalman, H, i Abordari nelineare. New York: John Wiley & Sons, 2006.Am scris tot ce am nvat n ultimii 20 de ani despre estimarea de stare i a pus-o n aceast carte.