I was trying to convey the concept, but if the details are important:

I'll still do the basic concept in decimal because that is what MOST
humans are more comfortable in, then I'll go into the actual binary
details.

DACs used normalised integers. The important concept is what is called
Full Scale or FS for short. The official CD standard says that FS
produces 2 volts on the output jacks. No matter how many digits are used
to reperesnt the numbers, the largest one it can represent produces 2V.


For the sake of making things easy I'll do an example in decimal. Lets
say you have two digits to play with, this gives a range of 0 - 99. To
make this easy lets say full scale is defined as 100. Thus the maximum
value you can get is 99/100 = .99FS.

Lets then go to a system with 3 digits, you now have 0-999 as possible
values, BUT we also change the definition of FS to 1000, so the maximum
value is now 999/1000 = .999FS. IF we take our original 99 and convert
it to the second system we add  a a zero to the right, which gives us
990, thus 990/1000 = .99FS. You will get exactly the same voltage from
the output. 

If you've followed this you have now realized tat the maximum number
(999 in this example) isn't really the defined FS (1000). Thus you will
never actually get exactly 2V from the output, but you can get very
close. (The more digits the closer you can get)

Now to the REAL nitty gritty details. In reality twos complement
integers are used. This is a way of representing both positive and
negative numbers as integers. Here is a simple 4 bit example. Zero is
represented as 0000, one is 0001, two is 0010 etc, just what you would
expect from binary representation. The fun part is when it goes
negative, minus 1 is 1111, minus 2 is 1110 etc. This is done so that if
you add minus one and plus one you get zero. An interesting aspect of
this is that you can go from (in this example) minus 8 to plus 7. This
system would get mapped to minus 1 to plus 1 volts, its still a two volt
range. 

In this case FS gets slightly more complicated because you have to deal
with negative numbers. For the 4 bit case its still common to say FS is
16, even though its really -8 to +8. You still have the issue that you
can never quite hit FS on the top (but you can on the bottom!)

Adding bits works the same way as with the decimal example. The
integers get bigger but so does FS. Adding zeros to the right does the
same thing, the ratio of FS stays exactly the same so the voltage you
get from the DAC does not change. 

When adding zeros in this way its perfectly legitimate to call this
"bit perfect" because the voltage output from the DAC does not change. 

For completeness the numbers for a 16 bit system are:

FS = 65536
min = -32768
max =  32767

For 24 bit its:

FS = 16777216
min = -8388608
max =  8388607

In both cases that maps to -1 to +1 on the output of the DAC.

So there you have the details. 

Just don't ask WHY you want to add zeros, THATS another post!

John S.


-- 
JohnSwenson
------------------------------------------------------------------------
JohnSwenson's Profile: http://forums.slimdevices.com/member.php?userid=5974
View this thread: http://forums.slimdevices.com/showthread.php?t=71345

_______________________________________________
Touch mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/touch

Reply via email to