#include <simulate.h>
ema = exponential moving average filter, corresponds to a LOP f1 = lowpass cutoff frequency f2 = highpass cutoff frequency 0 < f2 < f1 < 1 f1=1 -> no LOP filtering, f2=0 -> no highpass filtering f1=1 and f2=0 -> standard ESN f2=0 -> leaky integrator ESN
Finally the output needs to be scale with new_activation = new_activation * (1 + f2/f1) to keep the current spectral radius.
Public Member Functions | |
SimBP (ESN< T > *esn) | |
virtual | ~SimBP () |
virtual SimBP< T > * | clone (ESN< T > *esn) const |
class SimBP Implementation | |
virtual void | setBPCutoffConst (T f1, T f2) throw (AUExcept) |
virtual void | setBPCutoff (const typename ESN< T >::DEVector &f1, const typename ESN< T >::DEVector &f2) throw (AUExcept) |
virtual void | simulate (const typename ESN< T >::DEMatrix &in, typename ESN< T >::DEMatrix &out) |
class SimBase Implementation | |
virtual void | reallocate () |
additional interface for filter neurons and delay&sum readout | |
virtual void | setIIRCoeff (const typename DEMatrix< T >::Type &B, const typename DEMatrix< T >::Type &A, int series=1) throw (AUExcept) |
virtual void | initDelayLine (int index, const typename DEVector< T >::Type &initbuf) throw (AUExcept) |
virtual DEMatrix< T > ::Type | getDelays () throw (AUExcept) |
virtual DEVector< T > ::Type & | getDelayBuffer (int output, int nr) throw (AUExcept) |
Data Fields | |
BPFilter< T > | filter_ |
ESN< T >::DEMatrix | last_out_ |
ESN< T >::DEVector | t_ |
Protected Attributes | |
ESN< T > * | esn_ |
aureservoir::SimBP< T >::SimBP | ( | ESN< T > * | esn | ) | [inline] |
virtual aureservoir::SimBP< T >::~SimBP | ( | ) | [inline, virtual] |
virtual SimBP<T>* aureservoir::SimBP< T >::clone | ( | ESN< T > * | esn | ) | const [inline, virtual] |
void aureservoir::SimBP< T >::setBPCutoffConst | ( | T | f1, | |
T | f2 | |||
) | throw (AUExcept) [inline, virtual] |
void aureservoir::SimBP< T >::simulate | ( | const typename ESN< T >::DEMatrix & | in, | |
typename ESN< T >::DEMatrix & | out | |||
) | [inline, virtual] |
implementation of the algorithm
Implements aureservoir::SimBase< T >.
void aureservoir::SimBase< T >::reallocate | ( | ) | [inline, virtual, inherited] |
reallocates data buffers
Reimplemented in aureservoir::SimFilterDS< T >, and aureservoir::SimSquare< T >.
void aureservoir::SimBase< T >::setIIRCoeff | ( | const typename DEMatrix< T >::Type & | B, | |
const typename DEMatrix< T >::Type & | A, | |||
int | series = 1 | |||
) | throw (AUExcept) [inline, virtual, inherited] |
Reimplemented in aureservoir::SimFilter< T >.
void aureservoir::SimBase< T >::initDelayLine | ( | int | index, | |
const typename DEVector< T >::Type & | initbuf | |||
) | throw (AUExcept) [inline, virtual, inherited] |
Reimplemented in aureservoir::SimFilterDS< T >.
DEMatrix< T >::Type aureservoir::SimBase< T >::getDelays | ( | ) | throw (AUExcept) [inline, virtual, inherited] |
Reimplemented in aureservoir::SimFilterDS< T >.
DEVector< T >::Type & aureservoir::SimBase< T >::getDelayBuffer | ( | int | output, | |
int | nr | |||
) | throw (AUExcept) [inline, virtual, inherited] |
Reimplemented in aureservoir::SimFilterDS< T >.
BPFilter<T> aureservoir::SimBP< T >::filter_ |
the filter object
ESN<T>::DEMatrix aureservoir::SimBase< T >::last_out_ [inherited] |
output from last simulation
ESN<T>::DEVector aureservoir::SimBase< T >::t_ [inherited] |
temporary object needed for algorithm calculation
ESN<T>* aureservoir::SimBase< T >::esn_ [protected, inherited] |
reference to the data of the network