Smoothing/Filtering Data from Analog to Digital Converter

Click For Summary

Discussion Overview

The discussion revolves around techniques for filtering noise from data obtained through an analog to digital converter. Participants explore various smoothing and filtering methods, particularly focusing on approaches that minimize data loss while dynamically processing incoming data.

Discussion Character

  • Exploratory, Technical explanation, Debate/contested

Main Points Raised

  • One participant expresses concern that averaging techniques may lead to excessive data loss and seeks alternative filtering methods.
  • Another participant suggests using a digital low-pass filter as a potential solution.
  • A different participant proposes an alternative method involving identifying samples that differ significantly from their preceding samples, indicating potential errors due to high derivatives.
  • This participant also recommends replacing erroneous samples with linear or cubic spline interpolations of nearby samples.
  • A later reply acknowledges the proposed derivative approach as a promising method but notes challenges in elegantly determining error points.

Areas of Agreement / Disagreement

Participants present multiple approaches to filtering noise, indicating that there is no consensus on a single best method. The discussion remains open to various techniques and their effectiveness.

Contextual Notes

Participants have not fully resolved the specific criteria for identifying erroneous points in the data, nor have they established the effectiveness of the proposed methods in practice.

j777
Messages
148
Reaction score
0
Hi,

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).


Thanks
 

Attachments

  • graph.jpg
    graph.jpg
    12.8 KB · Views: 549
Mathematics news on Phys.org
Pass it through a digital low-pass filter.

- Warren
 
Ok. If that is the best way I'll post further questions about the low-pass filter in the EE forum. Thanks.
 
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
 
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.
 

Similar threads

Replies
17
Views
6K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 11 ·
Replies
11
Views
4K
Replies
7
Views
4K
  • · Replies 28 ·
Replies
28
Views
6K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 8 ·
Replies
8
Views
4K