AD1866 based NOS DAC with 0.2% THD at 1kHz?

Hi everyone,

I'm testing a NOS DAC circuit with the AD1866, the digital signal is fed from an Arduino Due compatible board, the samples are stored in PCM WAVE format 48kHz/16 bit.

The reconstruction filter is the same as suggested in the datasheet but I'm using the LM4562 instead of the NJM2100, I've also included an inverting amplifier, because I've noticed a phase inversion at the output with the suggested circuit.

The DAC and opamps run from a 9V battery based power supply, with a 7805 voltage regulator.

The microcontroller has a separate power supply, being fed from a USB powerbank.

I've recorded the samples from the output of the circuit using the onboard codec of my PC (ALC1220P), THD and SNR was analyzed in MATLAB and I've obtained about -55 dB (0.2%) THD and -63 dB SNR, are those values typical? They seem to differ by much from the values stated by the manufacturer?
The THD results are much worse than those obtained with an architecture based on the DAC8552 and OPA2350 which are under 0.05%, I thought this setup would be an upgrade, maybe I was wrong 😛

Best Regards,
Daniel
 

Attachments

  • Reconstruction filter + Inverting Amplifier - v1.asc
    Reconstruction filter + Inverting Amplifier - v1.asc
    2.8 KB · Views: 91
  • Recorded signal.png
    Recorded signal.png
    48.8 KB · Views: 136
  • MATLAB script.zip
    MATLAB script.zip
    588 bytes · Views: 78
  • SNR and THD.png
    SNR and THD.png
    44.5 KB · Views: 141
The sound is actually pretty enjoyable, unfortunately I never heard a tube DAC myself, but it seems one of the greatest setups I've heard, something must be wrong with my hearing 'cause the THD is terrible IMO, do you know any way to improve it? It is much higher than claimed by the manufacturer.

Not sure if it sounds better or worse than the DAC8552, though.
 
The noise isn't noise, but a whole bunch of discrete tones at multiples of 125 Hz, as if there is something periodic with an 8 ms period. 1 kHz and 48 kHz both fit an integer number of times in 1 ms, though.

Have you got any idea where that 8 ms periodicity/125 Hz beat frequency may come from?
 
Hi Marcel,

Good point, I think it may come from the SMPS of the PC, or maybe some ground loop during measurement, I need to redo the testings. I don't have any PC with a clean supply, maybe it's better to try on a battery operated device. That may explain the noise, but why is the THD so high? I was expecting something between 0.005% and 0.05% (ENOB between 11 and 14 bit). With 0.2% THD the ENOB is about 9 bit at 1kHz, or am I calculating it wrong?
 
Last edited:
The THD is unusually high, that's for sure. Could there be a reason why you drive something into clipping, but only just? For example, when you pass a signal of which the peak samples are normalized to 0 dBFS through some sort of digital filter (such as those in a software sample rate converter), it will usually just clip, because it may need to exceed 0 dBFS in between the samples.

Does anything change when you measure with a 1 dB softer test signal or with a prime number frequency such as 997 Hz?
 
I have performed the test again with a -6 dBFS signal, at 16 Hz, 1 kHz and 10 kHz, and I have obtained 0.04%, 0.03% and 0.04%, respectively. At -1 dBFS it is about twice those values, I don't know exactely why, but since the reference signals (voltage midpoint) generated by the DAC chip are about 2.9 V, instead of 2.5 V, maybe the opamps (LM4562) are not behaving properly due to lack of headroom (input common mode range or output quasi saturation), what do you think?

I am not doing any digital filtering or sample rate conversion.
 
I don't know exactely why, but since the reference signals (voltage midpoint) generated by the DAC chip are about 2.9 V, instead of 2.5 V, maybe the opamps (LM4562) are not behaving properly due to lack of headroom (input common mode range or output quasi saturation), what do you think?

I think that 2.9 V is very suspicious. I would check the other DC levels to hopefully find out what is going on. Disconnected ground pin that is only grounded via an internal ESD diode maybe?
 
As a sanity check you might want to measure the loopback performance of your ALC1220P codec. Also instead of using Matlab you could just use a measuring SW (REW, Arta, RMAA).
I have previously tested the CODEC in loopback, if my memory not fails I recall measuring THD1 of under -100 dBFS (0.001%) and -94 dBFS (0.002%) at 10 kHz. I have also tested the CODEC of my smartphone (WCD9380) and I have got 0.0008% THD1 and 0.001% THD at 10 kHz. Regarding the SW I am only using MATLAB and SoundCard Scope, and the measured values are the same.

The SNR seems suspicious though, I recall measuring something between 50 and 70 dB, which is far off from the typical 100-120 dB of most modern CODECs.