11struct SteadyKalmanFilter{NT<: Real , SM<: LinModel } <: StateEstimator{NT}
22 model:: SM
3- lastu0:: Vector{NT}
43 x̂op :: Vector{NT}
54 f̂op :: Vector{NT}
65 x̂0 :: Vector{NT}
@@ -56,14 +55,13 @@ struct SteadyKalmanFilter{NT<:Real, SM<:LinModel} <: StateEstimator{NT}
5655 rethrow ()
5756 end
5857 end
59- lastu0 = zeros (NT, nu)
6058 x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
6159 Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
6260 corrected = [false ]
6361 buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
6462 return new {NT, SM} (
6563 model,
66- lastu0, x̂op, f̂op, x̂0,
64+ x̂op, f̂op, x̂0,
6765 i_ym, nx̂, nym, nyu, nxs,
6866 As, Cs_u, Cs_y, nint_u, nint_ym,
6967 Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
279277
280278struct KalmanFilter{NT<: Real , SM<: LinModel } <: StateEstimator{NT}
281279 model:: SM
282- lastu0:: Vector{NT}
283280 x̂op:: Vector{NT}
284281 f̂op:: Vector{NT}
285282 x̂0 :: Vector{NT}
@@ -319,7 +316,6 @@ struct KalmanFilter{NT<:Real, SM<:LinModel} <: StateEstimator{NT}
319316 Â, B̂u, Ĉ, B̂d, D̂d, x̂op, f̂op = augment_model (model, As, Cs_u, Cs_y)
320317 Ĉm, D̂dm = Ĉ[i_ym, :], D̂d[i_ym, :]
321318 validate_kfcov (nym, nx̂, Q̂, R̂, P̂_0)
322- lastu0 = zeros (NT, nu)
323319 x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
324320 Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
325321 P̂_0 = Hermitian (P̂_0, :L )
@@ -329,7 +325,7 @@ struct KalmanFilter{NT<:Real, SM<:LinModel} <: StateEstimator{NT}
329325 buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
330326 return new {NT, SM} (
331327 model,
332- lastu0, x̂op, f̂op, x̂0, P̂,
328+ x̂op, f̂op, x̂0, P̂,
333329 i_ym, nx̂, nym, nyu, nxs,
334330 As, Cs_u, Cs_y, nint_u, nint_ym,
335331 Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
493489
494490struct UnscentedKalmanFilter{NT<: Real , SM<: SimModel } <: StateEstimator{NT}
495491 model:: SM
496- lastu0:: Vector{NT}
497492 x̂op :: Vector{NT}
498493 f̂op :: Vector{NT}
499494 x̂0 :: Vector{NT}
@@ -543,7 +538,6 @@ struct UnscentedKalmanFilter{NT<:Real, SM<:SimModel} <: StateEstimator{NT}
543538 Ĉm, D̂dm = Ĉ[i_ym, :], D̂d[i_ym, :]
544539 validate_kfcov (nym, nx̂, Q̂, R̂, P̂_0)
545540 nσ, γ, m̂, Ŝ = init_ukf (model, nx̂, α, β, κ)
546- lastu0 = zeros (NT, nu)
547541 x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
548542 Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
549543 P̂_0 = Hermitian (P̂_0, :L )
@@ -556,7 +550,7 @@ struct UnscentedKalmanFilter{NT<:Real, SM<:SimModel} <: StateEstimator{NT}
556550 buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
557551 return new {NT, SM} (
558552 model,
559- lastu0, x̂op, f̂op, x̂0, P̂,
553+ x̂op, f̂op, x̂0, P̂,
560554 i_ym, nx̂, nym, nyu, nxs,
561555 As, Cs_u, Cs_y, nint_u, nint_ym,
562556 Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
@@ -879,7 +873,6 @@ struct ExtendedKalmanFilter{
879873 LF<: Function
880874} <: StateEstimator{NT}
881875 model:: SM
882- lastu0:: Vector{NT}
883876 x̂op :: Vector{NT}
884877 f̂op :: Vector{NT}
885878 x̂0 :: Vector{NT}
@@ -925,7 +918,6 @@ struct ExtendedKalmanFilter{
925918 Â, B̂u, Ĉ, B̂d, D̂d, x̂op, f̂op = augment_model (model, As, Cs_u, Cs_y)
926919 Ĉm, D̂dm = Ĉ[i_ym, :], D̂d[i_ym, :]
927920 validate_kfcov (nym, nx̂, Q̂, R̂, P̂_0)
928- lastu0 = zeros (NT, nu)
929921 x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
930922 Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
931923 P̂_0 = Hermitian (P̂_0, :L )
@@ -937,7 +929,7 @@ struct ExtendedKalmanFilter{
937929 buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
938930 return new {NT, SM, JB, LF} (
939931 model,
940- lastu0, x̂op, f̂op, x̂0, P̂,
932+ x̂op, f̂op, x̂0, P̂,
941933 i_ym, nx̂, nym, nyu, nxs,
942934 As, Cs_u, Cs_y, nint_u, nint_ym,
943935 Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
0 commit comments