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
SimpleFilter.cpp
00001 #include "SimpleFilter.h" 00002 00003 SimpleFilter::SimpleFilter(short shift): _filter_value(0), _shift(shift) { 00004 // nothing to do here, really 00005 } 00006 00007 short SimpleFilter::filter(short value) { 00008 00009 _filter_value += (value - (_filter_value >> _shift)); 00010 00011 return _filter_value >> _shift; 00012 } 00013 00014 short SimpleFilter::value(void) { 00015 return _filter_value >> _shift; 00016 }
Generated on Wed Jul 13 2022 18:05:52 by
