aureservoir::BPFilter< T > Class Template Reference

#include <filter.h>


Detailed Description

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

This is an implementation of a band pass filter with two exponential moving average filters: ema1 = ema1 + f1 * (input - ema1); ema2 = ema2 + f2 * (ema1 - ema2); output = 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 -> no filtering f2=0 -> only lowpass filtering

Finally the output get rescaled with output = output * (1 + f2/f1) (to keep the spectral radius in ESNs)

Public Member Functions

 BPFilter ()
virtual ~BPFilter ()
const BPFilteroperator= (const BPFilter< T > &src)
class BPFilter Implementation
void setBPCutoff (const typename DEVector< T >::Type &f1, const typename DEVector< T >::Type &f2) throw (AUExcept)
void calc (typename DEVector< T >::Type &x)

Protected Attributes

DEVector< T >::Type ema1_
DEVector< T >::Type ema2_
DEVector< T >::Type f1_
DEVector< T >::Type f2_
DEVector< T >::Type scale_


Constructor & Destructor Documentation

template<typename T>
aureservoir::BPFilter< T >::BPFilter (  )  [inline]

Constructor.

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

Destructor.


Member Function Documentation

template<typename T>
const BPFilter& aureservoir::BPFilter< T >::operator= ( const BPFilter< T > &  src  )  [inline]

assignment operator

template<typename T>
void aureservoir::BPFilter< T >::setBPCutoff ( const typename DEVector< T >::Type &  f1,
const typename DEVector< T >::Type &  f2 
) throw (AUExcept) [inline]

set LOP and HIP cutoff frequencies

template<typename T>
void aureservoir::BPFilter< T >::calc ( typename DEVector< T >::Type &  x  )  [inline]

calculates one filter step on each element of x and writes the result back to x


Field Documentation

template<typename T>
DEVector<T>::Type aureservoir::BPFilter< T >::ema1_ [protected]

last output of ema1 (exponential moving average filter 1)

template<typename T>
DEVector<T>::Type aureservoir::BPFilter< T >::ema2_ [protected]

last output of ema2 (exponential moving average filter 2)

template<typename T>
DEVector<T>::Type aureservoir::BPFilter< T >::f1_ [protected]

low pass cutoff frequencies

template<typename T>
DEVector<T>::Type aureservoir::BPFilter< T >::f2_ [protected]

high pass cutoff frequencies

template<typename T>
DEVector<T>::Type aureservoir::BPFilter< T >::scale_ [protected]

scale factor for output, to not shrink spectral radius


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