aureservoir::IIRFilter< T > Class Template Reference

#include <filter.h>


Detailed Description

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

General IIR Filter Implementation in Transposed Direct Form 2, which has good numeric stability properties.
See also:
http://ccrma.stanford.edu/~jos/filters/Transposed_Direct_Forms.html
The filter calculates the following difference equation (same usage as Matlab's filter object): a[0]*y[n] = b[0]*x[n] + b[1]*x[n-1] + ... + b[nb]*x[n-nb]

Public Member Functions

 IIRFilter ()
virtual ~IIRFilter ()
const IIRFilteroperator= (const IIRFilter< T > &src)
class IIRFilter Implementation
void setIIRCoeff (const typename DEMatrix< T >::Type &B, const typename DEMatrix< T >::Type &A) throw (AUExcept)
void calc (typename DEVector< T >::Type &x)

Protected Attributes

DEMatrix< T >::Type B_
DEMatrix< T >::Type A_
DEMatrix< T >::Type S_
DEVector< T >::Type y_

Constructor & Destructor Documentation

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

Constructor.

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

Destructor.


Member Function Documentation

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

assignment operator

template<typename T>
void aureservoir::IIRFilter< T >::setIIRCoeff ( const typename DEMatrix< T >::Type &  B,
const typename DEMatrix< T >::Type &  A 
) throw (AUExcept) [inline]

sets the filter coefficients

Parameters:
B matrix with numerator coefficient vectors (m x nb) m ... nr of parallel filters (neurons) nb ... nr of filter coefficients
A matrix with denominator coefficient vectors (m x na) m ... nr of parallel filters (neurons) na ... nr of filter coefficients

template<typename T>
void aureservoir::IIRFilter< 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>
DEMatrix<T>::Type aureservoir::IIRFilter< T >::B_ [protected]

filter numerator coefficients

template<typename T>
DEMatrix<T>::Type aureservoir::IIRFilter< T >::A_ [protected]

filter denominator coefficients

template<typename T>
DEMatrix<T>::Type aureservoir::IIRFilter< T >::S_ [protected]

internal data for calculation

template<typename T>
DEVector<T>::Type aureservoir::IIRFilter< T >::y_ [protected]

temporal object to store output


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