In the previous post, I’ve looked at the relation between DNL and SNR. In DNL plot, where the variation of the nonlinearity error just looks like noise, so it’s easy to imagine that the SNR will be degraded due to the DNL (noise level is increased).

Now let’s think of an INL plot. Ideally, it’s the converter’s overall transfer function, which is straight (linear). However, in practice, it deviates from the perfectly straight transfer function (imagine a bending line). We know that as long as the transfer function is not straight, there should exist harmonic distortions. Hence, there’s relation between INL and THD. In this post, I will share some information about it.

**INL versus THD**

First, look at the following two vivid examples [REF 2]:

Fig. 1 INL with 2nd-Order Distortion

Fig. 2 INL with 3rd-Order Distortion

Secondly, a glance at a curve of THD vs. input frequency from datasheet, and then estimate the INL [REF 3] .

Fig. 3 THD vs. Input Frequency for a 16-bit, 40kHz Sampling ADC

The INL specification for this device applies only with low frequency inputs, the very left hand side of the graph. As the frequency of the input signal increases, the output codes will deviate more and more from the desired ideal output code, and the INL worsens.

In the above figure, the low frequency THD of the converter is roughly -101dB, which means that the harmonic distortion is 101dB below the converter’s full-scale range. Since the full-scale range of this 16-bit converter is +/- 32768, then the harmonic distortion represents an INL error of roughly +/- 0.3LSB. A general equation can be expressed as:

Then, if the converter is used to digitize a signal which can slew at an equivalent rate to that of a 10kHz signal, then the THD of the converter will be roughly -86dB. This represents an INL error of +/- 1.6LSB. The INL error has increased ±1.3 LSB.

Note that this calculation is a first-order approximation.

**Some remarks:**

- Below a certain frequency, THD is only dependent on the overall INL of the converter. Above that frequency, THD is increasingly dependent on the dynamic performance of the converter (e.g. sample-and-hold).
- SNR changes very slightly with input frequency and, thus, so does DNL.
- In a device’s datasheet, if the performance curves of SNR and THD are flat over the frequency range of your input signal (maximum slew rate of your input signal), then you can concentrate on the INL and DNL specifications of the converter.

REF 2: Aaron Buchwald, Specifying & Testing ADCs.

REF3: Jerry Horn, The relationship between harmonic distortion and integral non-linearity.

### Like this:

Like Loading...

*Related*

Hi

I think the relation you’ve mentioned 20log(INL/2^N-1) gives SFDR rather than THD. If other harmonics are not that significant, may be it can considered as THD.

And one more thing is if we are using some sort of fitting to get INL of ADC, we’ve to use best fit method to get INL and use in above equation. The INL usually reported in data sheets is usually obtained by end point method and we can’t approximate SFDR from it. Does that make sense ?

Hi, thanks for your comments. I still prefer THD to SFDR, and the reasons are: 1) INL mainly tells the story of nonlinearities (all harmonics); 2) THD calculation include several orders of harmonics, which is a good representation of the nonlinearities; 3) SFDR only tells the strongest non-signal bin, which usually is the strongest harmonic bin, but sometimes it may be due to noise instead of harmonics.

Regarding the best-fit method or end-point method of calculating the INL, I think it doesn’t matter. Since the difference between the two methods is the offset instead of the nonlinearities, I think it’s OK to use the aforementioned approximation method.

I just saw this site for the first time today. It’s nice. Thanks for the effort in putting this together.

Hi admin, do you monetize your website ? There is easy method to earn decent money

every day, just search on youtube : How to earn $25/hour selling articles

Hi, why the equation is THD=20log(INL/2^(N-1))? I think maybe THD=20log((INL*LSB)/())=20log(INL/2^N) is more correct.

Apology for the missing. I post it by mistake.

I mean: THD=20log((INL*LSB)/(LSB*2^N))=20log(INL/2^N).

Don’t know why there is a “by 2” in your equation.

What’s your comment about this?