Skip to main content
. 2022 Feb 21;22(4):1683. doi: 10.3390/s22041683
Algorithm 1: The implementation pseudocode for one time-step of the STKKF.

Inputs:x^k1k1, Pk1k1, Qk1, Rk, v, σ, ε.

Time update:

1. x^kk1=Fkx^k1k1.

2. Pkk1=FkPk1k1FkT+Qk1.

Measurement update:

1. Bp=Chol(Pkk1),Br=Chol(Rk), x^k(l=0)=x^kk1.

2. ex=Bp1x^k(l)x^kk1,ey=Br1ykHkx^k(l).

3. Λx=diagvσ2Sv,σex,1vσ2+ex,12,,vσ2Sv,σex,nvσ2+ex,n2,

    Λy=diagvσ2Sv,σey,1vσ2+ey,12,,vσ2Sv,σey,mvσ2+ey,m2.

4. P˜kk1=BpΛx1BpT,R˜k=BrΛy1BrT.

5. K˜k=P˜kk1HkTHkP˜kk1HkT+R˜k1.

6. x^k(l+1)=x^kk1+K˜kykHkx^kk1.

7. Check x^k(l+1)x^k(l)x^k(l)ε, where if the termination condition is met, then set x^k|k=x^k(l+1) and go to Step 8; otherwise, set l=l+1 and return to Step 2, and continue the next iteration.

8. Pkk=IK˜kHkPkk1IK˜kHkT+K˜kRkK˜kT.

Outputs:x^kk, Pkk.