A method for recursively estimating the state of a system having multidimensional parameters λ in addition to state variables x(k) at time tk for k=1,2,3, . . . , which parameters λ are unknown, arbitrarily time-varying, but bounded, and driven by the input function u(x(k),λ) and governed by the state equation
- x(k+1)=Φx(k)+Γu(x(k),λ)
- where Φ,Γ are system matrices dependent on the discrete time interval T=tk+1−tk:
- said method comprising the following steps:
- measuring aspects of the state of the system to produce initial measurements;
- initializing state estimates {circumflex over (x)}(k0|k0) and the matrices M(k0|k0), D(k0|k0) using a priori information and the initial measurements,
- where
- vector {circumflex over (x)}(t|k) is defined as the estimate of the state of the system at time t after processing the measurements z(i) for 1≦i≦k;
- vector {circumflex over (x)}(tj|k) is denoted as {circumflex over (x)}(j|k) when the time t=tj is the time of the jth measurement for j=1,2,3, . . . ;
- matrix M(t|k) is defined as the covariance of the state estimation errors at time t due only to the errors in the measurements z(i) for 1≦i≦k and a priori initial information that is independent of the parameter uncertainty;
- matrix M(tj|k) is denoted as M(j|k), when the time t=tj is the time of the jth measurement for j=1,2,3, . . . ;
- matrix D(t|k) is defined as the matrix of bias coefficients, which linearly relates state estimation errors to the parameter errors, at time t (after processing k=0,1,2, . . . measurements);
- matrix D(tj|k) is denoted as D(j|k), when the time t=tj is the time of the jth measurement for j=1,2,3, . . . ;
- determining the time tk+1 of a new measurement and the time t when the filter was last updated;
- using the update interval T=tk+1−t, determine the system transition matrices Φ and Γ;
- determining the mean value {overscore (λ)} of unknown but bounded parameters λ, and the input vector u({circumflex over (x)}(t|k),{overscore (λ)});
- measuring aspects of the state of the system governed by the measurement equation
- z(k)=Hx(k)+n(k)
- where n(k) is the measurement noise with covariance N and measurement matrix H at time tk for k=1,2,3, . . . ;
- determining if the measurement is time-late by testing T<0;
- (a) if the measurement is time-late determining F,G as follows
- F
- =
- Φ
- +
- Γ
-
-
- ∂
- u
- ∂
- x
-
- x
- =
- x
- ^
-
- (
- t
- ❘
- k
- )
- ,
- λ
- =
- λ
- _
- G
- =
- Γ
-
-
- ∂
- u
- ∂
- λ
-
- x
- =
- x
- ^
-
- (
- t
- ❘
- k
- )
- ,
- λ
- =
- λ
- _
- generating a parameter matrix Λ, representing physical bounds on the parameters λ that are not state variables of the system;
- extrapolating said state estimates {circumflex over (x)}(t|k) and matrices M(t|k), D(t|k), to {circumflex over (x)}(k+1|k), M(k+1|k), D(k+1|k), and calculating S(k+1|k) as in
- {circumflex over (x)}(k+1|k)=Φ{circumflex over (x)}(t|k)+Γu({circumflex over (x)}(t|k),{overscore (λ)})
- M(k+1|k)=FM(t|k)F′
- D(k+1|k)=FD(t|k)+G
- S(k+1|k)=M(k+1|k)+D(k+1|k)ΛD(k+1|k)′
- determining covariance of the residual Q as in
- Q=HS(k+1|k)H′+N
- determining the filter gain matrix K as in
- K=[M(t|k)F′+D(t|k)ΛD(k+1|k)′]H′Q−1
- determining the matrix L as in
- L=I−KHF
- where I is the identity matrix;
- updating the state estimate {circumflex over (x)}(t|k) as
- {circumflex over (x)}(t|k+1)={circumflex over (x)}(t|k)+K[z(k+1)−H{circumflex over (x)}(k+1|k)]
- updating the matrices M(t|k) and D(t|k) as
- M(t|k+1)=LM(t|k)L′+KNK′
- D(t|k+1)=D(t|k)−KHD(k+1|k)
- respectively, and generating the total mean square error S(t|k+1) as in
- S(t|k+1)=M(t|k+1)+D(t|k+1)ΛD(t|k+1)′
- (b) and if the measurement is not time-late determining F,G using
- F
- =
- Φ
- +
- Γ
-
-
- ∂
- u
- ∂
- x
-
- x
- =
- x
- ^
-
- (
- k
- ❘
- k
- )
- ,
- λ
- =
- λ
- _
- and,
- G
- =
- Γ
-
-
- ∂
- u
- ∂
- λ
-
- x
- =
- x
- ^
-
- (
- k
- ❘
- k
- )
- ,
- λ
- =
- λ
- _
- generating a parameter matrix Λ, representing physical bounds on those parameters that are not state variables of the system;
- extrapolating said state estimates {circumflex over (x)}(k|k) and matrices M(k|k), D(k|k), S(k|k) to {circumflex over (x)}(k+1|k), M(k+1|k), D(k+1|k), and S(k+1|k) as in
- {circumflex over (x)}(k+1|k)=Φ{circumflex over (x)}(k|k)+Γu({circumflex over (x)}(k|k),{overscore (λ)})
- M(k+1|k)=FM(k|k)F′
- D(k+1|k)=FD(k|k)+G
- S(k+1|k)=M(k+1|k)+D(k+1|k)ΛD(k+1|k)′
- determining covariance of the residual Q as in
- Q=HS(k+1|k)H′+N
- determining the filter gain matrix K as in
- K=S(k+1|k)H′Q−1
- determining the matrix L as in
- L=I−KH
- where I is the identity matrix;
- updating the state estimate {circumflex over (x)}(k+1|k) as
- {circumflex over (x)}(k+1|k+1)={circumflex over (x)}(k+1|k)+K[z(k+1)−H{circumflex over (x)}(k+1|k)]
- updating the matrices M(k+1|k) and D(k+1|k) as
- M(k+1|k+1)=LM(k+1|k)L′+KNK′
- and,
- D(k+1|k+1)=LD(k+1|k)
- respectively, and generating the total mean square error S(k+1|k+1) as
- S(k+1|k+1)=M(k+1|k+1)+D(k+1|k+1)ΛD(k+1|k+1)′
- after