IT++ Logo Newcom Logo

itpp::ARMA_Filter< T1, T2, T3 > Class Template Reference
[Filter Classes and Functions]

Autoregressive Moving Average (ARMA) Filter Base Class. More...

#include <itpp/base/filter.h>

Inheritance diagram for itpp::ARMA_Filter< T1, T2, T3 >:

itpp::Filter< T1, T2, T3 > List of all members.

Public Member Functions

 ARMA_Filter ()
 Class constructor.
 ARMA_Filter (const Vec< T2 > &b, const Vec< T2 > &a)
 Class constructor setting the coefficients in the filter.
virtual ~ARMA_Filter ()
 Class destructor.
Vec< T2 > get_coeffs_a () const
 Filter a coefficient access function.
Vec< T2 > get_coeffs_b () const
 Filter b coefficient access function.
void get_coeffs (Vec< T2 > &b, Vec< T2 > &a) const
 Filter coefficient access function.
void set_coeffs (const Vec< T2 > &b, const Vec< T2 > &a)
 Set the filter coefficients (and order).
void clear ()
 Clears the filter memory.
Vec< T3 > get_state () const
 Get state of filter.
void set_state (const Vec< T3 > &state)
 Set state of filter.
virtual T3 operator() (const T1 Sample)
 Filter a single sample.
virtual Vec< T3 > operator() (const Vec< T1 > &v)
 Filter a vector.

Detailed Description

template<class T1, class T2, class T3>
class itpp::ARMA_Filter< T1, T2, T3 >

Autoregressive Moving Average (ARMA) Filter Base Class.

This class implements a autoregressive moving average (ARMA) filter according to

\[ a(0)*y(n) = b(0)*x(n) + b(1)*x(n-1) + \ldots + b(N_b)*x(n-N_b) - a(1)*y(n-1) - \ldots - a(N_a)*y(n-N_a) \]

where a and b are the filter coefficients, x is the input and y is the output.

When filtering a vector, the length of the output vector equals the length of the input vector. Internal states are kept in a filter memory. The first time the filter is used the internal states have been set to zero.

The class is templated as follows:

Definition at line 210 of file filter.h.


Constructor & Destructor Documentation

template<class T1, class T2, class T3>
itpp::ARMA_Filter< T1, T2, T3 >::ARMA_Filter (  )  [explicit]

Class constructor.

Definition at line 486 of file filter.h.

template<class T1, class T2, class T3>
itpp::ARMA_Filter< T1, T2, T3 >::ARMA_Filter ( const Vec< T2 > &  b,
const Vec< T2 > &  a 
) [explicit]

Class constructor setting the coefficients in the filter.

Definition at line 493 of file filter.h.

References itpp::ARMA_Filter< T1, T2, T3 >::set_coeffs().

template<class T1, class T2, class T3>
virtual itpp::ARMA_Filter< T1, T2, T3 >::~ARMA_Filter (  )  [inline, virtual]

Class destructor.

Definition at line 217 of file filter.h.


Member Function Documentation

template<class T1, class T2, class T3>
Vec<T2> itpp::ARMA_Filter< T1, T2, T3 >::get_coeffs_a (  )  const [inline]

Filter a coefficient access function.

Definition at line 219 of file filter.h.

template<class T1, class T2, class T3>
Vec<T2> itpp::ARMA_Filter< T1, T2, T3 >::get_coeffs_b (  )  const [inline]

Filter b coefficient access function.

Definition at line 221 of file filter.h.

template<class T1, class T2, class T3>
void itpp::ARMA_Filter< T1, T2, T3 >::get_coeffs ( Vec< T2 > &  b,
Vec< T2 > &  a 
) const [inline]

Filter coefficient access function.

Definition at line 223 of file filter.h.

template<class T1, class T2, class T3>
void itpp::ARMA_Filter< T1, T2, T3 >::set_coeffs ( const Vec< T2 > &  b,
const Vec< T2 > &  a 
)

Set the filter coefficients (and order).

Definition at line 499 of file filter.h.

References itpp::Vec< Num_T >::clear(), it_assert, max, itpp::Vec< Num_T >::set_size(), and itpp::Vec< Num_T >::size().

Referenced by itpp::ARMA_Filter< T1, T2, T3 >::ARMA_Filter().

template<class T1, class T2, class T3>
void itpp::ARMA_Filter< T1, T2, T3 >::clear (  )  [inline]

Clears the filter memory.

Definition at line 227 of file filter.h.

References itpp::Vec< Num_T >::clear().

template<class T1, class T2, class T3>
Vec< T3 > itpp::ARMA_Filter< T1, T2, T3 >::get_state (  )  const

Get state of filter.

Definition at line 514 of file filter.h.

References it_assert, and itpp::Vec< Num_T >::size().

Referenced by itpp::filter().

template<class T1, class T2, class T3>
void itpp::ARMA_Filter< T1, T2, T3 >::set_state ( const Vec< T3 > &  state  ) 

Set state of filter.

Definition at line 530 of file filter.h.

References it_assert, and itpp::Vec< Num_T >::size().

Referenced by itpp::filter().

template<class T1, class T2, class T3>
virtual T3 itpp::Filter< T1, T2, T3 >::operator() ( const T1  Sample  )  [inline, virtual, inherited]

Filter a single sample.

Definition at line 62 of file filter.h.

template<class T1, class T2, class T3>
Vec< T3 > itpp::Filter< T1, T2, T3 >::operator() ( const Vec< T1 > &  v  )  [virtual, inherited]

Filter a vector.

Definition at line 313 of file filter.h.

References itpp::Filter< T1, T2, T3 >::filter(), and itpp::Vec< Num_T >::length().


The documentation for this class was generated from the following file:
SourceForge Logo

Generated on Thu Apr 19 14:43:48 2007 for IT++ by Doxygen 1.5.1