1
1
struct SteadyKalmanFilter{NT<: Real , SM<: LinModel } <: StateEstimator{NT}
2
2
model:: SM
3
- lastu0:: Vector{NT}
4
3
x̂op :: Vector{NT}
5
4
f̂op :: Vector{NT}
6
5
x̂0 :: Vector{NT}
@@ -56,14 +55,13 @@ struct SteadyKalmanFilter{NT<:Real, SM<:LinModel} <: StateEstimator{NT}
56
55
rethrow ()
57
56
end
58
57
end
59
- lastu0 = zeros (NT, nu)
60
58
x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
61
59
Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
62
60
corrected = [false ]
63
61
buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
64
62
return new {NT, SM} (
65
63
model,
66
- lastu0, x̂op, f̂op, x̂0,
64
+ x̂op, f̂op, x̂0,
67
65
i_ym, nx̂, nym, nyu, nxs,
68
66
As, Cs_u, Cs_y, nint_u, nint_ym,
69
67
Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
279
277
280
278
struct KalmanFilter{NT<: Real , SM<: LinModel } <: StateEstimator{NT}
281
279
model:: SM
282
- lastu0:: Vector{NT}
283
280
x̂op:: Vector{NT}
284
281
f̂op:: Vector{NT}
285
282
x̂0 :: Vector{NT}
@@ -319,7 +316,6 @@ struct KalmanFilter{NT<:Real, SM<:LinModel} <: StateEstimator{NT}
319
316
Â, B̂u, Ĉ, B̂d, D̂d, x̂op, f̂op = augment_model (model, As, Cs_u, Cs_y)
320
317
Ĉm, D̂dm = Ĉ[i_ym, :], D̂d[i_ym, :]
321
318
validate_kfcov (nym, nx̂, Q̂, R̂, P̂_0)
322
- lastu0 = zeros (NT, nu)
323
319
x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
324
320
Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
325
321
P̂_0 = Hermitian (P̂_0, :L )
@@ -329,7 +325,7 @@ struct KalmanFilter{NT<:Real, SM<:LinModel} <: StateEstimator{NT}
329
325
buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
330
326
return new {NT, SM} (
331
327
model,
332
- lastu0, x̂op, f̂op, x̂0, P̂,
328
+ x̂op, f̂op, x̂0, P̂,
333
329
i_ym, nx̂, nym, nyu, nxs,
334
330
As, Cs_u, Cs_y, nint_u, nint_ym,
335
331
Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
493
489
494
490
struct UnscentedKalmanFilter{NT<: Real , SM<: SimModel } <: StateEstimator{NT}
495
491
model:: SM
496
- lastu0:: Vector{NT}
497
492
x̂op :: Vector{NT}
498
493
f̂op :: Vector{NT}
499
494
x̂0 :: Vector{NT}
@@ -543,7 +538,6 @@ struct UnscentedKalmanFilter{NT<:Real, SM<:SimModel} <: StateEstimator{NT}
543
538
Ĉm, D̂dm = Ĉ[i_ym, :], D̂d[i_ym, :]
544
539
validate_kfcov (nym, nx̂, Q̂, R̂, P̂_0)
545
540
nσ, γ, m̂, Ŝ = init_ukf (model, nx̂, α, β, κ)
546
- lastu0 = zeros (NT, nu)
547
541
x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
548
542
Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
549
543
P̂_0 = Hermitian (P̂_0, :L )
@@ -556,7 +550,7 @@ struct UnscentedKalmanFilter{NT<:Real, SM<:SimModel} <: StateEstimator{NT}
556
550
buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
557
551
return new {NT, SM} (
558
552
model,
559
- lastu0, x̂op, f̂op, x̂0, P̂,
553
+ x̂op, f̂op, x̂0, P̂,
560
554
i_ym, nx̂, nym, nyu, nxs,
561
555
As, Cs_u, Cs_y, nint_u, nint_ym,
562
556
Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
@@ -879,7 +873,6 @@ struct ExtendedKalmanFilter{
879
873
LF<: Function
880
874
} <: StateEstimator{NT}
881
875
model:: SM
882
- lastu0:: Vector{NT}
883
876
x̂op :: Vector{NT}
884
877
f̂op :: Vector{NT}
885
878
x̂0 :: Vector{NT}
@@ -925,7 +918,6 @@ struct ExtendedKalmanFilter{
925
918
Â, B̂u, Ĉ, B̂d, D̂d, x̂op, f̂op = augment_model (model, As, Cs_u, Cs_y)
926
919
Ĉm, D̂dm = Ĉ[i_ym, :], D̂d[i_ym, :]
927
920
validate_kfcov (nym, nx̂, Q̂, R̂, P̂_0)
928
- lastu0 = zeros (NT, nu)
929
921
x̂0 = [zeros (NT, model. nx); zeros (NT, nxs)]
930
922
Q̂, R̂ = Hermitian (Q̂, :L ), Hermitian (R̂, :L )
931
923
P̂_0 = Hermitian (P̂_0, :L )
@@ -937,7 +929,7 @@ struct ExtendedKalmanFilter{
937
929
buffer = StateEstimatorBuffer {NT} (nu, nx̂, nym, ny, nd, nk)
938
930
return new {NT, SM, JB, LF} (
939
931
model,
940
- lastu0, x̂op, f̂op, x̂0, P̂,
932
+ x̂op, f̂op, x̂0, P̂,
941
933
i_ym, nx̂, nym, nyu, nxs,
942
934
As, Cs_u, Cs_y, nint_u, nint_ym,
943
935
Â, B̂u, Ĉ, B̂d, D̂d, Ĉm, D̂dm,
0 commit comments