The DNL/INL measurement in the following exemplary 3b ADC shows different results depending on which LSB unit is chosen. For the case of the Actual_LSB unit we get DNL=0 and INL=0 for all codes. This tells me that the actual TF has no linearity errors! However, for the case of the Ideal_LSB unit the DNL and INL take on non-zero values, where DNL[k]=-0.75 Ideal_LSB and INL[k]=-(k-1)*0.75 Ideal_LSB for k=1,2,...,6. Though DNL is greater than -1 Ideal_LSB and apparently causes no missing codes, the INL grows up as a function of the code in this particular example. This tells me that the actual TF is very nonlinear! So which DNL/INL measurement is actually correct?
Actual TF is linear only when input is less than Vfs/2, however you are loosing on your max SNR by 6dB as the full scale has reduced to Vfs/2. Linearity does mean that you will not see any harmonic sticking out of the noise floor against expectation. But you do see the noise floor itself raised compared to the ideal TF, with respect to the signal tone. All the above arguments are true if you assume that the input signal is not crossing the new full scale (i.e Vfs/2).
But, an important thing to note is that, if the input tone crosses Vfs/2, then the output code is always at full scale output code. This is a huge non-linearity and you see huge third/fifth harmonic sticking out killing your SNR further.
My opinion:
--> Use the actual LSB value.
So for code_independet unlinearities (not influenced by digital code pattern) you get the same DNL/INL value for both cases.
E.g. DNL of 0.8LSB
My opinion:
--> Use the actual LSB value.
So for code_independet unlinearities (not influenced by digital code pattern) you get the same DNL/INL value for both cases.
E.g. DNL of 0.8LSB
Hi, I think I didn't get your answer. If the actual LSB value is chosen then it does not give me any indication of the converter's errors such as gain error. Only a perfect converter has zero DNL and INL values. The actual TF shown above clearly does not resemble a perfect converter.
Actual TF is linear only when input is less than Vfs/2, however you are loosing on your max SNR by 6dB as the full scale has reduced to Vfs/2. Linearity does mean that you will not see any harmonic sticking out of the noise floor against expectation. But you do see the noise floor itself raised compared to the ideal TF, with respect to the signal tone. All the above arguments are true if you assume that the input signal is not crossing the new full scale (i.e Vfs/2).
But, an important thing to note is that, if the input tone crosses Vfs/2, then the output code is always at full scale output code. This is a huge non-linearity and you see huge third/fifth harmonic sticking out killing your SNR further.