Optimizing Data Filtering Techniques for Removing Gaussian Noise in ADC Readings

  • Thread starter Topher925
  • Start date
  • Tags
    Adc Noise
In summary: Not sure what you are saying here. The first quote leads me to believe that 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?
  • #1
Topher925
1,566
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
  • #2
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.
 
  • #3
Another simple thought is to gain up the signal to drown out the noise, then rescale back down on the digital side.
 
  • #4
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.
 
  • #5
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.
 
  • #6
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.
 
  • #7
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.
 
  • #8
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).
 
  • #9
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.
 

1. What is ADC noise and why is it a problem?

ADC noise, or analog-to-digital converter noise, is the unwanted fluctuations or disturbances in the signal being measured by an ADC. It can be caused by various sources such as thermal noise, capacitive coupling, and power supply noise. ADC noise can be a problem because it can affect the accuracy and reliability of the measured data, making it difficult to obtain precise and meaningful results.

2. How can I measure ADC noise?

ADC noise can be measured by using a spectrum analyzer or an oscilloscope with FFT capabilities. The ADC output signal is analyzed in the frequency domain to identify the presence and level of any noise components. Specialized software and test equipment can also be used for more accurate and detailed measurements.

3. What are some ways to reduce ADC noise?

There are several methods for reducing ADC noise, including improving the grounding and shielding of the circuit, using low-noise components, adding external filters or amplifiers, and optimizing the ADC sampling rate and resolution. It is also important to minimize the distance between the ADC and the signal source to reduce the effects of noise-inducing factors such as line impedance and electromagnetic interference.

4. Can software techniques be used to eliminate ADC noise?

In some cases, software techniques such as averaging, oversampling, and digital filtering can be used to reduce ADC noise. These methods involve processing the ADC data to remove unwanted noise components while preserving the desired signal. However, it is important to note that software techniques may not always be effective in eliminating ADC noise and may also introduce additional errors or artifacts.

5. Are there any industry standards for ADC noise levels?

Yes, there are industry standards for ADC noise levels, such as SINAD (signal-to-noise and distortion ratio) and ENOB (effective number of bits). These standards specify the acceptable levels of noise in an ADC signal, which may vary depending on the application or industry. It is important to consult these standards and consider the specific requirements of the measurement before attempting to reduce ADC noise.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
2
Views
837
Replies
9
Views
1K
  • Electrical Engineering
Replies
11
Views
2K
Replies
9
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
873
  • Electrical Engineering
Replies
12
Views
9K
  • Set Theory, Logic, Probability, Statistics
Replies
4
Views
2K
  • Calculus and Beyond Homework Help
Replies
1
Views
1K
Replies
2
Views
4K
Replies
1
Views
8K
Back
Top