Smoothing/Filtering Data from Analog to Digital Converter

In summary, the conversation discusses methods for filtering noise from data gathered from an analog to digital converter. Averaging techniques were considered, but concerns about data loss were raised. The recommendation is to use a digital low-pass filter or to find and remove samples with high derivative values and replace them with interpolated values. The latter approach is considered a better option and will be tried.
  • #1

I am trying to filter noise out of data gathered from an analog to digital converter. I've looked at averaging techniques but I fear that they cause too much data loss. Can anybody recommend other smoothing/filtering techniques that might result in less data loss and can be done dynamically as the data is read?

See the attachment to get an idea of what the noise looks like (the sharp spikes throughout the graph).



  • graph.jpg
    12.8 KB · Views: 436
Mathematics news on
  • #2
Pass it through a digital low-pass filter.

- Warren
  • #3
Ok. If that is the best way I'll post further questions about the low-pass filter in the EE forum. Thanks.
  • #4
It's one way -- but it's not necessarily the easiest. Since your signal is very low-frequency (as compared to Nyquist) you could also just find all the samples which are very different from the immediately preceding sample. In other words, find the difference between sample k and sample k-1, and look for large values. These are places where the derivative of the signal is very high -- but since you know the desired signal is slow, you know these points are errors.

Finally, remove any such samples, and replace them with a linear or cubic spline interpolation of the nearby samples.

- Warren
  • #5
That sounds like a better idea. I actually tried to implement something like what you have explained but failed to figure out an elegant way to determine if a point was in fact an error. Using the derivative of the signal seems like a good approach. I will give it a try...thank you.

What is an analog to digital converter (ADC)?

An analog to digital converter is a device that converts analog signals, which are continuous and variable, into digital signals, which are discrete and binary. This process is necessary for computers and other digital devices to process analog data.

Why is smoothing/filtering data important for ADCs?

Smoothing/filtering data is important for ADCs because analog signals often contain noise and fluctuations that can result in inaccurate digital conversions. By smoothing/filtering the data, these unwanted variations are removed, resulting in a more accurate and reliable digital signal.

What are some common techniques used for smoothing/filtering data from ADCs?

There are several common techniques used for smoothing/filtering data from ADCs, including moving average filters, low-pass filters, and median filters. These techniques involve averaging or removing high-frequency components from the data to reduce noise and fluctuations.

How do you determine the appropriate level of smoothing/filtering for ADC data?

The appropriate level of smoothing/filtering for ADC data depends on the specific application and the desired level of accuracy. Generally, a balance must be struck between reducing noise and preserving important signal characteristics. This can be achieved through experimentation and testing.

Are there any potential drawbacks to smoothing/filtering ADC data?

Yes, there can be potential drawbacks to smoothing/filtering ADC data. In some cases, too much smoothing/filtering can result in loss of important signal information, leading to inaccurate digital conversions. Additionally, smoothing/filtering can introduce a delay in the data, which may be problematic for time-sensitive applications.