Optimizing Data Filtering Techniques for Removing Gaussian Noise in ADC Readings

  • Thread starter Thread starter Topher925
  • Start date Start date
  • Tags Tags
    Adc Noise
Click For Summary

Discussion Overview

The discussion revolves around optimizing data filtering techniques to remove Gaussian noise from ADC (Analog-to-Digital Converter) readings. Participants explore various filtering methods, circuit design considerations, and the impact of noise on signal integrity, with a focus on both theoretical and practical aspects of noise reduction in electronic systems.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Experimental/applied

Main Points Raised

  • One participant mentions using a Kalman filter for noise reduction but seeks alternatives, suggesting that low-pass and bandpass filters may not be effective due to the signal structure.
  • Another participant argues that if the ADC is producing more than +/-1 LSB error, the focus should be on identifying and correcting circuit issues rather than filtering.
  • A suggestion is made to amplify the signal to mask the noise before digital processing, followed by rescaling.
  • Several participants acknowledge the internal ADC's limitations due to shared silicon components and suggest that external ADCs would be a better solution, though parts availability is a concern.
  • One participant emphasizes the importance of power supply and reference noise, noting that ADCs are differential devices and sensitive to noise on both the reference and the signal being digitized.
  • Another participant describes their specific setup, highlighting challenges with shared grounds and the inability to slow the sampling rate to improve accuracy.
  • There is a discussion about the potential noise issues with commercial DAQs (Data Acquisition systems) and the suggestion to use pre-amplifiers or built-in noise reduction features.
  • One participant references a datasheet recommending low power states for microcontrollers during ADC sampling to reduce noise, indicating the importance of proper design practices.

Areas of Agreement / Disagreement

Participants express differing views on whether filtering or circuit redesign is the primary solution to the noise problem. While some suggest focusing on filtering techniques, others emphasize the need to address circuit design flaws and power supply issues. The discussion remains unresolved with multiple competing perspectives on the best approach.

Contextual Notes

Participants mention various factors that could contribute to noise, including circuit layout, shared grounds, and the characteristics of the ADC. There are references to specific technical limitations and design recommendations, but no consensus on a singular solution is reached.

Topher925
Messages
1,563
Reaction score
7
I have a circuit that is outputting a good solid analog signal which is being read by an AD converter. While the signal is good and noise free, the ADC is not and is adding a lot of gibberish to my signal which is being sent to a PC. As of now I have tried using a simple discrete kalman filter to numerically reduce the noise and it works fairly well but I think I need something better. Given the structure of the signal a low pass filter isn't going work and neither will any type of bandpass. Is there a numerical filter out there that is better than a kalman filter for removing gaussian noise from data?
 
Engineering news on Phys.org
If you are getting more than +/-1 LSB error from the ADC, you don't need filtering, you need to find out what's wrong with the circuit (i.e. where the noise is being injected).

Shorten the signal path wire runs, regulate the supply power better, rearrange the trace layout, impedence match the signal path if its a high freq signal or has coax runs, shield the inputs, etc. Once you get to within an LSB of error, THEN filter or average on the digital side.
 
Another simple thought is to gain up the signal to drown out the noise, then rescale back down on the digital side.
 
I already know the source of the noise, its from the fact that its an internal ADC on a chip that shares the same silicon as an oscillator, v-reg, FDTI, etc. I know the obvious answer is just use an external ADC, which I will do but this requires the United States Postal Service to actually do their jobs and deliver my parts when they are suppose to which they are apparently incapable of doing. So for now, I have to make do with what I have.

I am already at the max resolution of the ADC with an impedance matched input. I haven't tried to do anything to shield it yet but I suppose its worth a shot.
 
Topher925 said:
I already know the source of the noise, its from the fact that its an internal ADC on a chip that shares the same silicon as an oscillator, v-reg, FDTI, etc. I know the obvious answer is just use an external ADC, which I will do but this requires the United States Postal Service to actually do their jobs and deliver my parts when they are suppose to which they are apparently incapable of doing. So for now, I have to make do with what I have.

I am already at the max resolution of the ADC with an impedance matched input. I haven't tried to do anything to shield it yet but I suppose its worth a shot.


So you are saying that Microchip has been wasting their time building microcontrollers with all sort of peripherals including A/D convertors, pulse width modulators, internal oscillators running in the MHz regions, etc. all on the same chip? I'm not assuming you are using Microchip products, I'm just saying that I think you are overlooking something. I would believe if you are getting the sort of noise you claim to be then it is a problem with noise on a reference or power supply or something of this nature. Remember, ADCs are differential devices. The output depends on the reference as well as what you are digitizing. Noise on either one will cause noise in the output. Like someone already pointed out, anthing besides LSB 'jitter' indicates a problem.
 
I'm not using a single 1ksps chip where I can have my signal go directly to a pin and have control over the voltage reference and ground. I'm using a chip that is soldered onto a PCB with a shared ground for all the components, with breakout traces where I am sampling at 100ksps. If I slow the sampling rate down and allow a longer settling time then I can get to 1 LSB accuracy, but unfortunately that is not an option.
 
Topher925 said:
I already know the source of the noise, its from the fact that its an internal ADC on a chip that shares the same silicon as an oscillator, v-reg, FDTI, etc.
-
I'm not using a single 1ksps chip where I can have my signal go directly to a pin and have control over the voltage reference and ground. I'm using a chip that is soldered onto a PCB with a shared ground for all the components, with breakout traces where I am sampling at 100ksps. If I slow the sampling rate down and allow a longer settling time then I can get to 1 LSB accuracy, but unfortunately that is not an option.

Not sure what you are saying here. The first quote leads me to believe that you are faulting the fact that you have several systems on a single piece of silicon. The second quote tells me you have an ADC which may or may not share the same silicon with something else but is definitely sharing the same PC board along with shared grounds and possibly power with other sytems.
-
Technically whichever one it is is irrelevant because it sounds to me like poor power supply or reference decoupling.
 
Just to get one thing clear: When you write ADC you are actually referring to the input of a DAQ of some sort? I.e. a commercial device?
Most commercial DAQs are quite noisy and the problems you are mention are pretty common, especially if you need to sample as fast as 100ksps (where I work we never use commerical DAQs for any "critical" measurements).

Have you tried rolerbe's suggestion? I.e using pre-amp? It might help somewhat.
Also, some DAQs have various "noise reduction" features that can sometimes help when it comes to e.g. getting rid of 10MHz noise etc (or whatever reference frequency the DAQ is using).
 
Topher925 said:
I already know the source of the noise, its from the fact that its an internal ADC on a chip that shares the same silicon as an oscillator, v-reg, FDTI, etc. I know the obvious answer is just use an external ADC, which I will do but this requires the United States Postal Service to actually do their jobs and deliver my parts when they are suppose to which they are apparently incapable of doing. So for now, I have to make do with what I have.

I am already at the max resolution of the ADC with an impedance matched input. I haven't tried to do anything to shield it yet but I suppose its worth a shot.
If it anything like other SOC's I've used (like Atmel avr), Datasheet recommends to place the MPU into an low (mhz\power\idle state) state when taking ADC samples to reduce to noise.

For example look at this data sheet,
http://www.atmel.com/dyn/images/products/Icon_Acrobat.gif
Page 206, also look at the next two pages on "Analog Noise Canceling Techniques"
 
  • #10
Spaceball, I don't know how I missed that. I'll give it a shot and see what happens.
 
  • #12
Great reference Spaceball. I didn't know that either. Good to know.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 12 ·
Replies
12
Views
10K
Replies
17
Views
6K
Replies
2
Views
5K
Replies
9
Views
4K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 3 ·
Replies
3
Views
3K
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
9K