mad-location-manager-lib 1.0
Library for fusing GPS and ENU accelerometer data
Loading...
Searching...
No Matches
Protected Member Functions | Protected Attributes | List of all members
kalman_filter< state_d, measure_d, control_d > Class Template Reference

Template-based Kalman filter implementation. More...

#include <kalman.h>

Protected Member Functions

 kalman_filter ()
 
void estimate ()
 
void correct ()
 

Protected Attributes

mtx_t< double, state_d, state_dF
 
mtx_t< double, measure_d, state_dH
 state transition model
 
mtx_t< double, state_d, control_dB
 observation model
 
mtx_t< double, state_d, state_dQ
 control matrix
 
mtx_t< double, measure_d, measure_dR
 process noise covariance
 
mtx_t< double, control_d, 1 > Uk
 observation noise covariance
 
mtx_t< double, measure_d, 1 > Zk
 control vector
 
mtx_t< double, state_d, 1 > Xk_km1
 actual measured values vector
 
mtx_t< double, state_d, state_dPk_km1
 predicted state estimate
 
mtx_t< double, measure_d, 1 > Yk
 predicted estimate covariance
 
mtx_t< double, measure_d, measure_dSk
 measurement innovation
 
mtx_t< double, state_d, measure_dK
 innovation covariance
 
mtx_t< double, state_d, 1 > Xk_k
 Kalman gain.
 
mtx_t< double, measure_d, 1 > Yk_k
 updated (current) state
 
mtx_t< double, state_d, state_dPk_k
 post fit residual
 
mtx_t< double, state_d, state_dI
 updated estimate covariance
 

Detailed Description

template<size_t state_d, size_t measure_d, size_t control_d>
class kalman_filter< state_d, measure_d, control_d >

Template-based Kalman filter implementation.

Template Parameters
state_dDimension of state vector (number of state variables)
measure_dDimension of measurement vector (number of measurements)
control_dDimension of control vector (number of control inputs)

Generic Kalman filter for linear state estimation using Eigen matrices. Implements standard predict-correct cycle with configurable dimensions.

Constructor & Destructor Documentation

◆ kalman_filter()

template<size_t state_d, size_t measure_d, size_t control_d>
kalman_filter< state_d, measure_d, control_d >::kalman_filter ( )
inlineprotected

Member Function Documentation

◆ correct()

template<size_t state_d, size_t measure_d, size_t control_d>
void kalman_filter< state_d, measure_d, control_d >::correct ( )
inlineprotected

◆ estimate()

template<size_t state_d, size_t measure_d, size_t control_d>
void kalman_filter< state_d, measure_d, control_d >::estimate ( )
inlineprotected

Member Data Documentation

◆ B

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, control_d> kalman_filter< state_d, measure_d, control_d >::B
protected

observation model

◆ F

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, state_d> kalman_filter< state_d, measure_d, control_d >::F
protected

◆ H

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, measure_d, state_d> kalman_filter< state_d, measure_d, control_d >::H
protected

state transition model

◆ I

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, state_d> kalman_filter< state_d, measure_d, control_d >::I
protected

updated estimate covariance

◆ K

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, measure_d> kalman_filter< state_d, measure_d, control_d >::K
protected

innovation covariance

◆ Pk_k

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, state_d> kalman_filter< state_d, measure_d, control_d >::Pk_k
protected

post fit residual

◆ Pk_km1

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, state_d> kalman_filter< state_d, measure_d, control_d >::Pk_km1
protected

predicted state estimate

◆ Q

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, state_d> kalman_filter< state_d, measure_d, control_d >::Q
protected

control matrix

◆ R

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, measure_d, measure_d> kalman_filter< state_d, measure_d, control_d >::R
protected

process noise covariance

◆ Sk

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, measure_d, measure_d> kalman_filter< state_d, measure_d, control_d >::Sk
protected

measurement innovation

◆ Uk

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, control_d, 1> kalman_filter< state_d, measure_d, control_d >::Uk
protected

observation noise covariance

◆ Xk_k

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, 1> kalman_filter< state_d, measure_d, control_d >::Xk_k
protected

Kalman gain.

◆ Xk_km1

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, state_d, 1> kalman_filter< state_d, measure_d, control_d >::Xk_km1
protected

actual measured values vector

◆ Yk

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, measure_d, 1> kalman_filter< state_d, measure_d, control_d >::Yk
protected

predicted estimate covariance

◆ Yk_k

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, measure_d, 1> kalman_filter< state_d, measure_d, control_d >::Yk_k
protected

updated (current) state

◆ Zk

template<size_t state_d, size_t measure_d, size_t control_d>
mtx_t<double, measure_d, 1> kalman_filter< state_d, measure_d, control_d >::Zk
protected

control vector


The documentation for this class was generated from the following file: