Definirea unui filtru kalman și aplicarea lui (Concept)

Am o problemă simplă. Urmărim un obiect și obținem poziția sa în intervale de timp neuniforme. Viteza și accelerarea obiectului nu sunt constante.

data_=[time x,y,z]

Pentru a proiecta un filtru kalman, trebuie să definim

z=[x;y;z] % observation

% Estimation vector
xt=[xt;yt;zt;x't;y't;z't]  % ' first derivative



P=Covariance matrix of estimation vector 
R=Covariance matrix of measurement 
Q= covariance of noise

Question1: What is difference between these two R & P If measurment accuracy is 1mm what would be P? Question2: What is benefit of using this Kalman filter in post processing. It it to get smoth trajectory if yes why we need it.

Sper că voi obține suficiente informații de la voi.

0

2 răspunsuri

Question 1

R este matricea de covarianță a măsurătorii. Nu are nimic de-a face cu modelul tău și cu estimările tale.

P este matricea de covarianță a erorilor din estimările dvs. Este complet realat cu modelul dvs. și cu modul în care estimați starea. P nu are nimic de-a face cu acuratețea măsurătorilor. Trebuie să calculați fiecare iterație cu ecuațiile actualizare .

Întrebarea 4

Scopul lui Kalman este filtrarea măsurărilor zgomotoase ale stării pe care doriți să o urmăriți, pentru a obține un rezultat mai asemănător cu cel real, fără zgomot (zgomotul este incertitudinea măsurătorilor dvs.).

0
adăugat

Filtrul Kalman poate fi descris mai întâi prin model grafic care arată dependențele, independențele, ceea ce este ascuns și ce se observă, cum evoluă lucrurile; de asemenea prin formule de probabilitate și numai apoi prin explicit scriind aceste probabilități prin matrici care reprezintă zgomot, modele liniare etc. Înțelegerea probabilităților este un pas primul inevitabil înainte de a le scrie ca modele de matrice (o greșeală tipică este săritura la matrice și algebra liniară fără a înțelege probele cadru).

Mai jos W înseamnă variabila de stare mondială (ascunsă) și X reprezintă măsurători; indexul inferior t este un pas de timp.

Intrebarea 1: Aveți două modele pe care filtrul Kalman se bazează pe:
A. Model de date P (Xt | Wt) = probabilitatea de măsurare dată unei stări ascunse a lumii; acesta este pur și simplu un model al zgomotului în date (reprezentat de R), care, de asemenea, transformă liniar W pentru a obține X (folosind o altă matrice); Rețineți că aceasta depinde numai de pasul curent Wt, adică fără istoric implicat b. Model de tranziție temporală P (Wt | Wt-1) care arată modul în care sistemul dvs. evoluează (de exemplu, mută, accelerează); la fel ca modelul anterior, are și o anumită incertitudine (nu zgomot, dar similară) reprezentată de P și, de asemenea, o matrice de tranziție liniară (pentru a transforma stările în timp); c. Q? "covarianța zgomotului" este un termen ciudat în întrebarea dvs., deoarece nu spune unde provine acest zgomot. Adesea, în descrierile Q este ceea ce ați făcut referire la P, deci, probabil, ați greșit doar P pentru Q sau invers.

Întrebarea 2: Scopul filtrului Kalman este de a oferi o estimare optimă statistic a stării lumii ascunse la momentul t măsurătorilor date la momentul t, precum și a istoricului măsurătorilor. Deoarece istoria este încorporată într-un singur pas (proprietatea Markov), pasul de încorporare a măsurătorilor combină măsurarea curentă cu estimarea acesteia astfel încât incertitudinea rezultată să fie mai mică fiecare dintre aceste informații.

În termeni laici, un filtru Kalman ia o medie ponderată a datelor și a previziunilor de date în care greutățile sunt fiabilități (invers proporționale cu variațiile). În termeni statistici, un filtru Kalman este un model Markov care presupune dependența numai de pasul anterior și folosește probabilitatea posterioară a stării la t-1 pentru a evalua înainte la momentul t ( predicție ) și apoi combina acest lucru anterior cu probabilitatea de date în cadrul Bayesian (etapa de încorporare a măsurătorilor). Citiți mai jos formula de mai jos:

     prediction: current state guess  = transition_model * prev. state guess

P (Wt | Xt1..t-1) = Integral [P (Wt | Wt-1) * P (Wt-1 |

          measurement: best estimate = data_noise_model * current state guess

P (Wt | Xt1..t) = P (Xt | Wt) P (Wt | Xt1..t-1) /P(Xt1..t)

Observați o mică diferență în LHS (o formulă de vârf are t-1 și cea de jos t accentuează faptul că o măsurătoare de curent este luată în considerare). Observați asemănarea laturilor stângi, aceasta este o cheie pentru o actualizare a filtrului Kalman: precedentul posterior devine o prioritate. Înveți ceva și apoi folosește-l ca ipoteze pentru a învăța/estima mai mult.

0
adăugat