rePhase, a loudspeaker phase linearization, EQ and FIR filtering tool

As I understand it bit perfect usually indicates no modification, which defeats the purpose of volume control. So the basic answer is, I think, no. I'm also not aware of any volume control ICs with lower noise than the 9018. So using the digital volume on the 9018 is higher performance. For analog volume control 9018 noise in 8 channel mode is comparable to that of a 3.3k resistor at 25C. One needs to implement at impedances comfortably under that to avoid lifting the noise floor much above what the DAC provides. That is also difficult as not many op amps can drive impedances that low at linearity enough better than the 9018 to avoid performance reduction.

In most circumstances digital volume therefore tends to be optimal. If you want to optimize for maximum bit depth in the digital side portion of the playback chain DIY Audio's article on gain structure may be helpful. Particularly at 4W, power amp gain is likely to be the limiting factor.
 
Thanks Pos, Twest.

Since the inter channel level adjustment is pretty much static, i will do it with rephase during the XO development.
But i do want to checkout per channel digital volume control in 9018. I dont have access to the datasheet as i believe it is released on an NDA.
I will contact the DAC designer to see if he can add perchannel control in addition to the combined volume control in 9018.
 
Member
Joined 2007
Paid Member
ES9018 has 3 areas to affect volume: master volume, mute/unmute, and attenuation of each channel. Individual channels are registers 0-7, where 0x00 is full volume. If memory serves, it uses 127 steps of 0.5 dB, so minimum volume is 0x7f in hex. Attenuation is at 48 bit precision - quite good quality. You need I2C access to manipulate these registers.
 
ES9018 has 3 areas to affect volume: master volume, mute/unmute, and attenuation of each channel. Individual channels are registers 0-7, where 0x00 is full volume. If memory serves, it uses 127 steps of 0.5 dB, so minimum volume is 0x7f in hex. Attenuation is at 48 bit precision - quite good quality. You need I2C access to manipulate these registers.

Thanks for the details Franco.
 
Jojip,
I stated the same thing awhile back and was roundly disputed here on this thread. there was a lively discussion about S/N comparisons between digital and analog attenuation over in the Blowtorch thread by some very intelligent people who know much more than I will ever understand including one of the Analog Devices guys. The bottom line was that controlling volume in the digital domain was the lessor of the two verses analog volume control. Every time you lower the volume in the digital domain you loose bit resolution, that was the conclusion drawn and the fact that the noise floor rises rises as you cut output digitally. I'm sure those enamored of all things digital will argue the point and that is what will be said again here but I have read enough now to understand that analog attenuation is the superior method when done correctly. Scott Wurcer, Pavel, and some of the brightest electronics minds had a very lively discussion of the real facts if you care to try and find that discussion a few months ago in that extremely long and convoluted Blowtorch thread.
 
Jojip, the concept you're looking for is guard bits. In most well formed DSP implementations the bit depth of subsequent processing is enough greater than that of the input samples no degradation occurs. For example, a 32 bit path offers 16 guard bits to 16 bit samples. I suspect you'll find some time with a DSP text and fixed point arithmetic to offer helpful background knowledge but, in summary, some of the guards are consumed by numerical noise in DSP operations and some by volume control. The number of guard bits required varies with implementation details such as filter type, sampling rate, gain structure, and desired output quality. Therefore, it also varies from point to point within the DSP pipeline.

Most often the limiting factor in SnR is ambient noise or crossbleed in the recording environment, though this varies with recording practice and significantly with instrument and genre. Similarly, the onset of degradation from analog volume control varies substantially with implementation. With careful level management typical analog volume control implementations can play nicely with DACs up to 18 bits or so. Though typical implementations tend to be closer to 14 bit equivalent.

This is a complex topic largely OT to rePhase. If you've further questions it's probably best to start a new thread after reading up some (if you do feel free to toss me a pointer in PM).

I don't have access to the datasheet as I believe it is released on an NDA.
Just so you know, ESS dropped the NDA requirement some years ago.
 
Administrator
Joined 2004
Paid Member
Digital attenuation works well, especially at 24 bits or more. We do realize that a 16 bit signal has more than 16 discrete levels, right? Like a whole lot more. And 24 bit is super fine.
For practical use, digital attenuation works great. If it didn't, who would use DSP crossovers? They attenuate, you know. ;)

If you are doing over about 10dB of volume control anyway, you have gain problems that need to be fixed elsewhere.
 
Jojip,
I stated the same thing awhile back and was roundly disputed here on this thread. there was a lively discussion about S/N comparisons between digital and analog attenuation over in the Blowtorch thread by some very intelligent people who know much more than I will ever understand including one of the Analog Devices guys. The bottom line was that controlling volume in the digital domain was the lessor of the two verses analog volume control. Every time you lower the volume in the digital domain you loose bit resolution, that was the conclusion drawn and the fact that the noise floor rises rises as you cut output digitally. I'm sure those enamored of all things digital will argue the point and that is what will be said again here but I have read enough now to understand that analog attenuation is the superior method when done correctly. Scott Wurcer, Pavel, and some of the brightest electronics minds had a very lively discussion of the real facts if you care to try and find that discussion a few months ago in that extremely long and convoluted Blowtorch thread.

Thanks. Found decent reads on the net and understand this better
 
Jojip, the concept you're looking for is guard bits. In most well formed DSP implementations the bit depth of subsequent processing is enough greater than that of the input samples no degradation occurs. For example, a 32 bit path offers 16 guard bits to 16 bit samples. I suspect you'll find some time with a DSP text and fixed point arithmetic to offer helpful background knowledge but, in summary, some of the guards are consumed by numerical noise in DSP operations and some by volume control. The number of guard bits required varies with implementation details such as filter type, sampling rate, gain structure, and desired output quality. Therefore, it also varies from point to point within the DSP pipeline.

Most often the limiting factor in SnR is ambient noise or crossbleed in the recording environment, though this varies with recording practice and significantly with instrument and genre. Similarly, the onset of degradation from analog volume control varies substantially with implementation. With careful level management typical analog volume control implementations can play nicely with DACs up to 18 bits or so. Though typical implementations tend to be closer to 14 bit equivalent.

This is a complex topic largely OT to rePhase. If you've further questions it's probably best to start a new thread after reading up some (if you do feel free to toss me a pointer in PM).

Just so you know, ESS dropped the NDA requirement some years ago.

Twest, thanks for the nice summary.

Did read through some articles on this and understand this better.
I am glad that with 32-bit DACs, digital volume control is at a point where only exceptionally well implemented analog control can be comparable. Whether any difference is audible (could be measurable) even at lower number of bits is also debatable.

Back to the topic, what bit width does rephase algorithms work on?
 
rePhase's precision in synthesizing filters is a question for pos. For processing it depends on the export format chosen and the consuming platform. Generally that's someplace between 16 and 80 bits with different numerical considerations applying between the accuracy with which the desired filter is described and the accuracy of the processing pipeline. ;)
 
Last edited:
Thank you twest, pos. My platform is a core i7 and final target is the convolution engine in Jriver, so fairly hefty DSP horsepower at my disposal. This feeds an external USB ES9018 DAC.
I will play around when i get there, but any quick comment on the best recommendation for the above chain?
 
Doesn't matter. Most PC implementations use doubles (IEEE 754 binary64) though at glance the Jriver docs don't preclude 64 bit fixed point (Q63). Either way the resolution limit is pos's decision to use floats (IEEE 754 binary32) rather than doubles, which is of negligible significance in all playback cases I'm aware of. (It is substantial to, say, certain methods of analyzing filter numerical performance.)

The most likely limit to mind in the gain structure is SPDIF to the DAC. It's a 20 bit interface with optional 24 bit support.
 
Last edited: