41#include <MatrixLib/MatrixLib.h>
44#include <SCControl/sc_ukf.h>
45#include <SCControl/sc_math.h>
68 void set_filter_parameters (
const int n_filter,
const double alpha,
const double kappa,
const double beta);
72 void set_initial_values (
const ml_matrix &state0,
const ml_matrix &covariance0,
const ml_matrix ¶meter0 = ml_matrix());
98 IMM & operator= (
const IMM &u);
101 void mix_estimate(
void);
103 void combine_estimate(
void);
105 void update_estimate_bank(ml_matrix measurement);
109 void combine_models (
void);
112 ml_matrix jump_probabilities;
115 ml_matrix mode_probability;
121 ml_matrix covariance;
133 ml_matrix predicted_mode_probability;
Interactive Multiple Model Filter.
Definition: sc_imm.h:57
void intialize_filter_bank(const int size_bank)
Sets the number of models in the filter bank.
Definition: sc_imm.cc:58
void set_integrator(const int n_filter, integ_func integ_fun)
Sets the integrator function.
Definition: sc_imm.cc:150
ml_matrix current_mode_probability(void) const
Returns the current mode probability.
Definition: sc_imm.h:90
IMM()
Constructor.
Definition: sc_imm.cc:40
void set_filter_mode(const int n_filter, UKF_mode mode)
Sets the filter mode.
Definition: sc_imm.cc:79
void update_estimate(const ml_matrix &measurement)
Updates the current estimate.
Definition: sc_imm.cc:192
void set_jump_function(jump_func jump_fun)
Sets the jump function.
Definition: sc_imm.cc:169
void set_noise_covariances(const int n_filter, const ml_matrix &Rp, const ml_matrix &Rm)
Sets the noise covariance matrices.
Definition: sc_imm.cc:130
void set_filter_parameters(const int n_filter, const double alpha, const double kappa, const double beta)
Sets the filter parameters.
Definition: sc_imm.cc:91
void set_integrator_time_info(double t, double dt)
Sets the integrator time and time step.
Definition: sc_imm.cc:101
void set_initial_values(const ml_matrix &state0, const ml_matrix &covariance0, const ml_matrix ¶meter0=ml_matrix())
Sets the initial state and covariance.
Definition: sc_imm.cc:117
void set_state_function(const int n_filter, state_func state_fun)
Sets the state function.
Definition: sc_imm.cc:140
ml_matrix current_covariance(void) const
Returns the current estimated covariance.
Definition: sc_imm.h:88
~IMM()
Destructor.
Definition: sc_imm.cc:48
void set_context(void *context)
Sets the context pointer for data needed by the state or measurement functions.
Definition: sc_imm.cc:178
ml_matrix current_state(void) const
Returns the current estimated state.
Definition: sc_imm.h:86
void set_measurement_function(const int n_filter, meas_func meas_fun)
Sets the measurement function.
Definition: sc_imm.cc:160
ml_matrix(* jump_func)(void *context)
A function used to provide the jump probabilities.
Definition: sc_imm.h:52