Implements a simple leaky integrator integer value filter, handy for fast, simple, ADC output filtering. Implemented as described here: [[http://ece124web.groups.et.byu.net/references/readings/Simple%20Software%20Lowpass%20Filter.pdf|Simple Software Lowpass Filter.pdf]]
Dependents: AVC_20110423 WallBot_Simple AVC_2012
Diff: SimpleFilter.cpp
- Revision:
- 1:70348515ed2f
- Parent:
- 0:ac15e38daeb5
diff -r ac15e38daeb5 -r 70348515ed2f SimpleFilter.cpp --- a/SimpleFilter.cpp Wed Apr 20 08:00:25 2011 +0000 +++ b/SimpleFilter.cpp Wed Apr 20 16:57:54 2011 +0000 @@ -6,8 +6,11 @@ short SimpleFilter::filter(short value) { - _filter_value += value - (_filter_value >> _shift); - _filter_value >>= _shift; + _filter_value += (value - (_filter_value >> _shift)); - return _filter_value; -} \ No newline at end of file + return _filter_value >> _shift; +} + +short SimpleFilter::value(void) { + return _filter_value >> _shift; +}