ca.nengo.dynamics.impl
Class ImpulseIntegral

java.lang.Object
  extended by ca.nengo.dynamics.impl.ImpulseIntegral

public class ImpulseIntegral
extends java.lang.Object

A tool for finding the integral of the impulse response of an LTI system. The impulse response of an LTI system is the matrix D*d(t) + C*exp(A*t)*B, where A,B,C,D are defined as usual and d(t) is an impulse. We are interested here in the integral of this matrix (which we may want so that we can normalize it somehow).

There are many ways to calculate e^At (see Moler & Van Loan, 2003). Here we use simulation, which is simple to implement, and numerically attractive when the result is needed at many t.

Author:
Bryan Tripp

Constructor Summary
ImpulseIntegral()
           
 
Method Summary
static float[][] integrate(LTISystem system)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImpulseIntegral

public ImpulseIntegral()
Method Detail

integrate

public static float[][] integrate(LTISystem system)
Parameters:
system - The system for which integrals of impulse responses are needed
Returns:
Integrals of impulse responses. This is a matrix with the same dimensions as the passthrough matrix of the system. Each column is the integral of the response to an impulse at the corresponding input.