ploting INL og DNL i Matlab

S

singhji0000

Guest
Hej, jeg arbejder på 8-bit analog til digital konverter og nybegynder i Matlab Jeg fejede DC input fra for VIN = 0: DV: 3 save_input (i) = vin, derefter ADC funktion kaldes som returnerer output kode i række Vdout (i ) = ADC_out, jeg er i stand til at få trappe output, når jeg plot ud vs indgang nu jeg vil plotte DNL, ​​der er ((Vdout - Vdoutprevious) / LSB) -1, hvordan man kan plotte det mod digital udgang, da der er færre point i DNL matrix sammenlignet med vdout? også hvordan man plotte INL, hvordan claculate det og plot mod indgangsspænding?
 
I hver iteration af for-løkken kan du kontrollere, om den nye værdi af ADC_out er forskellig fra den forrige (du har brug for en midlertidig variabel). I så fald du opbevarer spænding og ADC værdien i to vektorer. Ved slutningen, vil det par vektorer gemme alle de DNL informationer du har brug for.
 
Den nemme måde er at lave et histogram af output kode med skraldespande at være 0:255. Det dnl er antallet i skraldespanden divideret med hvor mange bør være i skraldespanden, og så kan du trække 1 fra. Det er en sandsynlighed for beregning, men hvis du har en rampeinput det er temmelig let. Så hvis du har 4096 point for dit input, for en 8-bit DAC hver bin bør har 16 point i det. Hvis din ADC output kaldes "Vdout" det ville se noget som dette. code = 0:255; [DNL, junk] = hist (Vdout, kode) / 16-1; INL = cumsum (DNL);
 
Den nemme måde er at lave et histogram af output kode med skraldespande være 0:255. Det dnl er antallet i skraldespanden divideret med hvor mange bør være i skraldespanden, og så kan du trække 1 fra. Det er en sandsynlighed for beregning, men hvis du har en rampeinput det er temmelig let. Så hvis du har 4096 point for dit input, for en 8-bit DAC hver bin bør har 16 point i det. Hvis din ADC output kaldes "Vdout" det ville se noget som dette. code = 0:255; [DNL, junk] = hist (Vdout, kode) / 16-1; INL = cumsum (DNL)
tak for ur hjælpe med at gøre 4096 point i input betyder analoge indgangsspænding? også efter at vi får DNL værdier, kan vi plotte det mod vores produktion kode?
 
Ja, 4096 er antallet af punkter i den analoge input, men du kan bruge et vilkårligt antal.
 
tak robg ... Jeg har bare fejet inlput spænding fra 0 til 3V med 4096 point og fik ADC output for 4096 point .. nu, hvis mit input spænding har 4097 point og INL har kun 255 værdier. hvordan man kan plotte det mod indgangsspændingen eller output kode? .. så hvordan at plotte dem mod hinanden og så se INL fejl i LSB? for vin =-3V: DV: 3V med dv = 6/4096 input (j) = vin; ud = ADC (VIN, ncycle) adcout (j) = ud; ende [DNL, junk] = hist (adcout, bin ) x1 = DNL/16 -1;%% 8 bit ADC INL = cumsum (x1);
 

Welcome to EDABoard.com

Sponsor

Back
Top