• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Help explain intersample overs, please?

Joined
Feb 8, 2020
Messages
58
Likes
48
The Benchmark DAC3 webpages explain the concept of intersample overs and how they can lead to distortion when upsampling from 44.1 or 48 kHz to higher rates. I get that, and I think I understand the math behind it.

What I’m less clear about is the solution. Benchmark talks of designing in “digital headroom” to prevent the phenomenon. Roon’s DSP engine also provides a “headroom” element in its pipeline for the same purpose. How does this work? Is it just simple digital domain attenuation? If so, doesn’t that just introduce another type of distortion in the form of dynamic range compression?

What am I missing? Thank you.
 
Actually a good question. @MC_RME talked about this once I recall and how the RME DAC/Pro I believe have similar headroom. Maybe he will kindly chime in and give it straight from someone who implemented these solutions in his own products.
 
The Benchmark DAC3 webpages explain the concept of intersample overs and how they can lead to distortion when upsampling from 44.1 or 48 kHz to higher rates. I get that, and I think I understand the math behind it.

What I’m less clear about is the solution. Benchmark talks of designing in “digital headroom” to prevent the phenomenon. Roon’s DSP engine also provides a “headroom” element in its pipeline for the same purpose. How does this work? Is it just simple digital domain attenuation? If so, doesn’t that just introduce another type of distortion in the form of dynamic range compression?

What am I missing? Thank you.


they scale down by 3.5 dB...

"Benchmark DAC2 and DAC3 converters we have an external interpolator that has 3.5 dB of headroom above 0 dBFS. This means that the worst-case +3.01 dBFS intersample peaks can be processed without clipping. We also drive the ESS D/A converter chips at -3.5 dB so that no clipping will occur inside the ES9018 and ES9028PRO converter chips. "

(from https://benchmarkmedia.com/blogs/application_notes/intersample-overs-in-cd-recordings)
 
Intersample overs can happen because reconstructing the analog wave from the digital sampling points, is an infinite series for every sampling point. That is, the proper analog amplitude at this digital sample, depends on this digital sample, plus every digital sample before and after it. Thus, the analog amplitude for this digital sampling point may be equal to, less than, or greater than this digital sample value. Now, the contribution of all those other sampling points, to this sampling point, diminishes rapidly as they get further away (both before & after, symmetrically). So you can truncate this and reconstruct the analog wave without using all of them. Even so, the closest ones can bump the value over digital full scale.

If you're summing those points in the digital domain before analog conversion, it could exceed full scale and truncate. But the solution seems so simple I don't understand why it's a big deal. It doesn't even require attenuation. Just express the digital samples (the inputs) in a numbering system having more bits than the samples (the outputs), and such that the "0" level of the input samples is 1 bit below the "0" level of the outputs. You wouldn't even have to dither it, because you're not changing the input values at all - you're just adding another bit -- on the most, not least, significant side. Then, when you sum them, if it goes over 0 it won't overflow and truncate.

Simple example: suppose the original 16-bit signal (range -32768 to +32767) has a sample values of 32000 (close to but just under full scale) several times in a row. Before doing anything else, you copy each sample into 17-bit values, each having the extra bit set to 0. You haven't attenuated or changed the data at all, just added an extra MSB and set it to 0. Now sum them as you would to construct the analog wave. The attenuated sum would require a value higher than 32767 at this sample, but it doesn't overflow anymore because you have an extra bit, which now becomes a 1, plus the rest of the value.
 
Last edited:
So is it like a digital volume control turned down by 3.5 dB? That’s the part I don’t get.

Indeed, and I assume they also raise the analog gain by the same amount so 0dbfs gives the correct RMS output voltage...
 
Indeed, and I assume they also raise the analog gain by the same amount so 0dbfs gives the correct RMS output voltage...
But doesn’t that then compress the dynamic range?

Why not implement the solution outlined by @MRC01? Wouldn’t that eliminate the “over” without compressing the range?
 
My solution is entirely hypothetical. I don't know how feasible it is. You'd probably have to word align it, so 16-bit samples map to 24, and 24-bit maps to 32. But there should be plenty of processing power for such a solution.
Perhaps there is a different approach that is more efficient to implement in hardware/firmware.
 
My solution is entirely hypothetical. I don't know how feasible it is. You'd probably have to word align it, so 16-bit samples map to 24, and 24-bit maps to 32. But there should be plenty of processing power for such a solution.
Perhaps there is a different approach that is more efficient to implement in hardware/firmware.
On a general-purpose CPU, 32-bit would be the natural choice. Dedicated hardware can be made with whatever bit width one desires.
 
I think the bit-depth is upped from 16 or 24 to 32 bits at the same time.

So, no problem.
There is no compression, but a little dynamic range is lost no matter how you spin it. The analogue output level has to be scaled such that the worst allowed inter-sample over produced the maximum voltage. A full-scale input without any overs will thus give a slightly reduced output level. The nominal output voltage could of course be raised correspondingly, but then there's a risk of clipping in the preamp or amp instead.
 
I think it can be easily explained by this. Not 100% what's going on a dac but close enough.
IdealBandlimitedInterpolationExample_01.png

Maximum digital amplitude is lower than interpolated/converted maximum. Hence clipping.

This mostly happens when tons of high frequency content is present and can be avoided by dialing back digital volume a bit. Say -3db.
 
... This mostly happens when tons of high frequency content is present and can be avoided by dialing back digital volume a bit. Say -3db.
Yes, and it also happens when the music is heavily dynamically compressed and soft limited, as is so much modern rock/pop music.
Incidentally, the WM8741 has an optional mode to handle this, which drops the overal level by -2 dB.
 
Yes, and it also happens when the music is heavily dynamically compressed and soft limited, as is so much modern rock/pop music.
Ah, ok, I see, so the slight loss in resolution won’t matter anyway. Got it.
 
The Benchmark DAC3 webpages explain the concept of intersample overs and how they can lead to distortion when upsampling from 44.1 or 48 kHz to higher rates.

The Benchmark "explanation" is self serving and should be taken with a grain of salt.

Classic marketing.

Create a problem, mis-identify it (say it's not clipping when it clearly is), say everyone else has the same problem and then solve the problem in your products. Use an artificial, worst case overloaded signal at a chosen frequency to "show" the problem. Benchmark have been called for their not exactly transparent website content before.
 
In the case of heavily compressed modern recordings, almost anything you do to it doesn't matter because the music has already been squashed and destroyed for you by the recording engineers. ;)
Not necessarily. The final recordings will have certain sounds. This is also part of the creation which is fine.
 
Thanks, it’s making sense now.
Again not necessarily. But there's some truth to that. One counter example is using linear phase in AD and minimum phase in DA there is chance that this may still happen. Also if the filter of the AD is steeper than the DA it also may happen.
 
Again not necessarily. But there's some truth to that. One counter example is using linear phase in AD and minimum phase in DA there is chance that this may still happen. Also if the filter of the AD is steeper than the DA it also may happen.
Thanks, that is correct. Another reason to avoid stupid slow roll-off filters.
 
Back
Top Bottom