Skip to main content
. 2019 Dec 13;19(24):5509. doi: 10.3390/s19245509
Algorithm 1: One-step of the proposed adaptive cubature Kalman filter.
Inputs: x^k1|k1, Pk1|k1, zk, u^k1|k1, U^k1|k1, Q˜k1, τ, ξ, N.
Time update
1. Calculate cubature points based on x^k1|k1 and Pk1|k1.
2. χkk1x(j)=f(χk1(j)),(j=1,2,,2nx).
3. x^kk1=12nxj=12nxχkk1x(j).
4. P˜kk1=12nxj=12nx(χkk1x(j)x^kk1)(χkk1x(j)x^kk1)T+g(x^k|k1)Q˜k1g(x^k|k1)T.
Iterated measurement update
5. Initialization: x^k|k(0)=x^k|k1, P^k|k(0)=P˜k|k1, T^k|k1=τP˜k|k1,t^k|k1=nx+τ+1,
u^k|k1=ξu^k1|k1nz1+nz+1, U^k|k1=ξU^k1|k1.
Fori=0:N1
6. Update q(i+1)(Pk|k1)=IWPk|k1;t^k(i+1),T^k(i+1),
t^k(i+1)=t^k|k1+1, T^k(i+1)=Ak(i)+T^k|k1, where Ak(i)=Pk|k(i)+(x^k|k(i)x^k|k1)(x^k|k(i)x^k|k1)T.
7. Update q(i+1)(Rk)=IWRk;u^k(i+1),U^k(i+1),
u^k(i+1)=u^k|k1+1, U^k(i+1)=Bk(i)+U^k|k1, where Bk(i)=(zkHx^k|k(i))(zkHx^k|k(i))T+HPk|k(i)HT.
8. Update q(i+1)xk=N(xk;x^k|k(i+1),P^k|k(i+1)),
P^k|k1(i+1)=(t^k(i+1)nx1)(T^k(i+1))11, R^k(i+1)=(u^k(i+1)nz1)(U^k(i+1))11.
9. Calculate the mean and variance of posterior PDF,
Kk(i+1)=P^k|k1(i+1)HT(HP^k|k1(i+1)HT+R^k(i+1))1,
x^kk(i+1)=x^kk1+Kk(i+1)(zkHx^kk1),
P^k|k(i+1)=P^k|k1(i+1)Kk(i+1)HP^k|k1(i+1).
End for
10. x^k|k=x^k|k(N),Pk|k=P^k|k(N), u^k|k=u^k(N), U^k|k=U^k(N).
Outputs: x^k|k, Pk|k, u^k|k, U^k|k.