Skip to content

Commit 9055381

Browse files
committed
minor doc correction
1 parent f0563b1 commit 9055381

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

src/estimator/kalman.jl

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ struct SteadyKalmanFilter <: StateEstimator
2424
::Matrix{Float64}
2525
function SteadyKalmanFilter(model, i_ym, nint_u, nint_ym, Q̂, R̂)
2626
nym, nyu = validate_ym(model, i_ym)
27-
As, Cs_u, Cs_y, nxs, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
28-
nx̂ = model.nx + nxs
27+
As, Cs_u, Cs_y, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
28+
nxs = size(As, 1)
29+
nx̂ = model.nx + nxs
2930
Â, B̂u, Ĉ, B̂d, D̂d = augment_model(model, As, Cs_u, Cs_y)
3031
validate_kfcov(nym, nx̂, Q̂, R̂)
3132
= try
@@ -207,8 +208,9 @@ struct KalmanFilter <: StateEstimator
207208
::Matrix{Float64}
208209
function KalmanFilter(model, i_ym, nint_u, nint_ym, P̂0, Q̂, R̂)
209210
nym, nyu = validate_ym(model, i_ym)
210-
As, Cs_u, Cs_y, nxs, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
211-
nx̂ = model.nx + nxs
211+
As, Cs_u, Cs_y, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
212+
nxs = size(As, 1)
213+
nx̂ = model.nx + nxs
212214
Â, B̂u, Ĉ, B̂d, D̂d = augment_model(model, As, Cs_u, Cs_y)
213215
validate_kfcov(nym, nx̂, Q̂, R̂, P̂0)
214216
Ĉm, D̂dm = Ĉ[i_ym, :], D̂d[i_ym, :] # measured outputs ym only
@@ -355,8 +357,9 @@ struct UnscentedKalmanFilter{M<:SimModel} <: StateEstimator
355357
model::M, i_ym, nint_u, nint_ym, P̂0, Q̂, R̂, α, β, κ
356358
) where {M<:SimModel}
357359
nym, nyu = validate_ym(model, i_ym)
358-
As, Cs_u, Cs_y, nxs, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
359-
nx̂ = model.nx + nxs
360+
As, Cs_u, Cs_y, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
361+
nxs = size(As, 1)
362+
nx̂ = model.nx + nxs
360363
Â, B̂u, Ĉ, B̂d, D̂d = augment_model(model, As, Cs_u, Cs_y)
361364
validate_kfcov(nym, nx̂, Q̂, R̂, P̂0)
362365
nσ, γ, m̂, Ŝ = init_ukf(nx̂, α, β, κ)
@@ -594,8 +597,9 @@ struct ExtendedKalmanFilter{M<:SimModel} <: StateEstimator
594597
model, i_ym, nint_u, nint_ym, P̂0, Q̂, R̂
595598
) where {M<:SimModel}
596599
nym, nyu = validate_ym(model, i_ym)
597-
As, Cs_u, Cs_y, nxs, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
598-
nx̂ = model.nx + nxs
600+
As, Cs_u, Cs_y, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
601+
nxs = size(As, 1)
602+
nx̂ = model.nx + nxs
599603
Â, B̂u, Ĉ, B̂d, D̂d = augment_model(model, As, Cs_u, Cs_y)
600604
validate_kfcov(nym, nx̂, Q̂, R̂, P̂0)
601605
lastu0 = zeros(model.nu)

src/estimator/luenberger.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ struct Luenberger <: StateEstimator
2222
::Matrix{Float64}
2323
function Luenberger(model, i_ym, nint_u, nint_ym, p̂)
2424
nym, nyu = validate_ym(model, i_ym)
25-
As, Cs_u, Cs_y, nxs, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
26-
nx̂ = model.nx + nxs
25+
As, Cs_u, Cs_y, nint_u, nint_ym = init_estimstoch(model, i_ym, nint_u, nint_ym)
26+
nxs = size(As, 1)
27+
nx̂ = model.nx + nxs
2728
Â, B̂u, Ĉ, B̂d, D̂d = augment_model(model, As, Cs_u, Cs_y)
2829
= try
2930
place(Â, Ĉ, p̂, :o)[:, i_ym]

src/state_estim.jl

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,13 @@ manipulated input and measured outputs. The function returns the state-space mat
7979
`Cs_u` and `Cs_y` of the stochastic model:
8080
```math
8181
\begin{aligned}
82-
\mathbf{x_s}(k+1) &= \mathbf{A_s x_s}(k) + \mathbf{B_s e}(k) \\
83-
\mathbf{y_s_{u}}(k) &= \mathbf{C_s_{u} x_s}(k) \\
84-
\mathbf{y_s_{ym}}(k) &= \mathbf{C_s_{ym} x_s}(k) \\
82+
\mathbf{x_{s}}(k+1) &= \mathbf{A_s x_s}(k) + \mathbf{B_s e}(k) \\
83+
\mathbf{y_{s_{u}}}(k) &= \mathbf{C_{s_{u}} x_s}(k) \\
84+
\mathbf{y_{s_{ym}}}(k) &= \mathbf{C_{s_{ym}} x_s}(k)
8585
\end{aligned}
8686
```
8787
where ``\mathbf{e}(k)`` is an unknown zero mean white noise and ``\mathbf{A_s} =
88-
\mathrm{diag}(\mathbf{A_s_{u}, A_s_{ym}})``. The estimations does not use ``\mathbf{B_s}``,
88+
\mathrm{diag}(\mathbf{A_{s_{u}}, A_{s_{ym}}})``. The estimations does not use ``\mathbf{B_s}``,
8989
it is thus ignored. The function [`init_integrators`](@ref) builds the state-space matrices.
9090
"""
9191
function init_estimstoch(model, i_ym, nint_u::IntVectorOrInt, nint_ym::IntVectorOrInt)
@@ -98,8 +98,7 @@ function init_estimstoch(model, i_ym, nint_u::IntVectorOrInt, nint_ym::IntVector
9898
As = [As_u zeros(nxs_u, nxs_y); zeros(nxs_y, nxs_u) As_y]
9999
Cs_u = [Cs_u zeros(nu, nxs_y)]
100100
Cs_y = [zeros(ny, nxs_u) Cs_y]
101-
nxs = nxs_u + nxs_y
102-
return As, Cs_u, Cs_y, nxs, nint_u, nint_ym
101+
return As, Cs_u, Cs_y, nint_u, nint_ym
103102
end
104103

105104
"Validate the specified measured output indices `i_ym`."

0 commit comments

Comments
 (0)