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.
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:
REF1: Ion E. Opris, Challenges in A/D Design and Practical / Understanding of A/D Specifications
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)
Thannks for writing this