Namespaces

Types in MathNet.Filtering.Kalman

Type InformationFilter

Namespace MathNet.Filtering.Kalman

Interfaces IKalmanFilter

An alternate form of the Discrete Kalman Filter.
The Information filter stores and works with the inverse of the covariance matrix. The information filter has a more computationally complex prediction, and a less complex update. This makes it suitable for situations where large numbers of measurements are used for state estimates, or when the state of the system does not need to be known too frequently.

Constructors

Methods

Properties

Public Constructors

InformationFilter(IKalmanFilter kf)

Creates an Information Filter from a given Kalman Filter.
Parameters
IKalmanFilter kf

The filter used to derive the information filter.

InformationFilter(Matrix<double> x0, Matrix<double> P0)

Creates an Information filter with the given initial state.
Parameters
Matrix<double> x0

Initial estimate of state variables.

Matrix<double> P0

Covariance of state variable estimates.

InformationFilter(Matrix<double> state, Matrix<double> cov, bool inverted)

Creates an Information filter specifying whether the covariance and state have been 'inverted'.
This behaves the same as other constructors if the given boolean is false. Otherwise, in relation to the given state/covariance should satisfy:
Parameters
Matrix<double> state

The initial estimate of the state of the system.

Matrix<double> cov

The covariance of the initial state estimate.

bool inverted

Has covariance/state been converted to information filter form?

Public Methods

bool Equals(object obj)

int GetHashCode()

Type GetType()

void Predict(Matrix<double> F)

Perform a discrete time prediction of the system state.
Parameters
Matrix<double> F

State transition matrix.

void Predict(Matrix<double> F, Matrix<double> Q)

Preform a discrete time prediction of the system state.
Performs a prediction of the next state of the Kalman Filter, where there is plant noise. The covariance matrix of the plant noise, in this case, is a square matrix corresponding to the state transition and the state of the system.
Parameters
Matrix<double> F

State transition matrix.

Matrix<double> Q

A plant noise covariance matrix.

void Predict(Matrix<double> F, Matrix<double> G, Matrix<double> Q)

Perform a discrete time prediction of the system state.
Performs a prediction of the next state of the Kalman Filter, given a description of the dynamic equations of the system, the covariance of the plant noise affecting the system and the equations that describe the effect on the system of that plant noise.
Parameters
Matrix<double> F

State transition matrix.

Matrix<double> G

Noise coupling matrix.

Matrix<double> Q

Plant noise covariance.

string ToString()

void Update(Matrix<double> z, Matrix<double> H, Matrix<double> R)

Updates the state of the system based on the given noisy measurements, a description of how those measurements relate to the system, and a covariance Matrix to describe the noise of the system.
Parameters
Matrix<double> z

The measurements of the system.

Matrix<double> H

Measurement model.

Matrix<double> R

Covariance of measurements.

Public Properties

Matrix<double> Cov get;

The covariance of the current state estimate.

Matrix<double> InverseCov get;

The inverse of the covariance of the current state estimate.

Matrix<double> State get;

The estimate of the state of the system.
Examination of system state requires an inversion of the covariance matrix for the information filter, and is quite expensive for large systems.