Kako radi Kalkulator rezolucije ADC-a
Kalkulator rezolucije ADC-a je besplatan mrežni alat koji izračunava veličinu koraka analogno-digitalnog pretvarača, pogrešku kvantizacije i idealni omjer signala i šuma (SNR) na temelju njegove bitne rezolucije i referentnog napona. Unutar jednog sučelja korisnici mogu procijeniti unipolarne i bipolarne ulazne raspone, pretvarati vrijednosti natrag i naprijed između ulaznih napona i digitalnih kodova te odrediti minimalnu bitnu rezoluciju potrebnu za razlučivanje određene ciljne promjene napona. Alat prikazuje potpuno razrađena matematička uvrštavanja za svaki izračun, pomažući korisnicima da provjere temeljne formule i razumiju teoretske granice svog pretvarača.
Ulazni parametri alata
Korisnik u alat unosi sljedeće parametre:
- Rezolucija N (bita): Cijeli broj od 1 do 32 koji predstavlja nominalnu širinu bita pretvarača.
- Referentni napon: Pozitivan broj koji predstavlja referentni napon.
- Referentna jedinica: Mjerna jedinica za referentni napon.
- Ulazni raspon: Odabir između opcija "Unipolarni · 0 do Vref" i "Bipolarni · −Vref do +Vref".
- Prikazane decimale: Broj decimalnih mjesta za prikaz u rezultatima.
- Pretvori (opcionalna mjerna točka): Preklopnik za odabir načina pretvorbe između "Napon → kod" i "Kod → napon".
- Ulazni napon (opcionalno): Vrijednost napona za pretvorbu u digitalni kod, koja se može ostaviti prazna za preskakanje.
- Kod (koraci) (opcionalno): Cijeli broj od 0 do najvišeg koda pretvarača za pretvorbu u napon, koji se može ostaviti prazan za preskakanje.
- Jedinica napona: Mjerna jedinica za ulazni napon ili napon koda.
- Najmanja promjena koju treba razlučiti (opcionalno): Pozitivna ciljna promjena napona koja se koristi za izračun potrebne bitne rezolucije.
- Jedinica koraka: Mjerna jedinica za najmanju promjenu koju treba razlučiti.
Sučelje također nudi gumbe "Učitaj primjer" i "Očisti" za brzo popunjavanje ili resetiranje ovih ulaza.
Izlazni rezultati i oznake na sučelju
Alat prikazuje rezultate pod točno definiranim oznakama sučelja:
Veličina koraka i šum
- Veličina koraka LSB: Izračunata veličina koraka najmanje značajnog bita (LSB), s podoznakom koja prikazuje taj korak kao postotak punog raspona i u ppm.
- Razine kvantizacije: Ukupan broj diskretnih razina (2ᴺ).
- Najviši kod: Maksimalni digitalni izlazni kod (2ᴺ − 1).
- Puni raspon (FSR): Ukupni naponski raspon pretvarača.
- Maks. pogreška kvantizacije (±½ LSB): Maksimalna teoretska pogreška kvantizacije.
- Šum kvantizacije (rms): Efektivna vrijednost (rms) napona šuma kvantizacije.
- Idealni SNR (sinusni signal punog raspona): Teoretska gornja granica omjera signala i šuma u decibelima.
- Dinamički raspon: Teoretski dinamički raspon u decibelima.
U mjernoj točki
- Izlazni kod: Rezultirajući digitalni kod dobiven pretvorbom napona u kod.
- Binarno: Binarni prikaz izlaznog koda.
- Heksadecimalno: Heksadecimalni prikaz izlaznog koda.
- Napon koda: Točan napon koji odgovara zadanom digitalnom kodu.
- Pogreška kvantizacije: Razlika između stvarnog ulaznog napona i napona koji predstavlja dobiveni kod.
- Ulazni prozor za ovaj kod: Raspon ulaznih napona koji se preslikavaju u izračunani digitalni kod.
Status dimenzioniranja
Kada se unese ciljni korak, alat prikazuje koliko je bita potrebno za njegovo razlučivanje i pokriva li trenutno odabrana širina bita taj zahtjev. Ako trenutna širina ne pokriva zahtjev, poruka navodi stvarni korak koji trenutni pretvarač može razlučiti.
Formule i matematičko uvrštavanje
Stranica prikazuje formule simbolički, a zatim prikazuje svaku od njih s uvrštenim korisničkim brojevima umjesto varijabli:
- Veličina koraka LSB: LSB = FSR ÷ 2ᴺ
- Maks. pogreška kvantizacije: ±LSB ÷ 2
- Šum kvantizacije (rms): LSB ÷ √12
- Idealni SNR (sinusni signal punog raspona): SNR = 6.02 × N + 1.76 dB
- Dinamički raspon: 6.02 × N dB
- Unipolarni kod: kod = round(Vin ÷ LSB); bipolarni kod: kod = round((Vin + Vref) ÷ LSB)
- Unipolarni napon: V = kod × LSB; bipolarni napon: V = kod × LSB − Vref
- Pogreška kvantizacije u mjernoj točki: napon koda − ulazni napon
- Koliko vam je bita potrebno?: N ≥ log₂(FSR ÷ korak), zaokruženo na sljedeći cijeli broj bita
Primjer izračuna
Ako učitate ugrađeni primjer s vrijednostima: 12 bita, referentni napon 3.3 V, unipolarni raspon, kalkulator daje sljedeće rezultate:
- Razine kvantizacije: 4,096
- Najviši kod: 4,095
- LSB = 3.3 V ÷ 4,096 ≈ 805.6641 µV
- Maksimalna pogreška kvantizacije: ±402.832 µV
- Šum kvantizacije: ≈ 232.5752 µV rms
- Idealni SNR: ≈ 74.01 dB
- Dinamički raspon: ≈ 72.25 dB
Ulazni napon od 1.65 V nalazi se točno na sredini skale i preslikava se na kod 2,048 (binarno 1000 0000 0000, heksadecimalno 0x800) uz nultu pogrešku kvantizacije.
Pravila izračuna i granični slučajevi
- Model kvantizacije: Alat modelira idealni kvantizator kod kojeg se prvi prijelaz koda događa na polovici koraka (½ LSB), definirajući LSB kao FSR ÷ 2ᴺ.
- Teoretski opseg: Svi izračuni opisuju idealan pretvarač. Stvarni ADC dodaje pogreške pomaka, pojačanja, INL/DNL i pogreške referentnog napona, pa su idealni SNR, dinamički raspon i granica od ±½ LSB teoretski maksimumi, a ne izmjerene performanse. Rezolucija pretvarača (broj bita) razlikuje se od njegove točnosti.
- Unipolarni raspon: Puni raspon (FSR) jednak je Vref, a ulazni raspon proteže se od 0 do Vref.
- Bipolarni raspon: Puni raspon (FSR) jednak je 2 × Vref, a ulazni raspon proteže se od −Vref do +Vref. Kod 0 se preslikava na −Vref, srednji kod 2ᴺ⁻¹ na 0 V, dok se najviši kod nalazi jedan korak ispod +Vref.
- Zaokruživanje: Pretvorba napona u kod koristi formulu
round(Vin ÷ LSB)za unipolarne iround((Vin + Vref) ÷ LSB)za bipolarne ulaze. - Zasićenje iznad gornje granice: Ako je ulazni napon iznad gornje granice, izlaz se zasićuje na najvišem kodu (2ᴺ − 1). Alat prikazuje upozorenje: "Ulaz je iznad gornje granice: izlaz se zasićuje na najvišem kodu, a prikazana pogreška je stvarni ostatak — granica od ±½ LSB više ne vrijedi.".
- Zasićenje ispod donje granice: Ako je ulazni napon ispod donje granice, izlaz se zasićuje na kodu 0. Alat prikazuje upozorenje: "Ulaz je ispod donje granice: izlaz se zasićuje na kodu 0, a prikazana pogreška je stvarni ostatak — granica od ±½ LSB više ne vrijedi.".
- Ulaz na sredini skale: Ako je ulazni napon točno na sredini skale, alat napominje da se polovica raspona preslikava na srednji kod uz nultu pogrešku kvantizacije.
Privatnost i lokalna obrada
Svaki broj koji unesete ostaje u ovom pregledniku — ništa se ne šalje na poslužitelj. Svi izračuni izvršavaju se lokalno na uređaju korisnika.
Kome je ovaj alat namijenjen
- Projektantima hardvera: Pri odabiru ADC-a, kako bi odredili koliko je bita rezolucije potrebno za detekciju specifične minimalne promjene napona iz senzora.
- Inženjerima za otklanjanje pogrešaka: Pri analizi signalnih lanaca, za pretvorbu sirovih digitalnih kodova iz registara mikrokontrolera natrag u fizičke vrijednosti napona radi provjere očitanja.
- Projektantima sustava: Pri izradi proračuna šuma, za izračun teoretskog maksimalnog SNR-a i šuma kvantizacije kako bi ih usporedili sa stvarnim šumom u sustavu.
- Razvojnim programerima ugrađenog softvera: Za mapiranje analognih ulaza u digitalne kodove i obrnuto te provjeru algoritama skaliranja softvera.
Često postavljana pitanja (FAQ)
Znači li 12-bitna rezolucija i 12-bitnu točnost?
Ne. Rezolucija je samo širina koda — koliko je sitno raspon podijeljen. Točnost je ograničena pretvaračevim INL-om i pogreškama pomaka/pojačanja, tolerancijom i šumom reference te krugom oko njega. Zato se u tehničkim podacima navodi ENOB: 12-bitni SAR obično daje 10–11 efektivnih bita. Ovdje prikazani idealni SNR od 74 dB teoretski je maksimum koji nijedan stvarni 12-bitni pretvarač ne dostiže.
Kako ulaz ±Vref mijenja matematiku?
Raspon se udvostručuje na 2 × Vref, pa isti pretvarač razlučuje dvostruko šire korake: LSB = 2 × Vref ÷ 2^N. Kodovi se protežu od negativne do pozitivne granice — kod 0 je −Vref, srednji kod 2^(N−1) je 0 V, a najviši kod nalazi se jedan korak ispod +Vref. Odaberite bipolarni raspon iznad i nula volti past će točno na srednji kod.
Zašto neki izvori dijele s 2^N, a drugi s 2^N − 1?
To su dva različita modela istog pretvarača. Tehnički podaci i klasična teorija kvantizacije definiraju LSB = FSR ÷ 2^N, s prvim prijelazom koda na polovici koraka — to je model koji koristi ova stranica. Oblik Vref ÷ (2^N − 1) dolazi od preslikavanja najvišeg koda točno na Vref, što je uobičajeno u vodičima za mikrokontrolere. Pri 12 bita ta se dva modela razlikuju za oko 0.02%, što je daleko ispod tolerancije bilo koje stvarne reference; samo ih nemojte miješati kada provjeravate brojeve iz različitih izvora.
Što mogu učiniti kada je veličina koraka pregruba?
Naduzorkovanje i usrednjavanje donose bolju rezoluciju kada signal sadrži malo šuma: usrednjavanje 4× više uzoraka daje oko jedan efektivni bit, a 16× daje dva, pod uvjetom da je šum bijeli i nekoreliran — savršeno čist, savršeno miran signal samo ponavlja isti kod. Osim toga, prijeđite na pretvarač s više bita ili dodajte stupanj s programabilnim pojačanjem kako bi signal ispunio veći dio raspona.