org.apache.commons.math3.filter
Class DefaultProcessModel

java.lang.Object
  extended by org.apache.commons.math3.filter.DefaultProcessModel
All Implemented Interfaces:
ProcessModel

public class DefaultProcessModel
extends Object
implements ProcessModel

Default implementation of a ProcessModel for the use with a KalmanFilter.

Since:
3.0
Version:
$Id: DefaultProcessModel.java 1244107 2012-02-14 16:17:55Z erans $

Field Summary
private  RealMatrix controlMatrix
          The control matrix, used to integrate a control input into the state estimation.
private  RealMatrix initialErrorCovMatrix
          The initial error covariance matrix of the observed process.
private  RealVector initialStateEstimateVector
          The initial state estimation of the observed process.
private  RealMatrix processNoiseCovMatrix
          The process noise covariance matrix.
private  RealMatrix stateTransitionMatrix
          The state transition matrix, used to advance the internal state estimation each time-step.
 
Constructor Summary
DefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise)
          Create a new ProcessModel, taking double arrays as input parameters.
DefaultProcessModel(double[][] stateTransition, double[][] control, double[][] processNoise, double[] initialStateEstimate, double[][] initialErrorCovariance)
          Create a new ProcessModel, taking double arrays as input parameters.
DefaultProcessModel(RealMatrix stateTransition, RealMatrix control, RealMatrix processNoise, RealVector initialStateEstimate, RealMatrix initialErrorCovariance)
          Create a new ProcessModel, taking double arrays as input parameters.
 
Method Summary
 RealMatrix getControlMatrix()
          Returns the control matrix.
 RealMatrix getInitialErrorCovariance()
          Returns the initial error covariance matrix.
 RealVector getInitialStateEstimate()
          Returns the initial state estimation vector.
 RealMatrix getProcessNoise()
          Returns the process noise matrix.
 RealMatrix getStateTransitionMatrix()
          Returns the state transition matrix.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stateTransitionMatrix

private RealMatrix stateTransitionMatrix
The state transition matrix, used to advance the internal state estimation each time-step.


controlMatrix

private RealMatrix controlMatrix
The control matrix, used to integrate a control input into the state estimation.


processNoiseCovMatrix

private RealMatrix processNoiseCovMatrix
The process noise covariance matrix.


initialStateEstimateVector

private RealVector initialStateEstimateVector
The initial state estimation of the observed process.


initialErrorCovMatrix

private RealMatrix initialErrorCovMatrix
The initial error covariance matrix of the observed process.

Constructor Detail

DefaultProcessModel

public DefaultProcessModel(double[][] stateTransition,
                           double[][] control,
                           double[][] processNoise,
                           double[] initialStateEstimate,
                           double[][] initialErrorCovariance)
Create a new ProcessModel, taking double arrays as input parameters.

Parameters:
stateTransition - the state transition matrix
control - the control matrix
processNoise - the process noise matrix
initialStateEstimate - the initial state estimate vector
initialErrorCovariance - the initial error covariance matrix

DefaultProcessModel

public DefaultProcessModel(double[][] stateTransition,
                           double[][] control,
                           double[][] processNoise)
Create a new ProcessModel, taking double arrays as input parameters. The initial state estimate and error covariance are omitted and will be initialized by the KalmanFilter to default values.

Parameters:
stateTransition - the state transition matrix
control - the control matrix
processNoise - the process noise matrix

DefaultProcessModel

public DefaultProcessModel(RealMatrix stateTransition,
                           RealMatrix control,
                           RealMatrix processNoise,
                           RealVector initialStateEstimate,
                           RealMatrix initialErrorCovariance)
Create a new ProcessModel, taking double arrays as input parameters.

Parameters:
stateTransition - the state transition matrix
control - the control matrix
processNoise - the process noise matrix
initialStateEstimate - the initial state estimate vector
initialErrorCovariance - the initial error covariance matrix
Method Detail

getStateTransitionMatrix

public RealMatrix getStateTransitionMatrix()
Returns the state transition matrix.

Specified by:
getStateTransitionMatrix in interface ProcessModel
Returns:
the state transition matrix

getControlMatrix

public RealMatrix getControlMatrix()
Returns the control matrix.

Specified by:
getControlMatrix in interface ProcessModel
Returns:
the control matrix

getProcessNoise

public RealMatrix getProcessNoise()
Returns the process noise matrix. This method is called by the KalmanFilter every predict step, so implementations of this interface may return a modified process noise depending on current iteration step.

Specified by:
getProcessNoise in interface ProcessModel
Returns:
the process noise matrix
See Also:
KalmanFilter.predict(), KalmanFilter.predict(double[]), KalmanFilter.predict(RealVector)

getInitialStateEstimate

public RealVector getInitialStateEstimate()
Returns the initial state estimation vector.

Note: if the return value is zero, the Kalman filter will initialize the state estimation with a zero vector.

Specified by:
getInitialStateEstimate in interface ProcessModel
Returns:
the initial state estimation vector

getInitialErrorCovariance

public RealMatrix getInitialErrorCovariance()
Returns the initial error covariance matrix.

Note: if the return value is zero, the Kalman filter will initialize the error covariance with the process noise matrix.

Specified by:
getInitialErrorCovariance in interface ProcessModel
Returns:
the initial error covariance matrix


Copyright (c) 2003-2013 Apache Software Foundation