Skip to main content
. 2020 Mar 18;20(6):1683. doi: 10.3390/s20061683
Rauch Tung Striebel filter
Model and observation:
Xk+1=f(Xk,Uk)+ϵ,whereϵN(0,Q)zi,k+1=gi(Xk,P)+εiwhereεiN(0,Ri)fori=1Amountofmeasurementszk+1=z1,k+1z2,k+1zN,k+1g=g1g2gNAk=JacobianoffwithrespecttoXkBk=JacobianoffwithrespecttoUkHk=JacobianofgwithrespecttoXk
Loop 1 - Forward filter: for k=1Ndata
after proper initialization
Xk|k1=f(Xk1|k1,U)Pk|k1=AkPk1|k1AkT+Qkyerr=zkg(Xk|k1,P)Sk=Rk+HkPk|k1HkTKk=Pk|k1HkTinv(Sk)xk|k=xk|k1+KkyerrPk|k=(IKkHk)Pk|k1
Loop 2 - Reverse filter: for k=Ndata1
after proper initialization
Ck=Pk|kFkTinv(Pk+1|k)XkS=Xk|k+Ck(Xk+1SXk+1|k)PkS=Pk|k+Ck(Pk+1|k+1Pk+1|k),