ploting INL og DNL i matlab

S

singhji0000

Guest
Hei, jeg jobber med 8-bits analog til digital omformer og nybegynner i matlab jeg feide dc innspill fra for vin = 0: dv: 3 save_input (i) = vin, så ADC funksjonen kalles som returnerer utgang koden i array Vdout (i ) = ADC_out; jeg er i stand til å få trapp ut når jeg plottet ut vs innspill nå vil jeg plotte DNL, ​​som er ((Vdout - Vdoutprevious) / LSB) -1, hvordan å plotte den mot digital utgang som det er færre poeng i DNL array i forhold til vdout? også hvordan å plotte INL, hvordan claculate det og plottet mot inngangsspenning?
 
I hver iterasjon av for loop kan du sjekke om den nye verdien av ADC_out er forskjellig fra den forrige (du trenger en midlertidig variabel). I så fall lagrer du spenningen og ADC verdien i to vektorer. På slutten vil par av vektorer lagre alle DNL informasjon du trenger.
 
Den enkle måten er å gjøre et histogram av produksjonen koden med skuffer være 0:255. Den DNL er antall i bin delt på hvor mange skal være i bin, og du trekker en fra det. Det er en sannsynlighetsberegning, men hvis du har en rampe inngang er det ganske enkelt. Så hvis du har 4096 poeng for innspill din, for en 8 bit DAC hver bin skal har 16 poeng i det. Hvis ADC-utgang kalles "Vdout" det ville se noe som dette. kode = 0:255; [DNL, junk] = hist (Vdout, code) / 16-1; INL = cumsum (DNL);
 
Den enkle måten er å gjøre et histogram av produksjonen koden med skuffer være 0:255. Den DNL er antall i bin delt på hvor mange skal være i bin, og du trekker en fra det. Det er en sannsynlighetsberegning, men hvis du har en rampe inngang er det ganske enkelt. Så hvis du har 4096 poeng for innspill din, for en 8 bit DAC hver bin skal har 16 poeng i det. Hvis ADC-utgang kalles "Vdout" det ville se noe som dette. kode = 0:255; [DNL, junk] = hist (Vdout, code) / 16-1; INL = cumsum (DNL),
takk for ur hjelpe gjøre 4096 poeng i inngang betyr analog inngangsspenning? også etter at vi får DNL verdier, kan vi plotte det mot vår produksjon koden?
 
Ja, er 4096 det antall poeng i analog inngang, men du kan bruke hvilket som helst tall.
 
takket robg ... Jeg bare feid inlput spenning fra 0 til 3V med 4096 poeng og fikk ADC-utgang for 4096 poeng .. nå hvis min inngangsspenning har 4097 poeng og INL har bare 255 verdier. hvordan å plotte den mot inngangsspenning eller output koden? .. så hvordan å plotte dem mot hverandre og se deretter INL feil i LSB? for vin =-3V: dv: 3V med dv = 6 / 4096 inngang (j) = vin; ut = ADC (vin, ncycle); adcout (j) = out; end [DNL, junk] = hist (adcout, bin ); x1 = DNL/16 -1;%% 8 bit ADC INL = cumsum (x1);
 

Welcome to EDABoard.com

Sponsor

Back
Top