DSPRelated.com
Forums

Recommended name for ADC counts?

Started by Chris Bore January 29, 2013
When creating metadata for a signal I give names to the values - for instance 'volts' or 'Pascals'. Before calibration, a signal read from an ADC has a value that I tend to refer to as measured in 'ADC counts'. That sounds a bit clumsy - does anyone know of a routinely accepted name for that type of unit?

Thanks,

Chris Bore
BORES Signal processing
chris@bores.com
www.bores.com
On Tue, 29 Jan 2013 06:37:36 -0800, Chris Bore wrote:

> When creating metadata for a signal I give names to the values - for > instance 'volts' or 'Pascals'. Before calibration, a signal read from an > ADC has a value that I tend to refer to as measured in 'ADC counts'. > That sounds a bit clumsy - does anyone know of a routinely accepted name > for that type of unit? > > Thanks, > > Chris Bore BORES Signal processing chris@bores.com www.bores.com
Hey! Maybe we have enough gravitas to think of one ourselves and claim that it's industry standard! I also use "ADC counts", or just "counts". "Counts" is less confusing when you've got a system with both ADC counts and encoder counts running around. "LSB" works, too, and matches what you see on ADC and DAC data sheets, although I'll bet that _someone_ would get confused and think you're storing data logarithmically. Or, if we all started now (particularly Rick Lyons, who could misuse his well-earned notoriety) we could call them "bunnies" or something. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On 1/29/13 10:30 AM, Tim Wescott wrote:
> On Tue, 29 Jan 2013 06:37:36 -0800, Chris Bore wrote: > >> When creating metadata for a signal I give names to the values - for >> instance 'volts' or 'Pascals'. Before calibration, a signal read from an >> ADC has a value that I tend to refer to as measured in 'ADC counts'. >> That sounds a bit clumsy - does anyone know of a routinely accepted name >> for that type of unit? >>
...
> > Hey! Maybe we have enough gravitas to think of one ourselves and claim > that it's industry standard! > > I also use "ADC counts", or just "counts". "Counts" is less confusing > when you've got a system with both ADC counts and encoder counts running > around. "LSB" works, too, and matches what you see on ADC and DAC data > sheets, although I'll bet that _someone_ would get confused and think > you're storing data logarithmically.
when we model the whole system with analog and digital components, the value that comes out of the A/D is dimensionless. a number. a *pure* number. i don't think it should have any units. anymore than any other pure number. like 2.718281828 . both the A/D and the D/A have their own "Vref" value that is known. the A/D essentially divides the input voltage by Vref and scales that result with a known value (usually 2^(N-1) where N is the number of bits in the output word). the D/A divides by that scaler and multiplies by its Vref and the output has units "volts". (also that Zero-Order Hold transfer function is applied at the D/A model.) you might also scale it differently so that the rails on that value is -1 and +1 rather than +/- 2^(N-1). that would make sense if you have a fixed-point DSP where a left-justified implies that. i might *label* that value coming out of the A/D port as "raw data", but i would never attach any unit to it. it's just a number. a pure number.
> Or, if we all started now (particularly Rick Lyons, who could misuse his > well-earned notoriety) we could call them "bunnies" or something. >
:-) -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
On Tuesday, 29 January 2013 16:22:44 UTC, robert bristow-johnson  wrote:
> On 1/29/13 10:30 AM, Tim Wescott wrote: > > > On Tue, 29 Jan 2013 06:37:36 -0800, Chris Bore wrote: > > > > > >> When creating metadata for a signal I give names to the values - for > > >> instance 'volts' or 'Pascals'. Before calibration, a signal read from an > > >> ADC has a value that I tend to refer to as measured in 'ADC counts'. > > >> That sounds a bit clumsy - does anyone know of a routinely accepted name > > >> for that type of unit? > > >> > > ... > > > > > > Hey! Maybe we have enough gravitas to think of one ourselves and claim > > > that it's industry standard! > > > > > > I also use "ADC counts", or just "counts". "Counts" is less confusing > > > when you've got a system with both ADC counts and encoder counts running > > > around. "LSB" works, too, and matches what you see on ADC and DAC data > > > sheets, although I'll bet that _someone_ would get confused and think > > > you're storing data logarithmically. > > > > when we model the whole system with analog and digital components, the > > value that comes out of the A/D is dimensionless. a number. a *pure* > > number. i don't think it should have any units. anymore than any other > > pure number. like 2.718281828 . > > > > both the A/D and the D/A have their own "Vref" value that is known. the > > A/D essentially divides the input voltage by Vref and scales that result > > with a known value (usually 2^(N-1) where N is the number of bits in the > > output word). the D/A divides by that scaler and multiplies by its Vref > > and the output has units "volts". (also that Zero-Order Hold transfer > > function is applied at the D/A model.) > > > > you might also scale it differently so that the rails on that value is > > -1 and +1 rather than +/- 2^(N-1). that would make sense if you have a > > fixed-point DSP where a left-justified implies that. > > > > i might *label* that value coming out of the A/D port as "raw data", but > > i would never attach any unit to it. it's just a number. a pure number. > >
Thank you Tim and Robert. I agree the value is dimensionless, although a dimensionless quantity may still have units (for example that show its origin, as in 'm/m' for a ratio of lengths. I am thinking though of how the value should be labelled, for instance on the axis of a graph. ADC manufacturers, as Tim points out, tend to label as 'LSBs'. It would also be reasonable to label simply as 'ADC value'. My question was more to see if there is an accepted and commonly used term, but to establish a correct but new one (or the lack of one) is an option.
> > > > > Or, if we all started now (particularly Rick Lyons, who could misuse his > > > well-earned notoriety) we could call them "bunnies" or something. > > > > > > > :-) > > > > -- > > > > r b-j rbj@audioimagination.com > > > > "Imagination is more important than knowledge."
"Chris Bore" <chris.bore@gmail.com> wrote:

> When creating metadata for a signal I give names to the values - for > instance 'volts' or 'Pascals'. > Before calibration, a signal read from an ADC has a value that I tend to > refer to as measured in 'ADC counts'. > That sounds a bit clumsy - does anyone know of a routinely accepted name > for that type of unit?
For raw ADC values, I use the name of the net connected to this particular ADC input. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com
On Tue, 29 Jan 2013 08:51:55 -0800 (PST)
Chris Bore <chris.bore@gmail.com> wrote:
> > I agree the value is dimensionless, although a dimensionless quantity may still have units (for example that show its origin, as in 'm/m' for a ratio of lengths. I am thinking though of how the value should be labelled, for instance on the axis of a graph. ADC manufacturers, as Tim points out, tend to label as 'LSBs'. It would also be reasonable to label simply as 'ADC value'. My question was more to see if there is an accepted and commonly used term, but to establish a correct but new one (or the lack of one) is an option. >
I tend to use "codes" rather than counts, but same thing. And I agree, ascribing it a unit even though it's dimensionless is handy, for many of the same reason that keeping track of radians (equally dimensionless) is handy. The other unit I use is "fullscale". I go back and forth depending on the project and my mood as to whether my ADC outputs 12 integer bits worth of "codes", or 12 fractional bits of "fullscale". -- Rob Gaddi, Highland Technology -- www.highlandtechnology.com Email address domain is currently out of order. See above to fix.
On Tue, 29 Jan 2013 09:17:10 -0800, Rob Gaddi
<rgaddi@technologyhighland.invalid> wrote:

>On Tue, 29 Jan 2013 08:51:55 -0800 (PST) >Chris Bore <chris.bore@gmail.com> wrote: >> >> I agree the value is dimensionless, although a dimensionless quantity may still have units (for example that show its origin, as in 'm/m' for a ratio of lengths. I am thinking though of how the value should be labelled, for instance on the axis of a graph. ADC manufacturers, as Tim points out, tend to label as 'LSBs'. It would also be reasonable to label simply as 'ADC value'. My question was more to see if there is an accepted and commonly used term, but to establish a correct but new one (or the lack of one) is an option. >> > >I tend to use "codes" rather than counts, but same thing. And I agree, >ascribing it a unit even though it's dimensionless is handy, for many >of the same reason that keeping track of radians (equally >dimensionless) is handy. > >The other unit I use is "fullscale". I go back and forth depending on >the project and my mood as to whether my ADC outputs 12 integer bits >worth of "codes", or 12 fractional bits of "fullscale". >
When dealing in the raw numbers I've always found LSBs to be the most useful and easily understood. For a lot of signal processing stuff if it's in DB it's DBFS (from fullscale, as Rob suggested). Sometimes, like for some phase detectors, I use MSBs. I think if there was a unit that would stick easily with broad application it probably would have done so already. On rare occassion when the signal is proportional to a physical measurement it is useful to assign units, but usually something like psi/LSB. Usually there's an oddball scaling factor involved which makes it unhandy, but having the proportional units come along with the signal can help a lot in system analysis or interpreting results. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Tue, 29 Jan 2013 11:22:44 -0500, robert bristow-johnson wrote:

> On 1/29/13 10:30 AM, Tim Wescott wrote: >> On Tue, 29 Jan 2013 06:37:36 -0800, Chris Bore wrote: >> >>> When creating metadata for a signal I give names to the values - for >>> instance 'volts' or 'Pascals'. Before calibration, a signal read from >>> an ADC has a value that I tend to refer to as measured in 'ADC >>> counts'. That sounds a bit clumsy - does anyone know of a routinely >>> accepted name for that type of unit? >>> > ... >> >> Hey! Maybe we have enough gravitas to think of one ourselves and claim >> that it's industry standard! >> >> I also use "ADC counts", or just "counts". "Counts" is less confusing >> when you've got a system with both ADC counts and encoder counts >> running around. "LSB" works, too, and matches what you see on ADC and >> DAC data sheets, although I'll bet that _someone_ would get confused >> and think you're storing data logarithmically. > > when we model the whole system with analog and digital components, the > value that comes out of the A/D is dimensionless. a number. a *pure* > number. i don't think it should have any units. anymore than any other > pure number. like 2.718281828 . > > both the A/D and the D/A have their own "Vref" value that is known. the > A/D essentially divides the input voltage by Vref and scales that result > with a known value (usually 2^(N-1) where N is the number of bits in the > output word). the D/A divides by that scaler and multiplies by its Vref > and the output has units "volts". (also that Zero-Order Hold transfer > function is applied at the D/A model.) > > you might also scale it differently so that the rails on that value is > -1 and +1 rather than +/- 2^(N-1). that would make sense if you have a > fixed-point DSP where a left-justified implies that. > > i might *label* that value coming out of the A/D port as "raw data", but > i would never attach any unit to it. it's just a number. a pure > number.
So I should stop using "radians", "radians/second", etc., in any calculations involving angles or frequencies? -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com
On Tue, 29 Jan 2013 17:29:33 +0000, Eric Jacobsen wrote:

> On Tue, 29 Jan 2013 09:17:10 -0800, Rob Gaddi > <rgaddi@technologyhighland.invalid> wrote: > >>On Tue, 29 Jan 2013 08:51:55 -0800 (PST) Chris Bore >><chris.bore@gmail.com> wrote: >>> >>> I agree the value is dimensionless, although a dimensionless quantity >>> may still have units (for example that show its origin, as in 'm/m' >>> for a ratio of lengths. I am thinking though of how the value should >>> be labelled, for instance on the axis of a graph. ADC manufacturers, >>> as Tim points out, tend to label as 'LSBs'. It would also be >>> reasonable to label simply as 'ADC value'. My question was more to see >>> if there is an accepted and commonly used term, but to establish a >>> correct but new one (or the lack of one) is an option. >>> >>> >>I tend to use "codes" rather than counts, but same thing. And I agree, >>ascribing it a unit even though it's dimensionless is handy, for many of >>the same reason that keeping track of radians (equally dimensionless) is >>handy. >> >>The other unit I use is "fullscale". I go back and forth depending on >>the project and my mood as to whether my ADC outputs 12 integer bits >>worth of "codes", or 12 fractional bits of "fullscale". >> >> > When dealing in the raw numbers I've always found LSBs to be the most > useful and easily understood. For a lot of signal processing stuff if > it's in DB it's DBFS (from fullscale, as Rob suggested). > > Sometimes, like for some phase detectors, I use MSBs. > > I think if there was a unit that would stick easily with broad > application it probably would have done so already. > > On rare occassion when the signal is proportional to a physical > measurement it is useful to assign units, but usually something like > psi/LSB. Usually there's an oddball scaling factor involved which > makes it unhandy, but having the proportional units come along with the > signal can help a lot in system analysis or interpreting results.
On those even rarer occasions where I have the luxury of using floating point numbers, the signal gets labeled with the appropriate units. I suppose that if you were using fractional values and had enough headroom you could arrange your scaling so that (for instance) a 0-10V reading would get converted to fractional then multiplied out so the result was in kV. That doesn't scan for me, though. -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com
On 1/29/2013 12:34 PM, Tim Wescott wrote:
> On Tue, 29 Jan 2013 11:22:44 -0500, robert bristow-johnson wrote: > >> On 1/29/13 10:30 AM, Tim Wescott wrote: >>> On Tue, 29 Jan 2013 06:37:36 -0800, Chris Bore wrote: >>> >>>> When creating metadata for a signal I give names to the values - for >>>> instance 'volts' or 'Pascals'. Before calibration, a signal read from >>>> an ADC has a value that I tend to refer to as measured in 'ADC >>>> counts'. That sounds a bit clumsy - does anyone know of a routinely >>>> accepted name for that type of unit? >>>> >> ... >>> >>> Hey! Maybe we have enough gravitas to think of one ourselves and claim >>> that it's industry standard! >>> >>> I also use "ADC counts", or just "counts". "Counts" is less confusing >>> when you've got a system with both ADC counts and encoder counts >>> running around. "LSB" works, too, and matches what you see on ADC and >>> DAC data sheets, although I'll bet that _someone_ would get confused >>> and think you're storing data logarithmically. >> >> when we model the whole system with analog and digital components, the >> value that comes out of the A/D is dimensionless. a number. a *pure* >> number. i don't think it should have any units. anymore than any other >> pure number. like 2.718281828 . >> >> both the A/D and the D/A have their own "Vref" value that is known. the >> A/D essentially divides the input voltage by Vref and scales that result >> with a known value (usually 2^(N-1) where N is the number of bits in the >> output word). the D/A divides by that scaler and multiplies by its Vref >> and the output has units "volts". (also that Zero-Order Hold transfer >> function is applied at the D/A model.) >> >> you might also scale it differently so that the rails on that value is >> -1 and +1 rather than +/- 2^(N-1). that would make sense if you have a >> fixed-point DSP where a left-justified implies that. >> >> i might *label* that value coming out of the A/D port as "raw data", but >> i would never attach any unit to it. it's just a number. a pure >> number. > > So I should stop using "radians", "radians/second", etc., in any > calculations involving angles or frequencies? >
Actually, it's not a "pure" number. Each count of the ADC represents some voltage and that is always considered when doing signal processing, for example calculating dB between two values of ADC readings, the multiplier will be 20, not 10 because it the ADC is measuring voltage... unless that voltage represents some other quantity like... power. The measurement has some units. The question is about what to label the ADC reading before it has been scaled, that's all. I say label it by the quantity the input to the ADC represents. Rick