FilterAverage provides an average filter More...
#include <Filter.h>
Public Member Functions | |
double | deviation () const |
FilterAverage (int size=3) | |
int | getCurrentSize () |
int | getWindowSize () |
virtual double | next (double y) |
Update the value. All inherited classes need to update value in next(). | |
double | operator= (double _value) |
virtual void | reset () |
Reset the filter state. | |
void | setWindowSize (int size) |
Protected Member Functions | |
void | push_to_buffer (double y) |
Protected Attributes | |
std::deque< double > | buffer |
unsigned int | count |
unsigned int | window_size |
FilterAverage provides an average filter
The FilterAverage remembers window_size last elements in the time series and returns always the average of these elements. The size of the window window_size can be set in the constructor or with setWindowSize() .
Note, that when the window_size is <= 0 we calculate the average over the whole sequence without using the buffer.
alvar::FilterAverage::FilterAverage | ( | int | size = 3 | ) | [inline] |
double alvar::FilterAverage::deviation | ( | ) | const |
Definition at line 67 of file Filter.cpp.
int alvar::FilterAverage::getCurrentSize | ( | ) | [inline] |
int alvar::FilterAverage::getWindowSize | ( | ) | [inline] |
double alvar::FilterAverage::next | ( | double | y | ) | [virtual] |
Update the value. All inherited classes need to update value in next().
Implements alvar::Filter.
Reimplemented in alvar::FilterMedian.
Definition at line 48 of file Filter.cpp.
double alvar::FilterAverage::operator= | ( | double | _value | ) | [inline] |
Reimplemented in alvar::FilterMedian.
void alvar::FilterAverage::push_to_buffer | ( | double | y | ) | [protected] |
Definition at line 41 of file Filter.cpp.
void alvar::FilterAverage::reset | ( | ) | [virtual] |
void alvar::FilterAverage::setWindowSize | ( | int | size | ) | [inline] |
Reimplemented in alvar::FilterMedian.
std::deque<double> alvar::FilterAverage::buffer [protected] |
unsigned int alvar::FilterAverage::count [protected] |
unsigned int alvar::FilterAverage::window_size [protected] |