Nengo.ca

ca.nengo.model.nef.impl
Class AdditiveGaussianExpressModel

java.lang.Object
  extended by ca.nengo.model.nef.impl.AdditiveGaussianExpressModel
All Implemented Interfaces:
ExpressModel, Resettable
Direct Known Subclasses:
DefaultExpressModel

public abstract class AdditiveGaussianExpressModel
extends java.lang.Object
implements ExpressModel, Resettable

An ExpressModel that adds random noise and interpolated static distortion to DIRECT values as a model of spiking effects. Assumes Gaussian spike-related variability which is independent across decoded values. Autocorrelation over time is assumed to be zero by default but this can be set via setR(...). Note that noise is also filtered by PSC dynamics at the Termination. Autocorrelation is meant to model the unfiltered spectrum.


Constructor Summary
AdditiveGaussianExpressModel(int dim)
           
 
Method Summary
abstract  float[] getDistortion(float[] state, float[] directOutput)
           
 float[] getNoise(float[] state, float[] directOutput)
          Note: Override this for alternative additive noise, e.g.
abstract  float[] getNoiseSD(float[] state, float[] directOutput)
           
 float[] getOutput(float startTime, float[] state, float[] directOutput)
           
 float[][] getR()
           
 void reset(boolean randomize)
           
 void setR(float[][] R)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ca.nengo.model.nef.ExpressModel
update
 

Constructor Detail

AdditiveGaussianExpressModel

public AdditiveGaussianExpressModel(int dim)
Parameters:
dim - Number of outputs of the DecodedOrigin
Method Detail

setR

public void setR(float[][] R)
Parameters:
R - Autocorrelation for each input. The first element of each array is the 1-step autocorrelation; the kth is the k-step autocorrelation

getR

public float[][] getR()
Returns:
Autocorrelation for each output

reset

public void reset(boolean randomize)
Specified by:
reset in interface Resettable
Parameters:
randomize - True indicates that the object should be reset to a randomly selected initial state (the object must be aware of the distribution from which to draw from). False indicates that the object should be reset to a fixed initial state (which it must also know). Some objects may not support randomization of the initial state, in which case a fixed state will be used in either case.

getOutput

public float[] getOutput(float startTime,
                         float[] state,
                         float[] directOutput)
Specified by:
getOutput in interface ExpressModel
Parameters:
startTime - Start of simulation time step.
state - The value represented by the associated NEFEnsemble
directOutput - DIRECT mode output values of an Origin
Returns:
Modified values that incorporate a high-level model of the effects of spiking neurons.
See Also:
ExpressModel.getOutput(float, float[], float[])

getNoise

public float[] getNoise(float[] state,
                        float[] directOutput)
Note: Override this for alternative additive noise, e.g. correlated across outputs.

Parameters:
state - The value represented by the associated NEFEnsemble
directOutput - DIRECT mode output values of an Origin
Returns:
Noise to be added to DIRECT mode values

getNoiseSD

public abstract float[] getNoiseSD(float[] state,
                                   float[] directOutput)
Parameters:
state - The value represented by the associated NEFEnsemble
directOutput - DIRECT mode output values of an Origin
Returns:
Standard deviation of noise to be added to each DIRECT output value

getDistortion

public abstract float[] getDistortion(float[] state,
                                      float[] directOutput)
Parameters:
state - The value represented by the associated NEFEnsemble
directOutput - DIRECT mode output values of an Origin
Returns:
Static distortion error to be added to each DIRECT output value

Nengo.ca