aureservoir::SimBP< T > Class Template Reference

#include <simulate.h>

Inheritance diagram for aureservoir::SimBP< T >:

Inheritance graph
[legend]
Collaboration diagram for aureservoir::SimBP< T >:

Collaboration graph
[legend]

Detailed Description

template<typename T>
class aureservoir::SimBP< T >

It can be shown that leaky integrator neurons perform somehow a lowpass filtering on the reservoir states. This is an extension of this interpration, using a lowpass and highpass filter to get a bandpass style neuron. One reservoir can have neurons with different cutoff frequencies to get richer activations on different timescales.
See also:
class SimLI
The new activations can be calculated like this: ema1 = ema1 + f1 * (activation - ema1); ema2 = ema2 + f2 * (ema1 - ema2); new_activation = ema1 - ema2;

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_


Constructor & Destructor Documentation

template<typename T>
aureservoir::SimBP< T >::SimBP ( ESN< T > *  esn  )  [inline]

template<typename T>
virtual aureservoir::SimBP< T >::~SimBP (  )  [inline, virtual]


Member Function Documentation

template<typename T>
virtual SimBP<T>* aureservoir::SimBP< T >::clone ( ESN< T > *  esn  )  const [inline, virtual]

virtual constructor idiom

Implements aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimBP< T >::setBPCutoffConst ( f1,
f2 
) throw (AUExcept) [inline, virtual]

needed for bandpass style neurons

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimBP< T >::setBPCutoff ( const typename ESN< T >::DEVector f1,
const typename ESN< T >::DEVector f2 
) throw (AUExcept) [inline, virtual]

set all LOP and HIP cutoff frequencies

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimBP< T >::simulate ( const typename ESN< T >::DEMatrix in,
typename ESN< T >::DEMatrix out 
) [inline, virtual]

implementation of the algorithm

See also:
class SimBase::simulate

Implements aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimBase< T >::reallocate (  )  [inline, virtual, inherited]

reallocates data buffers

Reimplemented in aureservoir::SimFilterDS< T >, and aureservoir::SimSquare< T >.

template<typename 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 >.

template<typename T>
void aureservoir::SimBase< T >::initDelayLine ( int  index,
const typename DEVector< T >::Type &  initbuf 
) throw (AUExcept) [inline, virtual, inherited]

Reimplemented in aureservoir::SimFilterDS< T >.

template<typename T>
DEMatrix< T >::Type aureservoir::SimBase< T >::getDelays (  )  throw (AUExcept) [inline, virtual, inherited]

Reimplemented in aureservoir::SimFilterDS< T >.

template<typename T>
DEVector< T >::Type & aureservoir::SimBase< T >::getDelayBuffer ( int  output,
int  nr 
) throw (AUExcept) [inline, virtual, inherited]

Reimplemented in aureservoir::SimFilterDS< T >.


Field Documentation

template<typename T>
BPFilter<T> aureservoir::SimBP< T >::filter_

the filter object

template<typename T>
ESN<T>::DEMatrix aureservoir::SimBase< T >::last_out_ [inherited]

output from last simulation

template<typename T>
ESN<T>::DEVector aureservoir::SimBase< T >::t_ [inherited]

temporary object needed for algorithm calculation

template<typename T>
ESN<T>* aureservoir::SimBase< T >::esn_ [protected, inherited]

reference to the data of the network


The documentation for this class was generated from the following files:
Generated on Wed Mar 12 21:16:11 2008 for aureservoir by  doxygen 1.5.3