View Single Post
  #4   Spotlight this post!  
Unread 17-01-2009, 19:10
bayesianlogic bayesianlogic is offline
ekzept
AKA: Jan Theodore Galkowski
no team
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Cambridge, MA
Posts: 7
bayesianlogic is an unknown quantity at this point
Re: Encoders — Noise

Well, while I don't know anything about the details of these encoders, averaging -- presumably over some kind of lagging window -- is not the best approach. First of all, averaging is sensitive to outliers, so one spike will pull the mean of a group of samples high for the duration of the time it remains in the window. Second, averaging will lag the current value by typically a half window width, possibly longer, even if the window is optimally weighted. It's possible that because it's an encoder, the lag isn't so critical. Third, it depends upon how many impulsive values you get in a typical timeframe and whether these are bursty or not. Bursts are difficult to handle without introducing lags no matter what's done. If lag's a problem, getting a better sensor might be your only answer.

The other approaches are to use a different kind of processing. Instead of averaging, try a median in a window having an odd number of taps. You might also look into hysteresis smoothing, although if the signal is really impulsive or bursty, that won't help much. You could try combinations.

It's difficult to recommend more without looking at a dataset capturing a series of outputs from such an encoder.
Reply With Quote