Design Idea; Moving averager rejects noisy outlier values

July 07, 2016 // By David Vincenzoni
Measurements made in a noisy environment can exhibit sporadic disturbances. This Design Idea describes a digital circuit that removes outlier spikes without compromising bandwidth.

Smart moving average

The moving average is a process that continuously computes the average over N samples of data flowing through a FIFO (First In First Out) buffer. Every new sample added to the buffer will remove the oldest sample used to compute the previous mean value.


The smart moving-average is a variation on the theme; a digital circuit (Figure 1) where the idea is to collect the latest N measurements like a classical moving average, but new data will be added into the buffer ( Sx) only if its value is within set limits of the actual average of the previous N samples.



Figure 1. The smart moving-average circuit determines when to reject new data.


The Finite State Machine (FSM) of Figure 1 manages this task. Every new data sample is compared against a maximum and minimum which depend on the current mean value. The new value is discarded when it is beyond the set limits.



This Design Idea continues in the July/August digital edition of EDN Europe, in your in-box now or click here