ADCs and DACs for audio instrumentation applications

The polynomial can compensate only static distortion, even if each piece is calibrated individually. The dynamic distortion will remain and every piece has its dynamic distortion different at these miniscule values.

Compensating Hx down to -145dBr is possible, it's a statistically calculated value (long FFT + averaging), i.e. resolution higher than the sample LSB.
 
The polynomial can compensate only static distortion, even if each piece is calibrated individually. The dynamic distortion will remain and every piece has its dynamic distortion different at these miniscule values.

Compensating Hx down to -145dBr is possible, it's a statistically calculated value (long FFT + averaging), i.e. resolution higher than the sample LSB.
Oh, thank you man, I was afraid to reply syn08 to avoid making him angry again :D
You are right about the distortions, I specified that for the particular level -.5dbfs and it is perfect for the measurement purpose. Am I right? ;)
 
REW's pre-distortion at -180dg goes through the chain which changes the phase a bit. Therefore the pre-distortion "left" for the ADC from the overall pre-distortion generated by REW may have a different phase from -180dg, possibly compensating the ADC distortion better than the polynomial running on the ADC side (which handles strictly -180dg only).

Also this is a play between individual compensation of DAC and ADC sides. You would have to determine separate DAC and ADC distortion contributions and be able to compensate them precisely. The ESS DAC static compensation allows setting some 16bit coefficients - what is the exact formula from the value entered to the multiplication polynomial? The ESS ADC static compensation is a linear piecewise interpolation with the dynamic range split to 32 bands, just an approximation of a true polynomial curve.

In my compensation I determine vectors of the separate DAC & ADC distortions and calculate polynomial coeffs which compensate the static components of the distortions (static = -90dg component of the determined H2 vector, -180dg of the H3 vector, etc...). The calculation is exact down to float64 precision, of course precise calculations above noisy samples from the AD conversion.
 
Last edited:
The polynomial can compensate only static distortion, even if each piece is calibrated individually. The dynamic distortion will remain and every piece has its dynamic distortion different at these miniscule values.

Compensating Hx down to -145dBr is possible, it's a statistically calculated value (long FFT + averaging), i.e. resolution higher than the sample LSB.

Agreed, but the outstanding claim is not about Hx, is about THD=0.00002%=-135dB, which is the geometric sum of all harmonics in the measurement bandwidth. I’m not buying this THD value, not the ability to completely compensate the 3rd. To add insult to injury, only the 2nd and the 3rd can be compensated by the ESS feature, and not really independently, at least that’s in the ESS PRO DAC. Should I understand there are no harmonics beyond H3? Hmmmmm….
 
Last edited:
I cannot talk for Ivan's setup, but I have regularly compensated my low-end E-MU 0404 USB to THD -135dB https://www.diyaudio.com/forums/equ...nsation-measurement-setup-38.html#post6187459

Yes, the ESS DAC offers only compensation of 2nd- and 3rd-order polynomial coefficient, the 2nd having impact on H2 and H3 and an optimal compromise value must be found. The ESS ADC offers 32-piecewise linear approximation of the polynomial curve, allowing to approximate higher-order polynomials. IIUC that's what Ivan's windows tool does.
 

Attachments

  • direct-VD.png
    direct-VD.png
    137.4 KB · Views: 211
I cannot talk for Ivan's setup, but I have regularly compensated my low-end E-MU 0404 USB to THD -135dB https://www.diyaudio.com/forums/equ...nsation-measurement-setup-38.html#post6187459

Yes, the ESS DAC offers only compensation of 2nd- and 3rd-order polynomial coefficient, the 2nd having impact on H2 and H3 and an optimal compromise value must be found. The ESS ADC offers 32-piecewise linear approximation of the polynomial curve, allowing to approximate higher-order polynomials. IIUC that's what Ivan's windows tool does.

what is your ref sin(x) signal on the EMU inputs? As I see, even AP isn't really precise in that sort of art.
 
I am not sure I understand exactly. That measurement is a DAC - ADC loopback, using headphone outputs -> balanced inputs of the soundcard, through my proof-of-concept automated calibration adapter. Level a few Vrms.

I am not entirely convinced that digital THD measurements of freewheeling analog oscillators are 100% correct, IMO it's not so easy to measure tiny distortions of unstable frequencies with large FFTs. But I have no practical experience nor a physical proof.
 
I am not sure I understand where you are heading. Of course measuring ADC distortion requires knowing exact distortions (i.e. vectors, not just amplitudes) of the source signal. But also making sure that the measurement method and the signal frequency and its stability within the measurement timespan are compatible. Which may or may not be the case, but definitely such question must be asked and answered, before the measured numbers can be considered valid.
 
Wondering, when you are compensating the ADC distortions for the analog loop, you are in fact compensating for both the ADC and the DAC residual distortions (after it's own compensation), correct?

Again I cannot speak for Ivan, but I determine the separate distortions of DAC and ADC, compensate the DAC distortions on the DAC side to produce "clean" sine, and the remaining distortions are attributed to the ADC. Of course the level of DAC "cleanliness" depends on internal distortion of the calibration adapter and precision of the calibration measurements. The actual calculation of DAC and ADC contributions to the overall measured distortions exceeds the measurement precision (i.e. values entering the calculation) by many orders of magnitude. Obviously the less distorting DAC and ADC to start with, the better. Hence my interest in the ESS DAC/ADC chain.

People use ultra-low distortion analog oscillators instead of DACs but as I said I am not convinced about validity of ultra-low distortion measurements using freewheeling analog oscillators. But I may be (and often am) wrong.


Otherwise, I don't see how the ADC distortions could be better than the DAC distortions...

Distortions are vectors and their superpositions are vector sums. I have seen reports of DAC and ADC distortions to virtually zero out in the analog loopback. Not a surprise though.
 
The ES9822 THD compensation isn't just limited to the 2nd and 3rd harmonics. You calculate the entire polynomial and coefficients to be programmed into the correction registers.

I am assuming that you could, theoretically, add in as many orders to the equation as you want but the resolution for storing the final result might be limited.

With enough patience, trial and error, and a clean enough signal source, you could compensate down to 0.00002% in my opinion. Whether or not this is necessary, or reliable, is another matter.

I've got a dual mono 9822 acting as slaves. For optimum compensation I'd want to split these into stereo ADCs first and then compensate the left and right channels separately. Then do this for both ADCs. 4 separate sets of finely tuned THD compensation coefficients and out to the 5th harmonic if I really want to push it. I cannot be bothered to do this though.

For simplicities sake I tried using one set of THD compensation coefficients for all 4 channels and only targeted the 3rd harmonic. With the 2nd/4th down at -140dB+ they don't need any attention it's just the 3rd and 5th that really do.

Regardless, the simple compensation gives me 0.00005% THD and 0.00008% THD+N with ARTAs A weighting at 0.5dBfs which is as good as I can realistically expect from the AK4499 signal source as I've measured when using a notch.

The THD compensation holds across frequency and sample rates too.
 
0.00005% THD and 0.00008% THD+N are -126dB and -122dB respectively. These are numbers I would buy.

In my book, the magic starts at -130dB, any claim under this barrier needs extraordinary evidence. Long story short, I got once, for about 5 minutes, -133dB from an analog loop, until I dared to breath around the setup. After a power cycle, the results were 5-7dB worse.