ADC Linearity Testing using Intermodulation Distortion near DC - Page 1
Forum section: electronics / general

author: TexasRanger
author_rank: Contributor
timestamp: February 27, 2021, 10:10:05 am
content: Hey Voltnuts,To measure the Linearity of ADCs over around 1kHz you usually put in a clean Sine Wave, and look at the created Distortion Spectrum (THD) by the ADC.With very good Analog Oscillators or very expensive Audio Analyzers this gets you down to a THD of around 0.1ppm at 1kHz to 10kHz.However for near DC linearity Measurements you would need Sine Wave Generators with sub Hz Frequency, which can practically not be created with high linearity and analog circuitry.But by looking at intermodulation distortion, you don't need very linear Signal Generators, you can take a off the shelf Digital Generator like the Siglent SDG1000X (-80dB THD!) and estimate the THD at high frequencies of ADCs with around 1ppm uncertainty! With some trickery you can even get the static transfer function by this method.The only limitations is the noise floor of your generators and the ADC.For intermodulation Distortion Measurement you need to take 2 Sine generators with different Frequency and measure the sum Frequency with your DUT.A non-linear ADC will now create intermodulation distortion at n*frequency_1+m+frequency_2 (n,m are natural numbers).So theoretically you could take 2 Calibrators, or DACs with low 1/f Noise, tie one ground to the Output of the other one, tell them to approximate a sub Hz Sine Wave and evaluate the near-DC linearity your ADC!I attached a typical IMD spectrum of a simulated ADC with around 1ppm x^2 non-linearity tested by 2 Signal Generators with around 10ppm non-linearity.Have fun!EDIT: The advantage of this method is, that you can average over Days and get ppb Resolution and test Million of points of the transfer function of your ADC/Meter, rather than just some points.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 27, 2021, 12:47:10 pm
content: The intermodulation test mainly gives an average INL number, not a full linearity error curve. Carefully looking at the phase and different amplitude one may get a slight glimps on which type of error (e.g. more square or 3 rd power).The intermodulation test is more like a final test, to see if correnction really works.For a numerical correction, it only makes sense to correct as much as is reliably measured and the INL error is stable. So chances are the useful polynomnal grade is more limited. high order can especially cause errors near the ends. The fit is often relative poor there.

author: TexasRanger
author_rank: Contributor
timestamp: February 27, 2021, 12:51:21 pm
content: Quote from: 3roomlab on February 27, 2021, 12:28:07 pmYou can multiply your Signal with a "guessed" Error correction Term depending on the IMD Spectrum, replot the FFT and check if it got any better.You try to get the highest Order IMD lower and work your way down to the lowest Order IMD until your FFT looks clean. This works great in the Simulation for huge static non linearities, but in reality you have more often other complex non-linearity types and lots of noise.

author: RoGeorge
author_rank: Super Contributor
timestamp: February 27, 2021, 01:33:25 pm
content: I wonder if usingvery closefrequencies for the two tones, together with abandpass filter, will serve to separate even better the DUT distorsions from the generators' distortions.(something similar with the example used between between minute 21:30 and 31:10 in this video).