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: Is it possible to stretch 16 bits symmetrically? (Read 58462 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Is it possible to stretch 16 bits symmetrically?

Reply #175
I found a black and white picture of Nyan Cat on the Internets:


The information in this pic can be encoded using exactly 1-bit, so let's assume it is. 0 might be black and 1 might be white.

You and I both know that Nyan Cat is way more colorful. At the very least we need some shades of gray, so lets give it 8-bits where 0 represents black and 255 represents pure white. In between those extremes there are 253 lovely shades of gray. Since pure white was just 1 in the original 1-bit pic, but is now represented by 255, we need to stretch the values of the 1-bit pic so that 1 will become 255. This is the result:

Regrettably, even though the 8-bit image can theoretically hold so many shades of gray, Nyan Cat still doesn't look one step closer to its colorful self.

The point being that, even though you could theoretically store a wonderful grayscale version of Nyan Cat in the 8-bit picture, the data you have to work with will only ever leave you with pure black and pure white, no matter the bit depth. Of course you can add some noise (dither) or smooth the values (lowpass) which will provide other values in between 0 and 255 but you are not increasing the fidelity of the picture since all your new values are just based on the old black & white pic and nothing more. Instead you are just further distorting it.

The process is pretty much the same in audio.

Meanwhile, blissfully unaware of this discussion and other worldly distractions, Nyan Cat continues to carelessly hop through endless space... http://www.nyan.cat/

Is it possible to stretch 16 bits symmetrically?

Reply #176
But the second one looks better!!1111

Code: [Select]
22:34:19 : Test started.
22:34:27 : 01/01  50.0%
22:34:30 : 02/02  25.0%
22:34:31 : 03/03  12.5%
22:34:33 : 04/04  6.3%
22:34:35 : 05/05  3.1%
22:34:37 : 06/06  1.6%
22:34:40 : 07/07  0.8%
22:34:42 : 08/08  0.4%
22:34:44 : 09/09  0.2%
22:34:46 : 10/10  0.1%
22:34:48 : 11/11  0.0%
22:34:51 : 12/12  0.0%
22:34:52 : Test finished.

----------
Total: 12/12 (0.0%)


"I hear it when I see it."


Is it possible to stretch 16 bits symmetrically?

Reply #178
It's an open forum we're all equals.


No, we aren't. Some people here have a heck of a lot of knowledge and experience and know what they are talking about. Others don't.

Once again I repeat my question - what exactly are you trying to accomplish, and why?


He's trying to achieve world peace through dither + noise shaping. Why? Because he can.


Is it possible to stretch 16 bits symmetrically?

Reply #180
I think I'll second db1989's vote of worst thread of the year.


I kinda feel that this posting tips the scores in ... I am not completely sure which direction:

Meanwhile, blissfully unaware of this discussion and other worldly distractions, Nyan Cat continues to carelessly hop through endless space... http://www.nyan.cat/



Is it possible to stretch 16 bits symmetrically?

Reply #181
Meanwhile, blissfully unaware of this discussion and other worldly distractions, Nyan Cat continues to carelessly hop through endless space... http://www.nyan.cat/
Thanks for that - I clicked on the link while listening to Horowitz plays Mozart and, well, it wasn't the best mash-up ever!

Cheers,
David.

Is it possible to stretch 16 bits symmetrically?

Reply #182
It does not blend with black metal either. 


Is it possible to stretch 16 bits symmetrically?

Reply #184
Dithering aside there still appears to be contradiction on the thread regarding the theoretical 192db attainable by increasing volume and the extra precision this buys.


Extra precision is not "bought" by increased volume. It is "bought" by changing the data representation format. But when you change the format you have to simultaneously scale the audio data if you want to preserve the volume, since the volume is determined relative to full scale, and absolute value of the full scale is dictated by the chosen data format.

Quote
Where did you come up with the 1db/oct figure?

Sorry I refered to a picture regarding delta sigma.


If you mean the first image in this post, then it does not show "one decibel per octave" - the ordinate axis is simply marked "dB" to show the units, it does not mean "one decibel". Besides, this image looks even conceptually wrong - the noise plot on the second graph should not be shown as if it "lifts off" the frequency axis, such depiction does not have any meaningful interpretation.

Is it possible to stretch 16 bits symmetrically?

Reply #185
Besides, this image looks even conceptually wrong - the noise plot on the second graph should not be shown as if it "lifts off" the frequency axis, such depiction does not have any meaningful interpretation.


Couldn't it be interpreted as, "when approaching Nyquist of a Delta-Sigma, the noise must be above a certain level"?

Is it possible to stretch 16 bits symmetrically?

Reply #186
Couldn't it be interpreted as, "when approaching Nyquist of a Delta-Sigma, the noise must be above a certain level"?


Oh, must it?

I suspect the real reason is that image was made with some kind of vector image editor, and the author didn't know how or simply didn't care to put the right angle on that blue blob.


 

Is it possible to stretch 16 bits symmetrically?

Reply #188
My thinking was that in Delta-Sigma the resolution becomes coarser as you approach Nyquist, or no?


I'm not sure how do you define "resolution" in this context. The core idea of SDM is that the useful signal bandwidth is narrow relative to the modulator sampling rate, so there's literally nothing but noise in vicinity of Fs/2. This is the design goal, but is it otherwise mandatory that the noise density increases toward Fs/2? It depends on the loop topology. The "canonical sigma-delta" implies that the filter is in the forward path, and it affects both the noise and the signal. This imposes certain restrictions upon the filter transfer function. In the "canonical noise shaper", on the other hand, the filter is in the feedback loop, and it only affects the noise. The latter design gives more freedom for the noise density shape manipulation, so there is no strict requirement that the noise must necessarily increase toward higher frequencies (although it's a natural intention in audio circuits).

The "canonical SDM" is more suitable for the ADC, due to hardware complexity considerations. In the DAC, however, the modulator operates entirely in digital domain, so virtually anything can be implemented.

Is it possible to stretch 16 bits symmetrically?

Reply #189
Question: the terms "Delta-Sigma" and "Sigma-Delta" are both used. Are they equivalent ?

Is it possible to stretch 16 bits symmetrically?

Reply #190
Question: the terms "Delta-Sigma" and "Sigma-Delta" are both used. Are they equivalent ?


The adder ('sigma') comes first, so probably Sigma-Delta is slightly more logical.  Both are used though, so I don't think one is more correct than the other.

Is it possible to stretch 16 bits symmetrically?

Reply #191
My thinking was that in Delta-Sigma the resolution becomes coarser as you approach Nyquist, or no?


I'm not sure how do you define "resolution" in this context.


I was thinking in terms of the number of pulses compared to a higher and higher signal frequencies and that the noise must increase.

Is it possible to stretch 16 bits symmetrically?

Reply #192
I was thinking in terms of the number of pulses compared to a higher and higher signal frequencies and that the noise must increase.


Ok. How would you answer these questions:

- If you store 20 kHz sine wave on the Audio CD, how many pulses per wave period are there?
- Is that sine wave still recoverable?
- Is it still recoverable if it's peak magnitude is at -90 dB?
- What will happen if you replace integrator in a "canonical" SDM with differentiator?




Is it possible to stretch 16 bits symmetrically?

Reply #193
Very good questions!

Thinking about the same issues in terms of PCM (and without all the additional noise up there) indeed makes it much clearer. Thanks.

Is it possible to stretch 16 bits symmetrically?

Reply #194
My thinking was that in Delta-Sigma the resolution becomes coarser as you approach Nyquist, or no?


I'm not sure how do you define "resolution" in this context.


I was thinking in terms of the number of pulses compared to a higher and higher signal frequencies and that the noise must increase.

It does. The SNR is obviously lower.

The "resolution"? alexeysp gave you a though experiment with PCM. Whilst it is relevant and I get the point he's making, dithered PCM is linear. DSD isn't. It might be good enough, but the thought experiment would be fairer if you considered PCM with inadequate dither - now how sure are you that the 20kHz tone has sufficient "resolution"?

Cheers,
David.

Is it possible to stretch 16 bits symmetrically?

Reply #195
Can this 8-page thread be symmetrical stretched to 16 pages? Would that improve the resolution? What will happen to the SNR?
The most important audio cables are the ones in the brain

Is it possible to stretch 16 bits symmetrically?

Reply #196

I was thinking in terms of the number of pulses compared to a higher and higher signal frequencies and that the noise must increase.

It does. The SNR is obviously lower.


The key point is that resolution does not degrade because of "insufficient number of pulses". The Shannon theorem still holds, you only need 2+ pulses per period. The resolution is determined by the amount of error in the magnitude of these pulses, and by the changes of this error in time.

The SNR in sigma-delta audio codecs decreases at high frequencies because the noise shaping loop was designed like that, not because the high frequencies are inherently harder to preserve with SDM. It is possible, even with a 1-bit modulator, to shape the noise other way around, and improve SNR at high frequencies at the cost of low frequencies. It just doesn't make much sense for audio applications.


Is it possible to stretch 16 bits symmetrically?

Reply #197
I have been thinking on this and I would like to 'clarify' where I stand.

When I first saw an analog amplifier, with a dial - Like most people do as kids (common guys), we assume amps just boost input (especially dials without labels).
When it is infact the amp is always boosting and that the dial is actually there to attentuate the input.
Might depend on topology but most amps are like this.
So I get/got attentuation confused with volume, no biggie.

This confusion exists likewise in digital,
When referring to dynamic range for 'storage' (storage as in, media before it enters any form of processing), essentially just another way of saying 'volume the wave is stored at', that's all it is. 16bit volume, 24bit volume.

Consider a cd-rom, due to storage limitation the volume of the media can only be stored at 96db.

Convert a CD to mp3, the mp3 pcm should be an exact duplicate copy (regarding scale) of the CD copy.
However, mp3gain can adjust the properties of the mp3 so that when it is accessed, it plays at an attentuated level. Even so, the full scale is always present untouched.

Now, consider the resource we have available, 32bit float pipe. The wave aka data enters this realm... this arena (word just for you guys  ), yes the means of storage is limited to 96 initially (perhaps other factors aswell, I didn't look into signed bit), but surely when this data enters the dsp, it is just data, you should be able to scale the volume of the wave from 96 to 192db (just like you can attenuate), this would allow any subsequent dsps in the chain, after the boost like resampler to operate at higher precision.


Yes, by convention, there isn't a need to do it (depends on your intention, mines is definately new) seeing as adcs/dacs can only accomodate 24bit max (decided upon our hearing ability). But I wish not to listen to 32bit, I only would like it for processing purposes.
("lord have mercy on my soul")
Yes, 16bit being piped through a 32 bit float will increase 'quantisation slices' from 65536 to a higher number, but you are only operating within the initial depth (wave scaled across 16bits) as opposed to a wave scaled across 32bits, which I think is why people are misconcieving my point seeing as it's still reffering to a "32bit" pipe either way.

If you can attentuate a full scale wave, then it must to be possible to boost a full scale wave, in the dsp realm.
This is my point. ^

Furthermore, the reason I started persuing dither earlier on, is because it appears to be the only dsp available that increases bit depth that can be employed during live playback (i.e. foobar). The only one.

Is it possible to stretch 16 bits symmetrically?

Reply #198
"By what means is my intention." Don't ignore the boosting just because the means is not in sight? Rather restrictive.
Most people can't think of a means, so dismiss this view as rediculous, but there is a very valid reason.

If I have a 32bit wave, entering a resampler, then a new, almost infinite wave is constructed, from this new, near infinite wave I can then sample 48k new points, which I can then send to a multibit NOS dac, which is high performing (don't dismiss boosting just because of your opinion of this either).

Remembering the whole point of oversampling in the first place is to extend the limit away from 20khz.
By extending to 48k going by the method as described above, makes total sense for 44.1 sample audio.

Let me simplify my means even further. The chip on the right, is the digital chip, it is the dsp, that conditions the signal fit for the DAC. I've bypassed this and will be streaming 48k direct to the mulitbit. In essence, I'm replacing the digital filter (lots of distortion) with foobar or "32bit supercomputer from the future", atleast relatively speaking to the dac.

Is it possible to stretch 16 bits symmetrically?

Reply #199
Yes, by convention, there isn't a need to do it (depends on your intention, mines is definately new) seeing as adcs/dacs can only accomodate 24bit max (decided upon our hearing ability). But I wish not to listen to 32bit, I only would like it for processing purposes.


For the millionth time, all processing these days is done in floating point, so this happens automatically.

If you can attentuate a full scale wave,


Sure, in floating point, multiply by a value less than 1.0.

then it must to be possible to boost a full scale wave, in the dsp realm.


Sure, in floating point, multiply by a value greater than 1.0.

This is my point. ^


You have discovered multiplication.  Congratulations. 

Let me simplify my means even further. The chip on the right, is the digital chip, it is the dsp, that conditions the signal fit for the DAC. I've bypassed this and will be streaming 48k direct to the mulitbit. In essence, I'm replacing the digital filter (lots of distortion) with foobar or "32bit supercomputer from the future", atleast relatively speaking to the dac.


You're struggling to understand algebra.  You're not doing any of those things because you don't even know what they mean.