Unscented Kalman Filter object. More...
Classes | |
class | UKF |
Unscented Kalman Filter. More... | |
Typedefs | |
typedef ml_matrix(* | state_func )(ml_matrix x, double t, void *context) |
A function used to propagate the state vector. | |
typedef ml_matrix(* | integ_func )(state_func state_fun, ml_matrix &x, double h, double t, void *context) |
A function used to integrate the state vector. | |
typedef ml_matrix(* | meas_func )(const ml_matrix &state, void *context) |
A function used to provide the measurement vector. | |
Enumerations | |
enum | UKF_mode { UKF_mode_unset = -1, UKF_mode_state, UKF_mode_parameter } |
Determines in which state the filter operates. |
Implements an unscented Kalman filter (UKF). Operates in two modes: state and parameter.
To create and use a filter, do the following:
Note: I'm not crazy about the way parameter mode operates; it currently mimics the Matlab version in the toolbox. But the way that there are several versions of the parameters, and how these need to be carefully maintained across calls to the RHS function, is an area of concern; it's not nearly as clean as I'd like it.