Kako deluje kalkulator ločljivosti ADC
Kalkulator ločljivosti ADC je brezplačno spletno orodje, ki izračuna velikost koraka analogno-digitalnega pretvornika, napako kvantizacije in idealno razmerje med signalom in šumom (SNR) na podlagi njegove bitne ločljivosti in referenčne napetosti. Preprosto vmesniško okolje omogoča vrednotenje unipolarnih in bipolarnih vhodnih območij, pretvorbo med vhodnimi napetostmi in digitalnimi kodami ter določanje najmanjše bitne ločljivosti, ki je potrebna za zaznavo določene ciljne spremembe napetosti. Orodje prikazuje celotne matematične izračune s vstavljenimi vrednostmi za vsako formulo, kar uporabnikom pomaga preveriti ozadje izračunov in razumeti teoretične meje njihovega pretvornika.
Vsako število, ki ga vnesete, ostane v tem brskalniku – nič se ne prenaša v splet. Vsi izračuni se izvajajo lokalno na napravi uporabnika.
Vhodni podatki pretvornika
Uporabnik v orodje vnese naslednje parametre:
- Ločljivost N (bitov): Celo število od 1 do 32 — nominalna bitna širina pretvornika.
- Referenčna napetost: Pozitivno število, ki predstavlja referenčno napetost.
- Referenčna enota: Merska enota za referenčno napetost.
- Vhodno območje: Izbira med možnostma "Unipolarno · 0 do Vref" in "Bipolarno · −Vref do +Vref".
- Prikazana decimalna mesta: Število decimalnih mest za prikaz rezultatov.
- Pretvori (izbirna merilna točka): Preklop med načinoma "Napetost → koda" in "Koda → napetost".
- Vhodna napetost (izbirno): Napetostna vrednost za pretvorbo v digitalno kodo (lahko ostane prazna).
- Koda (koraki) (izbirno): Celo število od 0 do najvišje kode pretvornika za pretvorbo v napetost (lahko ostane prazna).
- Enota napetosti: Merska enota za vhodno napetost ali napetost kode.
- Najmanjša sprememba za zaznavo (izbirno): Pozitivna ciljna sprememba napetosti za izračun potrebne bitne ločljivosti.
- Enota koraka: Merska enota za najmanjšo spremembo za zaznavo.
Gumba "Naloži primer" in "Počisti" omogočata hitro izpolnjevanje ali ponastavitev vseh vhodnih polj.
Prikazani rezultati in oznake
Orodje izračuna in prikaže rezultate pod naslednjimi natančnimi oznakami vmesnika:
Velikost koraka in šum
- Velikost koraka LSB: Izračunana velikost koraka najmanj pomembnega bita (LSB), s podnapisom, ki prikazuje ta korak kot odstotek celotnega območja in v ppm.
- Nivoji kvantizacije: Skupno število diskretnih nivojev (2ᴺ).
- Najvišja koda: Največja digitalna izhodna koda (2ᴺ − 1).
- Območje polnega obsega: Celoten napetostni razpon pretvornika.
- Največja napaka kvantizacije (±½ LSB): Največja teoretična napaka kvantizacije.
- Šum kvantizacije (rms): Koren kvadratne sredine (rms) napetosti šuma kvantizacije.
- Idealni SNR (sinus polnega obsega): Teoretična zgornja meja razmerja med signalom in šumom v decibelih.
- Dinamični razpon: Teoretični dinamični razpon v decibelih.
Na merilni točki
- Izhodna koda: Rezultat pretvorbe napetosti v digitalno kodo.
- Binarno: Binarni zapis izhodne kode.
- Heksadecimalno: Heksadecimalni zapis izhodne kode.
- Napetost kode: Natančna napetost, ki ustreza podani digitalni kodi.
- Napaka kvantizacije: Razlika med dejansko vhodno napetostjo in napetostjo, ki jo predstavlja izračunana koda.
- Vhodno okno za to kodo: Razpon vhodnih napetosti, ki se preslikajo v izračunano digitalno kodo.
Stanje določanja velikosti (Sizing Status)
Ko vnesete ciljni korak, orodje izpiše, koliko bitov je potrebnih za njegovo zaznavo in ali trenutno izbrana bitna širina to že omogoča. Če trenutna ločljivost ne zadošča, izpis navede dejanski korak, ki ga trenutni pretvornik lahko zazna.
Formule in vstavljanje vrednosti
Orodje najprej prikaže formule v simbolni obliki, nato pa izvede izračun z vstavljenimi številkami uporabnika:
- Velikost koraka LSB: LSB = FSR ÷ 2ᴺ
- Največja napaka kvantizacije: ±LSB ÷ 2
- Šum kvantizacije (rms): LSB ÷ √12
- Idealni SNR (sinus polnega obsega): SNR = 6.02 × N + 1.76 dB
- Dinamični razpon: 6.02 × N dB
- Unipolarna koda: koda = round(Vin ÷ LSB)
- Bipolarna koda: koda = round((Vin + Vref) ÷ LSB)
- Unipolarna napetost: V = koda × LSB
- Bipolarna napetost: V = koda × LSB − Vref
- Napaka kvantizacije na merilni točki: napetost kode − vhodna napetost
- Določanje ločljivosti: N ≥ log₂(FSR ÷ step), zaokroženo navzgor na naslednje celo število bitov
Izračunani primer iz orodja
Če naložimo privzeti primer (12 bitov, referenca 3.3 V, unipolarno območje), dobimo naslednje vrednosti:
- Nivoji kvantizacije: 4.096
- Najvišja koda: 4.095
- LSB = 3.3 V ÷ 4.096 ≈ 805.6641 µV
- Največja napaka kvantizacije: ±402.832 µV
- Šum kvantizacije: ≈ 232.5752 µV rms
- Idealni SNR: ≈ 74.01 dB
- Dinamični razpon: ≈ 72.25 dB
Vhodna napetost 1.65 V leži natančno na sredini območja in se preslika v kodo 2.048 (binarno 1000 0000 0000, heksadecimalno 0x800) z ničelno napako kvantizacije.
Pravila delovanja in robni primeri
- Model kvantizacije: Orodje predpostavlja idealen kvantizator, kjer se prvi prehod kode zgodi pri polovici koraka (½ LSB), pri čemer je LSB definiran kot FSR ÷ 2ᴺ.
- Omejitve modela: Vsi izračuni veljajo za idealen pretvornik. Realni ADC v signalno pot vnaša napake ničle (offset), ojačenja (gain), nelinearnosti (INL/DNL) in šum reference. Zato so idealni SNR, dinamični razpon in meja ±½ LSB le teoretične zgornje meje in ne izmerjeno stanje; ločljivost (število bitov) se razlikuje od dejanske točnosti pretvornika.
- Unipolarno območje: Območje polnega obsega (FSR) je enako Vref. Vhodni razpon sega od 0 do Vref.
- Bipolarno območje: Območje polnega obsega (FSR) je enako 2 × Vref. Vhodni razpon sega od −Vref do +Vref. Koda 0 predstavlja −Vref, srednja koda 2ᴺ⁻¹ predstavlja 0 V, najvišja koda pa leži en korak pod +Vref.
- Omejitev nad zgornjo mejo: Če vhodna napetost preseže zgornjo mejo, se izhod nasiči pri najvišji kodi (2ᴺ − 1). Orodje izpiše opozorilo: "Vhod je nad zgornjo mejo: izhod se nasiči pri najvišji kodi, prikazana napaka pa je dejanski ostanek — meja ±½ LSB ne velja več."
- Omejitev pod spodnjo mejo: Če je vhodna napetost pod spodnjo mejo, se izhod nasiči pri kodi 0. Orodje izpiše opozorilo: "Vhod je pod spodnjo mejo: izhod se nasiči pri kodi 0, prikazana napaka pa je dejanski ostanek — meja ±½ LSB ne velja več."
- Sredina območja: Če je vhodna napetost natančno na sredini območja, orodje izpiše opozorilo, da se polovica obsega preslika v srednjo kodo z ničelno napako kvantizacije.
Področja uporabe kalkulatorja
- Izbira primernega ADC: Načrtovalci elektronskih vezij lahko hitro ugotovijo, koliko bitov ločljivosti potrebujejo za zaznavanje specifičnih napetostnih sprememb iz senzorjev.
- Odpravljanje napak v signalni poti: Inženirji lahko pretvorijo surove digitalne vrednosti iz registrov mikrokrmilnika nazaj v fizikalne napetosti in tako preverijo pravilnost odčitkov.
- Izračun šuma v sistemu: Načrtovalci strojne opreme lahko izračunajo teoretični šum kvantizacije in SNR ter ju primerjajo z dejanskim šumom v vezju.
- Razvoj programske opreme: Programerji lahko preverijo pravilnost svojih algoritmov za skaliranje podatkov s primerjavo vmesnih matematičnih korakov.
Pogosta vprašanja (FAQ)
Ali 12-bitna ločljivost pomeni 12-bitno točnost?
Ne. Ločljivost predstavlja le širino kode — kako natančno je razdeljeno območje. Točnost pa omejujejo INL ter napake ničle/ojačenja pretvornika, toleranca in šum reference ter vezje okoli nje. Zato podatkovni listi navajajo ENOB: 12-bitni SAR običajno zagotavlja 10–11 efektivnih bitov. Tukaj prikazani idealni SNR 74 dB je teoretična meja, ki je ne doseže noben dejanski 12-bitni pretvornik.
Kako vhod ±Vref spremeni izračun?
Območje se podvoji na 2 × Vref, zato isti pretvornik zaznava dvakrat večje korake: LSB = 2 × Vref ÷ 2^N. Kode potekajo od negativnega do pozitivnega napajalnega vodnika — koda 0 je −Vref, srednja koda 2^(N−1) je 0 V, najvišja koda pa je za en korak pod +Vref. Zgoraj izberite bipolarno območje in nič voltov bo padlo natanko na srednjo kodo.
Zakaj nekateri viri delijo z 2^N, drugi pa z 2^N − 1?
Gre za dva različna modela istega pretvornika. Podatkovni listi in klasična teorija kvantizacije definirajo LSB = FSR ÷ 2^N s prvim prehodom kode pri polovici koraka — to je model, ki ga uporablja ta stran. Oblika Vref ÷ (2^N − 1) izhaja iz preslikave najvišje kode natanko na Vref, kar je pogosto v navodilih za mikrokrmilnike. Pri 12 bitih se modela razlikujeta za približno 0.02%, kar je daleč pod toleranco katere koli realne reference; pazite le, da ju ne mešate pri primerjavi številk iz različnih virov.
Kaj lahko storim, ko je velikost koraka pregroba?
Nadvzorčenje in povprečenje izboljšata ločljivost, ko signal vsebuje nekaj šuma: s povprečenjem 4× več vzorcev pridobite približno en efektivni bit, s 16× pa dva, pod pogojem, da je šum bel in nekoreliran — popolnoma čist in statičen signal bi le ponavljal isto kodo. Sicer pa uporabite pretvornik z več biti ali dodajte stopnjo s programirljivim ojačanjem, da signal zapolni večji del območja.