Recently the ESS Technologies products caught my attention (keep an eye out for some measurements shortly).
Just today I stumbled upon a presentation called ‘Digital vs. Analog Volume Controls‘ which is interesting in light of my opinion written some months ago, ‘The Case for Digital Volume Control‘.
Although probably written with a strong marketing purpose, a number of observations make me think there are some gaps in mixed-signal architecture thinking that deserve attention.
- Slides 3 and 4 show that performing arithmetic on a fixed point number introduces a rounding error. Yes, without increasing the word length you are limited to volume shifts of 6.02 dB (cutting one bit off) if you don’t want to introduce rounding noise. Now, of course even before arithmetic that last LSB was noisy already, either by another arithmetic block rounding or directly from an analogue source noise. That’s why the noise floor from a fixed point number is expressed as the relative power of one LSB. Even though no one in their right mind would do non-integer arithmetic operations on a number without increasing the word length time after time after time, as long as these operations are independent from each other, the rounding noise introduced adds up only in the square root sense. If you do it once, and that pushes your noise floor over the edge, you are looking at a badly designed system.
- The FFT explanation from slide 6 to 13 is going the right way – they basically what I drew by hand in my blog post. The comment on slide 9 ‘this is why audiophiles generally avoid digital volume control‘ is also correct. They are wrong to do so, but that they do so is true. Remember that the noise which is criticised for not not going down, is below the audibility threshold. If it were not, this would be a very crappy D/A converter for the application at hand. The conclusion that the signal to noise ratio is going down, is also correct. What is missing is that this is not a problem. After all, it’s going down from the point of low enough already.
- What is missing in slide 13 is the level of analogue noise, because this is not going down. This is the noise that dominates in the real world. But even in the presence of no analogue noise, there is a listener noise threshold below which it does not matter if and how far the noise goes down. Less than inaudible is, well, inaudible.
- Slide 14 is simply not credible.
- There are no 16 bit dacs in the world today, and 32 bit dacs are not possible. Why? Because of physics. If you use 1 V for a signal level then the noise voltage should be 2^-32V. For thermal noise the noise voltage reads vn=sqrt(4*k*T*R*dF). For a 1 ohm resistor and 20kHz audio bandwidth this is achievable at 0.049 Kelvin. Surely that won’t be a very ‘warm’ sounding D/A converter. Just a 1 ohm resistor thermal noise doesn’t achieve a 32 bit ENOB noise floor. What about the total system?
- ‘What happens when a 16 bit number is fed to a 32 bit dac?‘ Nothing! The numbers have been rounded to get to 16 bits, and appending 16 zeroes does not undo that rounding. The noise floor stays where it is, if you do not perform noise shaping.
- Back to reality, D/A converters are 3 to 8 bits wide. Internally, they can use up to 32 bits as the slide states but at the outside, analogue noise dominates. The -135 dB noise floor is impressive, approximately 22 bits ENOB. Really quite impressive.
- Slide 15 is right, perhaps stating the obvious a bit, but
- Slide 16 is wrong. If you have that 32 bits of representation, the noise floor is already down before volume control as well as after. It does not go down because you are performing arithmetic on the data. The fact that the input signal has a 16 bit noise floor changes nothing. Sure, you are able to reduce your volume until your ENOB is reduced to 16 bits, and only then does your system SNR become smaller than the input signal SNR. But you did not design the input signal and if its SNR is not sufficient, there’s precious little you can do to remedy it.
- What slide 16 seems to suggest is worrying, namely that the digital noise floor dominates the analogue noise floor. If this is true, then yes the system noise floor comes down until analogue dominates. However, in a properly designed system, the analogue noise floor always dominates. The only exception being the noise you don’t have control over, i.e. if you are reproducing recorded noise. But in that case neither digital nor analogue volume control can do much for you.
- So we arrive at slide 17 with the conclusions, which are correct, but for all the wrong reasons.
- Yes, analogue volume control is better when your digital noise floor dominates, but that is bad system design. The digital noise should never be allowed to dominate.
- Second conclusion, the volume control should increase the word length (paraphrased) – no, although it helps prevent roundoff noise, the word length should already be long enough so that the digital noise does not dominate before, and therefore does not after volume control.
- Last conclusion, is there an analogue volume control with less noise then a digital one? Only one comes to mind – a transformer. Because it has no noise. And they are exquisite, really. As well as expensive. And unnecessary when you do your system design right. There is a level below which it does not matter anymore how much you add and that level is inaudibility. You can debate about where that level lies and under which conditions (noise vs. periodical signals etc), but in practice, there is a limit. And spending power, cost and effort on a stage that is far better than good enough is, well, probably audiophile.
- The final comment that it would take an incredibly good analogue volume control to beat the digital one, is great. And of course it sort of contradicts the first conclusion, doesn’t it?
- So I guess what the author is really trying to say is: you can make analogue volume controls perform incredibly well. You can make digital volume controls perform incredibly well. The one that performs better than the other is, erm, better.
I do really like this presentation for the fact that a/ the author asks the right questions and b/ almost all of what is being said is true (apart from the 16/32 bit D/A converters). What seems to be missing in my view is the system coherence, and a separation between input signal and system performance. The author gets close to getting the point, certainly towards the end. But any system that has mixed-signal content needs to be analysed from end to end. The digital part has to fit the analogue part and vice versa.
When you do that, taking into account that it’s far cheaper to increase digital performance than analogue performance, you end up with a balanced design, which means that the digital part, where it is cheap to do stuff to the signal, gets to do stuff to the signal and analogue, which is hard won and easy lost, stays pure and simple.
What is also clear is that it’s by now become easy to design systems that are far better than any input signal it will ever encounter. Whether doing so makes sense or not, depends not on the input signal, but entirely on the application environment of the system.
Thanks for the food for thought, AMM from ESS 🙂