ESS Sabre Reference DAC (8-channel)

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...
 
Got it. Compare 1kHz square 0dB, output from Vincent CD-S3 (Burr-Brown PCM1732) and Marantz SA7001 (Cirrus CS4397). Marantz is clipping.
 

Attachments

  • Marantz_SA7001_1kHz_sq_0dB.PNG
    Marantz_SA7001_1kHz_sq_0dB.PNG
    21.5 KB · Views: 566
  • CD-S3_1kHz_sq_0dB.PNG
    CD-S3_1kHz_sq_0dB.PNG
    22 KB · Views: 581
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.
 

Attachments

  • white-0dB-irregular-artefacts-3Hz-master-trim-0x3fffffff.png
    white-0dB-irregular-artefacts-3Hz-master-trim-0x3fffffff.png
    40.7 KB · Views: 545
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.
 

Attachments

  • white-192k-bw-sinc-12k.png
    white-192k-bw-sinc-12k.png
    39 KB · Views: 534
  • white-192k-bw-sinc-13k.png
    white-192k-bw-sinc-13k.png
    39.1 KB · Views: 532
  • white-192k-bw-sinc-14k.png
    white-192k-bw-sinc-14k.png
    38.7 KB · Views: 90
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.