A process model over one fixed time step, with the work that depends only on the step done once.
More...
template<Space Space_, typename Model_, typename Method_ = methods::Linearized, RealScalar Scalar_ = double>
class Emrys::FixedStepModel< Space_, Model_, Method_, Scalar_ >
A process model over one fixed time step, with the work that depends only on the step done once.
Model_, a ProcessModel, is taken over the step dt, by Method_, in Space_. The process noise \( Q \) is computed at construction. Under the Linearized method the transition \( F \) is too, when the model is affine in everything it reads, returns its Jacobian, and reads no input of the call, as the built-in models are. Otherwise, and under the other methods, which depend on the state, the model caches only \( Q \).
Its predictions take no time step: predict(prior, model, args...), and a filter that owns one has predict(args...) in place of predict(dt, args...). The model carries the prediction method, so a filter that owns one takes its method from it. The model doesn't change after construction; to change its step or its parameters, assign a new one.
A filter given fixedStep(model, dt) makes the one over its state's space, so the space is named by the state alone:
A Kalman filter: a Gaussian state and the KalmanRecursion that predicts it through a process model an...
Definition KalmanFilter.h:561
auto predict(TimeStep< Scalar > auto const &dt, Inputs const &... inputs)
Moves the state forward by dt, any TimeStep (see Time steps), through the process model,...
Definition KalmanFilter.h:681
UnboundFixedStep< Model, Method, Time > fixedStep(Model model, Time dt, Method method={})
Definition ProcessModel.h:3736
Kinematic< Scalar, Position, Velocity > ConstantVelocity
Constant velocity (white-noise acceleration): position moves by velocity times .
Definition ProcessModel.h:1152
Built directly, FixedStepModel{model, space, dt}, it gives its cached matrices to read.
With \( F \) and \( Q \) fixed, an affine model's prediction is the time-invariant case of Kalman (1960): \( \mu' = F \mu \) and \( P' = F P F^T + Q \).
- Template Parameters
-
| Space_ | the state space (see Spaces) |
| Model_ | the process model, which writes every block of the space |
| Method_ | the prediction method, Linearized by default |
| Scalar_ | scalar type of the cached matrices, double by default |
- See also
- fixedStep(), UnboundFixedStep, processModel(), isFixedStep, Models