us.ihmc.utilities.linearDynamicSystems
Class SingleMatrixExponentialStateSpaceSystemDiscretizer

java.lang.Object
  extended by us.ihmc.utilities.linearDynamicSystems.SingleMatrixExponentialStateSpaceSystemDiscretizer
All Implemented Interfaces:
StateSpaceSystemDiscretizer

public class SingleMatrixExponentialStateSpaceSystemDiscretizer
extends java.lang.Object
implements StateSpaceSystemDiscretizer

Discretizes a continuous time system using Matrix Exponentials. Assumes a zero-order hold on the inputs during the time delta dt. See "Computing Integrals Involving the Matrix Exponential" by Charles F. Van Loan for information on the algorithm. Also see Matlab Documentation for kalmd (Design discrete Kalman filter for continuous plant) and c2d (Continuous to Discrete). Also see the Wikipedia entry on Matrix Exponentials, and Discretization. Turns x_dot = Ax + Bu + w; y = Cx + Du + v with process noise covariance Q and sensor noise covariance R. into x_n+1 = A x_n + Bu + w; y = Cx + Du + v with new process noise covariance Q and sensor noise covariance R.


Constructor Summary
SingleMatrixExponentialStateSpaceSystemDiscretizer(int numberOfStates, int numberOfInputs)
           
 
Method Summary
 void discretize(org.ejml.data.DenseMatrix64F A, org.ejml.data.DenseMatrix64F B, org.ejml.data.DenseMatrix64F Q, double dt)
          discretizes a continuous time system.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingleMatrixExponentialStateSpaceSystemDiscretizer

public SingleMatrixExponentialStateSpaceSystemDiscretizer(int numberOfStates,
                                                          int numberOfInputs)
Method Detail

discretize

public void discretize(org.ejml.data.DenseMatrix64F A,
                       org.ejml.data.DenseMatrix64F B,
                       org.ejml.data.DenseMatrix64F Q,
                       double dt)
discretizes a continuous time system. All input matrices are modified.

Specified by:
discretize in interface StateSpaceSystemDiscretizer
Parameters:
A - state matrix
B - input matrix
Q - process noise covariance matrix
dt - time step