Namespaces

Types in MathNet.Filtering.Kalman

Type SquareRootFilter

Namespace MathNet.Filtering.Kalman

Interfaces IKalmanFilter

An alternate form of the discrete time kalman filter, less prone to roundoff errors.
Square root filtering is designed to produce more stable covariance matrices by performing decomposition of the covariance matrix to ensure that roundoff errors do not occur.

This particular implementation stores the covariance in a UDU' decomposed form, and uses a Thornton UD update and a Bierman observational update algorithm. This means that there are no square roots performed as part of this.

Constructors

Methods

Properties

Public Constructors

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

Creates a square root filter with given initial state.
Parameters
Matrix<double> x0

Initial state estimate.

Matrix<double> P0

Covariance of initial state estimate.

Public Methods

bool Equals(object obj)

int GetHashCode()

Type GetType()

void Predict(Matrix<double> F)

Performs a prediction of the state of the system after a given transition.
Parameters
Matrix<double> F

State transition matrix.

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

Performs a prediction of the state of the system after a given transition.
Parameters
Matrix<double> F

State transition matrix.

Matrix<double> G

Noise coupling matrix.

Matrix<double> Q

Noise covariance matrix.

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 state estimate.

Matrix<double> State get;

The estimate of the current state of the system.