Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to get rid of ADC noise.

  1. Mar 5, 2009 #1
    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?
     
  2. jcsd
  3. Mar 6, 2009 #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.
     
  4. Mar 6, 2009 #3
    Another simple thought is to gain up the signal to drown out the noise, then rescale back down on the digital side.
     
  5. Mar 6, 2009 #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.
     
  6. Mar 6, 2009 #5

    Averagesupernova

    User Avatar
    Science Advisor
    Gold Member


    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.
     
  7. Mar 6, 2009 #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.
     
  8. Mar 6, 2009 #7

    Averagesupernova

    User Avatar
    Science Advisor
    Gold Member

    -
    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.
     
  9. Mar 6, 2009 #8

    f95toli

    User Avatar
    Science Advisor
    Gold Member

    Just to get one thing clear: When you write ADC you are actually refering 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).
     
  10. Mar 7, 2009 #9
    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"
     
  11. Mar 9, 2009 #10
    Spaceball, I don't know how I missed that. I'll give it a shot and see what happens.
     
  12. Mar 9, 2009 #11
    Last edited by a moderator: Apr 24, 2017
  13. Mar 11, 2009 #12
    Great reference Spaceball. I didn't know that either. Good to know.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook