Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: A Question of Bit Depth. (Read 10671 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

A Question of Bit Depth.

Bit depth and dynamic range in DB.  (excluding the effects of dithering) I have heard from various sources that :-

08 bit = 048 db
16 bit = 096 db
24 bit = 144 db

I have also heard from various sources that each "bit" equals an increase in dynamic range by 6 db.  This makes perfect sense in relation to the bit depths above.  But what about an audio file in PCM format that is 1 bit?  I cannot understand how 6 db of dynamic range could be represented in 1 bit. (or 2 bits equalling 12 db)

Does this mean that "each bit equalling 6 db of resolution" is true or false?

A Question of Bit Depth.

Reply #1
AFAIR, the equation for dynamic range for bit depth is:

20*log10((2^bitdepth)/2)
- Eugene 'HMage' Bujak

A Question of Bit Depth.

Reply #2
Why divide by 2 ? Your formula gives only 90 db for 16 bits.

The dynamic range is the level difference (20*log10(level ratio) ) between the quietest sound (1 step peak to peak) and the loudest possible one (2^bitdepht-1 steps peak to peak).

Thus the right formula is

20*log10(2^bitdepht-1).

It gives
Bitdepht / Dynamics

1 bit / 0 db
2 bits / 9.54 db
3 bits / 16.90 db
4 bits / 23.52 db
5 bits / 29.83 db
6 bits / 35.99 db

8 bits / 48.13 db

16 bits / 96.33 db

24 bits / 144.49 db

Past 4 bits, the amount of db is roughly 6 per new bit. The actual value comes closer and closer to 20log10(2) as the bitdepht increses (20log10(2) = aproximately 6.02059991... db)

With one bit, there is only one possible level different from zero, thus no dynamics (0 db).
With two bits, four levels are possible (00, 01, 10, and 11), one of them being zero. The quietest sound will range from 01 to 10 (whatever you choose as the zero, the wav will be DC offseted), that is one step, and the loudest from 00 to 11, that is three steps, thus 9.54 db louder.
It's clear that the accuracy of the levels in between is very poor. In fact you can only record four different levels : -infinite, -9.54, -3.52 and 0 db.

A Question of Bit Depth.

Reply #3
Yes, I've mistaken.

Thought I would need to compensate that audio is in both negative and positive range.
- Eugene 'HMage' Bujak

A Question of Bit Depth.

Reply #4
Sorry to be a little off-topic, but I think a DR of 96dB is similar to 144dB,
i mean you can't hear a difference.

A Question of Bit Depth.

Reply #5
It should be possible with special recording, i.e. a symphonic orchestra playing a crescendo, but recorded uncompressed. Then the playback system would have to be very powerful (120 db RMS maximum level) in a completely quiet room.

A Question of Bit Depth.

Reply #6
Difference between 96 dB dynamic range and ~110 dB audible dynamic range is perceptible sometimes.
http://ff123.net/24bit/24bitanalysis.html

Of course, the file was dithered to 16bit, but then...
ruxvilti'a

A Question of Bit Depth.

Reply #7
The correct formula is S/N = 6*n + 1.8 dB where n is the number of bits.

The 1.8 comes from the mathematical derivation which I now can't find. However years ago I worked through it and satisfied myself that it is indeed the correct formula. In practical terms 6*n is probably close enough.

If you do a google search for "6n + 1.8" "6n+1.8" etc you will find a few references, not including a derivation unfortunately.

Cheers,
Alan
Cheers,
Alan

A Question of Bit Depth.

Reply #8
Quote
The correct formula is S/N = 6*n + 1.8 dB where n is the number of bits.

The 1.8 comes from the mathematical derivation which I now can't find. However years ago I worked through it and satisfied myself that it is indeed the correct formula. In practical terms 6*n is probably close enough.

If you do a google search for "6n + 1.8" "6n+1.8" etc you will find a few references, not including a derivation unfortunately.

Cheers,
Alan

So you are saying that a 1 bit audio file has 7.8dB dynamic range???  I think not.  The correct formula has already been posted by Pio, check it out:

Quote
The dynamic range is the level difference (20*log10(level ratio) ) between the quietest sound (1 step peak to peak) and the loudest possible one (2^bitdepht-1 steps peak to peak).

Thus the right formula is

20*log10(2^bitdepht-1).

It gives
Bitdepht / Dynamics

1 bit / 0 db
2 bits / 9.54 db
3 bits / 16.90 db
4 bits / 23.52 db
5 bits / 29.83 db
6 bits / 35.99 db

8 bits / 48.13 db

16 bits / 96.33 db

24 bits / 144.49 db
gentoo ~amd64 + layman | ncmpcpp/mpd | wavpack + vorbis + lame

A Question of Bit Depth.

Reply #9
Quote
Rather than increasing both word lengths and sampling frequencies over CD's 16-bit/44.1kHz values, as the PCM-based DVD-Audio format does, DSD (used in SACD) reduces word lengths to a single bit and drastically increases sampling frequency up to rates of 2.8224 megahertz.


Now I have a thing to ask:

1) does this mean that even 1 bit carries significant info thus can in fact have 7.8dB dinamic range.

2) if I'm totally off could you explain to what it means? please, I really want to know.

source: http://www.hometheatermag.com/hirezsacd.shtml
The Plan Within Plans

 

A Question of Bit Depth.

Reply #10
Quote
Quote
The correct formula is S/N = 6*n + 1.8 dB where n is the number of bits.

The 1.8 comes from the mathematical derivation which I now can't find. However years ago I worked through it and satisfied myself that it is indeed the correct formula. In practical terms 6*n is probably close enough.

If you do a google search for "6n + 1.8" "6n+1.8" etc you will find a few references, not including a derivation unfortunately.

Cheers,
Alan

So you are saying that a 1 bit audio file has 7.8dB dynamic range???  I think not. 

Actually, I didn't say that. I quoted the formula for the S/N, which is not quite the same thing. Mea culpa. However, it's still worth doing the search I suggested, the formula is a correct one.

Cheers,
Alan
Cheers,
Alan

A Question of Bit Depth.

Reply #11
Remember - the formulae work on the assumption of full scale sine waves, and a noisy least significant bit.

In the real world, it's the perceived SNR that matters - hence noise shaping lowers the noise floor, and aggressive dynamic range compression increases the perceived loudness.

Perceived SNRs of well over 100dB are possible for 16-bit audio.

And if the signal you want to transmit happens to be a full scale square wave alternating with silence, and you don't dither, then the "signal to noise" ratio of a 1-bit system could be infinite!


High sampling rate (e.g. SACD, over-sampled convertors) allow noise to be pushed out of the audible band, so 1-bit convertors running at MHz can have a lower noise floor than typical 16-bit audio.

Cheers,
David.

A Question of Bit Depth.

Reply #12
Quote
Quote
Rather than increasing both word lengths and sampling frequencies over CD's 16-bit/44.1kHz values, as the PCM-based DVD-Audio format does, DSD (used in SACD) reduces word lengths to a single bit and drastically increases sampling frequency up to rates of 2.8224 megahertz.


Now I have a thing to ask:

1) does this mean that even 1 bit carries significant info thus can in fact have 7.8dB dinamic range.

2) if I'm totally off could you explain to what it means? please, I really want to know.

The original question mentioned "excluding the effects of dithering".
You can consider in a simplified way, that all you can hear in an SACD comes from massive dithering between 20 kHz and 2822 kHz.

A Question of Bit Depth.

Reply #13
Quote
With two bits, four levels are possible (00, 01, 10, and 11), one of them being zero. The quietest sound will range from 01 to 10 (whatever you choose as the zero, the wav will be DC offseted), that is one step, and the loudest from 00 to 11, that is three steps, thus 9.54 db louder.
It's clear that the accuracy of the levels in between is very poor. In fact you can only record four different levels : -infinite, -9.54, -3.52 and 0 db.

Does not a sound wave have values both above and below 0?

I would assume then that 2 bits = 4 levels:-
                                                  one level = zero
                                                  another  = one value above zero
                                                  another  = one value below zero
                                                  the last value being just padding.

I don't understand how 4 values could represent 9.54 db.

A Question of Bit Depth.

Reply #14
Not necessarily, a soundwave can have values anywhere. Let's call the four possible values 1, 2, 3 and 4.
One of the values must be used to code silence. We can chhose any of them, but it's more interesting to choose 2 or 3 instead of 1 or 4, because if 1 or 4 is zero, we can only record fully positive or fully negative waveforms.
The standard 16 bits PCM is the same. There is one direction (up or down I don't know) with one more level.
Say level 2 codes zero.

Avoiding dithering is well done when we record a frequency that is half the sample rate : up-down-up-down, etc. No possible dithering here.

The smallest possible level is one step peak to peak, and can be achieved in three different ways :
121212....
232323...
343434...
The peak-to-peak amplitude of these signals is 4-3 = 3-2 = 2-1 = 1

The highest possible one is
141414...
The peak-to-peak amplitude is 4-1 = 3

Thus the smallest signal amplitude is 1 and the highest is 3.
Thus the dynamic range is
20 x log10 ( 3 / 1 ) = 9.54 db

Note that all these signals have a DC offset. It means that they are not centered, they are all constantly a little bit above or a little bit below zero. This is also the case for CD. But since CD uses 65536 levels, the DC offset is negligible.
An old SB32 or SB64 soundcard,I don't rememember, recorded everything with a big DC offset. Silence was a horizontal  line drawn above zero.

Waveforms are not necessarily symmetric. Look at this Kraftwerk track (Aéro Dynamik) :


A Question of Bit Depth.

Reply #15
Quote
The standard 16 bits PCM is the same. There is one direction (up or down I don't know) with one more level.

In case anybody's curious, assuming silence is zero (which it normally is on CD) down should have the one extra level.  The range of values for 16-bits 2's compliment signed is from -32768 (1 and 15 zeros) to +32767 (0 and 15 ones).
I am *expanding!*  It is so much *squishy* to *smell* you!  *Campers* are the best!  I have *anticipation* and then what?  Better parties in *the middle* for sure.
http://www.phong.org/

A Question of Bit Depth.

Reply #16
On the contrary, 8-bit audio (unsigned byte) codes silence as 255,
while 0 is highest volume.

/EDIT\
I have mistaken. My bad.
\EDIT/
ruxvilti'a

A Question of Bit Depth.

Reply #17
Are you sure that's right?  If you add 1 to 255 in an unsigned byte, you get 0...  I'm looking at an 8-bit .wav file and silence appears to be 128.  Zero would be the loudest value though.
I am *expanding!*  It is so much *squishy* to *smell* you!  *Campers* are the best!  I have *anticipation* and then what?  Better parties in *the middle* for sure.
http://www.phong.org/