Hi folks,
I've been scratching how to calculate the "equivalent" bitrate in DSD vs PCM... It's said that "standard" DSD equals 44.1kHz/16bit PCM. Is there a formula to convert bitrateA/depthA into bitrateB/depthB given 3 of the variables?
I've been scratching how to calculate the "equivalent" bitrate in DSD vs PCM... It's said that "standard" DSD equals 44.1kHz/16bit PCM. Is there a formula to convert bitrateA/depthA into bitrateB/depthB given 3 of the variables?
Although it doesn't apply exactly to single-bit systems, there is the Gerzon/Craven noise shaping theorem, but that only helps when you know what the noise shaping looks like (including the transition band). The theorem says that on a linear frequency scale and vertical dB scale, the area where the quantization noise is reduced by noise shaping can't be larger than the area where it is increased, and that the areas are equal for non-chaotic noise shapers. Besides, there is a rule of thumb that the out-of-band noise gain shouldn't be larger than a factor of 1.5, so 3.52 dB, for a single-bit noise shaper.
See section 3.1 of https://linearaudio.net/sites/linearaudio.net/files/03 Didden LA V13 mvdg.pdf for a longer and hopefully clearer explanation with figures and literature references.
See section 3.1 of https://linearaudio.net/sites/linearaudio.net/files/03 Didden LA V13 mvdg.pdf for a longer and hopefully clearer explanation with figures and literature references.
Last edited:
So, i can deduct a few things from your post, anybody please feel free to correct them as necessary:
- we should compare transmissions (not heir format, the actual transmission) only based on their resulting SNR.
- to be able to calculate the true SNR in a given frequency band we need to know the noise shaping algo that has been used.
- you cannot improve the whole-band SNR by noise shaping, only a given part of the frequency band which will result in more noise in the rest of the whole band.
- the amount of noise reduction in the target band is limited by the maximum recommended noise gain
regarding 2)
This is even for any PCM file, where this sounds quite counterintuitive right now. Say we have a 44k/16b WAV file - the binary transmission format only tells us the lower bound on achievable SNR for the whole 0-22kHz frequency band with no weighting. The actually achieved SNR in a given band will depend on the actual noise shaping algorithm used.
regarding 3)
OK, that sounded so obvious once I typed it out that I wondered if to remove it again. But there was a loud "click" in my head, so I'll leave it in there in case somebody might find it useful 🙂
regarding 4)
This is actually a question: So if I want to bring a binary format of a noise shaped signal with say 5bit depth to a certain SNR in the audio band, lets say 0-20kHz. Then there will be a needed sampling rate to be able to use a weighting filter in the noise shaper that reduces noise in the useable band to the desired SNR and is able to "stuff" all the desired noise above the useable band into the remaining frequency space up to the nyquist frequency without requiring too much noise gain? This "noise gain" figure - that means that the produced noise peak values can go up to x times the noise gain figure? or is this RMS?
Last edited:
Very nice read! (the link you added)
I'm going off topic 🙂 On page 42 are you essentially saying that running a fully synchronous system with one master clock for the modulator and the incoming data stream is a bad idea?
I'm going off topic 🙂 On page 42 are you essentially saying that running a fully synchronous system with one master clock for the modulator and the incoming data stream is a bad idea?
No, not at all. It's fine if the DAC clock can be the master clock or if the DAC clock can be synchronized to some external master clock by a very narrow PLL.
If for some reason the DAC gets its own clock that is not synchronous to the incoming clock (which means you need an ASRC to convert the data), then it makes sense to use a clock frequency that has nothing to do with the standard sample rates. I ended up with such a system because:
1. I wanted the DAC to be S/PDIF compatible, and the S/PDIF signal is then the master
2. I couldn't make a narrow PLL with a wide enough tuning range using reactance valve tuning
If for some reason the DAC gets its own clock that is not synchronous to the incoming clock (which means you need an ASRC to convert the data), then it makes sense to use a clock frequency that has nothing to do with the standard sample rates. I ended up with such a system because:
1. I wanted the DAC to be S/PDIF compatible, and the S/PDIF signal is then the master
2. I couldn't make a narrow PLL with a wide enough tuning range using reactance valve tuning
I kind of knew in advance that it would be you to answer this question first 😀 Thanks, Marcel as always.
So, i can deduct a few things from your post, anybody please feel free to correct them as necessary:
- we should compare transmissions (not heir format, the actual transmission) only based on their resulting SNR.
- to be able to calculate the true SNR in a given frequency band we need to know the noise shaping algo that has been used.
- you cannot improve the whole-band SNR by noise shaping, only a given part of the frequency band which will result in more noise in the rest of the whole band.
- the amount of noise reduction in the target band is limited by the maximum recommended noise gain
regarding 2)
This is even for any PCM file, where this sounds quite counterintuitive right now. Say we have a 44k/16b WAV file - the binary transmission format only tells us the lower bound on achievable SNR for the whole 0-22kHz frequency band with no weighting. The actually achieved SNR in a given band will depend on the actual noise shaping algorithm used.
Usually PCM is not noise shaped at all. The theoretical unweighted SNR with respect to a 0 dBFS sine wave is then given by Bennett's infamous equation 6.02 dB*N + 1.76 dB from 0 Hz to the Nyquist frequency for an N-bits system, or rather 6.02 dB*N - 3.01 dB when the system is properly dithered.
To some extent, you can use noise shaping to reduce the weighted noise at the expense of an increase of the unweighted noise. For audio, that boils down to shifting the quantization noise to frequencies where it is less noticeable.
regarding 3)
OK, that sounded so obvious once I typed it out that I wondered if to remove it again. But there was a loud "click" in my head, so I'll leave it in there in case somebody might find it useful 🙂
regarding 4)
This is actually a question: So if I want to bring a binary format of a noise shaped signal with say 5bit depth to a certain SNR in the audio band, lets say 0-20kHz. Then there will be a needed sampling rate to be able to use a weighting filter in the noise shaper that reduces noise in the useable band to the desired SNR and is able to "stuff" all the desired noise above the useable band into the remaining frequency space up to the nyquist frequency without requiring too much noise gain? This "noise gain" figure - that means that the produced noise peak values can go up to x times the noise gain figure? or is this RMS?
Yes, you need oversampling to really gain a lot with noise shaping. A sigma-delta ADC or DAC puts almost all quantization noise at ultrasonic frequencies that can then be filtered off - like the 20 kHz to 1.4112 MHz band in DSD64.
The 3.52 dB noise gain rule of thumb only applies to single-bit modulators, you can go higher with multibit modulators. I don't know any rule of thumb or theorem for the allowable noise gain of multibit modulators.
The noise gain at a frequency f is the ratio of the shaped to the unshaped spectral density of the noise. If you were to measure the noise in a narrow band around f at the output of a quantizer and you turn on a noise shaping loop around it with a noise gain of 1.5 at f, you would see the meter voltage reading increase by 50 %. (In fact I'm sweeping a complication under the carpet that you have when the quantizer is not a dithered multibit quantizer, namely that the quantization error doesn't necessarily look like noise.)