estimator-1.1.0.0: State-space estimation algorithms such as Kalman Filters

Safe HaskellNone
LanguageHaskell2010

Numeric.Estimator.KalmanFilter

Description

This module implements the Extended Kalman Filter estimation algorithm.

Synopsis

Documentation

data KalmanFilter state var Source

All variants of Kalman Filter, at their core, maintain the parameters of a multi-variate normal distribution.

Since different Kalman Filter variants share this filter type, you can mix and match algorithms within the same filter. For example, you could use a conventional Kalman filter for any linear measurements, and a Sigma-Point Kalman Filter for a non-linear process model.

Constructors

KalmanFilter 

Fields

kalmanState :: state var

mean

kalmanCovariance :: state (state var)

covariance

Instances

GaussianFilter KalmanFilter 
type Var (KalmanFilter state var) = var 
type State (KalmanFilter state var) = state 

data KalmanInnovation obs var Source

Kalman filter estimators can report the innovation of each observation, as well as the covariance of the innovation.

Constructors

KalmanInnovation 

Fields

kalmanInnovation :: obs var
 
kalmanInnovationCovariance :: obs (obs var)
 

newtype EKFProcess state var Source

A process model in an Extended Kalman Filter transforms a state vector to a new state vector, but is wrapped in reverse-mode automatic differentiation.

Constructors

EKFProcess (forall s. Reifies s Tape => state (Reverse s var) -> state (Reverse s var)) 

Instances

(Additive state, Traversable state, Distributive state, Num var) => Process (EKFProcess state var) 
Estimator (EKFProcess state var) 
type Var (EKFProcess state var) = var 
type State (EKFProcess state var) = state 
type Filter (EKFProcess state var) = KalmanFilter 

newtype EKFMeasurement state var Source

A measurement model in an Extended Kalman Filter uses the state vector to predict what value a sensor should return, while wrapped in reverse-mode automatic differentiation.

Constructors

EKFMeasurement (forall s. Reifies s Tape => state (Reverse s var) -> Reverse s var) 

Instances

(Additive state, Distributive state, Traversable state, Fractional var) => Measure (EKFMeasurement state var) 
Estimator (EKFMeasurement state var) 
type Var (EKFMeasurement state var) = var 
type State (EKFMeasurement state var) = state 
type Filter (EKFMeasurement state var) = KalmanFilter 
type MeasureQuality (EKFMeasurement state var) obs = KalmanInnovation obs var 
type MeasureObservable (EKFMeasurement state var) obs = (Additive obs, Traversable obs)