IT++ Logo
Public Member Functions | List of all members
itpp::AR_Filter< T1, T2, T3 > Class Template Reference

Autoregressive (AR) Filter Base Class. More...

#include <itpp/signal/filter.h>

Inheritance diagram for itpp::AR_Filter< T1, T2, T3 >:
itpp::Filter< T1, T2, T3 >

Public Member Functions

 AR_Filter ()
 Class constructor.
 
 AR_Filter (const Vec< T2 > &a)
 Class constructor setting the coefficients in the filter.
 
virtual ~AR_Filter ()
 Class destructor.
 
Vec< T2get_coeffs () const
 Filter coefficient access function.
 
void set_coeffs (const Vec< T2 > &a)
 Set the filter coefficients (and order)
 
void clear ()
 Clears the filter memory.
 
Vec< T3get_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< T3operator() (const Vec< T1 > &v)
 Filter a vector.
 

Detailed Description

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

Autoregressive (AR) Filter Base Class.

This class implements a autoregressive (AR) filter according to

\[
a(0)*y(n) = x(n) - a(1)*y(n-1) - ... - a(N)*y(n-N)
\]

where a is 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 152 of file filter.h.

Constructor & Destructor Documentation

◆ AR_Filter() [1/2]

template<class T1 , class T2 , class T3 >
itpp::AR_Filter< T1, T2, T3 >::AR_Filter ( )
explicit

Class constructor.

Definition at line 406 of file filter.h.

◆ AR_Filter() [2/2]

template<class T1 , class T2 , class T3 >
itpp::AR_Filter< T1, T2, T3 >::AR_Filter ( const Vec< T2 > &  a)
explicit

Class constructor setting the coefficients in the filter.

Definition at line 413 of file filter.h.

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

◆ ~AR_Filter()

template<class T1 , class T2 , class T3 >
virtual itpp::AR_Filter< T1, T2, T3 >::~AR_Filter ( )
inlinevirtual

Class destructor.

Definition at line 160 of file filter.h.

Member Function Documentation

◆ get_coeffs()

template<class T1 , class T2 , class T3 >
Vec< T2 > itpp::AR_Filter< T1, T2, T3 >::get_coeffs ( ) const
inline

Filter coefficient access function.

Definition at line 162 of file filter.h.

◆ set_coeffs()

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

Set the filter coefficients (and order)

Definition at line 419 of file filter.h.

References it_assert, and itpp::Array< T >::size().

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

◆ clear()

template<class T1 , class T2 , class T3 >
void itpp::AR_Filter< T1, T2, T3 >::clear ( )
inline

Clears the filter memory.

Definition at line 166 of file filter.h.

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

◆ get_state()

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

Get state of filter.

Definition at line 436 of file filter.h.

References it_assert, and itpp::Array< T >::size().

◆ set_state()

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

Set state of filter.

Definition at line 452 of file filter.h.

References it_assert, and itpp::Array< T >::size().

◆ operator()() [1/2]

template<class T1 , class T2 , class T3 >
virtual T3 itpp::Filter< T1, T2, T3 >::operator() ( const T1  Sample)
inlinevirtualinherited

Filter a single sample.

Definition at line 60 of file filter.h.

References itpp::Filter< T1, T2, T3 >::filter().

◆ operator()() [2/2]

template<class T1 , class T2 , class T3 >
Vec< T3 > itpp::Filter< T1, T2, T3 >::operator() ( const Vec< T1 > &  v)
virtualinherited

Filter a vector.

Definition at line 315 of file filter.h.

References itpp::filter(), and itpp::Array< T >::length().


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

Generated on Mon Jun 10 2024 11:49:32 for IT++ by Doxygen 1.9.8