The dynamic range of 16 bits

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Re: The limit…

Pedja said:
… of the format. Lower than this will not go.

No, Pedja. You cannot make any such conclusions from the
output of a particular progam. Read what I told Kuei earlier
tonight in this thread about the dangers of trusting software.
Hey, even Fred agreed with me on that a few posts ago. :)

BTW, look at the number of different opinions on what the
smallest ecodable sine wave is amongst us in this thread.
Do you really think the programmers of those software
packages are necessarily any better equipped to give the
correct answer than any particular poster in this thread?
 
Re: The limit…

Pedja said:
… of the format. Lower than this will not go.

What on earth created that file? It's basically just a string of odd harmonics at the same level. Something you wouldn't even get with a periodic square pulse.
 

Attachments

  • weirdfft.jpg
    weirdfft.jpg
    78.5 KB · Views: 216
Re: Re: The limit…

Steve Eddy said:


What on earth created that file? It's basically just a string of odd harmonics at the same level. Something you wouldn't even get with a periodic square pulse.

So much for trusting software. Hey, I am a computer scientist,
why don't you listen to me when I say you shouldn't trust a
program? :)

A pedagogical example:
You see the difference between these two fragments of
FORTRAN?

FOR I=
FORI=

Yes, right, the only difference is that there is a blank in the first
one. This single missing blank in a probably very big program
once caused a sattelite crash. Must be one of the most expensive
programming mistakes ever, and most probably wasn't even
caused by imcompetence but just a typo. Fortunately, people
who worked in theoretical computer science realized that a
progamming language should be context free, so not both of
the pieces of code above are accepted by the compiler. Most
serious programming languages since maybe 40 years back
are context free, so at least such a typo won't set you back
a gigadollar. programs are still written in Fortran, however.
 
Rob M said:

He did describe how he did it, and I had no problem verifing it. Here's the results:
http://bulba.sdsu.edu/~malouf/1khz.zip

Do not see a point of usage of sweep signals, but nevertheless… Your first file has 0dB peak and I suppose that is not to be discussed. Your two second files both have peaks at -90.3dB, though FFT analysis shows different levels since duty cycles of the square signals are different. The peak is what is relevant. All the rest as FFT/RMS analysis is useless here (levels in them depend on the shapes of the waveforms). All we need to know is the absolute level of the smallest possible sample.

I looked again screen captures Steve posted. In all the Waveform Statistics it reads: minimum sample value -1, maximum sample value 1, peak amplitude -90.3dB. That means sample with value 1 gives the output of 90.3dB referenced to full level. Again, do not bother with FFT analysis and RMS values.

Pedja
 
Pedja said:
I looked again screen captures Steve posted. In all the Waveform Statistics it reads: minimum sample value -1, maximum sample value 1, peak amplitude -90.3dB. That means sample with value 1 gives the output of 90.3dB referenced to full level. Again, do not bother with FFT analysis and RMS values.

I think you need to go back and re-read the original claim which started this whole mess:

These are the ABSOLUTE limits of the CD Format. Below this (-90.3db) or above this (0db) there is no way to record any Information.

Please explain why a signal which varies by at least +/-1/2LSB (96dB) will NOT be recorded. If that were the case, you'd have to say that NO information gets recorded that's not PRECISELY at some quantization level during the sampling period.

se
 
Pedja said:
I looked again screen captures Steve posted. In all the Waveform Statistics it reads: minimum sample value -1, maximum sample value 1, peak amplitude -90.3dB. That means sample with value 1 gives the output of 90.3dB referenced to full level. Again, do not bother with FFT analysis and RMS values.

You don't need to bother with FFT analysis or RMS values, but you -DO- need to take into account (using my valid 500Hz .WAV file, for example) the 1/2LSB DC offset that's throwing off your peak value. The peak value is actually 1/2LSB less than what you state and herein lies the confusion.
 
Pedja said:

I looked again screen captures Steve posted. In all the Waveform Statistics it reads: minimum sample value -1, maximum sample value 1, peak amplitude -90.3dB.

Right, so when you've got a signal with three different sample values, the minimum amplitude is -90.3db. I think everyone agrees on that. (I posted these .wav files not because I thought they were particularly enlightening, but to dispell any insinuation that Steve was trying to pull a fast one.)

I also think everyone would agree that one could create a .wav file with only two sample values, giving an amplitude of -96dB with some DC offset. Yes? It's not especially easy to do that with cooledit, but all that tells us is that cooledit doesn't handle DC offsets very well.

So, all this comes down to is whether the -90.3dB signal or the -96dB signal is the "smallest". That's just a matter of definition... fiddling with waveform editors isn't going to shed any light on the question.

Hmm, it looks like this is a job for a linguist after all. If it weren't the summer, I might send a student off to do some fieldwork in the engineering department. ;)
 
That a really big carpet...........

'It's not a difference between three possible output voltge levels and two. It's about a positive level and a negative level about the 0 axis."

'It's not a difference between three possible output voltage levels and two. It's about a positive level and a negative level about the 0 axis."

The Stereophile shows a 90.3 dB output as the smallest output voltage step from zero volts to a positive voltage followed by a transition from zero volts to the smallest negative voltage step. The smallest voltage output step being the smallest voltage magnitude change in response to a digital input word change. One of the possible DAC output states to a digital input word is zero volts.

Lets count on your fingers since I am not sure how many toes you have left.

1 ...... the smallest positive voltage increment

2 ...... zero volts

3 ....... the smallest negative voltage increment

It follows that the -96 dB waveform will contain two possible output voltages as it is half the amplitude and can only use the smallest output increment that the DAC will produce in response to a change in the input word to the DAC digital input.

That being:

1....... zero volts

2....... the smallest positive voltage increment

OR (but not both or you will be at the conditions for the -90.3 dB wave form above)

1....... zero volts

2....... the smallest negative voltage increment

In the COOL EDIT outputs in the following post

http://www.diyaudio.com/forums/showthread.php?postid=194988#post194988

You show three distinct out voltage states, The smallest possible out put from the DAC has 2 states. Don't drag out any subterfuge about DC offset or 1/2 LSB ......... two does not equal three! Put down your keyboard and calculator, hold up your fingers and count with me.

1.......2........3

When you demonstrate that you can count to three I will be happy to talk about logarithms and 65,535 discrete levels ............ (the DACs full scale positive voltage is the full scale negative voltage minus the smallest voltage step)

Or maybe you are, as John Cleese put it, arguing on your own time.
 

Attachments

  • 96dbwave.jpg
    96dbwave.jpg
    38.5 KB · Views: 256
Steve Eddy said:
This is getting ridiculous.

GO READ A BOOK!

se

It shouldn't be necessary to read a book to see that the three
(or how many was it?) waveforms clearly differ, although they
all have three discrete levels. Since they are all encodings of
sines, they thus cannot have the same amplitude. Maybe the
confusion is about what we mean by theoretical limit. Although
I think about myself when posting my program and wavefom
earlier, it suddenly becomes obvious when looking at your
waveforms that I, and probably many others, have missed
something. The question should more properly be phrased,
what is the smallest signal we can encode and reconstruct
assuming a perfect LP filter. Or maybe this isn't quite the correct
phrasing either, but clearly the "duty cycle" (sloppily used for
ternary signal without defining it, but I think you get it) is
different for the three signals, which gives a modulation
(pulse density modulation?).
 
twos complement or threes insult?

I own the first and the fourth (all the fingers on one hand except your thumb) edition of Principles of Digital Audio.

I also have the data sheet for Burr Brown PCM56 DAC

http://katalogi.iele.polsl.gliwice.pl/en/download.php?id=4083

I will try again...........


DIGITAL INPUT (BTC) DAC Output ANALOG Voltage (V),

7FFF Hex +Full Scale +2.999908
8000 Hex – Full Scale –3.000000
0000 Hex Bipolar Zero 0.000000
FFFF Hex Zero –1LSB –0.000092

TABLE I. Digital Input to Analog Output Relationship.

92e-6 divided by 6 is -96.3dB

On page 41 of Principles of Digital Audio:

Figure 29 A shows the square wave generated by a 1 kHz sinewave with an amplitude of 1/2 LSB.

It has two values, there is no zero volt value as shown in the waveform under dispute in my previous post, other than the leading and falling edges of the square wave. I am thrilled to see you reference a book as I often do and recommend others do, but it does not support your premise of the wave form being that of the smallest signal possible, that with an amplitude of 1/2 LSB. Perhaps that page is missing from your copy? Shall I mail you a copy of this page?
 

Attachments

  • 96sine.jpg
    96sine.jpg
    14.4 KB · Views: 217
Re: That a really big carpet...........

Fred Dieckmann said:
'It's not a difference between three possible output voltge levels and two. It's about a positive level and a negative level about the 0 axis."

'It's not a difference between three possible output voltage levels and two. It's about a positive level and a negative level about the 0 axis."

The Stereophile shows a 90.3 dB output as the smallest output voltage step from zero volts to a positive voltage followed by a transition from zero volts to the smallest negative voltage step. The smallest voltage output step being the smallest voltage magnitude change in response to a digital input word change. One of the possible DAC output states to a digital input word is zero volts.


Screw stereophile. I am glad that the reciever in the spectrometer at works is showing the correct digital noise from the ADC when I remove the pre-amp and its thermal noise.;)
 
One, two, three... three or two, what do we need?

Steve Eddy said:
Please explain why a signal which varies by at least +/-1/2LSB (96dB) will NOT be recorded.
Huh, as we saw, LSB is -90dB and not -96dB :eek: . You are right, +/- 1/2LSB signals will be recorded, but they will be reproduced only as LSB.

Rob M said:
I also think everyone would agree that one could create a .wav file with only two sample values, giving an amplitude of -96dB with some DC offset. Yes? It's not especially easy to do that with cooledit, but all that tells us is that cooledit doesn't handle DC offsets very well.
So, all this comes down to is whether the -90.3dB signal or the -96dB signal is the "smallest". That's just a matter of definition... fiddling with waveform editors isn't going to shed any light on the question.

Yes, this will be the case in which you will have maximum sample value 1 and minimum sample value 0 (or maximum 0 and minimum -1)… It will be -90.3dB referenced to the matching half of the swing and -96.3dB referenced to the total available (p-p) swing. Really, in this case it is the interpretation that matters. Format is surely capable of giving 90dB dynamics range in the traditional sense (this should not be any relevant of course, but almost 20 years ago I read, dynamics is always calculated as resolution-in-bits minus one bit, and all that x 6 gives the result in dB), and can be described as 96dB if you assume the smallest possible amplitude change referenced to p-p amplitude.

Btw, I think SoundForge can be used for drawing of the waveforms, which is not a bad way to generate signals to fiddle.

And 20 years after, anyone have idea why with such numbers, and choose whatever you want among these appearing here, you have to work hard to get (subjectively) decent dynamics from CD?

Pedja
 
you have to work hard to get (subjectively) decent dynamics from CD?

Boy, are you right about that! The greatest thing that could happen for audiophiles, and the worst thing that could happen for pop fans (who outnumber us about a million to one) is the overnight disappearance of every compressor and limiter in every studio. And then the intelligence and guts of a producer to allow the average level to be low enough not to hit that last bit on peaks. And the patience of the CD producer to field all the complaints that people have to adjust their volume controls upward to make the recording "sound" good.

Digital recording/playback is unforgiving.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.