Zarchan-Lecture Kalman Filter9
Zarchan-Lecture Kalman Filter9
Zarchan-Lecture Kalman Filter9
9-1
Problem viewed in Cartesian coordinates Extended Cartesian Kalman lter Problem viewed in polar coordinates Extended polar Kalman lter Using linear decoupled polynomial Kalman lters Using linear coupled polynomial Kalman lters Robustness comparison of extended and linear coupled polynomial Kalman lters
9-2
9-3
y (x , y ) T T r g
! x Cannon Radar (x , y ) R R
9-4
Relevant Equations
Acceleration of projectile
xT = 0
yT = -g
9-5
9-6
40000
20000
Estimated
9-7
4000
3000
2000
9-8
Using Raw Measurements Also Yields Very Poor Altitude Velocity Estimates
3000 F/S, 45 Deg Launch !r=100 Ft, !"=.01 R
2000
9-9
-1000
9 - 10
9 - 11
9 - 12
Since
0 F2 = 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 = 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
We get
1 !(t) = I + Ft = 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 + 0 0 0 0 0 1 0 0 0 0 0 0 0 0 t 1 0 0 !(t) = 0 0 0 t 1 0 0 0 0 1 0 0 0 t 1
9 - 14
!r*
"! "! "! "! "xT "xT "yT "yT "r "r "r "r "xT "xT "yT "yT
v! vr
!! =0 !xT
!! = !yT
(xT - xR)*1 - (yT - yR)*0 (xT - xR) 1 = r2 (yT - yR)2 (xT - xR)2 1+ (xT - xR)2
!! =0 !yT
Fundamentals of Kalman Filtering: A Practical Approach
9 - 15
!r =0 !xT
-1/2 !r 1 2 (y - y ) = [(xT - xR) + (yT - yR)2 ] 2(yT - yR) = T r R !yT 2
!r =0 !yT
Measurement matrix
!! !! !! !! !xT !xT !yT !yT !r !r !r !r !xT !xT !yT !yT
H=
H=
-(yT - yR) r2 xT - xR r
0 0
xT - xR r2 yT - yR r
0 0
-(yTk - y R) Hk = r2 k xTk - xR rk
0 0
xTk - xR r2 k yTk - yR rk
0 0
Fundamentals of Kalman Filtering: A Practical Approach
9 - 16
Qk =
0
!(")Q! (")dt
Ts
Qk =
1 0 0 0
0
! 1 0 0
0 0 1 0
0 0 ! 1
0 0 0 0 0 "s 0 0 0 0 0 0 0 0 0 "s
1 ! 0 0
0 1 0 0
0 0 1 !
0 0 d! 0 1
T3 !s s 3 T2 !s s 2 0 0 T2 !s s 2 Ts !s 0 0 0 0 T3 !s s 3 T2 !s s 2 0 0 T2 !s s 2 Ts !s
Ts
0 0 !"s
0 0 "s d!
Qk =
Qk =
!2 "s !"s
9 - 17
Discrete G Matrix
Filter equation
x = Fx + Gu + w
Gk =
0
!(")G d "
Recall
xT 0 1 xT = 0 0 yT 0 0 yT 0 0 0 0 1 0 0 0 0 0 xT 0 xT + 0 + yT 0 yT -g 0 us 0 us
0 G = Gu = 0 0 -g
Therefore
0
Ts
Gk =
0
1 0 0 0
! 1 0 0
0 0 1 0
0 0 ! 1
0 0 0 d! = 0 gT2 -g - s 2 -gTs
Fundamentals of Kalman Filtering: A Practical Approach
9 - 18
Substitution yields
0 1 = 0 0 0 Ts 1 0 0 0 0 1 0 0 0 0 x k -1 + Ts gT2 1 - s 2 -gTs
xk
9 - 19
Filtering equations
xTk = xTk + K 11 k(! k - ! k) + K 12 k(r* - rk ) k xTk = xTk + K 21 k(! k - ! k ) + K 22 k(r* - rk ) k yTk = yTk +
* K 31 k(! k * * *
Where
- ! k) +
K 32 k(r* k
- rk )
Note that linearized measurement is not use here but is only used in the Riccati equation
Fundamentals of Kalman Filtering: A Practical Approach
9 - 20
Riccati equations
Fundamentals of Kalman Filtering: A Practical Approach
9 - 22
end
end
9 - 23
9 - 24
Extended Cartesian Kalman Filters Projectiles Downrange Estimates Appear to Agree With Theory
Simulation 150 Theory 100 50 0 -50 -100 Theory -150 0 20 40 60 80 Time (Sec) 100 120 140
9 - 25
Extended Cartesian Kalman Filters Projectiles Downrange Velocity Estimates Appear to Agree With Theory
20
10
Theory
Theory
60 80 Time (Sec)
100
120
140
9 - 26
Extended Cartesian Kalman Filters Projectiles Altitude Estimates Appear to Agree With Theory
600 400 200 0 -200 -400 -600 0 20 40 60 80 Time (Sec) 100 120 140 Theory Simulation Theory
9 - 27
Extended Cartesian Kalman Filters Projectiles Altitude Velocity Estimates Appear to Agree With Theory
20 Simulation
10
Theory
-10
Theory
9 - 28
80
60
40
20
T3 !s s 3 T2 !s s 2 0 0
T2!s s 2 Ts!s 0 0
0 0 T3 !s s 3 T2 !s s 2
0 0 T2 !s s 2 Ts!s
Fundamentals of Kalman Filtering: A Practical Approach
9 - 29
Qk =
9 - 30
xT - xR yT - yT - yR xT xT - xR 2
Simplication yields
!= xT - xR yT - yT - yR xT r2
2 xT - xR xT + 2 yT - yR yT
Which simplies to
r= xT - xR xT + yT - y R yT r
Fundamentals of Kalman Filtering: A Practical Approach
9 - 31
Which simplies to
!= xT - xR yT - yT - yR xT - 2rr! r2
Recognizing that
xT = 0
yT = -g
cos ! =
sin ! =
xT - xR r
yT - yR r
We get
!= -g cos ! - 2r! r
Fundamentals of Kalman Filtering: A Practical Approach
9 - 32
Which simplies to
r2! - gr sin ! r= r
2
9 - 33
r2! - gr sin ! r= r
r(0) =
!(0) =
r(0) =
9 - 34
! x Cannon Radar (x , y ) R R
Obtaining position
xT = r cos ! + xR
yT = r sin ! + yR
Obtaining velocity
xT = r cos ! - r ! sin !
yT = r sin ! + r ! cos !
Fundamentals of Kalman Filtering: A Practical Approach
9 - 35
9 - 36
9 - 37
60000
40000
20000
9 - 38
1000
-1000
9 - 39
9 - 40
r2! - gr sin ! r= r
0 -2! r 1 0
0 -2" t r t 0
!(t) = I + F t =
9 - 42
0 -2" t r t 1
!(t) =
Or in discrete form
1 gsin" r Ts 0 -gcos"Ts
Ts 1 - 2r Ts r 0 2r"Ts
0 -2" Ts r Ts 1
!k =
9 - 43
r*
= 1 0 0 0 0 0 1 0
! r r
v! vr
Measurement matrix
H= 1 0 0 0 0 0 1 0
9 - 44
Additional Equations For Comparing Polar and Cartesian Extended Kalman Filters-1
Recall we can derive Cartesian quantities from polar quantities
xT = r cos ! + xR
yT = r sin ! + yR
xT = r cos ! - r ! sin !
yT = r sin ! + r ! cos !
"xT "!
"xT "!
!! +
"xT "!
"xT "!
!! +
!! +
!! +
!yT =
!yT =
"yT "!
"yT "!
!! +
"yT "!
"yT "!
!! +
!! +
!! +
9 - 45
Additional Equations For Comparing Polar and Cartesian Extended Kalman Filters-2
Evaluating partial derivatives yields
!xT = -rsin! !! + cos! !r
!xT = (-rsin!-r!cos!) !! - rsin! !! - !sin! !r + cos! !r
! k = ! k + K 2 1k(! k - ! k ) + K2 2k(r* - rk ) k
rk= rk + K3 1k(! k - ! k ) + K 3 2k(r* - rk) k rk = rk + K 4 1k(! k - ! k) + K 4 2k(r* - rk ) k
* *
Where barred quantities are obtained by numerical integration (more computationally expensive)
9 - 47
Original initial state estimates for Cartesian Initial conditions for polar equations Initial state estimates for polar lter
9 - 48
Measurement matrix
9 - 49
Fundamental matrix
Riccati equations
Propagate estimates
Filter
9 - 50
Transformation matrix
9 - 51
Propagate polar states ahead one sampling interval using Euler integration
Polar and Cartesian Extended Kalman Filters Yield Similar Results for Downrange Estimates
200 Simulation Polar Filter Theory 100
9 - 53
Polar and Cartesian Extended Kalman Filters Yield Similar Results for Downrange Velocity Estimates
20 Simulation 10 Polar Filter Theory
-10
Theory
9 - 54
Polar and Cartesian Extended Kalman Filters Yield Similar Results for Altitude Estimates
600 Simulation 400 Theory 200 0 -200 -400 -600 0 20 40 60 80 Time (Sec) 100 120 140 Theory Polar Filter
9 - 55
Polar and Cartesian Extended Kalman Filters Yield Similar Results for Altitude Velocity Estimates
20 Polar Filter 10
Simulation
Theory
-10
Theory
9 - 56
Error in the Estimate of Angle Indicates That Extended Polar Kalman Filter Appears to be Working Properly
0.010 Theory 0.005 Polar Filter Simulation
States
! ! r r
0.000
-0.005
Theory
9 - 57
Error in the Estimate of Angle Rate Indicates That Extended Polar Kalman Filter Appears to be Working Properly
0.00010 Simulation Polar Filter
0.00005
Theory
0.00000
-0.00005 Theory
9 - 58
Error in the Estimate of Range Indicates That Extended Polar Kalman Filter Appears to be Working Properly
100 Polar Filter Theory 50
-50 Theory
-100
Simulation
9 - 59
Error in the Estimate of Range Rate Indicates That Extended Polar Kalman Filter Appears to be Working Properly
20 Polar Filter
10
Theory
Theory
120
140
9 - 60
9 - 61
9 - 62
Since
!2 T = E !x2 x T
!2 T = E !y2 y T
!2 = E !r2 r
!" = E !"
2 2
We can say
!2 T = cos2 "!2 + r2 sin2 "!2 x r " !2 T = sin2 "!2 + r2 cos2 "!2 y r "
9 - 63
9 - 64
Qk =
0
!(")Q! (")dt
Measurement matrix
H= 1 0
From radar
Fundamentals of Kalman Filtering: A Practical Approach
9 - 65
9 - 66
yT = 0 1 yT 0 0
yT + 0 + 0 yT -g us
Gk =
0
!Gd" =
0
0 " 0 1
0 d" = -g
-.5T 2g s -Tsg
Measurement equation
y* = 1 0 T yT + v y yT
*Matrices for Riccati equations are identical in both channels except for measurement noise
9 - 67
9 - 68
MATLAB Version of Two Decoupled Polynomial Linear Kalman Filters for Tracking Projectile-1
TS=1.; ORDER=2; PHIS=0.; SIGTH=.01; SIGR=100.; VT=3000.; GAMDEG=45.; G=32.2; XT=0.; YT=0.; XTD=VT*cos(GAMDEG/57.3); YTD=VT*sin(GAMDEG/57.3); XR=100000.; YR=0.; T=0.; S=0.; H=.001; PHI=zeros(ORDER,ORDER); P=zeros(ORDER,ORDER); IDNP=eye(ORDER); Q=zeros(ORDER,ORDER); PHI(1,1)=1.; PHI(1,2)=TS; PHI(2,2)=1.; HMAT(1,1)=1.; HMAT(1,2)=0.; PHIT=PHI'; HT=HMAT'; Q(1,1)=PHIS*TS*TS*TS/3.; Q(1,2)=PHIS*TS*TS/2.; Q(2,1)=Q(1,2); Q(2,2)=PHIS*TS; P(1,1)=1000.^2; P(2,2)=100.^2; PY(1,1)=1000.^2; PY(2,2)=100.^2; XTH=XT+1000.; XTDH=XTD-100.; YTH=YT-1000.; YTDH=YTD-100.; count=0;
Fundamental matrix for both channels Measurement matrix for both channels Process noise matrix for both channels
MATLAB Version of Two Decoupled Polynomial Linear Kalman Filters for Tracking Projectile-2
while YT>=0. XTOLD=XT; XTDOLD=XTD; YTOLD=YT; YTDOLD=YTD; XTDD=0.; YTDD=-G; XT=XT+H*XTD; XTD=XTD+H*XTDD; YT=YT+H*YTD; YTD=YTD+H*YTDD; T=T+H; XTDD=0.; YTDD=-G; XT=.5*(XTOLD+XT+H*XTD); XTD=.5*(XTDOLD+XTD+H*XTDD); YT=.5*(YTOLD+YT+H*YTD); YTD=.5*(YTDOLD+YTD+H*YTDD); S=S+H; if S>=(TS-.00001) S=0.; THETH=atan2((YTH-YR),(XTH-XR)); RTH=sqrt((XTH-XR)^2+(YTH-YR)^2); RMAT(1,1)=(cos(THETH)*SIGR)^2+(RTH*sin(THETH)*SIGTH)^2; PHIP=PHI*P; PHIPPHIT=PHIP*PHIT; M=PHIPPHIT+Q; HM=HMAT*M; HMHT=HM*HT; HMHTR=HMHT+RMAT; HMHTRINV(1,1)=1./HMHTR(1,1); MHT=M*HT; K=MHT*HMHTRINV; KH=K*HMAT; IKH=IDNP-KH; P=IKH*M; THETNOISE=SIGTH*randn; RTNOISE=SIGR*randn; THET=atan2((YT-YR),(XT-XR)); RT=sqrt((XT-XR)^2+(YT-YR)^2); THETMEAS=THET+THETNOISE; RTMEAS=RT+RTNOISE; XTMEAS=RTMEAS*cos(THETMEAS)+XR; RES1=XTMEAS-XTH-TS*XTDH; XTH=XTH+TS*XTDH+K(1,1)*RES1; XTDH=XTDH+K(2,1)*RES1;
Downrange R
Riccati equations in downrange channel Actual noisy measurements of range and angle Downrange lter
Fundamentals of Kalman Filtering: A Practical Approach
9 - 70
MATLAB Version of Two Decoupled Polynomial Linear Kalman Filters for Tracking Projectile-3
RMATY(1,1)=(sin(THETH)*SIGR)^2+(RTH*cos(THETH)*SIGTH)^2; PHIPY=PHI*PY; PHIPPHITY=PHIPY*PHIT; MY=PHIPPHITY+Q; HMY=HMAT*MY; HMHTY=HMY*HT; HMHTRY=HMHTY+RMATY; HMHTRINVY(1,1)=1./HMHTRY(1,1); MHTY=MY*HT; KY=MHTY*HMHTRINVY; KHY=KY*HMAT; IKHY=IDNP-KHY; PY=IKHY*MY; YTMEAS=RTMEAS*sin(THETMEAS)+YR; RES2=YTMEAS-YTH-TS*YTDH+.5*TS*TS*G; YTH=YTH+TS*YTDH-.5*TS*TS*G+KY(1,1)*RES2; YTDH=YTDH-TS*G+KY(2,1)*RES2; ERRX=XT-XTH; SP11=sqrt(P(1,1)); ERRXD=XTD-XTDH; SP22=sqrt(P(2,2)); ERRY=YT-YTH; SP11Y=sqrt(PY(1,1)); ERRYD=YTD-YTDH; SP22Y=sqrt(PY(2,2)); SP11P=-SP11; SP22P=-SP22; SP11YP=-SP11Y; SP22YP=-SP22Y; count=count+1; ArrayT(count)=T; ArrayERRX(count)=ERRX; ArrayERRXD(count)=ERRXD; ArrayERRY(count)=ERRY; ArrayERRYD(count)=ERRYD; ArraySP11(count)=SP11; ArraySP11P(count)=SP11P; ArraySP22(count)=SP22; ArraySP22P(count)=SP22P; ArraySP11Y(count)=SP11Y; ArraySP11YP(count)=SP11YP; ArraySP22Y(count)=SP22Y; ArraySP22YP(count)=SP22YP; end end
Altitude R
Altitude lter
9 - 71
Linear Decoupled Kalman Filter Downrange Error in the Estimate of Position is Larger Than That of Extended Kalman Filter
200 Theory Linear Decoupled Filters
100
-100 Theory
-200 0
Simulation
20
40
60 80 Time (Sec)
100
120
140
9 - 72
Linear Decoupled Kalman Filter Downrange Error in the Estimate of Velocity is Larger Than That of Extended Kalman Filter
20 Simulation Linear Decoupled Filters
10 Theory
-10
Theory
9 - 73
Linear Decoupled Kalman Filter Altitude Error in the Estimate of Position is Larger Than That of Extended Kalman Filter
600 400 200 0 -200 -400 -600 0 20 40 60 80 Time (Sec) 100 120 140 Theory Linear Decoupled Filters Theory
Simulation
9 - 74
Linear Decoupled Kalman Filter Altitude Error in the Estimate of Velocity is Larger Than That of Extended Kalman Filter
20 Simulation 10 Linear Decoupled Filters
Theory
-10
Theory
9 - 75
9 - 76
9 - 77
Neglected before
Taking expectations
E !x2 = cos2 !E !r2 + r2sin2 !E !! T E !y2 = sin2!E !r2 + r2 cos2 !E !! T
2 2
New
!2 T = E !x2 x T
Therefore
!2 T = cos2 "!2 + r2 sin2 "!2 x r " !2 T = sin2 "!2 + r2 cos2 "!2 y r " !2 T y T = sin"cos"!2 x r r2 sin"cos"!2 "
Where
!2 T y
=E
!y2 T
!2 = E !r2 r
!" = E !"
2 2
!2 T y T x
= E !xT!yT
Or
Rk = cos2 !"2 + r2 sin2 !"! r sin!cos!"2 - r2 sin!cos!"2 r !
2
Measurement matrix
H= 1 0 0 0 0 0 1 0
9 - 79
Q(t) =
0 !s 0 0 0 0 0 0 0 0 0 !s
Qk =
0
!(")Q! (")dt
Fundamentals of Kalman Filtering: A Practical Approach
9 - 80
Qk =
Gk =
0
!Gd" =
0 0 0 0
0
" 1 0 0
0 0 1 0
0 0 " 1
0 0 d" = 0 -g
0 0 -.5gT2 s -gTs
Fundamentals of Kalman Filtering: A Practical Approach
9 - 81
Substitution yields
xTk xTk yTk yTk K 1 1k K2 1k K3 1k K4 1k K1 2k K2 2k K3 2k K4 2k = 0 0 0 0 Ts 1 0 0 0 0 1 0 0 0 Ts 1 xTk-1 xTk-1 yTk-1 yTk-1 0 0 Ts 1 xTk-1 xTk-1 yTk-1 yTk-1 - 1 0 0 0 0 0 1 0 + 0 0 -.5gT2 s -gTs 0 0 -.5gT2 s -gTs +
1 0 0 0 0 0 1 0
0 0 0 0
Ts 1 0 0
0 0 1 0
9 - 82
xTk = xTk-1 + Ts xTk-1 + K1 1kRES1 + K1 2kRES2 xTk = xTk-1 + K2 1kRES1 + K2 2kRES2 yTk = yTk-1 + Ts yTk-1 -.5gT2 + K3 1kRES1 + K3 2kRES2 s
9 - 83
MATLAB Version of Coupled Polynomial Linear Kalman Filter for Tracking Projectile-1
TS=1.; ORDER=4; PHIS=0.; SIGTH=.01; SIGR=100.; VT=3000.; GAMDEG=45.; G=32.2; XT=0.; YT=0.; XTD=VT*cos(GAMDEG/57.3); YTD=VT*sin(GAMDEG/57.3); XR=100000.; YR=0.; T=0.; S=0.; H=.001; PHI=zeros(ORDER,ORDER); P=zeros(ORDER,ORDER); IDNP=eye(ORDER); Q=zeros(ORDER,ORDER); PHI(1,1)=1.; PHI(1,2)=TS; PHI(2,2)=1.; PHI(3,3)=1.; PHI(3,4)=TS; PHI(4,4)=1.; HMAT(1,1)=1.; HMAT(1,2)=0.; HMAT(1,3)=0.; HMAT(1,4)=0.; HMAT(2,1)=0.; HMAT(2,2)=0.; HMAT(2,3)=1.; HMAT(2,4)=0.; PHIT=PHI'; HT=HMAT'; Q(1,1)=PHIS*TS*TS*TS/3.; Q(1,2)=PHIS*TS*TS/2.; Q(2,1)=Q(1,2); Q(2,2)=PHIS*TS; Q(3,3)=PHIS*TS*TS*TS/3.; Q(3,4)=PHIS*TS*TS/2.; Q(4,3)=Q(3,4); Q(4,4)=PHIS*TS;
MATLAB Version of Coupled Polynomial Linear Kalman Filter for Tracking Projectile-2
P(1,1)=1000.^2; P(2,2)=100.^2; P(3,3)=1000.^2; P(4,4)=100.^2; XTH=XT+1000.; XTDH=XTD-100.; YTH=YT-1000.; YTDH=YTD+100.; count=0; while YT>=0.
R matrix
Riccati equations
9 - 85
A Practical Approach
MATLAB Version of Coupled Polynomial Linear Kalman Filter for Tracking Projectile-3
KH=K*HMAT; IKH=IDNP-KH; P=IKH*M; THETNOISE=SIGTH*randn; RTNOISE=SIGR*randn; THET=atan2((YT-YR),(XT-XR)); RT=sqrt((XT-XR)^2+(YT-YR)^2); THETMEAS=THET+THETNOISE; RTMEAS=RT+RTNOISE; XTMEAS=RTMEAS*cos(THETMEAS)+XR; YTMEAS=RTMEAS*sin(THETMEAS)+YR; RES1=XTMEAS-XTH-TS*XTDH; RES2=YTMEAS-YTH-TS*YTDH+.5*TS*TS*G; XTH=XTH+TS*XTDH+K(1,1)*RES1+K(1,2)*RES2; XTDH=XTDH+K(2,1)*RES1+K(2,2)*RES2; YTH=YTH+TS*YTDH-.5*TS*TS*G+K(3,1)*RES1+K(3,2)*RES2; YTDH=YTDH-TS*G+K(4,1)*RES1+K(4,2)*RES2; ERRX=XT-XTH; SP11=sqrt(P(1,1)); ERRXD=XTD-XTDH; SP22=sqrt(P(2,2)); ERRY=YT-YTH; SP33=sqrt(P(3,3)); ERRYD=YTD-YTDH; SP44=sqrt(P(4,4)); SP11P=-SP11; SP22P=-SP22; SP33P=-SP33; SP44P=-SP44; count=count+1; ArrayT(count)=T; ArrayERRX(count)=ERRX; ArrayERRXD(count)=ERRXD; ArrayERRY(count)=ERRY; ArrayERRYD(count)=ERRYD; ArraySP11(count)=SP11; ArraySP11P(count)=SP11P; ArraySP22(count)=SP22; ArraySP22P(count)=SP22P; ArraySP33(count)=SP33; ArraySP33P(count)=SP33P; ArraySP44(count)=SP44; ArraySP44P(count)=SP44P; end end
9 - 86
Error in Estimate of Downrange is the Same for Both the Linear Coupled and Extended Kalman Filters
150 100 50 0 -50 -100 Simulation -150 0 20 40 60 80 Time (Sec) 100 120 140 Theory Theory Linear Coupled Filter
9 - 87
Error in Estimate of Downrange Velocity is the Same for Both the Linear Coupled and Extended Kalman Filters
20 Simulation Theory 10 Linear Coupled Filter
9 - 88
Error in Estimate of Altitude is the Same for Both the Linear Coupled and Extended Kalman Filters
600 400 200 0 -200 -400 Theory -600 0 20 40 60 80 Time (Sec) 100 120 140 Linear Coupled Filter Simulation Theory
9 - 89
Error in Estimate of Altitude Velocity is the Same for Both the Linear Coupled and Extended Kalman Filters
20 Simulation 10 Linear Coupled Filter
Theory
-10
Theory
9 - 90
9 - 91
Until now
0 0 10002 0 0 0 0 1002
20002
2000 -200 -2000 200
0 2002 0 0
0 0 20002 0
0 0 0 2002
9 - 92
and
P0 =
0 0 0
9 - 93
Extended Kalman Filter Appears to Yield Good Estimates Even When Initialization Errors are Twice as Large as Nominal
300000 250000 200000 150000 100000 Actual and Estimate 50000 0 0 20 40 60 80 Time (Sec) 100 120 140 Nominal Errors and Twice Nominal Errors
9 - 94
Estimates From Extended Kalman Filter Degrade Severely When Initialization Errors are Five Times Larger Than Nominal
300000 250000 200000 Estimate 150000 100000 50000 0 0
xT(0)
Actual
20
40
60 80 Time (Sec)
100
120
140
50002
5000 -500 -5000 500
0 5002 0 0
0 0 50002 0
0 0 0 5002
9 - 95
P0 =
0 0 0
Estimates From Extended Kalman Filter are Worthless When Initialization Errors are Ten Times Larger Than Nominal
400000 Ten Times Nominal Errors 300000
200000
20
40
60 80 Time (Sec)
100
120
140
xT(0) 10000 xT(0) xT(0) = + -1000 yT(0) -10000 yT(0) yT(0) 1000 yT(0)
100002 P0 = 0 0 0
0 10002 0 0
0 0 100002 0
0 0 0 10002
9 - 96
Addition of Process Noise Enables Extended Kalman Filter to Better Estimate Downrange in Presence of Large Initialization Errors
400000 Ten Times Nominal Errors Estimated !s=1 Actual 200000
300000
100000 Estimated !s=10 0 Estimated !s=0 0 20 40 60 80 Time (Sec) 100 120 140
-100000
9 - 97
Making Process Noise Larger Further Improves Extended Kalman Filters Ability to Estimate Downrange
400000 Ten Times Nominal Errors 300000 Actual
200000
Estimated !s=1000
9 - 98
After an Initial Transient Period Simulation Results Agree With Covariance Matrix Predictions
1000 Theory 500 Ten Times Nominal Errors !s=1000
9 - 99
9 - 100
Linear Coupled Polynomial Kalman Filter Does Not Appear to be Sensitive to Large Initialization Errors
300000 250000 200000 150000 100000 50000 0 0 20 40 60 80 Time (Sec) 100 120 140 Actual and Estimated Ten Times Nominal Error Linear Coupled Kalman Filter !s=0
9 - 101
Linear Coupled Polynomial Kalman Filter Appears to be Working Correctly in Presence of Large Initialization Errors
200 Simulation Ten Times Nominal Error Linear Coupled Kalman Filter !s=0
100
Theory 0
Theory
100
120
140
xT(0)
0 0 ! 0
0 0 0 !
Fundamentals of Kalman Filtering: A Practical Approach
9 - 103
9 - 104