Searching \ for '[EE]: 12 bit ADC or amplify for 10 bit ADC?' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/io/atod.htm?key=adc
Search entire site for: '12 bit ADC or amplify for 10 bit ADC?'.

Exact match. Not showing close matches.
PICList Thread
'[EE]: 12 bit ADC or amplify for 10 bit ADC?'
2003\02\12@170315 by John Pearson

flavicon
face
I am still working on this stupid project, but what I need is to either connect a 12 bit adc  to my mpu, or amplify my signal  X 2 for the 10 bit adc that my mpu has built in. Which would be easier to accomplish and/or produce the best results.

If amplify, what type of amplifier would I want to use.

Thanks

John

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics

2003\02\12@175657 by Thomas Sefranek

face picon face
I think you have things backwards...
You can not add range to an A2D with an amplifier.

You want the BEST linearity in your amplifier...
Specify what signal you intend to amplify.

> {Original Message removed}

2003\02\12@182208 by John Pearson

flavicon
face
Yes, you are right. I don't know what I was thinking. "Never Mind"!

Thanks anyway

John
----- Original Message -----
From: "Thomas Sefranek" <spam_OUTtcsTakeThisOuTspamCMCORP.COM>
To: <.....PICLISTKILLspamspam@spam@MITVMA.MIT.EDU>
Sent: Wednesday, February 12, 2003 2:56 PM
Subject: Re: [EE]: 12 bit ADC or amplify for 10 bit ADC?


> I think you have things backwards...
> You can not add range to an A2D with an amplifier.
>
> You want the BEST linearity in your amplifier...
> Specify what signal you intend to amplify.
>
> > {Original Message removed}

2003\02\12@191820 by Larry Bradley

flavicon
face
There are a bunch of 12 bit serial A/D converters that you can use.

But depending on what you are trying to measure, the 10 bit on-board A/D
and an op-amp might be reasonable. It all depends on the resolution you
need. A 10 bit A/D, using a 4.096 volt reference (which is fairly common)
will give you 4 millivolts of resolution (in theory). The smallest signal
you can measure will be 4 mv (maybe), the largest will be 4.095 volts, and
the smallest difference between two voltages that you will be able to
detect is 4 mv (again, maybe).

Now, what do you want to do? If you need to resolve the difference between
to voltages to better that 4 mv, you need a higher resolution (more bits)
A/D converter.

However, if what you want to be able to do is measure voltages in a range
less than 0 to 4.095, (for example, you want to measure a maximum 10 mv
signal with 0.1 mv resolution), then you can use an op-amp to increase the
signal to the range of the A/D - 4 volts or so. Thus an op-amp with a gain
of 40 would boost your 0 to 10 mv signal to 0 to 4 volts, which the A/D can
handle.

It really depends on what you want to do.

As to using external A/D converts, again, it depends on what you are
measuring. A DC signal that might vary slowly? An A/C signal? What
frequency? etc etc.

Tell us more ...

Larry


At 02:13 PM 2/12/2003 -0800, you wrote:
{Quote hidden}

Larry Bradley
Orleans (Ottawa), Ontario, CANADA

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics

2003\02\12@192452 by Wagner Lipnharski

flavicon
face
Thomas Sefranek wrote:
> I think you have things backwards...
> You can not add range to an A2D with an amplifier.
>
> You want the BEST linearity in your amplifier...
> Specify what signal you intend to amplify.

hmmm.

I think the point is not exactly "range", but "resolution", and that is
what I believe he is looking for.

Suppose you have a signal to measure, that can swing from zero to 1000mV.
Suppose your 10 bits unipolar ADC reference voltage is 2000mV.
It means that when the signal is at span, your ADC would be using about
half its bits, or, (01 1111 1111) 01FFh.  So, in real, your system is using
only 9 bits for the whole range of the input signal, with a resolution of
1.953mV.

Suppose you change the ADC to an unipolar 12 bits, with the same reference
voltage of 2000mV.
Now, when reading the 1000mV signal, even that this 12 bits ADC is only
using 11 of its bits, it would be generating around (0111 1111 1111) 07FFh,
what is 2 more bits (4 times better), or, a resolution of 488uV.

Well, if you go back to the 10 bits ADC and amplify your input signal by 2,
now, at the input signal span, the ADC would be receiving 2000mV, so it
would be using all its 10 bits, doubling also the resolution to 976uV, when
comparing to the original 1.953mV without the front end amplifier.

The expression "ADC Range" for me, means what the ADC can embrace with its
bits, as a relation between the reference voltage  and the input signal
(range).  If you can extract more or less bits from an ADC using a
front-end amplifier, then you are changing the ADC range.

Of course, it can also be done by just changing the reference voltage,
whenever possible.

That is exactly what "auto-range" measurement units do, changing the input
signal, or, the reference voltage.

We did it in the past with a NTC metering unit.  The NTC "log" curve can be
separated in 3 parts, steep, linear and long.  Depending how you amplify
each of this parts, you can get a better transfer rate between the signal
and the output resolution, I mean, as closer to 45 degrees curve, the
better.  Our equipment was produced to offer an auto-range amplifier with 3
levels, so, selected by software, at any point of the curve we had the best
possible transfer rate. We adapted the ADC range to different points of the
NTC curve.

About the amplifier linearity, at very low resolution (10 or 12 bits), and
processing speed (low), I would not worry at all.  Any regular operational
amplifier, LM324 as example, would present a linearity that would be much
better than the ADC resolution error.

At any point in the measured signal, the 976uV resolution, lets say 1mV,
will only discriminate the signal at those steps.  If the measured signal
is 100.3mV, then amplified by 2, would be 200.6mV, the binary resolution
would show 200mV or 201mV.   The LM324 (not one of the best) would not
generate a linearity error bigger than the 600uV or 400uV introduced by the
ADC gross resolution.

We usually look for BEST linearity in amplifiers, when dealing with 24 bits
ADC, as we do in our equipments. At this level, the resolution is pretty
high, around 12nV, and here yes, overall circuitry linearity is very
important, including of course, operational amplifiers.

Wagner Lipnharski - email:  wagnerspamKILLspamustr.net
UST Research Inc. - Development Director
http://www.ustr.net - Orlando Florida 32837
Licensed Consultant Atmel AVR _/_/_/_/_/_/

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics

2003\02\12@204815 by John Pearson

flavicon
face
Thanks for the responce.

I am trying to measure a fairly stable DC voltage in the range of .200 to
2.000 volts. I need .001 volt resolution minimum.

The voltage wanders a bit but only in the realm of  milliseconds, and by
millivolts. I want to take many sample and average them.

{Original Message removed}

2003\02\13@045202 by Russell McMahon

face
flavicon
face
> I am trying to measure a fairly stable DC voltage in the range of .200 to
> 2.000 volts. I need .001 volt resolution minimum.
>
> The voltage wanders a bit but only in the realm of  milliseconds, and by
> millivolts. I want to take many sample and average them.

MINIMUM number of required steps is

   (2.000-0.200)/.001 = 1800

10 bits = 1024
11 bits = 2048
12 bits = 4096.

You really want 12 bits.

In a noiseless environment simply averaging multiple readings may very well
NOT give you an answer which is more
accurate than the resolution of the A2D converter. However, ....

There IS a way to use a 10 bit converter to get maybe 2 more bits if it is
sufficiently accurate and the method is applied well. This is termed
"dithering". Note that the ACCURACY of the converter and its RESOLUTION are
not the same. You can get arbitrarily good APPARENT extra resolution this
way but at some points the gains will be illusory.

Method:

- Add +/- 0.5 bits of RANDOM analogue noise to the signal (!)
   eg for a converter with a 1 millivolt step add 1 millivolt peak to peak
of random noise.
   A greater noise level may also work but there can be problems.

- Average N values (at least 4 in theory but as many as possible in
practice.

Reason it works: The true signal will be randomly perturbed towards one or
either of the values controlled by adjacent bit positions. On average it
will be moved towards or past each value by the inverse of its distance from
it.

Example:
Lets make this easier.
Say your converter has a 4 volt minimum step size
eg 0 4 8 16 32 etc volts
Say your actual signal is 5.3 volts
Assume your converter will return the value that is nearest to the true
value.
eg  4 = 4 +/- 1.9999999v actual
   8 = 8+/- 1.999999v actual etc

We add +/- 2 volts max amplitude random noise to the signal

Actual = 5.3.
After noise added = 5.3 +/-2 = 3.3 to 7.3

3.3 to 6,  a range of 2.7 volts,  will convert as 4
6 to 7.3, a range of 1.3 volts will convert as 8

As the signal is randomly distributed along this range the times that a 4
will occur are 2.7/(2.7+1.3) and an 8 will occur 1.3/(1.3+2.7) of the time.
2.7/4 = 0.675 of the time = 4
1.3/4 = 0.3250 of the time = 8

Over a large number of samples the average will be

   0.675 x 4 + 0.3250 * 8 = 5.3

Far out ! (or it will be if you've never met this before)

The ability of the A2D to accurately measure values near bit boundaries and
the randomness of the added noise will affect the accuracy which can be
achieved.

You could consider using an OTS Sigma delta converter rated at 12 to 16
bits. Theseare usually cheap for what they do but relatively slow. You could
also try Scott Datallos PIC code based Sigma Delta converter. Don't know if
it will achieve the number of bits that you need here or not (it might - see
Scott's information on PICLIst site). (search for Delta Sigma or Sigma
Delta)




           Russell McMahon

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\13@084346 by Olin Lathrop

face picon face
> I am trying to measure a fairly stable DC voltage in the range of .200
to
> 2.000 volts. I need .001 volt resolution minimum.
>
> The voltage wanders a bit but only in the realm of  milliseconds, and by
> millivolts. I want to take many sample and average them.

You need at least a 11 bit A/D.  A 10 bit A/D alone can not do what you
asked, regardless of how you scale the input or what reference voltage you
pick.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\13@085318 by Scott Dattalo

face
flavicon
face
On Thu, 13 Feb 2003, Russell McMahon wrote:

<snip>

> You really want 12 bits.

<snip>

> You could consider using an OTS Sigma delta converter rated at 12 to 16
> bits. Theseare usually cheap for what they do but relatively slow. You could
> also try Scott Datallos PIC code based Sigma Delta converter. Don't know if
> it will achieve the number of bits that you need here or not (it might - see
> Scott's information on PICLIst site). (search for Delta Sigma or Sigma
> Delta)

http://www.dattalo.com/technical/software/pic/a2d.asm

The "2-pin" version does have 12-bits of dynamic range. But 1) it's slow
2) the experiment was performed under controlled conditions. I'd like to
re-try this code with the F628's internal comparators. It'd still be slow,
but at least the comparator threshold is more stable than an I/O pin.

Scott

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\13@092129 by michael brown

picon face
From: "Scott Dattalo"


> On Thu, 13 Feb 2003, Russell McMahon wrote:

> > You could consider using an OTS Sigma delta converter rated at 12 to
16
> > bits. Theseare usually cheap for what they do but relatively slow.
You could
> > also try Scott Datallos PIC code based Sigma Delta converter. Don't
know if
> > it will achieve the number of bits that you need here or not (it
might - see
> > Scott's information on PICLIst site). (search for Delta Sigma or
Sigma
> > Delta)
>
> http://www.dattalo.com/technical/software/pic/a2d.asm
>
> The "2-pin" version does have 12-bits of dynamic range. But 1) it's
slow
> 2) the experiment was performed under controlled conditions. I'd like
to
> re-try this code with the F628's internal comparators. It'd still be
slow,
> but at least the comparator threshold is more stable than an I/O pin.

I just did something like this using the 628.  I only wanted 8 bits of
resolution, and it worked quite well.  It is slow though.  :-(  Dave
Tweed is "pretty good" at this stuff.  ;-)

michael brown

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\13@094254 by Larry Bradley

flavicon
face
John, further to this thread, look at the Analog Devices web site at their
low speed sigma-delta converters, such as the AD7705 - it's about $8 - it's
a 16 bit device.

Microchip has a line of cheap sigma-delta converters as well - look at the
TC3400. Problem is they are hard to find.

Also look at Maxim and Linear Technology and National Semiconductor - they
all have 12 bit serial A/D.

I like the Maxim ones with built in reference - I use the MAX 186 8 channel
unit and the MAX188 (I think that's the number) single channel unit.

Larry

At 02:13 PM 2/12/2003 -0800, you wrote:
{Quote hidden}

Larry Bradley
Orleans (Ottawa), Ontario, CANADA

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\13@121816 by Eric Brewer

flavicon
face
Take a peak at TI's ADC. They have several in the $2 range for 1 to 4 channels
with built in voltage ref. They are small TSSOP-16 or VSSOP-8 (or DIP for
easy prototyping ;-) Parts to look at: ADS7846, TSC2003, ADS7818. The
first two are touch screen controllers (TSCs).

For single or two channel use, the TSCs can be easily used. Using all four of
their channels requires a little more care.  The ADS7818 is a straight up 12
 bit ADC with internal vref.

Also look at the ADS7822 ($1.50). It needs an external vref. Packaged in 8 pin
DIP or SOIC or VSSOP.

Linear Tech has a couple of 12 bit ADCs in the $2.50 range. Look at
the LTC1860/1861.

cheers,
eric

{Quote hidden}

--

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\13@121833 by Alan B. Pearce

face picon face
>Also look at Maxim and Linear Technology and National
>Semiconductor - they all have 12 bit serial A/D.

So do Analog Devices. I have used the AD5326, which is an I2C device,
successfully, and I believe they also have an SPI version. They also have 10
and 8 bit versions that are pin and command identical.

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\13@132237 by Douglas Wood

picon face
John,

I forgot to tell you a couple of things about the schematic I sent you
eariler:

1) You can use any 4.095 V reference device you to; I used this device
because I needed an extended temperature range and the higher precision. You
should be able to find one that do not require the +12 V supply. Look at
Maxim.

2) There is an odd looking arrangement of resistors on the analog input
section (before the op-amp) that needed explaining (I'd forgotten that I did
this): This circuit was design to provide 10 M ohms of input impedence. I
had a problem with locating certain values of high-precision surface mount
resisitors in the package size I needed (VERY small, to say the least), so I
drew two parts options on the schematic and provided specified layout
requirements to my board layout guy. In production, the board would be
populated with ONLY ONE of the two options shown (either R14 OR both R12 &
R16, and either R15 OR both R13 & R17). DO NOT POPULATE BOTH!

3) The diode device, D1, is available (from DigiKey) in different packaging.
If you cannot find the 4-pack part, use the 2-pack part (same number,
different suffix, but I don't remember off the top of my head). Actually any
roughly similar diode would work; these diodes had a VERY low leakage
current (this schematic is part of a device that was powered by batteries).

4) The op amp (AD623) has an offset of 10 mV (according to the datasheet).
In this circuit it's actually closer to 15-17mV. For the purposes of my
software I rounded up to 20 mV. This should not be a problem for you since
IIRC your lower limit was 200 mV?

5) You probably won't need D5.

6) The amplifier circuit saturates somewhere around 3.5 V, so your effective
range is 0.020-3.500 V.

This circuit reads a very rock steady 1 mV resolution. This circuit was used
to read the voltage of a half-rectified power supply, so I took 512 readings
in two 60Hz AC cycles (33 mS). The ADC is capable of *MUCH* higher
conversion rates than that, and the rest of the circuit is fast enough to
keep up.

Douglas Wood
Software Engineer
.....dbwoodKILLspamspam.....kc.rr.com
ICQ#: 143841506

Home of the EPICIS Development System for the PIC
http://epicis.piclist.com

{Original Message removed}

2003\02\13@132447 by Douglas Wood

picon face
Sorry, group. That was meant to be off-list.

Douglas Wood
Software Engineer
EraseMEdbwoodspam_OUTspamTakeThisOuTkc.rr.com
ICQ#: 143841506

Home of the EPICIS Development System for the PIC
http://epicis.piclist.com

{Original Message removed}

2003\02\18@005315 by Roman Black

flavicon
face
Olin Lathrop wrote:

> > The voltage wanders a bit but only in the realm of  milliseconds, and by
> > millivolts. I want to take many sample and average them.
>
> You need at least a 11 bit A/D.  A 10 bit A/D alone can not do what you
> asked, regardless of how you scale the input or what reference voltage you
> pick.


Not really. :o) If he can add/subtract an (adjustable)
% to the reference voltage it should be *possible* to
interpolate another bit in accuracy. It's not easy and
would be messy in software but IT IS very possible.
-Roman

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@014411 by Russell McMahon

face
flavicon
face
> > You need at least a 11 bit A/D.  A 10 bit A/D alone can not do what you
> > asked, regardless of how you scale the input or what reference voltage
you

> Not really. :o) If he can add/subtract an (adjustable)
> % to the reference voltage it should be *possible* to
> interpolate another bit in accuracy. It's not easy and
> would be messy in software but IT IS very possible.

See my post reply a few days ago on "dithering".
By adding an LSB worth of random noise and averaging a number of readings
you can add typically 1 or 2 extra bits. Conceptually you can add any other
but YMWV as the number of extra bits increases.

It is a semi intuitive method but I explained how it works with a simple
example if people need convincing.


       RM

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@030254 by hael Rigby-Jones

picon face
{Quote hidden}

You can achieve this by simply oversampling.  IIRC you need to sample 4^n
times where n is the extra number of bits you require, so 4 times for 1 bit,
16 times for two bits etc.

Mike

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@055645 by Russell McMahon

face
flavicon
face
> > > > The voltage wanders a bit but only in the realm of  milliseconds,
and
> > by
> > > > millivolts. I want to take many sample and average them.

> > > You need at least a 11 bit A/D.  A 10 bit A/D alone can not do what
you
> > > asked, regardless of how you scale the input or what reference voltage
> >     you pick.

> > Not really. :o) If he can add/subtract an (adjustable)
> > % to the reference voltage it should be *possible* to
> > interpolate another bit in accuracy. It's not easy and
> > would be messy in software but IT IS very possible.

> You can achieve this by simply oversampling.  IIRC you need to sample 4^n
> times where n is the extra number of bits you require, so 4 times for 1
bit,
> 16 times for two bits etc.

Alas no. Oversampling will not help IF the signal is more stable than an
LSB. More info needed here but the above "wandering" signal is required to
be sampled to about 12 bits AFAIR. You have to ADD RANDOM NOISE to dither
the signal between the two adjacent bit positions. The time it spends closer
to one or other bit position will relate to its relative distance from each
position. If it just sits in about the same place (no noise added) it will
convert to the same value each time.

eg    A2D has 1 mV steps say.
Mean Vin = 1.5432
There is 0.2 mV variation in samples, approx equally distributed.

Range is therefore 1.5431 to 1.5433

ALL values will convert to 1.543 in this (contrived) example.
Adding +/- 0.5 mV of random noise will spread the values from 1.5426 to
1.5438
1.5426 to 1.5435 will convert as 1.543
1.5435 to 1.5438 will convert as 1.544
Mean value over many samples will be 1.54325 which is wrong (due to dither
in original signal) but near the true mean value of 1.5432.



       Russell McMahon

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@092908 by Olin Lathrop

face picon face
> > You need at least a 11 bit A/D.  A 10 bit A/D alone can not do what
you
> > asked, regardless of how you scale the input or what reference voltage
you
> > pick.
>
>
> Not really. :o) If he can add/subtract an (adjustable)
> % to the reference voltage it should be *possible* to
> interpolate another bit in accuracy. It's not easy and
> would be messy in software but IT IS very possible.

That's why I said 10 bit A/D *alone*.  What you are describing is the
beginnings of a residue converter.  Note that the adjustable voltage needs
to be accurate to the overall conversion requirements.  The high bits come
from the adjustable voltage, and the low bits from the low resolution A/D.
Getting the overlap between these just right is tricky.

Back in 1982 I designed a 12 bit 1MHz A/D using this technique.  It was
based on two 8 bit flash converters and a high accuracy 12 bit D/A.  I
assume nowadays such a thing is available in a chip or module, but back
then it wasn't.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@093125 by John Pearson

flavicon
face
Just want to add something. I was wrong about the voltage "wandering" a bit
over "millivolts". That is only how it looks on my DVM. It is actually very
noisy. Here is an application note, PDF, on the signal:
ehttp://www.motorola.com/brdata/PDFDB/docs/AN1646.pdf

This is good news then, correct?

Thanks for all the help.

John


{Original Message removed}

2003\02\18@093328 by Olin Lathrop

face picon face
> > Not really. :o) If he can add/subtract an (adjustable)
> > % to the reference voltage it should be *possible* to
> > interpolate another bit in accuracy. It's not easy and
> > would be messy in software but IT IS very possible.
> > -Roman
> >
> You can achieve this by simply oversampling.  IIRC you need to sample
4^n
> times where n is the extra number of bits you require, so 4 times for 1
bit,
> 16 times for two bits etc.

Oversampling won't do anything unless there is a little variation on the
input signal.  Consider the case where the input signal is rock solid.
Every time you read it you get 239.  How is 8, 16, or 32 readings of 239
going to tell you anything more about where the signal is between 238.5
and 239.5?


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@093529 by John Pearson

flavicon
face
Got the address wrong in last message. This should work:
e-http://www.motorola.com/brdata/PDFDB/docs/AN1646.pdf


{Original Message removed}

2003\02\18@095823 by hael Rigby-Jones

picon face
{Quote hidden}

Correct, the signal being measured needs an amount of noise.  However, in a
system with a 10+bit converter (especialy the PIC's) it's not unusual to
have enough noise to toggle at least the LSB occaisionaly.  It ceratinly
looks like the OP has a fairly noisy signal anyway.

Mike

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@135701 by hard Prosser

flavicon
face
Or you can add the dither to the reference voltage. - Sometimes easier to
apply at the right level & it applies to all channels.

RP





>>
Alas no. Oversampling will not help IF the signal is more stable than an
LSB. More info needed here but the above "wandering" signal is required to
be sampled to about 12 bits AFAIR. You have to ADD RANDOM NOISE to dither
the signal between the two adjacent bit positions. The time it spends
closer
to one or other bit position will relate to its relative distance from each
position. If it just sits in about the same place (no noise added) it will
convert to the same value each time.

eg    A2D has 1 mV steps say.
Mean Vin = 1.5432
There is 0.2 mV variation in samples, approx equally distributed.

Range is therefore 1.5431 to 1.5433

ALL values will convert to 1.543 in this (contrived) example.
Adding +/- 0.5 mV of random noise will spread the values from 1.5426 to
1.5438
1.5426 to 1.5435 will convert as 1.543
1.5435 to 1.5438 will convert as 1.544
Mean value over many samples will be 1.54325 which is wrong (due to dither
in original signal) but near the true mean value of 1.5432.



       Russell McMahon

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@171237 by Olin Lathrop

face picon face
> Or you can add the dither to the reference voltage. - Sometimes easier
to
> apply at the right level & it applies to all channels.

That's not such a good idea, because the amount of dither added to the
signal is proportional to the signal voltage.  You really want constant
amplitude noise added over the whole range.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@191912 by Russell McMahon

face
flavicon
face
> > Just want to add something. I was wrong about the voltage "wandering" a
> bit
> > over "millivolts". That is only how it looks on my DVM. It is actually
> very
> > noisy. Here is an application note, PDF, on the signal:
> > ewww.motorola.com/brdata/PDFDB/docs/AN1646.pdf
> >
> > This is good news then, correct?

Looks like it.
Noise is (very occasionally) your friend :-)
If there really is 12 bits of good data buried in that noise then averaging
will bring it out providing the noise is truly random. (If it's not then
that's another issue).

The app note pretty well covers it. You could go for averaging the raw
signal PROVIDED THAT you either have a fast enough sample and hold or that
the converter is much much faster than the noise frequency (latter is
unlikely). Attempting to convert without a S&H and with a successive
conversion A2D where the noise is significant and fast compared to the A2D
rate is that sucessive successive approximations may read data which has
varied significantly and produce conversions which are plain rubbish.

Smoothing, as they suggest, with a simple RC single pole filter will help
but you still want enough variability to allow averaging to work.



       Russell McMahon

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\18@231549 by John Pearson

flavicon
face
----- Original Message -----
From: "Russell McMahon" <spamBeGoneapptechspamBeGonespamPARADISE.NET.NZ>
To: <TakeThisOuTPICLISTEraseMEspamspam_OUTMITVMA.MIT.EDU>
Sent: Tuesday, February 18, 2003 4:18 PM
Subject: Re: [EE]: 12 bit ADC or amplify for 10 bit ADC?


{Quote hidden}

averaging
{Quote hidden}

Well this works better than I need! My BX24 with a 10 Bit ADC referenced to
5 volts is giving me more resolution than I need. I have time to average at
least 500 samples and it all works outstanding.

Thanks to all.

John

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2003\02\19@040841 by Roman Black

flavicon
face
Michael Rigby-Jones wrote:

> Correct, the signal being measured needs an amount of noise.  However, in a
> system with a 10+bit converter (especialy the PIC's) it's not unusual to
> have enough noise to toggle at least the LSB occaisionaly.  It ceratinly
> looks like the OP has a fairly noisy signal anyway.


Cheapest cleverest way to get some noise into the
ADC input? Small antenna track on PCB? Tiny cap
coupled to Vdd pin?? :o)
-Roman

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email RemoveMElistservspamTakeThisOuTmitvma.mit.edu with SET PICList DIGEST in the body

2003\02\19@042519 by Russell McMahon

face
flavicon
face
> > Correct, the signal being measured needs an amount of noise.  However,
in a
> > system with a 10+bit converter (especialy the PIC's) it's not unusual to
> > have enough noise to toggle at least the LSB occaisionaly.  It ceratinly
> > looks like the OP has a fairly noisy signal anyway.

> Cheapest cleverest way to get some noise into the
> ADC input? Small antenna track on PCB? Tiny cap
> coupled to Vdd pin?? :o)

Ideally (and to quite a reasonable degree in practice) the noise should be
an integral number of LSBs in magnitude (usually 1 LSB peak-peak) and be
randomly distributed. On reflection a triangle wave or saw tooth of 1 LSB
magnitude would work OK. The actual voltage needs to be "carried backwards
and forwards" wrt the adjacent bit conversion points. If the manner in which
this is done is NOT symmetric then the result will be skewed. A received
"all stations" radio signal will probably be quite random but guaranteed
amplitude would be more difficult without clipping etc.


           RM

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email listservEraseMEspam.....mitvma.mit.edu with SET PICList DIGEST in the body

2003\02\20@204453 by Dwayne Reid

flavicon
face
At 07:58 PM 2/19/03 +1100, Roman Black wrote:

>Cheapest cleverest way to get some noise into the
>ADC input? Small antenna track on PCB? Tiny cap
>coupled to Vdd pin?? :o)

I use the AC mains.  I adjust the sample rate such that I get an integral
number of samples in 1 AC period - 16, 64, 256, 1024 samples, depending
upon the project.

The bonus is that much (most) of the AC component is rejected should I be
sampling an input that has a lot of AC hum in it.  A couple of systems that
I had to interface with one time ran thermocouple transmitter wiring in the
same pipes as their 110Vac control wiring - I had no problems getting good
a/d results.  Surprised the heck out of me at the time - the AC content was
brutal.

If the a/d input is from something local, I'll inject about 1 LSB worth of
hum into the signal.  That's more than the theory says is necessary but I
seem to get better results.  On battery powered systems, I'll generate a
ramp or sawtooth from an available signal and make sure that my a/d sample
rate is harmonically related to half the signal rate (same number of
samples in each half-cycle).

dwayne

--
Dwayne Reid   <EraseMEdwaynerspamplanet.eon.net>
Trinity Electronics Systems Ltd    Edmonton, AB, CANADA
(780) 489-3199 voice          (780) 487-6397 fax

Celebrating 19 years of Engineering Innovation (1984 - 2003)
 .-.   .-.   .-.   .-.   .-.   .-.   .-.   .-.   .-.   .-
    `-'   `-'   `-'   `-'   `-'   `-'   `-'   `-'   `-'
Do NOT send unsolicited commercial email to this email address.
This message neither grants consent to receive unsolicited
commercial email nor is intended to solicit commercial email.

--
http://www.piclist.com hint: To leave the PICList
RemoveMEpiclist-unsubscribe-requestEraseMEspamEraseMEmitvma.mit.edu>

2003\02\21@201142 by Dave Tweed

face
flavicon
face
Olin Lathrop <RemoveMEolin_piclistspam_OUTspamKILLspamEMBEDINC.COM> wrote:
> > Or you can add the dither to the reference voltage. - Sometimes easier to
> > apply at the right level & it applies to all channels.
>
> That's not such a good idea, because the amount of dither added to the
> signal is proportional to the signal voltage.  You really want constant
> amplitude noise added over the whole range.

This can be made to work if you add the same dither to both the upper and
lower references simultaneously.

-- Dave Tweed

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads

More... (looser matching)
- Last day of these posts
- In 2003 , 2004 only
- Today
- New search...