Skip to content

Commit

Permalink
Merge pull request #97 from JuliaControl/doc_correction
Browse files Browse the repository at this point in the history
minor doc correction
  • Loading branch information
franckgaga authored Sep 11, 2024
2 parents b320658 + c3c2dbe commit cd4294a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
15 changes: 8 additions & 7 deletions src/estimator/kalman.jl
Original file line number Diff line number Diff line change
Expand Up @@ -578,13 +578,14 @@ is based on the process model :
\end{aligned}
```
See [`SteadyKalmanFilter`](@ref) for details on ``\mathbf{v}(k), \mathbf{w}(k)`` noises and
``\mathbf{R̂}, \mathbf{Q̂}`` covariances. The functions ``\mathbf{f̂, ĥ}`` are `model`
state-space functions augmented with the stochastic model of the unmeasured disturbances,
which is specified by the numbers of integrator `nint_u` and `nint_ym` (see Extended Help).
The ``\mathbf{ĥ^m}`` function represents the measured outputs of ``\mathbf{ĥ}`` function
(and unmeasured ones, for ``\mathbf{ĥ^u}``). The matrix ``\mathbf{P̂}`` is the estimation
error covariance of `model` state augmented with the stochastic ones. Three keyword
arguments specify its initial value with ``\mathbf{P̂}_{-1}(0) =
``\mathbf{R̂}, \mathbf{Q̂}`` covariances. The two matrices are constructed from ``\mathbf{Q̂ =
\text{diag}(Q, Q_{int_u}, Q_{int_{ym}})}`` and ``\mathbf{R̂ = R}``. The functions
``\mathbf{f̂, ĥ}`` are `model` state-space functions augmented with the stochastic model of
the unmeasured disturbances, which is specified by the numbers of integrator `nint_u` and
`nint_ym` (see Extended Help). The ``\mathbf{ĥ^m}`` function represents the measured outputs
of ``\mathbf{ĥ}`` function (and unmeasured ones, for ``\mathbf{ĥ^u}``). The matrix
``\mathbf{P̂}`` is the estimation error covariance of `model` state augmented with the
stochastic ones. Three keyword arguments specify its initial value with ``\mathbf{P̂}_{-1}(0) =
\mathrm{diag}\{ \mathbf{P}(0), \mathbf{P_{int_{u}}}(0), \mathbf{P_{int_{ym}}}(0) \}``. The
initial state estimate ``\mathbf{x̂}_{-1}(0)`` can be manually specified with [`setstate!`](@ref).
Expand Down
6 changes: 3 additions & 3 deletions src/estimator/mhe/construct.jl
Original file line number Diff line number Diff line change
Expand Up @@ -318,9 +318,9 @@ MovingHorizonEstimator estimator with a sample time Ts = 10.0 s, Ipopt optimizer
``\mathbf{x̂_i}`` can be manually specified with [`setstate!`](@ref), or automatically
with [`initstate!`](@ref) for [`LinModel`](@ref). Note the MHE with ``p=0`` is slightly
inconsistent with all the other estimators here. It interprets the initial values as
``\mathbf{x̂_i} = \mathbf{x̂}_{-1}(-1)`` and ``\mathbf{P̂_i} = \mathbf{P̂}_{-1}(-1)``, that
is, an *a posteriori* estimate[^2] from the last time step. The MHE with ``p=1`` is
consistent, interpreting them as ``\mathbf{x̂_i} = \mathbf{x̂}_{-1}(0)`` and
``\mathbf{x̂_i} = \mathbf{x̂}_{-1}(-1)`` and ``\mathbf{P̂_i} = \mathbf{P̂}_{-1}(-1)``, an
*a posteriori* estimate[^2] from the last time step. The MHE with ``p=1`` is consistent,
interpreting them as ``\mathbf{x̂_i} = \mathbf{x̂}_{-1}(0)`` and
``\mathbf{P̂_i} = \mathbf{P̂}_{-1}(0)``.
[^2]: M. Hovd (2012), "A Note On The Smoothing Formulation Of Moving Horizon Estimation",
Expand Down

0 comments on commit cd4294a

Please sign in to comment.