ca.nengo.model.nef.impl
Class AdditiveGaussianExpressModel
java.lang.Object
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.
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 |
AdditiveGaussianExpressModel
public AdditiveGaussianExpressModel(int dim)
- Parameters:
dim
- Number of outputs of the DecodedOrigin
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 NEFEnsembledirectOutput
- 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 NEFEnsembledirectOutput
- 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 NEFEnsembledirectOutput
- 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 NEFEnsembledirectOutput
- DIRECT mode output values of an Origin
- Returns:
- Static distortion error to be added to each DIRECT output value