Just curious...-100dB dithered 16 bit?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I've done some listening with a single bit signal on a crystal evaluation board with LT1028 opamps driving a Grado headphone.. allthough barely visable on scope it was clearly audiable..

But this is probably not you you mean.

Could you explain the -100dB dithered part of your question?

Regards,
Thijs
 
With a 16bit digital number, the maximum resolution that can be acheived is -96.32dB (n[bits] * 6.02 = x[dB]). Dither is applied in A/D converters and D/A converters to get rid of noise. Dither can be applied in a variety of patterns and is almost always only the random generation of the LSB only. But it is impossible to measure or hear a difference on a 16 bit number at -100dB.

And if you were trying to generate a 1kHz signal at -100dB on a 16bit system you would never actually hear the tone (assuming the same reference of 0dB) because its not capable of producing it. You would just hear pink/white noise that is created by the LSB dither sequence. If you had, say an 18/20 bit system (HDCD for instance), it may be possible with an extremely well designed analog and power supply back end.
 
Tieftoener said:
With a 16bit digital number, the maximum resolution that can be acheived is -96.32dB (n[bits] * 6.02 = x[dB]). Dither is applied in A/D converters and D/A converters to get rid of noise. Dither can be applied in a variety of patterns and is almost always only the random generation of the LSB only. But it is impossible to measure or hear a difference on a 16 bit number at -100dB.

No, it's quite possible.

And if you were trying to generate a 1kHz signal at -100dB on a 16bit system you would never actually hear the tone (assuming the same reference of 0dB) because its not capable of producing it.

Sure you would, and yes it is.

You would just hear pink/white noise that is created by the LSB dither sequence.

No, you'd hear it alright. And it can be measured as well.

The -100dB sinewave gets added to the dither noise and thus results in a greater amount of energy at 1kHz. Because of the way our ears average sound, we can hear quite a ways below the noise floor. Particularly when pure tones are involved.

If you had, say an 18/20 bit system (HDCD for instance), it may be possible with an extremely well designed analog and power supply back end.

Wouldn't need that at all.

se
 
In the name of trial and error....

I just generated a 1001Hz tone using a tone generator program. I noticed there was a bunch of noise in the signal.... So, I EQ'd all out everything to -60dB (except the 1KHz band) in Goldwave and was left with a pretty impressively noiseless sine wave. I put this to full scale 16bit wave file. I tried to scale it down using the volume function in Goldwave, but it has a lower limit ratio of 0.01... and for -100dB we need 0.00001

So, I found the function expression calculator - I multiplied the signal by 0.00001... thus resulting in a -100dB wave file of 16bit resolution.

I wasn't even going to bother, but I did try playing it through my Klipsch Promedia speakers and SB Live! card... I know, I know - as I said, I wasn't expecting anything. The noise this POS soundcard created when generating the pure sine tone is enough to gag a horse. Good thing I thought of putting the signal through the equalizer function first...

Because its late and I (unfortunately) have to go to work in the early AM, I'm going to hold off on playing this through my "high resolution" system. I will burn the file to a CD tomorrow night and try it out.

In the mean time, besides telling me I'm wrong, can you give a basis (other than the ear can hear below a noise floor) for my ineptitude? Weather or not the ear can hear below it (which I agree to) doesn't mean the system can generate it... Again, I'm wrong or whatever, and that's fine - I just need some reasons so I can understand and correct myself.

Thanks, and Ta Ta For Now...
 
Tieftoener said:

So, I found the function expression calculator - I multiplied the signal by 0.00001... thus resulting in a -100dB wave file of 16bit resolution.

Making more than a few assumptions about how Goldwave handles the requantization, not?

Try attached file collection for a demo, it is Chris Hicks' classic dither demo from 1995.

Part 1 ...
 

Attachments

  • round2.zip
    18.1 KB · Views: 51
Tieftoener said:
In the mean time, besides telling me I'm wrong, can you give a basis (other than the ear can hear below a noise floor) for my ineptitude? Weather or not the ear can hear below it (which I agree to) doesn't mean the system can generate it... Again, I'm wrong or whatever, and that's fine - I just need some reasons so I can understand and correct myself.

As I said, the energy of that -100dBFS sinewave gets added to the energy of the noise used for dithering.

Let's say you dither with white noise which has equal energy per Hertz. In other words, every frequency component of the noise has the same energy. Now you add your 1kHz sinewave and the energy at 1kHz is greater than it was before. And that additional energy gets encoded in the A/D process along with the noise.

So if all you encode is dither with no signal and take a look at it averaged out in an FFT plot, you'll just see a bunch of grass at the same level. Look at it again with the -100dBFS 1kHz sinewave and then you'll see a little spike sticking up above the grass at 1kHz.

Because our ears average over time just as an averaging FFT does, we can also detect that additional energy at 1kHz provided it's not too far down in the noise.

This help?

se
 
Thanks!

I understand, (at least I think I do) ....

... so this dithering is adding noise before going to ADC and.... The noise must be 'loud' enough cross the LSB value ... say 50% of the time for maximum effecientcy of this dithering process?....

A tiny sinus signal added to this noise will change the occurence of the crossing of the LSB ... this happens in a patern... the pattern is the added sinewave...


I think this could be made audioble, and on an averaging osciloscope also visible....

This reminds me a bit of a process called Stochastic-resonance. A theory to explain the capability of human hearing to function so well in negative S/N eviroments...


Regards,
Thijs
 
tschrama said:

... so this dithering is adding noise before going to ADC and....

Actually before any (re)quantization where otherwise resolution will be lost.

One example is the ADC, prior to conversion.

Another example is a digital volume control.

Yet another example is the final stage in an oversampling digital filter, where the internal wordlength (32, 48, ... bits are quite possible) has to be reduced
to the 16-24 bits that can be accepted by a DAC.

Please give above download files a try. They contain a 3.5 bit quantized sine fade to noise, with and without dither added.

Despite this system having a signal-to-quantization-noise ration of only 20dB, you can hear the fade going much deeper than -20dB.
 
Hi,
this is a spec of 500hz (optimum dithered) sine at -100db, 44k, 16bit wav format;
see: still about 40db to noise, so clearly audible, if resolution of player is good , of course.
generated with my program for test waves.
alf
 

Attachments

  • neu-2.jpg
    neu-2.jpg
    25.3 KB · Views: 193
Hi Werner,

nice atachments! But one wav-file seems to be missing and the matlab script uses two commands 'dither' and 'snhp' that don't function the way as intended...


"
DITHER Convert image using dithering.
X = DITHER(RGB,MAP) creates an indexed image approximation of
the RGB image in the array RGB by dithering the colors in
colormap MAP. MAP cannot have more than 65536 colors. "


and
"help nshp

nshp.m not found."

Do you know what toolbox I need?

Regards,
Thijs
 
When I made the post I figured it was a good way to test low level res....however I just finished testing on one of my self made dacs ASRC & PCM1704K, my $1000 dvdv/dvda/sacd player with PCM/DSD1790 DACS, a small compact micro all in one sony cd-tuner combo (HCD DX1), another compact micro all in one JVC player and finally an older Pioneer PDS 802.

The only ones not able to reproduce the signal was the JVC and Pioneer PDS802, the others clearly did it.

It was surpricing that the Sony could do it and that the pioneer could not.
The pioneer uses legato link so perhaps it screws up the noisefloor or it may be faulty (I normally just use it for transport)
 
tschrama said:

nice atachments! But one wav-file seems to be missing and the matlab script uses two commands 'dither' and 'snhp' that don't function

As usual was in a hurry, and omitted one WAV. It won't change the story a single bit, though.

As for the m-file: it came just as Hicks distributed it, more for information than for actual use, I'd gather. Hence the missing parts or incomplete references to what ML installation you need.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.