AOS 18.12.2017.
Kalmanov filtar Može da se smatra generalizacijom RLS algoritma Model koji posmatramo: Želimo da što bolje procenimo vrednost slučajne promenljive x. Ova promenljiva je konstantna u vremenu, a po ansamblu predstavlja slučajnu promenljivu sa raspodelom koja je nama nepoznata. Smatraćemo, ipak, da je srednja vrednost ove slučajne promenljive jednaka nuli.
Kalmanov filtar Ova slučajna promenljiva, međutim, nije direktno dostupna posmatranju, već se pre posmatranja množi poznatom konstantom c[n] i sabira sa drugom slučajnom promenljivom v[n], koju ćemo nazvati šum opservacije. Tek takvu slučajnu promenljivu y[n] možemo da posmatramo, i ona se stoga naziva opservacija.
Kalmanov filtar Vršili smo merenje, i dobili smo niz y[1], y[2], ..., y[n]. Postavlja se pitanje: kako na osnovu ovih opservacija dobiti najbolju procenu 𝑥 [𝑛] u trenutku n slučajne promenljive x[n]?
Inovacija Pogledajmo niz y[1], y[2], ..., y[n]. Obzirom da ovaj niz u sebi sadrži i veličinu x i šum v[n], odbirci ovog procesa ne mogu da budu sasvim nezavisni jedan od drugog. Drugim rečima, kada se na izlazu posmatranog sistema pojavi opservacija y[n], u njemu postoji deo 𝑦 [𝑛] koji se mogao predvideti na osnovu prethodnih odbiraka y[1],...,y[n-1], i deo koji je potpuno nov, α[n].
Inovacija To znači da niz izmerenih vrednosti y[1], y[2],...,y[n] možemo potpuno ravnopravno zameniti nizom inovacija [1], [2],..., [n]; one sadrže istu informaciju o veličini x koju želimo da procenimo kao i niz y[1],...,y[n], uz dodatnu prednost da su inovacije međusobno ortogonalne, tj.
Kalmanov filtar Kalmanov filtar predstavlja rešenje problema optimalne estimacije 𝑥 [𝑛] nepoznate slučajne promenljive x na osnovu dostupnih inovacija [1],...,[n]. Optimalna procena u trenutku n se može predstaviti kao linearna kombinacija inovacija:
Kalmanov filtar Ovaj izraz opisuje operaciju FIR filtriranja inovacija da bi se dobila optimalna procena, pa se zato rešenje postavljenog problema naziva Kalmanov filtar. Kako sa porastom n raste broj dostupnih opservacija y[n], tj. inovacija [n], tako raste i red Kalmanovog filtra n.
Kalmanov filtar Ako je dobijena procena optimalna srednja snaga greške procene, tj. razlike ove procene i stvarne vrednosti slučajne promenljive x je minimalna: Na osnovu ovog uslova moguće je jednostavno izračunati optimalnu vrednost Kalmanovog pojačanja gn, izjednačavanjem prvog izvoda sa nulom:,
Kalmanov filtar Da bi se ovo izbeglo, Kalmanov filtar se uvek izražava u rekurzivnoj firmi, tj. kao IIR filtar. Optimalna procena u prethodnoj iteraciji: to znači da se optimalna estimacija može izraziti kao zbir prethodne optimalne procene i korekcije,
Kalmanov filtar Da bismo došli do matematičkih očekivanja koja učestvuju u izrazu za gn potrebno je da uvedemo grešku procene: Kako je x slučajna promenljiva, tako je i greška procene [n] takođe slučajna promenljiva. Njena varijansa, tj. srednja snaga 2[n] je funkcija n zato što je procena takođe funkcija n. Uobičajeno je da se ova srednja snaga označava kao 2[n]=k[n-1].
Kalmanov filtar očekivanja u izrazu za gn mogu da se izraze kao gde je v2 varijansa šuma merenja v[n].
Kalmanov filtar Veličina se može računati rekurzivno.
Kalmanov filtar Optimalna procena u trenutku n računa se iz dostupnih opservacija y[n] na osnovu prethodne optimalne procene
Kalmanov filtar Kalmanov filtar, ovako definisan, nije razvijen za primenu na podešavanje koeficijenata adaptivnog transverzalnog filtra. Problem određivanja koeficijenata filtra je, međutim, moguće preformulisati tako da se uklopi u definiciju problema čije je Kalmanov filtar rešenje.
Kalmanov filtar Strukturu adaptivnog transverzalnog filtra
Kalmanov filtar
isti oblik kao i polazna jednačina za Kalmanov filtar
Kalmanov algoritam ako protumačimo: Optimalni koeficijenti filtra wopt su nepoznato stanje x; Odbirci signala x[n] su konstanta preslikavanja c[n]; Minimalna greška procene emin[n] je šum opservacije v[n]; Željeni signal d[n] je opservacija y[n]. Uz ove pretpostavke, Kalmanov filtar nam daje niz w[1], w[2],..., w[n] najboljih procena optimalnih koeficijenata adaptivnog filtra wopt koje se mogu napraviti obzirom na dostunu informaciju, tj. na signal ne izlazu iz adaptivnog filtra u trenucima 1,2,...,n. Kalmanov filtar nam daje rekurzivni adaptivni algoritam kojim se u svakoj iteraciji popravlja procena w[n], te ćemo ovako primenjen Kalmanov filtar nazvati Kalmanov algoritam.
Kalmanov algoritam Kalmanov algoritam se može direktno dobiti iz izraza koje smo izveli za Kalmanov filtar, imajući u vidu da su izrazi definisani u obliku matrica:
Kalmanov algoritam U ovim izrazima g(n) je vektor Kalmanovog pojačanja, K(n) je matica autokorelacija greške procene, a Jmin je snaga greške emin(n). U odnosu na Kalmanov filtar, onako kako smo ga definisali, naš Kalmanov adaptivni algoritam ima određene razlike: U Kalmanovom filtru se smatra da je c[n] poznata deterministička veličina. Kod nas je x[n] slučajna pobuda koju upravo dovodimo na ulaz u transverzalni filtar. Ova stohastiènost ima za posledicu da algoritam ne daje optimalnu procenu w[n], već konvergira ka optimlnoj proceni kako se n povećava. Jmin u algoritmu odgovara varijansi šuma opservacije v2, koju u Kalmanovom filtru znamo unapred. U primeni na određivanje koeficijenata adaptivnog filtra, za snagu minimalne greške emin(n) znamo da je minimalna, ali ne znamo koliko iznosi, te je moramo pretpostaviti. Na sreću uticaj ove pretpostavke se smanjuje sa povećanjem broja iteracija. Za Jmin se obično uzvaja vrednost 10-2, 10-3 od snage željenog odziva d[n].
Kalmanov algoritam U Kalmanovom filtru smo smatrali da poznajemo i početnu vrednost k[0] varijanse greške procene [n]. U kalmanovom algoritmu tome odgovara matrica K[n], tj. njena po;etna vrednost K[0]. I tu početnu vrednost moramo pretpostaviti, sa nadom da će se uticaj greške u počentnoj pretpostavci izgubiti sa povećanjem broja iteracija. Obično se usvaja K[0]=I, gde je I jedinična matrica.
Osobine Kalmanovog algoritma Kompleksnost: LMS je najjednostavniji od svih adaptivnih aloritama; Kalman je vrlo složen. Za jednu iteraciju LMS traži par jednostavnih operacija, Kalman traži da se množe matrice, dakle mnogo više računskih operacija, slično kao RLS.
Osobine Kalmanovog algoritma Efikasnost: Pod efikasnošću podrazumevamo način na koji adaptivni algoritam koristi dostupnu mu informaciju sadržanu u vrednostima pobude x[1],...,x[n] za nalaženje optimalnih koeficijenata filtra. LMS je koristio uglavnom samo tekuću vrednost signala x[n] za izmenu vrednosti koeficijenata; Kalman koristi svu informaciju sadržanu u x[1], x[2],...,x[n] i stoga je efikasan u proceni koeficijenata w[n].
Osobine Kalmanovog algoritma Brzina konvegencije: U najboljem slučaju LMS zahteva oko 20N iteracija za konvergenciju; Kalman traži oko 2N iteracija, gde je N broj koeficijenata filtra, slično kao RLS.
Osobine Kalmanovog algoritma Rezidualna greška: Ako i posle beskonačno mnogo iteracija koeficijenti filtra odstupaju od optimalnih vrednosti, snaga greške e(n) će uvek biti veća od minimalne snage koja bi se javila za optimalne vrednosti koeficijenata. LMS algoritam zadržava varijansu koeficijenata i posle beskonačno mnogo iteracija, te koeficijenti adaptivnog filtra nikad ne dostižu optimalne vrednosti. Sa druge strane, za Kalmanov algoritam važi da se varijansa koeficijenata smanjuje, i oni teže tačno ka optimalnim koeficijentima:
Osobine Kalmanovog algoritma Stabilnost: Kalmanov algoritam je, barem teorijski, uvek stabilan. Stabilnost LMS bitno zavisi od . Nestacionarnost: Kalmanov algoritam se može proizvoljno proširiti na slučaj nestacionarnog signala x[n].
Nestacionarni signali Adaptivno filtriranje je moguće i u slučaju da je signal na ulazu u filtar nestacionaran. Ako se u takvom slučaju za podešavanje adaptivnog filtra koristi LMS algoritam, izuzetno je važno izabrati konstantu dovoljno malu da algoritam radi stabilno i sa malom rezidulanom greškom, ali istovremeno dovoljno veliku da memorija algoritma (1/) bude kraće od intervala u kome se promene statističke osobine ulaznog signala (za ovo su znatno pogodniji LMS sa promenljivim korakom u odnosu na osnovni LMS).
Nestacionarni signali Kalmanov filtar se može primeniti i na slučaj kada veličina x koja se procenjuje nije više konstantna, već predstavlja nestacionarnu slučajnu promenljivu x[n]. I u tom slučaju je moguće izraziti optimalnu procenu kao odziv Kalmanovog filtra, naravno u nešto složenijem obliku.
Nestacionarni signali Kalmanov algoritam za nestacionarne signale Jedina razlika u odnosu na već definisani Kalmanov algoritam je uvedena konstanta q. Veličina 1/q predstavlja memoriju algoritma. Ako je q=0, algoritam ima beskonačnu memoriju i jednak je standardnom Kalmanovom algoritmu za stacionarne signale. Za q se obično usvaja neka mala vrednost, tako da memorija 1/q približno odgovara vremenskom intervalu u kome je ulazni signal približno stacionaran.