Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

How to increment A/D resolution ?

Status
Not open for further replies.

sbayeta

New Member
Hi,
I have a PIC microcontroller with 6 A/D converters, 8 bits of resolution.
I need to make these 3 A/D converters, 16 bits of resolution.

I'm thinking in dividing the dynamic range (0-5V) in two and use an A/D for each segment.

Does anyone have intresting ideas on this, suggested alternatives, suggested circuits ?

Thanks a lot

Cheers
 
Here are some thoughts. Assuming the analog signal has a dynamic range 0 to Vmax.

For the LSB A/D I need an op.amp. that will reproduce the original signal with gain (2*Vmax)/5V, and will be saturated (5V output) for inputs greater than Vmax/2.

For the MSB A/D I need another op.amp. that will substract Vmax/2 from the original signal, and will also have gain (2*Vmax)/5V.

Any suggestios ?
 
Using over-sampling technique you can increase ADC resolution to a considerable amount. In over-sampling the signal sampling rate is much higher than required. According to theory, for each four times increase in sampling rates you can effectively increase 1-bit of resolution. Search google for over-sampling algorithms.
 
kinjalgp said:
Using over-sampling technique you can increase ADC resolution to a considerable amount. In over-sampling the signal sampling rate is much higher than required. According to theory, for each four times increase in sampling rates you can effectively increase 1-bit of resolution. Search google for over-sampling algorithms.
Thanks for that tip. I read googled about that, and it's a nice algorithm, although it's not suitable for my app. as I need a very high resolution, and I'm not concerned about SNR (my siglnal is well filtered DC).

So I still need to increment the resolution. Any suggestions ? What do you think about dividing the dynamic range ?

Thanks in advance.
 
In theory, you can do an 8 bit conversion, convert that back to analog with a D/A, subtract the result from the input, amplify the difference by 256, and send that to another 8 bit A/D. The problem is that, in order to get 16 bit accuracy, the first converter, even though its resolution is only 8 bits, needs to be 16 bits accurate. The D/A also needs to be 16 bits accurate, and so does the gain of the amplifier. There is a way to eliminate the gain accuracy requirement, but it is complex and may not be applicable to your situation.
I think the bottom line is - you need a 16 bit A/D.
 
If your signal is well filtered DC, then it is very easy to increase the ADC resolution. If you want one 9-bit sample, get four 8-bit samples and use over-sampling technique to get 1-bit increment. For 10-bits, get sixteen 8-bit samples.

Similary for increasing resolution by 8-bits, all you got to do is for one 16-bit sample take 65536, 8-bit samples (I guess :roll: read the algorithm datails carefully) and process them.

The disadvantage of this technique is the time consumed in data processing and collection of samples. If low data rate is not a problem for you then go for this solution.
 
kinjalgp said:
If your signal is well filtered DC, the it is very easy to increase the ADC resolution. If you want one 9-bit sample, get four 8-bit samples and use over-sampling technique to get 1-bit increment. For 10-bits, get sixteen 8-bit samples.

Similary for increasing resolution by 8-bits, all you got to do is for one simple you need to take 65536 samples (I guess :roll: read the algorithm datails carefully).

The disadvantage of this technique is the time consumed in data processing and collection of samples. If low data rate is not a problem for you then go for this solution.

Good point. My experience with A/D design was 25 years ago on analog video signals. We were lucky to get one sample per pixel in those days. :?
**broken link removed** has a really good theoretical and practical description of using oversampling to increase resolution. It appears that noise actually works in your favor when using this technique, and in fact, with low resolution (8 bit) A/D's, you might even have to add some externally generated white noise to the signal to be measured, and I am doubtful that you could get an extra 8 bits of resolution even by oversampling by 4^8=65536 times. It's worth a try, though. The hardware to add white noise is simple, and the software is basically free (unless you're paying for someone to write it).
 
That is a good link Ron.

I have done oversampling and increased resolution to 4-bit (from 12 to 16). But I have never tried beyond 4-bits. Lets see if this one gets through.
 
The real resolution isn't increased with oversampling. That's why this technique isn't good for me. It just enhances the SNR, and this is considered to be an increase in the "effective" resolution.
By the way, the technique I proppose in my first post won't work, as it will increase the resolution by 1 bit, and not double it as I assumed :roll:
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top