Výpočet velikosti kroku LSB a teoretického šumu
Při návrhu analogově-digitálních řetězců je určení velikosti kroku nejméně významného bitu (LSB) výchozím bodem pro stanovení citlivosti systému. Kalkulačka rozlišení ADC počítá krok LSB, maximální chybu kvantování a teoretický odstup signálu od šumu (SNR) na základě zadaného bitového rozlišení a referenčního napětí.
Nástroj pracuje s ideálním modelem kvantizátoru, kde k prvnímu přechodu kódu dochází v polovině kroku (½ LSB). Velikost kroku LSB je definována vztahem:
LSB = FSR ÷ 2ᴺ
Tento výpočetní model popisuje ideální převodník. Reálný integrovaný obvod však do signálové cesty zanáší integrální a diferenciální nelinearitu (INL/DNL), chybu offsetu, chybu zesílení a teplotní drift. Tolerance a šum samotné reference přímo mění velikost každého kroku, což znamená, že nominální rozlišení převodníku (počet bitů) se liší od jeho skutečné přesnosti. Všechny vypočítané hodnoty jako ideální SNR, dynamický rozsah a mez ±½ LSB představují teoretické stropy, nikoli naměřené parametry fyzického obvodu.
Vstupní parametry kalkulačky
Pro výpočet parametrů převodníku se v rozhraní zadávají následující hodnoty:
- Rozlišení N (bitů): Celé číslo od 1 do 32 – nominální bitová šířka převodníku.
- Referenční napětí: Kladné číslo vyjadřující napěťovou referenci.
- Jednotka reference: Volba fyzikální jednotky pro referenční napětí.
- Vstupní rozsah: Výběr mezi možnostmi "Unipolární · 0 až Vref" a "Bipolární · −Vref až +Vref".
- Zobrazená desetinná místa: Nastavení přesnosti zaokrouhlení výsledků v rozhraní.
- Převést (volitelný bod měření): Přepínač režimu převodu mezi "Napětí → kód" a "Kód → napětí".
- Vstupní napětí (volitelné): Hodnota napětí pro převod na digitální kód. Ponecháním pole prázdného se tento výpočet přeskočí.
- Kód (hodnota) (volitelné): Celé číslo od 0 do nejvyššího kódu převodníku pro zpětný převod na napětí.
- Jednotka napětí: Jednotka pro vstupní nebo vypočítané napětí v bodě měření.
- Nejmenší změna k rozlišení (volitelné): Cílový napěťový krok pro určení potřebného bitového rozlišení.
- Jednotka kroku: Fyzikální jednotka pro cílovou změnu napětí.
Rychlé vyplnění nebo vynulování formuláře umožňují tlačítka "Načíst příklad" a "Vymazat".
Výstupní veličiny a jejich význam
Výsledky výpočtu se zobrazují pod specifickými štítky rozhraní rozdělenými do tematických bloků.
Velikost kroku a šum
- Velikost kroku LSB: Absolutní napěťová hodnota jednoho kroku. Podtisk zobrazuje tento krok vyjádřený jako procento plného rozsahu a v jednotkách ppm (parts per million).
- Kvantovací úrovně: Celkový počet diskrétních stavů převodníku (2^N).
- Nejvyšší kód: Maximální dosažitelná digitální hodnota (2^N - 1).
- Rozsah plné stupnice: Celkové napěťové rozpětí (FSR) převodníku.
- Max. chyba kvantování (±½ LSB): Největší teoretická odchylka mezi analogovým vstupem a digitální reprezentací v ideálním kvantizátoru.
- Kvantovací šum (rms): Efektivní hodnota šumu způsobeného zaokrouhlováním signálu při kvantování.
- Ideální SNR (plný rozsah, sinus): Teoretický limit odstupu signálu od šumu v decibelech pro sinusový signál v Nyquistově pásmu.
- Dynamický rozsah: Teoretický poměr mezi největším a nejmenším měřitelným signálem v decibelech.
V bodě měření
- Výstupní kód: Výsledný digitální kód odpovídající zadanému vstupnímu napětí.
- Binárně: Dvojková reprezentace vypočítaného kódu.
- Hexadecimálně: Šestnáctková reprezentace vypočítaného kódu.
- Napětí kódu: Přesná analogová hodnota, kterou reprezentuje daný digitální kód.
- Chyba kvantování: Rozdíl mezi napětím kódu a skutečným vstupním napětím.
- Vstupní okno pro tento kód: Rozsah analogových napětí, která se v ideálním převodníku namapují na tento konkrétní kód.
Kolik bitů potřebujete?
Pokud zadáte cílovou nejmenší změnu k rozlišení, kalkulačka vyhodnotí splnění požadavku. Pokud aktuální bitová šířka na daný krok nestačí, zobrazí se zpráva s informací, jaký krok stávající převodník reálně rozlišuje.
Matematické vzorce a postupy dosazení
Kalkulačka pod výsledky zobrazuje kompletní symbolické vzorce a následně i dosazení konkrétních čísel uživatele:
- Rozsah plné stupnice (FSR):
- Unipolární rozsah: FSR = Vref
- Bipolární rozsah: FSR = 2 × Vref
- Velikost kroku LSB: LSB = FSR ÷ 2^N
- Max. chyba kvantování: ±LSB ÷ 2
- Kvantovací šum (rms): LSB ÷ √12
- Ideální SNR (plný rozsah, sinus): SNR = 6.02 × N + 1.76 dB
- Dynamický rozsah: 6.02 × N dB
- Unipolární kód: kód = round(Vin ÷ LSB)
- Bipolární kód: kód = round((Vin + Vref) ÷ LSB)
- Unipolární napětí: V = kód × LSB
- Bipolární napětí: V = kód × LSB − Vref
- Chyba kvantování v bodě měření: Napětí kódu − Vstupní napětí
- Výpočet potřebného rozlišení: N ≥ log₂(FSR ÷ krok), zaokrouhleno nahoru na celé číslo.
Příklad výpočtu (výchozí hodnoty po načtení příkladu)
Při zadání rozlišení 12 bitů, referenčního napětí 3.3 V a unipolárního rozsahu získáme tyto hodnoty:
- Kvantovací úrovně: 2¹² = 4096
- Nejvyšší kód: 4095
- LSB krok: 3.3 V ÷ 4096 ≈ 805.6641 µV
- Max. chyba kvantování: ± 402.832 µV
- Kvantovací šum: ≈ 232.5752 µV rms
- Ideální SNR: ≈ 74.01 dB
- Dynamický rozsah: ≈ 72.25 dB
Pokud na vstup přivedeme napětí 1.65 V (přesný střed rozsahu), převodník jej namapuje na kód 2048 (binárně 1000 0000 0000, hexadecimálně 0x800) s nulovou chybou kvantování.
Chování na mezích a chybová hlášení
Při výpočtech ošetřuje kalkulačka specifické stavy a limity vstupních signálů:
- Překročení horní meze (High Rail): Pokud vstupní napětí leží nad horní mezí rozsahu, výstup se omezí na nejvyšší kód (2^N - 1). V rozhraní se zobrazí upozornění: "Vstup leží nad horní mezí: výstup se omezí na nejvyšší kód a zobrazená chyba je skutečný zbytek – limit ±½ LSB již neplatí."
- Překročení dolní meze (Low Rail): Pokud vstupní napětí leží pod dolní mezí rozsahu, výstup se omezí na kód 0. Zobrazí se upozornění: "Vstup leží pod dolní mezí: výstup se omezí na kód 0 a zobrazená chyba je skutečný zbytek – limit ±½ LSB již neplatí."
- Střed rozsahu: Pokud vstupní napětí odpovídá přesně středu rozsahu, kalkulačka zobrazí poznámku, že polovina rozpětí se mapuje na střední kód s nulovou chybou kvantování.
Chybové stavy vstupu
Pokud uživatel zadá neplatná data, kalkulačka zobrazí jedno z následujících hlášení:
- Při zadání nečíselného znaku:
"‹field›: “‹token›” není číslo." - Mimo povolený rozsah bitů:
"Rozlišení musí být celé číslo v rozmezí od 1 do 32 bitů." - Při nulové nebo záporné referenci:
"Referenční napětí musí být větší než nula." - Při zadání necelého čísla pro kód:
"Kód musí být celé číslo." - Při překročení rozsahu kódu:
"Kód musí být mezi 0 a ‹max› pro ‹bits›bitový převodník." - Při nulovém nebo záporném cílovém kroku:
"Nejmenší změna k rozlišení musí být větší než nula." - Při přetečení výpočetního rozsahu:
"Hodnota nebo mezivýsledek překračuje podporovaný rozsah čísel."
Ochrana soukromí a zpracování dat
Všechny zadané hodnoty zůstávají v tomto prohlížeči – nic se neodesílá. Výpočty probíhají lokálně na zařízení uživatele, což zajišťuje, že zadané parametry obvodů a napěťové úrovně neopustí váš počítač.
Často kladené otázky (FAQ)
Znamená 12bitové rozlišení 12bitovou přesnost? Ne. Rozlišení vyjadřuje pouze šířku kódu – jak jemně je rozsah rozdělen. Přesnost je omezena parametry INL a chybami offsetu/zesílení převodníku, tolerancí a šumem reference a okolním obvodem. Proto katalogové listy uvádějí ENOB: 12bitový SAR typicky poskytuje 10–11 efektivních bitů. Zde zobrazené ideální SNR 74 dB je teoretický strop, kterého žádný reálný 12bitový převodník nedosáhne.
Jak mění matematiku vstup v rozsahu ±Vref? Rozpětí se zdvojnásobí na 2 × Vref, takže stejný převodník rozlišuje dvakrát širší kroky: LSB = 2 × Vref ÷ 2^N. Kódy sahají od záporné meze ke kladné – kód 0 odpovídá −Vref, střední kód 2^(N−1) je 0 V a nejvyšší kód leží o jeden krok pod +Vref. Pokud výše zvolíte bipolární rozsah, nula voltů bude odpovídat přesně střednímu kódu.
Proč některé zdroje dělí hodnotou 2^N a jiné 2^N − 1? Jedná se o dva různé modely stejného převodníku. Katalogové listy a klasická teorie kvantování definují LSB = FSR ÷ 2^N s prvním přechodem kódu v polovině kroku – to je model, který používá tato stránka. Varianta Vref ÷ (2^N − 1) pochází z mapování nejvyššího kódu přesně na Vref, což je běžné v návodech pro mikrokontroléry. U 12 bitů se tyto dva modely liší asi o 0.02%, což je hluboko pod tolerancí jakékoli reálné reference; jen tyto dva přístupy nemíchejte při porovnávání čísel z různých zdrojů.
Co mohu dělat, když je velikost kroku příliš hrubá? Převzorkování a průměrování zvyšuje rozlišení, pokud signál obsahuje trochu šumu: průměrování 4× většího počtu vzorků přinese asi jeden efektivní bit navíc, 16× přinese dva, za předpokladu, že šum je bílý a nekorelovaný – dokonale čistý a nehybný signál pouze opakuje stejný kód. Kromě toho můžete přejít na převodník s více bity nebo přidat stupeň s programovatelným zesílením, aby signál vyplnil větší část rozsahu.