Administratie | Alimentatie | Arta cultura | Asistenta sociala | Astronomie |
Biologie | Chimie | Comunicare | Constructii | Cosmetica |
Desen | Diverse | Drept | Economie | Engleza |
Filozofie | Fizica | Franceza | Geografie | Germana |
Informatica | Istorie | Latina | Management | Marketing |
Matematica | Mecanica | Medicina | Pedagogie | Psihologie |
Romana | Stiinte politice | Transporturi | Turism |
Acest capitol completeaza studiul filtrelor optimale lineare prin trecerea in revista a fundamentelor filtrarii Kalman. O caracteristica deosebita a unui filtru Kalman este faptul ca pentru descrierea sa matematica se utilizeaza conceptul de spatiu al starilor. O alta trasatura care deosebeste filtrul Kalman de filtrul optimal linear este faptul ca solutia sa se calculeaza recursiv. In particular, fiecare noua estimare a starii se calculeaza pe baza estimarii anterioare si a noii valori a marimii de intrare, astfel incat numai ultima estimare trebuie memorata. Aceasta caracteristica reduce volumul de calcul necesar implementarii filtrului Kalman pe un calculator electronic. In consecinta, filtrele Kalman au fost implementate cu succes in multe aplicatii practice, in particular in industria aeronautica si spatiala.
Atentia pe care o acordam filtrelor Kalman se justifica prin aceea ca ele ofera un cadru unitar pentru fundamentarea matematica a filtrelor adaptive ce se bazeaza pe calcul recursiv. In ceea ce priveste reprezentarea prin spatiul starilor, pe langa numeroase aspecte favorabile care vor fi evidentiate in continuare, aceasta se bucura de avantajele utilizarii metodelor algebrei lineare ceea ce permite punerea in evidenta a unor proprietati remarcabile.
Se considera un sistem dinamic linear in timp discret descris de graful de semnal din Fig. 11. . Reprezentarea sistemului in domeniul timp utilizata aici ofera urmatoarele avantaje:
este convenabila din punct de vedere matematic si al notatiilor utilizate
are o puternica legatura cu realitatea fizica
constituie o baza utila pentru evidentierea comportarii statistice a sistemului
Notiunea de stare
joaca un rol esential in aceasta reprezentare. Vectorul de stare de
dimensiune desemnat prin
in Fig. 11. se defineste ca orice ansamblu de marimi suficiente
pentru a descrie comportarea dinamica nefortata a sistemului la momente de timp
. Cu alte cuvinte, starea unui sistem reprezinta un rezumat de
informatii suficiente ce permit descrierea evolutiei sistemului. Vectorul de
stare
nu este in mod necesar direct
accesibil pentru a fi masurat, astfel incat pentru a fi evaluat se utilizeaza
un set de date observabile, descrise in Fig.
11. prin vectorul
de dimensiune
In termeni matematici, graful de semnal din Fig. 11. incorporeaza urmatoarea pereche de ecuatii:
Fig. 11. Reprezentarea prin graf de semnal a unui sistem in timp discret linear si dinamic |
O ecuatie de proces
unde este o matrice de tranzitie a starilor de dimensiune
ce este cunoscuta si care
exprima legatura dintre starile sistemului la momentele
si
. Vectorul de dimensiune
reprezinta semnalul de intrare a
procesului. De obicei, in cazul abordarii statistice a modelarii sistemului, el
este zgomotul de proces, un proces de zgomot alb cu media nula, si are
matricea de corelatie
O ecuatie de masurare, ce stabileste vectorul de observatie prin relatia:
unde este o matrice de masurare
de dimensiune
cunoscuta. Vectorul de dimensiune
este denumit zgomot de
masurare. Este, de obicei, modelat printr‑un proces de zgomot alb ce
are matricea de corelatie
Se presupune
ca valoarea starii initiale, , este necorelata atat cu
cat si cu
pentru
. Vectorii de zgomot
si
sunt statistic independenti,
astfel ca se poate scrie
Problema filtrarii
Kalman poate fi acum formulata dupa cum urmeaza: Sa se utilizeze toate datele
observate, ce constau din vectorii , pentru a stabili pentru fiecare
estimarea de medie patratica
minima a componentelor starii
. Ea este denumita problema de filtrare daca
, problema de predictie daca
si, in sfarsit,
problema de mediere daca
. In continuare ne vom concentra asupra problemelor de filtrare si
predictie care sunt strans legate, facand apel la o abordare bazata pe procesul
de inovatii.
Desemnam prin
vectorul estimarea de medie patratica
minima a datelor observate
la momentul
. Estimarea se face pe baza tuturor valorilor anterioare ale datelor de
observatie, incepand cu momentul
si pana la, inclusiv momentul
. Aceste valori anterioare sunt reprezentate prin vectorii
, care subintind spatiul vectorial
. Se defineste procesul de inovatii asociat vectorului de
observatie
prin:
Vectorul de dimensiune
rerezinta informatia noua in
datele observate
Pe baza caracteristicilor generale ale semnalului de eroare in cazul filtrului optimal, se demonstreaza ca procesul de inovatii are urmatoarele proprietati:
Procesul de inovatii asociat vectorului de date
observate
la momentul
, este ortogonal pe toate observatiile anterioare, dupa cum evidentiaza
ecuatia de mai jos:
Procesul de inovatii consta dintr-o secventa de vectori variabile aleatoare, ortogonali unul pe celalalt, fapt evidentiat prin:
Exista o corespondenta
biunivoca intre secventa de vectori variabile aleatoare ce reprezinta datele
observate, si secventa de vectori variabile
aleatoare
care reprezinta procesul de
inovatii, in sensul ca o secventa poate fi obtinuta din cealalta prin
intermediul unor operatori lineari stabili fara pierdere de informatie. Aceasta
ultima afirmatie este descrisa matematic prin:
Pentru a forma secventa de vectori variabile aleatoare ce defineste procesul de inovatii, se pot utiliza tehnici specifice calculului matricial, de exemplu procedura de ortogonalizare Gram-Schmidt.
Matricea de autocorelatie a procesului de inovatii
Pentru a determina
matricea de corelatie a procesului de inovatii , se incepe prin a rezolva recursiv ecuatia de stare , ceea ce conduce
la relatia
In relatia s-au utilizat urmatoarele presupuneri si proprietati:
Valoarea initiala a
vectorului de stare este
Se presupune ca datele
observate, si prin urmare vectorul de zgomot de stare sunt nule pentru
Matricea de tranzitie a starilor are proprietatile
si
unde este matricea identitate. De
observat ca pentru un sistem invariant in timp se scrie
Ecuatia arata faptul ca este o combinatie lineara de
si
Prin ipoteza,
vectorul zgomotului de masurare este necorelat atat cu vectorul
de stare initial
cat si cu vectorul de zgomot a
procesului
. In consecinta, multiplicand ambii termeni ai ecuatiei cu
si mediind statistic, se deduce
ca:
Corespunzator, din ecuatia de masurare se poate deduce:
Mai mult, se poate scrie
Fiind date observatiile
anterioare ce definesc spatiul vectorial
, putem de asemenea evidentia din ecuatia de masurare , faptul ca estimarea de medie patratica minima a valorii curente a
vectorului de observare
este data de:
Totusi, estimarea a vectorului de zgomot de
masurare este nula, intrucat
este ortogonala pe observatiile
anterioare
; vezi ecuatia . Prin urmare, se scrie pur si simplu
Prin urmare, utilizand ecuatiile si , putem exprima procesul de inovatii sub forma
Inlocuind ecuatia de masurare in , se obtine:
unde este vectorul de eroare a
predictiei de stare la momentul
, pe baza datelor disponibile pana la momentul
. Prin urmare,
este diferenta dintre vectorul
de stare si vectorul de predictie inainte cu un pas
Se observa ca vectorul de predictie a erorii de stare este ortogonal
atat pe vectorul de zgomot de proces cat si pe vectorul de zgomot de
masurare
Matricea de
autocorelatie a procesului de inovatii se defineste prin
Inlocuim in continuare ecuatia in , dezvoltam expresia obtinuta, si avand in vedere faptul ca vectorii si
sunt ortogonali se obtine
rezultatul:
unde este matricea de autocorelatie a
vectorului de zgomot
. Matricea de dimensiune
poarta numele de matricea de
autocorelatie a erorii de predictie a starii, fiind definita prin
unde este vectorul de eroare a
predictiei de stare. Matricea
se foloseste pentru descrierea
statistica a erorii facute prin utilizarea estimarii
Vom lua in
considerare in continuare problema determinarii estimarii de medie patratica
minima a starii pe baza procesului de inovatii.
Se poate demonstra faptul ca aceasta estimare poate fi exprimata ca o
combinatie lineara a secventei de procese de inovatii
unde , este un set de matrici
ce urmeaza a fi determinate. In
conformitate cu principiul ortogonalitatii, vectorul de eroare a predictiei de
stare este ortogonal pe procesul de inovatii, asa cum exprima ecuatia care
urmeaza
Inlocuind ecuatia in si apeland la principiul ortogonalitatii pentru procesul de inovatii, in particular la ecuatia , se obtine
In
consecinta, inmultind la dreapta ambii membri ai ecuatiei cu matricea inversa . gasim pentru matricea
expresia
In final, prin inlocuirea ecuatiei in se obtine estimata de medie patratica minima
Vom
particulariza relatia pentru
In
ceea ce priveste starea de la momentul
, ea este legata de starea
de la momentul
prin ecuatia de proces . Drept urmare, utilizand aceasta relatie, putem scrie pentru
In
ultima relatie s-a folosit faptul ca depinde numai de datele observate
, si prin urmare din ecuatia se observa ca
si
sunt ortogonali pentru
. Putem atunci rescrie suma din membrul drept al ecuatiei dupa cum urmeaza:
Vom introduce in continuare cateva definitii fundamentale, necesare pentru formularea problemei filtrarii Kalman.
Matricea de castig Kalman
Se introduce
matricea de dimensiuni
, definita prin:
Utilizam in continuare aceasta definitie si rezultatul ecuatiei , pentru a rescrie ecuatia dupa cum urmeaza:
Ecuatia are o importanta fundamentala, reprezentand formula de calcul recursiv
utilizata in cazul filtrului adaptiv Kalman. Ea evidentiaza faptul ca estimarea
de medie patratica minima a starii unui sistem dinamic
linear, poate fi calculata prin adaugarea la estimarea starii anterioare a
sistemului
multiplicata cu matricea de
tranzitie a starii
, a unui termen de corectie egal cu
. Termenul de corectie este egal cu vectorul procesului de inovatii
multiplicat inainte cu matricea
. Drept urmare, si in semn de recunoastere a meritelor de pionierat ale
lui Kalman, matricea
este numita matricea de castig a
lui Kalman.
Ramane problema
exprimarii matricii de castig a lui Kalman intr-o forma convenabila
calculului. Pentru a ajunge la rezultat, vom face apel la ecuatiile si pentru a exprima media produsului lui
cu
dupa cum urmeaza:
unde s-a utilizat constatarea ca starea si vectorul de zgomot
sunt necorelate (vezi ecuatia . Mai mult, in conformitate cu principiul ortogonalitatii, sa notam ca
vectorul de predictie a erorii de stare
este ortogonal pe estimarea
. Prin urmare, media statistica a produsului
este nula, astfel incat putem
rescrie ecuatia , inlocuind factorul multiplicativ
prin vectorul de predictie a
erorii de stare
, ca mai jos:
Facem apel in continuare la ecuatia pentru a evidentia faptul ca media statistica din membrul drept al ecuatiei este egal cu matricea de autocorelatie a erorii de predictie a starii. Drept urmare, ecuatia este rescrisa astfel:
Acum, poate fi redefinita matricea de castig a lui Kalman. In particular, inlocuim relatia in pentru a obtine
unde matricea de autocorelatie este ea insasi definita prin
ecuatia
Fig. 11. Diagrama de calcul a matricii de castig Kalman |
Schema bloc din Fig. 11. ilustreaza graful de semnal al ecuatiei pentru calculul matricii de castig Kalman . Odata calculata matricea de castig Kalman
, se poate utiliza ecuatia pentru a reinnoi cu un nou pas predictia. Cu alte cuvinte, fiind data
vechea predictie
, se calculeaza predictia curenta
, proces ilustrat prin graful de semnal din Fig. 11. . In aceasta din urma figura, s-a utilizat de asemenea
ecuatia pentru determinarea vectorului procesului de inovatii
Fig. 11. Predictorul Kalman inainte intr-un pas |
Ecuatia Riccati
Ecuatia de calcul
a matricii de castig Kalman nu este utila sub forma actuala, intrucat pentru determinarea lui este nevoie de cunoasterea
valorii matricii de autocorelatie a erorii de predictie a starii
. Pentru a depasi aceasta dificultate, vom deduce in continuare o
formula de calcul recursiv pentru matricea
Vectorul de eroare
a predictiei de stare este egal cu diferenta dintre
vectorul de stare
si predictia inainte intr-un pas
a acestuia
(vezi ecuatia
Inlocuind ecuatiile si in , si utilizand ecuatia pentru vectorul procesului de inovatii , obtinem:
In continuare, se utilizeaza ecuatia pentru a elimina vectorul din ecuatia . Se obtine ecuatia cu diferente finite de mai jos, care se utilizeaza
la calculul recursiv al vectorului de predictie al erorii de stare:
Matricea de autocorelatie a vectorului de
predictie a erorii de stare este data in conformitate cu
ecuatia de relatia:
Inlocuind ecuatia in , si acceptand ipoteza ca vectorul de eroare si vectorii de zgomot
si
sunt mutual necorelati, putem
exprima matricea de autocorelatie a vectorului de predictie a erorii de stare
dupa cum urmeaza:
unde si
sunt matricile de autocorelatie
ale lui
respectiv
. Dezvoltam, in continuare, membrul drept al ecuatiei si apoi utilizam ecuatiile si pentru matricea de castig Kalman. Se obtine ecuatia cu diferente
finite Riccati ce permite calculul recursiv al matricii de autocorelatie al
predictiei erorii de stare:
unde matricea patrata de dimensiuni
este definita prin ecuatia de
recursie:
S-a utilizat aici proprietatea:
unde este matricea identitate. Aceasta
proprietate este o consecinta a definitiei matricii de tranzitie. Semnificatia
matematica a matricii
din ecuatia va fi lamurita in paragraful urmator.
Fig. 11. este reprezentarea prin graf de semnal al ecuatiilor si , reprezentare facuta chiar in aceasta ordine. Acest graf poate fi
vazut ca o reprezentare al calculatorului ecuatiei Riccati, prin aceea
ca fiind data vechea valoare , el calculeaza valoarea curenta
Ecuatiile si , in ordinea enuntata, definesc algoritmul de predictie inainte a lui Kalman intr-un pas.
Fig. 11. Graful de semnal al rezolvarii ecuatiei Riccati (Calculatorul ecuatiei Riccati) |
Comentarii
Procesul aplicat la intrarea
filtrului Kalman consta din datele observate care definesc spatiul vectorial
.
Iesirea care rezulta a filtrului este egala cu vectorul de predictie a starii
. Fiind cunoscute matricile
,
,
si
,
se stabileste din ecuatiile si faptul ca matricea de corelatie a
predictiei erorii de stare
este independenta de marimea de intrare a
filtrului
,
oricare ar fi aceasta. Matricea de castig Kalman
este de asemenea independenta de
.
in consecinta, matricea de corelatie a predictiei erorii de stare
si matricea de castig a lui Kalman
pot fi calculate inainte ca filtrul Kalman sa
intre propriuzis in operare. Utilizand matricea de corelatie
pentru a furniza o descriere statistica a
erorii vectorului de predictie a starii
,
aceasta poate fi examinata pe baza filtrului Kalman care produce o realizare a
unui sistem fizic care prezinta interes. In acest fel, se poate stabili daca
gradul de satisfactie oferit de solutia furnizata de filtrul Kalman este convenabil.
Vom considera, in
continuare, operatia de filtrare. In particular, dorim sa calculam estimarea
filtrata pornind de la algoritmul de predictie intr-un
pas descris anterior.
Sa notam, pentru inceput faptul ca vectorul de stare si vectorul de zgomot
sunt independenti unul fata de celalalt. Prin
urmare, stabilim din ecuatia de stare ca estimarea de eroare medie
patratica minima a starii
la momentul
,
fiind date observatiile facute pana la inclusiv momentul
(adica
) este
Pentru a stabili
estimarea filtrata , multiplicam inainte ambii termeni
ai ecuatiei cu inversa matricii de tranzitie
:
Utilizand proprietatea matricii de tranzitie a starilor, data in , putem scrie
si sa reluam ecuatia in forma echivalenta:
Ultima relatie arata ca pornind de la
solutia problemei predictiei intr-un pas, care este estimarea de medie
patratica minima , putem determina estimarea filtrata
corespunzatoare
prin multiplicarea lui
cu matricea de tranzitie a starilor
.
Eroarea de estimare filtrata si factorul de conversie
In contextul discutarii operatiunii de filtrare, este normala introducerea unui vector de eroare a estimarii filtrate a starii sistemului. El se defineste astfel:
Aceasta definitie este similara definitiei vectorului de inovatii din , cu exceptia faptului ca estimarea filtrata
a inlocuit estimarea prezisa
.
Inlocuind relatiile si in , se obtine
Marimea matriciala din interiorul
parantezei rotunde a ecuatiei este numita factor de conversie, furnizand o formula pentru
conversia vectorului de inovatii in vectorul de eroare a estimarii filtrate
.
Facem apel la ecuatia pentru a elimina matricea de castig Kalman
din aceasta definitie, si eliminand termenii
comuni, putem rescrie relatia in forma echivalenta:
unde este matricea de autocorelatie a procesului de
zgomot de masurare
,
iar matricea
se defineste prin relatia ca matricea de autocorelatie a procesului de inovatii
.
Astfel, cu exceptia unei premultiplicari cu matricea
,
relatia arata ca matricea inversa
joaca rolul unui factor de conversie in teoria
filtrarii Kalman. Intr-adevar, in cazul special in care
este egala cu matricea unitate, matricea
inversa
reprezinta exact factorul de conversie definit
mai sus.
Matricea de corelatie a erorii de stare filtrata
S-a introdus anterior la formularea
ecuatiei cu diferente Riccati , matricea de dimensiuni
.
Vom concluziona aceasta discutie asupra teoriei filtrului Kalman prin
demonstrarea faptului ca aceasta matrice este egala cu matricea de
autocorelatie a erorii ce se face la estimarea starii filtrate
Se defineste vectorul de eroare a
starii filtrate ca diferenta dintre starea
si estimarea filtrata a acesteia
Inlocuind ecuatiile si in , si recunoscand faptul ca produsul este egal cu matricea unitate, se obtine
unde este vectorul de eroare a predictiei de stare
la momentul de timp
pe baza datelor existente pana la momentul
iar
este
vectorul procesului de inovatii.
Prin definitie, matricea de autocorelatie
a vectorului de eroare a starii filtrate este egala cu media statistica
.
In consecinta, utilizand ecuatia , se poate exprima aceasta medie dupa cum urmeaza:
In urma examinarii membrului drept ale ccuatiei se poate stabili faptul ca cele trei medii statistice din componenta sa pot fi interpretate individual dupa cum urmeaza:
Prima medie este egala cu matricea de autocorelatie a erorii de predictie a starii:
Media statistica din cel de al
doilea termen este egala cu matricea de autocorelatie a procesului de inovatii :
Media din cel de-al treilea termen poate fi exprimata dupa cum urmeaza:
unde, ultima
expresie s-a obtinut in urma observatiei ca estimarea este ortogonala pe procesul de
observatii
,
ce reprezinta intrarea filtrului Kalman. In continuare din ecuatia se observa ca, punand
si apoi multiplicand inainte ambii membri ai
relatiei prin matricea inversa
se obtine
unde in ultima relatie s-a facut apel la ecuatia . Prin urmare
In continuare, putem utiliza aceste relatii in ecuatia pentru a obtine
Ultima relatie poate fi simplificata in continuare observand din ecuatia ca:
Drept urmare, utilizand relatiile si si avand in vedere faptul ca produsul este egal cu matricea unitate, obtinem
rezultatul dorit pentru matricea de autocorelatie a erorii de stare filtrate
Echivalent, prin utilizarea proprietatii de a
fi hermitica pentru si
,
putem scrie:
Comparam relatia cu pentru a evidentia ca
Aceasta demonstreaza ca matricea utilizata in ecuatia Riccati cu diferente
finite este de fapt matricea de autocorelatie a erorii de stare filtrate.
Matricea
este folosita la descrierea statistica a
erorii estimarii filtrate
Pentru a pune in miscare algoritmii de predictie intr-un pas si de filtrare descrisi in paragrafele 11.3 si , este obligatorie specificarea conditiilor initiale. Vom prezenta in continuare modalitatea de rezolvare a acestei probleme.
Starea initiala a procesului descris prin
ecuatia nu se cunoaste cu precizie. Ea se descrie de obicei prin media si
matricea sa de autocorelatie. In absenta oricarei date observate la momentul ,
putem alege drept estimare de predictie initiala valoarea:
iar drept matrice de autocorelatie
Aceasta modalitate de selectare a conditiilor
initiale nu numai ca satisface intuitiv dar are de asemenea avantajul de a
furniza o estimare filtrata a starii care este nedeplasata.
Presupunand ca vectorul de stare
este de medie nula, putem simplifica
relatiile si impunand
si
Tabela
11. prezinta un rezumat al variabilelor utilizate la
formularea solutiei problemei de filtrare Kalman. Intrarea filtrului este
vectorul de proces ,
reprezentat prin spatiul vectorial
,
iar iesirea este estimarea filtrata
a vectorului de stare. Tabela 11. prezinta un rezumat al
filtrului Kalman (inclusiv conditiile initiale) ce este bazat pe algoritmul de
predictie intr-un pas.
O diagrama bloc a algoritmului de filtrare Kalman este prezentata in Fig. 11. . Ea se bazeaza pe trei blocuri functionale:
Principalul motiv al interesului pe care il aratam teoriei filtrelor Kalman se datoreaza faptului ca ea furnizeaza un cadru general pentru deducerea unor algoritmi de filtrare adaptiva cunoscuti sub numele colectiv de familia algoritmilor recursivi a celor mai mici patrate (RLS). Pentru a evidentia corespondentele dintre filtrarea Kalman si algoritmii RLS, ne vom focaliza atentia asupra unui model dinamic special de sistem adaptiv care satisface necesitatile noastre viitoare.
Fig. 11. Diagrama bloc a algoritmului de filtrare Kalman bazat pe predictia inainte intr-un pas |
Caz special: Sistem dinamic nefortat
Consideram un sistem dinamic linear a carui model in spatiul starilor este descris de urmatoarea pereche de ecuatii de stare:
unde este un scalar real pozitiv. Conform acestui
model, zgomotul de proces este nul iar zgomotul de masurare, reprezentat prin
scalarul
,
este un proces de zgomot alb de varianta unitara, dupa cum rezulta din relatia
de mai jos
In urma compararii acestui model cu modelul general descris prin ecuatiile pana la , notam urmatoarele:
Modelul din spatiul starilor descris prin
ecuatiile pana la este numit model dinamic nefortat datorita faptului ca in
ecuatia de proces lipseste vreo forta externa. Mai important, matricea de tranzitie a
starilor a modelului este egala cu matricea identitate scalata cu constanta
.
In consecinta, matricea de autocorelatie a erorii de predictie a starii
si matricea de autocorelatie a erorii de
filtrare a starii
iau o valoare comuna (vezi
relatia
Acest model special constituie cheia
formularii unui cadru general pentru dezvoltarea familiei de algoritmi adaptivi
de filtrare RLS. Dupa cum se va arata mai departe, constanta are un rol semnificativ in functionarea
acestor algoritmi.. Vom considera in continuare, cateva variante ale
algoritmului de filtrare Kalman bazate pe modelul dinamic nefortat.
Algoritmul de filtrare de covarianta (Kalman)
Algoritmul de filtrare Kalman rezumat in Tabela 11. este astfel conceput incat sa propage matricea de
autocorelatie (covarianta) ce se refera la eroarea de estimare a starii
. Acest algoritm este denumit, prin urmare, algoritmul de filtrare
de covarianta (Kalman). Pentru modelul dinamic nefortat pe de alta parte,
gasim ca inlocuind ecuatiile din Tabela 11. se obtine algoritmul simplificat de filtrare de
covarianta, rezumat in Tabela
11. . In acest din urma tabel, se observa ca se utilizeaza
pentru a desemna matricea Kalman de castig,
care in acest caz special ia forma unui vector.
Tabela 11. Rezumatul algoritmului de filtrare de covarianta (Kalman) pentru modelul special dinamic nefortat Procesul scalar de intrare Observatii
= Parametrii cunoscuti Matricea
de tranzitie a starilor = Matricea
de masurare = Varianta
zgomotului de masurare Conditii initiale Algoritm de calcul |
Algoritmul de filtrare informationala
Filtrul Kalman poate fi de asemenea
implementat prin calculul recursiv a matricii inverse .
In aceasta abordare se poate spune ca se accentueaza caracterul de algoritm RLS
al procesului de filtrare. Inversa matricii de autocorelatie a erorii de
stare
este legata de matricea de informatie a lui
Fisher, fapt care permite sa se dea operatiunii de filtrare o interpretare din
punctul de vedere al teoriei informatiei. Din acest motiv, implementarea
algoritmului de filtrare Kalman, care se bazeaza pe
,
este denumita algoritm de filtrare informationala.
Pentru a deduce algoritmul de filtrare informationala, procedam in maniera descrisa in continuare.
Pasul 1. Se porneste de la ecuatia cu diferente finite Riccati care, in cazul special al modelului dinamic nefortat, capata forma (vezi ultima linie din Tabela 11. ):
Exprimam din ultima ecuatie valoarea
produsului matricial
In continuare exprimam, ca in prima linie a algoritmului din Tabela 11. , valoarea vectorului de castig Kalman pentru modelul dinamic nefortat
Inmultind si rearanjand termenii, putem rescrie ecuatia sub forma:
Se obtine astfel o noua definitie a vectorului de castig Kalman prin inlocuirea relatiei in si simplificarea termenilor comuni
Eliminand in continuare pe intre ecuatiile si , si multiplicand apoi rezultatul cu
se obtine
In sfarsit, se inmulteste inainte ecuatia cu matricea inversa si inapoi cu
.
Rezultatul care se obtine este prima ecuatie de recursie a algoritmului de
filtrare informationala:
Pasul 2 Conform liniilor doi si trei ale algoritmului prezentat in Tabela 11. se scrie:
si respectiv
In consecinta, inlocuind ecuatia in , obtinem
Apoi, eliminarea lui intre ecuatiile si , conduce la
Dar, din ecuatia , se poate deduce cu usurinta urmatoarea relatie:
Conform ultimei relatii, ecuatia se poate simplifica dupa cum urmeaza:
Inmultim inainte aceasta ecuatie cu matricea inversa si obtinem cea de a doua relatie de recursie a
algoritmului de filtrare informationala:
Se poate observa faptul ca prin ecuatia , algoritmul propaga mai degraba produsul decat estimarea
,
care de fapt prezinta interes.
Pasul 3 In final, valoarea reinnoita a estimarii vectorului de stare este calculata prin combinarea rezultatelor pasilor 1 si 2 dupa cum urmeaza:
Ecuatiile si , in aceasta ordine, reprezinta algoritmul de filtrare informationala pentru modelul de sistem dinamic nefortat definit prin relatiile pana la . Un rezumat al algoritmului este prezentat in Tabela 11. .
Tabela 11. Rezumatul algoritmului de filtrare informationala pentru modelul special dinamic nefortat Procesul scalar de intrare Observatii = Parametrii cunoscuti Matricea de
tranzitie a starilor = Matricea de masurare
= Varianta zgomotului
de masurare Conditii initiale Algoritm de calcul |
Desi implementarile de covarianta si
filtrare informationala a filtrului Kalman, asa cum au fost descrise mai sus,
sunt echivalente algebric, proprietatile lor numerice pot sa difere
substantial. Totusi, ambii algoritmi necesita acelasi numar de operatii
algebrice (adica multiplicari si adunari), ceea ce, pentru modelul special de
sistem examinat este ,
unde
reprezinta dimensiunea vectorului de stare.
Pana in acest moment al discutiei noastre asupra filtrelor Kalman, s-a tratat doar problema estimarii vectorului de stare pentru un model linear al unui sistem dinamic. Vom arata in prezentul paragraf ca, si in cazul in care modelul sistemului este nelinear, se poate aplica filtrarea Kalman prin utilizarea unei proceduri de linearizare. Vom denumi in mod natural filtrul rezultat in urma acestei operatiuni, filtru Kalman extins (Extended Kalman Filter). O asemenea extindere este fezabila datorita faptului ca filtrul Kalman este descris, in cazul nostru, prin ecuatii cu diferente finite. Trebuie subliniat faptul ca o asemenea extindere nu este posibila in cazul filtrului Wiener, intrucat notiunea de raspuns la impuls (pe care se bazeaza filtrul Wiener) are sens doar in cazul sistemelor lineare. Aceasta observatie reprezinta un avantaj major al filtrului Kalman in raport cu filtrul Wiener.
Vom porni in dezvoltarea filtrului Kalman extins de la modelul linear standard al unui sistem dinamic in spatiul starilor introdus in prima parte a capitolului (ecuatiile si ), pe care le reproducem in continuare:
unde si
sunt procese de zgomot alb necorelate si cu
media nula si matrici de autocorelatie
respectiv
,
definite prin relatiile si . Ecuatiile de definitie a filtrului Kalman corespunzator sunt rezumate
in Tabela 11. . Vom rescrie aceste ecuatii intr-o forma usor
modificata, mai convenabila scopului propus. In particular, vom realiza
recursia pentru estimarea starii
sistemului in doi pasi. In primul pas se recalculeaza
pornind de la
.
In al doilea pas, pornind de la
se obtine
.
Aceasta recursie face apel la inlocuirea ecuatiei in si definirea unei noi matrici de castig Kalman:
In aceste conditii, algoritmul de filtrare Kalman este descris prin urmatoarele ecuatii
In continuare, vom aborda un model ceva mai elaborat pentru sistemul dinamic. In loc de ecuatiile de stare si , vom utiliza modelul alternativ:
unde este un vector cunoscut (adica nealeator). Se
verifica usor in acest caz ca ecuatiile Kalman pana la raman nemodificate, exceptie facand prima ecuatie care devine:
Aceasta modificare va fi utilizata la deducerea filtrului Kalman extins ce va fi efectuata in continuare.
Dupa cum a fost mentionat inainte, filtrul Kalman extins (EKF) este o solutie aproximativa care ofera posibilitatea extinderii principiului de filtrare Kalman la modele nelineare in spatiul starilor. In particular, modelul nelinear, pe care il vom considera in continuare, are urmatoarea forma:
unde, ca si mai sus, si
sunt procese de zgomot alb necorelate si cu
media nula si matrici de autocorelatie
respectiv
.
In schimb, aici, functionala
reprezinta o matrice de tranzitie nelineara,
posibil variabila in timp.. In cazul linear, ea se reduce pur si simplu la
cazul tratat anterior
In schimb, in cazul general nelinear, prin
actiunea functionalei componentele vectorului de stare
pot fi combinate nelinear. Mai mult, aceasta
dependenta nelineara poate fi si variabila in timp. Similar, functionala
reprezinta o matrice de masurare nelineara
care, de asemenea, poate fi variabila in timp.
Drept exemplu, sa consideram urmatorul model bidimensional in spatiul starilor pentru relatia
In acest exemplu avem
si
Ideea fundamentala a filtrului Kalman
extins consta in linearizarea modelului in spatiul starilor din
ecuatiile si la fiecare moment de timp in jurul celei mai recente estimari de
stare, care poate fi atat cat si
,
in functie de forma particulara a functionalei utilizate.. Odata obtinut
modelul linear, se aplica ecuatiile standard ale filtrului Kalman.
Mai explicit, aproximarea se face in doi pasi.
Pasul 1. Se construiesc urmatoarele doua matrici
si
Drept urmare, componenta a lui
este egala cu derivata partiala a componentei
a lui
in raport cu componenta
a lui
.
Similar, componenta
a lui
este egala cu derivata partiala a componentei
a lui
in raport cu componenta
a lui
.
In primul caz, derivatele sunt evaluate in
,
in timp ce in al doilea caz, derivatele se evalueaza la
.
Componentele matricilor
si
sunt cunoscute cu toate (adica sunt
calculabile), pentru ca
si
sunt cunoscute asa cum se arata in continuare.
Aplicam definitiile si la exemplul ales si obtinem
ceea ce conduce la
si
Pasul 2 Odata facuta evaluarea matricilor si
,
acestea sunt utilizate in continuare la stabilirea aproximatiei Taylor de
ordinul intai a functionalelor nelineare
si
in jurul valorilor
si
.
In particular,
si
se aproximeaza dupa cum urmeaza:
Pe baza ultimelor doua relatii, se poate acum purcede la aproximarea ecuatiilor de stare nelineare si prin expresiile care urmeaza:
In si s-au introdus doua noi cantitati:
Componentele vectorului sunt toate cunoscute la momentul de timp
,
si, prin urmare,
poate fi privit ca un vector de observatie la
momentul
.
Similar, si toate componentele vectorului
se cunosc la momentul
.
Modelul de stare aproximativ descris de ecuatiile si este linear si are o forma matematica identica cu modelul descris prin ecuatiile si ; de fapt, cu acest obiectiv in vedere s-a formulat mai devreme modelul din ecuatiile si . Ecuatiile filtrului Kalman extins sunt, prin urmare, si in acest caz, ecuatiile Kalman standard pana la si aplicate modelului linear definit mai sus. Se ajunge la urmatorul set de ecuatii:
Pe baza ecuatiilor si poate fi acum reprezentat graful de semnal din Fig. 11. a operatiei de reinnoire a predictiei cu un pas la filtrul Kalman extins.
Tabela
11. prezinta un rezumat a algoritmului
de filtrare Kalman extins, in care matricile linearizate
si
sunt calculate din omoloagele lor nelineare pe
baza ecuatiilor si . Fiind dat un model de sistem in spatiul starilor descris prin
ecuatiile si , se poate utiliza acest algoritm pentru a calcula estimarea de stare
recursiv. Comparand ecuatiile filtrului Kalman extins rezumate aici cu
ecuatiile filtrului Kalman standard date prin relatiile pana la , observam faptul ca singurele diferente dintre ele apar la calculul
vectorului de inovatii
si a estimarii vectorului de stare
.
In detaliu, termenii lineari
si
de la filtrul Kalman standard sunt inlocuiti
prin termenii aproximativi
si
respectiv de la filtrul Kalman extins. Aceste diferente sunt de asemenea puse in
evidenta la compararea grafului de semnal din Fig.
11. pentru predictia intr-un pas facuta cu filtrul Kalman
standard si cel din Fig. 11. pentru predictia intr-un pas facuta cu filtrul Kalman
extins.
Fig. 11. Graful de semnal a predictorului intr-un pas a filtrului Kalman extins |
Tabela 11. Rezumatul filtrului Kalman extins Vectorul procesului de intrare Observatii = Parametrii cunoscuti Matricea de
tranzitie a starilor = Matricea de masurare
= Matricea de
autocorelatie a vectorului de zgomot de proces = Matricea de
autocorelatie a zgomotului de masurare = Algoritm de calcul Observatie: Matricile
linearizate Conditii initiale |
Algoritmul
RLS ponderat exponential a fost dedus pe baza principiilor enuntate in
paragraful 10.3. Modelul matematic ce serveste drept fundament acestei deduceri
este deterministic, intrucat singura sa sursa de incertitudine rezida in
caracterul aleator al erorii de masurare .
Algoritmul RLS poate fi de asemenea dedus exact direct din algoritmul de
filtrare Kalman de covarianta prezentat in paragraful 11.7, utilizand un model in spatiul starilor care se
adapteaza perfect problemei RLS. Modelul de stare utilizat aici este prin
formularea sa natural stochastic. Aceasta abordare alternativa fata de solutia
problemei RLS este deosebit de importanta intrucat ne permite sa stabilim o
lista de corespondente unu la unu intre variabilele RLS si variabilele Kalman
bazate pe modelul de stare. Cu o asemenea lista la dispozitie, putem utiliza
vasta literatura consacrata filtrelor Kalman pentru a rezolva problema RLS
intr-o maniera unificata, ceea ce reprezinta obiectivul nostru final.
Compararea modelelor aleatoare si deterministe
Pentru inceput, vom considera modelul dinamic nefortat descris prin ecuatiile pana la , reprodus in continuare
unde este vectorul de stare a modelului,
este marimea scalara de obsevatie sau semnalul
de referinta, iar
este un proces scalar aleator de zgomot alb de
medie nula si varianta unitara. Parametrul modelului
este o constanta reala si pozitiva. Din
relatia se vede usor ca:
unde este valoarea initiala a vectorului de stare.
Evaluand in consecinta ecuatia la momentele
,
si utilizand in continuare ecuatia pentru a exprima vectorii de stare la momente distincte in functie de
valoarea initiala
,
se obtine urmatorul sistem de ecuatii lineare simultane:
Echivalent, putem scrie
Sistemul de ecuatii reprezinta o caracterizare stochastica a modelului dinamic nefortat, corespunzand astfel la o abordare din punct de vedere Kalman a problemei.
Vom considera in continuare formularea determinista a problemei, adica vom incerca sa o privim din punctul de vedere RLS. Adaptand la problema examinata modelul de regresie lineara din ecuatia (10.43):
putem scrie urmatorul sistem determinist de ecuatii lineare simultane:
unde este vectorul de parametri necunoscuti ai
modelului,
este vectorul de intrare,
este semnalul de referinta sau raspunsul dorit
iar
este eroarea de masurare.
Tabela 11. Corespondente intre variabile Kalman si variabile RLS
|
|
Avem astfel doua sisteme de ecuatii lineare simultane pentru rezolvarea in esenta a aceleiasi probleme. Un sistem este stochastic, bazat pe teoria filtrului Kalman; celalalt sistem este determinist, bazat pe teoria estimarii dupa cele mai mici patrate. Intuitiv, ne-am astepta ca ambele abordari sa conduca exact la aceiasi solutie pentru problema examinata. mai mult, recunoscand ca aceste doua sisteme de ecuatii au aceiasi forma matematica, pare rezonabil pentru noi sa fixam
unde asteriscul reprezinta conjugarea complexa, variabilele din membrii stangi se refera la modelul din spatiul starilor, iar cele din membrii drepti se refera la modelul de regresie lineara.
Comparatie intre filtrul Kalman de covarianta si a algoritmului RLS
Vom extinde in
continuare lista de corespondente intre cele doua metode, comparand algoritmul
de filtrare de covarianta Kalman din Tabela
11. si algoritmul RLS prezentat in Tabel 10.1 din capitolul
10. Facand comparatia linie cu linie a celor doi algoritmi si presupunand ca in
Tabela 11. se ia si
,
se obtine:
Mai mult, compararea ecuatiilor si (10.37) evidentiaza faptul ca factorul de conversie din forma specializata a algoritmului de filtrare Kalman de covarianta si factorul
de conversie
din algoritmul RLS sunt identici:
Intr-adevar, adaptand ecuatia la forma specializata a algoritmului de filtrare Kalman din Tabela 11. , avem
Tabela 11. prezinta corespondentele dintre variabilele utilizate de cei doi algoritmi. Partea stanga a tabelei prezinta variabilele Kalman si descrierea lor iar partea dreapta contine variabilele RLS.
Filtrul Kalman este un sistem in timp
discret, linear, de dimensiuni finite, a carui implementare se adecveaza bine
calculatorului electronic. O proprietate fundamentala a filtrului Kalman este
aceea ca el conduce la minimizarea urmei matricii de autocorelatie a erorii de
stare filtrate .
Aceasta, inseamna ca filtrul Kalman este estimatorul linear de varianta
minima a vectorului de stare
.
Filtrul Kalman a fost utilizat cu succes la rezolvarea multor probleme tehnice si stiintifice. Mai mult, filtrul Kalman furnizeaza cadrul general pentru dezvoltarea tuturor algoritmilor cunoscuti din familia filtrelor adaptive RLS. Acest lucru a fost demonstrat intr-o lucrare din 1994 a lui Sayed si Kailath. Drept urmare, s-a aratat perfecta echivalenta dintre problemele intalnite in filtrarea adaptiva a semnalelor si cele rezolvate prin filtrare Kalman in automatica. S-a deschis astfel calea aplicarii si in prelucrarea digitala a semnalelor a acestor rezultate.
Acest document nu se poate descarca
E posibil sa te intereseze alte documente despre:
|
Copyright © 2025 - Toate drepturile rezervate QReferat.com | Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site. { Home } { Contact } { Termeni si conditii } |
Documente similare:
|
ComentariiCaracterizari
|
Cauta document |