#include <itpp/signal/filter.h>
This class implements a autoregressive moving average (ARMA) filter according to
.
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:
T1
is the type of the input samples T2
is the type of the filter coefficients T3
is the type of the output samples Definition at line 213 of file filter.h.
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. |
Generated on Sun Sep 14 18:55:03 2008 for IT++ by Doxygen 1.5.6