The Designer's Guide Community
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jun 24th, 2024, 7:19pm
Pages: 1
Send Topic Print
calculating and ploting INL,DNL (Read 1004 times)
Community Member

Posts: 57

calculating and ploting INL,DNL
Dec 15th, 2011, 9:51am

I am working on 8 bit analog to digital converter and beginner in matlab

I swept dc input from

for vin = 0 : dv :3
save_input(i)= vin;

then ADC function is called which returns output code in array Vdout(i) = ADC_out;
i am able to get staircase output when i plot out vs input

now i want to plot DNL, which is ((Vdout - Vdoutprevious)/LSB)-1; how to plot it against digital output as there are less points in DNL array as compared to vdout?

also how to plot INL , how to calculate it and plot against input voltage?
Back to top
View Profile   IP Logged
Sharath Raju
Junior Member

Posts: 15

Re: calculating and ploting INL,DNL
Reply #1 - Oct 24th, 2012, 1:53pm
By definition, the DNL is not defined for the first and the last codes. Therefore, an 8-bit ADC will have DNL values only for ADC codes 1 through 254. (dropping the 0th and the 255th code.)

Then INL can be shown to be the cumulative sum of the DNL. i.e,

INL(code1) = DNL(code1)
INL(code2) = DNL(code2) + DNL(code1), and so on.

Note INL(code0) is undefined, and INL(255th code) = 0.
Back to top
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to Consider submitting a paper or model.