Sunteți pe pagina 1din 10

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
ecuaii1:

(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
1 "Filtrare Kalman," Iunie 2001, pg. 72-79

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 la

Ecuaia 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)

Bibliografie
Simon, 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.

S-ar putea să vă placă și