Recently I pick up Wang Xiaobo‘s essays again. One sentence from him made a deep impression on me: do what you like is ‘have’; do what you don’t know why you are doing is ‘not have’. Then I came here and ask myself: have or not have? From technical point of view, pity that I don’t know the exact answer. However, I do like writing itself, and of course sharing.

OK, that’s enough! 😉

Come to the technical point:

I got a question from my colleague the other day when I presented the DNL/INL and FFT plots of the ADC. He asked whether it is necessary (or meaningful) to always show these two plots together in a paper. I think it will be informative anyway, because linearity errors tell you ADC performance from the static point of view (e.g. missing codes, clustered DNLs or abrupt INL ) while FFT tells from the dynamic perspective (e.g. sample-and-hold nonlinearity). Then, I dig a little bit deeper about the relation between the static performance and dynamic performance. In this post, I first look at DNL and SNR.

**DNL versus SNR **

First, assume that DNL error is uniformly distributed over +/- 1/2 LSB, which is the same as quantization noise. Hence, the joint PDF for two uniform PDFs is a triangular shape.

Fig. 1 Integrated error based on two uniform distributions: DNL and Quantization (REF1)

Based on the above integration result, it can be seen that the total noise power becomes 2 times the quantization error. This indicates that the DNL error reduces overall SNR by 3dB. Then, here comes the general equation which shows the SNR degradation due to DNL:

Note that it is only valid for cases where there is no missing codes.

If we do a Matlab plot:

Fig.2 SNR degradation due to DNL error (Assume DNL follows uniform distribution)

REF1: Ion E. Opris, Challenges in A/D Design and Practical / Understanding of A/D Specifications

### Like this:

Like Loading...

*Related*

Pingback: ADC Performance B: INL vs. THD | EveryNano Counts

Pingback: Brief Study of Dither C: Dithered DNL | EveryNano Counts

I want to prove SNDR Degradation due to DNL.

could you help me?

hi, sorry for the late reply. The stuff I posted here is all I know about SNDR & DNL.

The formula I’ve deducted is: SNR_degradation = 10log(1 + 3 * DNL^2)

When DNL = 0, you get no degradation;

When DNL = 1LSB, you lose one bit of SNR (i.e., 6.02dB)