Interesting, there is intersample peak that gets at least +6.9dB after upsampling in SoX.
Pathological example of a intersample peak, 11dB - Hydrogenaudio Forums
Pathological example of a intersample peak, 11dB - Hydrogenaudio Forums
Almost none have. Oversampling DACs cannot handle artificially generated signals like 0dBFS square in principle (oversampling + interpolation principle).
Of course, adding some headroom would reduce the datasheet SNR numbers...
On the ESS, one could adjust the digital volume to avoid such clipping, perhaps based on what happens with real music... at least it clips cleanly, some other DACs wrap around, which is way worse...
I have to correct my statement. Not all DACs behave this way. I have just tried my Vincent CD-S3 player with Burr-Brown PCM1732 DAC and it plays 1kHz square wave, full scale 100% samples amplitude, without any clipping. So it must have a reserve for interpolation samples.
I've tried to reduce volume by setting ES9018 "Master Trim" register to 0x3fffffff, i.e. -6dB and although there is an improvement, there are still some artifacts occurring in my setup when 0dB white noise is played.
The artefacts are spurious, eta 3-4 per second, and the amplitude spectrum look similar to attached picture.
ES9018 register values:
11=0x95 (Med-High DPLL Bandwidth)
25=0x01 (custom DPLL x128)
23=0x3f (reduced volume)
others are default
In the next post I'll show similar artefacts with the OSF bypass enabled.
The artefacts are spurious, eta 3-4 per second, and the amplitude spectrum look similar to attached picture.
ES9018 register values:
11=0x95 (Med-High DPLL Bandwidth)
25=0x01 (custom DPLL x128)
23=0x3f (reduced volume)
others are default
In the next post I'll show similar artefacts with the OSF bypass enabled.
Attachments
I have verified that the problem with full scale white noise is the same as the problem with full scale square. In both cases, clipping of the interpolation filter. I have tried 4 different DACs. The only one that passed the test was the PCM1732. And, it can be explained by thorough datasheet study. The PCM1732 contains HDCD decoder. For standard CD's, digital gain of the DAC is internally reduced by 6dB. This makes a headroom for the interpolation filter, so there is no clipping with the non-standard test signals. However, current commercial music is so badly dynamically overcompressed, that clipping of interpolation filter in standard DACs may occur even if they play music. I have verified such clipping with music files.
So once again, the similar situation but now with full volume, OSF_bypass enabled and feeding data with bandwidth limited by SoX:
Unfortunately I'm not able to generate 384kHz yet, so this test uses only 192kHz.
First case:
# correctly limited BW at 1/16 of fs (8x oversampling + nyquist)
$ play -r 192000 -b 32 -c 1 -n synth white sinc -12k
Second and third case:
# incorrectly limited BW
$ play -r 192000 -b 32 -c 1 -n synth white sinc -13k
$ play -r 192000 -b 32 -c 1 -n synth white sinc -14k
ES9018 register values:
11=0x95 (Med-High DPLL Bandwidth)
25=0x01 (custom DPLL x128)
23=0x7f (full volume)
17=0x44 (OSF_bypass + no automatic SPDIF)
others are default
The first two cases are without artifacts within 1000 samples, the third one show similar symptoms as when OSF is used.
So it seems that with a good source resampling data to 352800kHz or 384000kHz and then applying low-pass sinc filter at 22050Hz or 24000Hz in software might produce better results than using default OSF.
Unfortunately I'm not able to generate 384kHz yet, so this test uses only 192kHz.
First case:
# correctly limited BW at 1/16 of fs (8x oversampling + nyquist)
$ play -r 192000 -b 32 -c 1 -n synth white sinc -12k
Second and third case:
# incorrectly limited BW
$ play -r 192000 -b 32 -c 1 -n synth white sinc -13k
$ play -r 192000 -b 32 -c 1 -n synth white sinc -14k
ES9018 register values:
11=0x95 (Med-High DPLL Bandwidth)
25=0x01 (custom DPLL x128)
23=0x7f (full volume)
17=0x44 (OSF_bypass + no automatic SPDIF)
others are default
The first two cases are without artifacts within 1000 samples, the third one show similar symptoms as when OSF is used.
So it seems that with a good source resampling data to 352800kHz or 384000kHz and then applying low-pass sinc filter at 22050Hz or 24000Hz in software might produce better results than using default OSF.
Attachments
So it seems that with a good source resampling data to 352800kHz or 384000kHz and then applying low-pass sinc filter at 22050Hz or 24000Hz in software might produce better results than using default OSF.
Definitely. I have the same experience, SW resampling with a proper brickwall filter is a kind of cure. But only for external DACs and soundcards. In a CD player, there is no chance to correct interpolation clipping, if it is inherent to the DAC used.
SoX seems to be using low-pass sinc filter with 317 coefficients by default, which might explain why it gives better results than onchip two stage FIR filter with 64+14 coefficients:
$ sox -V -c 2 -b 32 -r 384k -n test.wav synth 1 white vol -0dB sinc -24k
...
sox INFO vol: has no effect in this configuration
sox INFO sinc: num taps = 317 (from 317)
sox INFO sox: effects chain: input 384000Hz 2 channels
sox INFO sox: effects chain: synth 384000Hz 2 channels
sox INFO sox: effects chain: sinc 384000Hz 2 channels
sox INFO sox: effects chain: output 384000Hz 2 channels
One could simply use the master trim *or* attenuation registers to tune the output until the artifacts go away. Also seems another good reason to use the digital attenuator. 🙂
I would try the master trim first, as it applies to all channels. Also I wonder if changing some other registers might have an impact, for instance quantizers and pseudo differential mode. Probably not - but just curious.
I would try the master trim first, as it applies to all channels. Also I wonder if changing some other registers might have an impact, for instance quantizers and pseudo differential mode. Probably not - but just curious.
WM8741 has a register that attenuates 2db prior to the filter - just for this reason. Check the DS, a similar approach seems to be called for here.
One could simply use the master trim *or* attenuation registers to tune the output until the artifacts go away.
I've tried to reduce master trim up to -10dB, but the artifacts were still there. So that did not helped.
Does the slow roll-off filter behave the same?
Also have you tried changing IIR settings? The IIR is always active - even for PCM. Just curious to see if there is any impact at all.
Also have you tried changing IIR settings? The IIR is always active - even for PCM. Just curious to see if there is any impact at all.
Slow roll-off normally behaves much worse, than sharp roll-off. I am not sure if ESS9018 is any exception.
ES9018 K2M Revision V datasheet
Has anyone read the new version of datasheet dated on March 4th?
I heard that a sync-mode was introduced!
I should obtain the data sheet!
Has anyone read the new version of datasheet dated on March 4th?
I heard that a sync-mode was introduced!
I should obtain the data sheet!
Has anyone read the new version of datasheet dated on March 4th?
I heard that a sync-mode was introduced!
I should obtain the data sheet!
They have, but that's a different DAC, no?
I received a datasheet for ES9018K2M Revision V.
Has anyone tried "quick lock" mode newly implemented to the revision?
Has anyone tried "quick lock" mode newly implemented to the revision?
- Home
- Source & Line
- Digital Line Level
- ESS Sabre Reference DAC (8-channel)