# White Paper Discuss: Increasing A/D Resolution Using Noise

Thread created automatically to discuss a document in the White Papers.

Increasing A/D Resolution Using Noise by Chris Hibner

interesting idea
but if you are willing to sacrifice bandwidth to get resolution (sample each reading 10 times)

then why not ride a very precise sawtooth waveform on the input signal, with an amplitude = the lsb resolution of the ADC?

then all you need to do is see which of the ten subsamples pushes the input over the next threshold, and you will know precisely how far below the threshold the real signal is.

?

*Originally posted by KenWittlief *
**interesting idea
but if you are willing to sacrifice bandwidth to get resolution (sample each reading 10 times)

then why not ride a very precise sawtooth waveform on the input signal, with an amplitude = the lsb resolution of the ADC?

then all you need to do is see which of the ten subsamples pushes the input over the next threshold, and you will know precisely how far below the threshold the real signal is.

? **

Just curious about the concept. This reminds me of, quite simply, a Vernier scale on a set of calipers, for example. Would that, more or less, be what you’re explaining?

yes, a saw tooth wave form increases at a steady rate, you would have it increase across the lsb range of the ADC in ten sample peroids

and ‘sub’ sample the data ten times as the sawtooth ramps up. Depending on where the real data is between the two ADC levels, it will either cross over the next threshold on the first sample, the second, the third…

*Originally posted by KenWittlief *
**interesting idea
but if you are willing to sacrifice bandwidth to get resolution (sample each reading 10 times)

then why not ride a very precise sawtooth waveform on the input signal, with an amplitude = the lsb resolution of the ADC?

then all you need to do is see which of the ten subsamples pushes the input over the next threshold, and you will know precisely how far below the threshold the real signal is.

? **

Ken,

There are a couple of reasons this isn’t done in practice.

1. Money. If you can afford to put a very precise waveform generator on your board, you can afford an A/D with much better resolution.

2. Environment. Most of these A/Ds are subjected to though environments (i.e. automotive applications). The temperature can be from -40 to over 100 degrees C. The humidity can vary greatly, and the parts will age over 10 years. All of these factors will affect the A/D as well as any waveform generator. In other words, the waveform generator will not be very precise.

Also, typically bandwidth is not an issue. You are typically trying to measure very low frequency signals and are sampling at a very high rate. For example, if you’re integrating angular rate into heading, the real frequency of the signal you’re trying to measure is on the order of 10 Hz. With our new controller we should be able to sample at around 500 Hz, so using some of the bandwith is no problem.

-Chris

I think the waveform generator would be easier to make accurate and precise over a wide temp range than the ADC would be.

sawtooth waves are easy to generate, and if you feed it through a high gain op amp with lots of negative feedback, the gain will be very precise and stable over temp.

The problem I have with the random noise idea is the random part - random noise is only random over many many samples - over ten, you can get extreems in either direction, so in the short term your signal will be jumping around.

Another way to get more resolution from an ADC is to interpolate the data. If its changing (like an audio waveform) you can oversample the data and interpolate where it would be between the LSBs on the subsamples.

You kinda jumped around in your reply between automotive applications, and what we do on the Bots. I think for the kind of brute force machines we build most of the time for FIRST, 256 degrees of resolution is more than enough anyway :^)

*Originally posted by KenWittlief *
** Another way to get more resolution from an ADC is to interpolate the data. If its changing (like an audio waveform) you can oversample the data and interpolate where it would be between the LSBs on the subsamples.
**

Ken,

Oversampling is one of the applications for what is described in the white paper. When they say “10 times oversampling”, that typically means that they take 10 samples and average them.

There are other applications for this theory. I didn’t make this stuff up - using noise for resolution is standard practice in the signal processing industry.

-Chris

Thank you Chris. I’ve been able to apply some of the stuff I learned from this whitepaper to a project for one of my classes.