us.ihmc.utilities.linearDynamicSystems
Class SplitUpMatrixExponentialStateSpaceSystemDiscretizer

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

public class SplitUpMatrixExponentialStateSpaceSystemDiscretizer
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
SplitUpMatrixExponentialStateSpaceSystemDiscretizer(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

SplitUpMatrixExponentialStateSpaceSystemDiscretizer

public SplitUpMatrixExponentialStateSpaceSystemDiscretizer(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