АЦП: LSB, код, SNR и ENOB
Считает вес младшего разряда LSB = Uоп/2ⁿ, код по напряжению и напряжение по коду в двух соглашениях о переходах, SNR сигнала ниже полной шкалы и с передискретизацией, ENOB по SINAD.
Результат
- Вес младшего разряда LSB
- 805,66 мкВ
- Число кодов 2ⁿ
- 4 096
- Код
- 1 241
- Код в шестнадцатеричном виде
- 0x4D9
- Напряжение начала шага кода
- 999,829 мВ
- Напряжение середины шага кода
- 1,00023 В
- Переход в последний код 2ⁿ − 1
- 3,29919 В
- Идеальное отношение сигнал/шум на полной шкале
- 74 дБ
- SNR сигнала этого уровня, полоса 0…fs/2
- —
- Выигрыш от передискретизации 10 lg(fs/2B)
- —
- SNR в полосе сигнала
- —
- Прибавка разрядности
- —
- Разрешение в полосе сигнала
- —
- ENOB
- —
- Эффективный LSB при этом ENOB
- —
- Шкала от 0 до Uоп с шагом LSB = Uоп / 2ⁿ; смещение нуля, ошибка усиления и нелинейность реального АЦП в расчёт не входят.
- Переход в код k — при k · LSB (код = ⌊Uвх / LSB⌋), последний код начинается с Uоп − 1 LSB. Какое соглашение у вашего АЦП — по передаточной характеристике в даташите.
Формула
- LSB = Uоп / 2n
- код = ⌊Uвх / LSB⌋ или ⌊Uвх / LSB + ½⌋ (переходы при ½ LSB, код 2n − 1 — Uоп − 1 LSB)
- SNR = 6,02n + 1,76 дБ + L + 10 lg(fs / 2B), L — уровень в дБ от полной шкалы
- ENOB = (SINAD − 1,76 − L) / 6,02
Подробнее о расчёте
Как считается
Шкала от 0 до Uоп делится на 2n шагов: LSB = Uоп / 2n. Соглашений о переходах два. В первом код — целая часть Uвх / LSB, переход в код k — при k · LSB. Во втором (ADI MT-010) переходы сдвинуты на ½ LSB: код k — середина своего шага, ошибка квантования не больше ½ LSB. В обоих код из одних единиц соответствует Uоп − 1 LSB, полной шкалы Uоп код не достигает.
Идеальное отношение сигнал/шум синуса во всю шкалу — 6,02n + 1,76 дБ в полосе 0…fs/2. Шум квантования от сигнала не зависит, поэтому синус на x дБ ниже шкалы теряет x дБ. Если цифровой фильтр сужает полосу до B, шум уменьшается на 10 lg(fs / 2B): каждое удвоение fs даёт 3 дБ, то есть ½ бита. ENOB = (SINAD − 1,76) / 6,02; SINAD, измеренный ниже полной шкалы, приводят к ней поправкой.
Пример
12 бит, Uоп = 3,3 В: LSB = 0,806 мВ. Вход 1,0004 В — код 1241 по первому соглашению и 1242 по второму. Синус −6 дБ: SNR 68 дБ вместо 74. Отсчёты 64 кГц, полоса после фильтра 1 кГц: выигрыш 15,1 дБ, SNR 83,1 дБ, +2,5 бита.
Что не учтено
- Смещение нуля, ошибка усиления, INL и DNL; в даташите МК они указаны отдельно.
- Передискретизация прибавляет разряды, только если шум на входе белый и порядка LSB; без шума одинаковые коды не усредняются.
- Двуполярные и дифференциальные входы: здесь шкала только от 0 до Uоп.
Источники
- Кестер У. (Walt Kester), Analog Devices, MT-001 «Taking the Mystery out of the Infamous Formula, "SNR = 6.02N + 1.76dB," and Why You Should Care», Rev. A, октябрь 2008: ур. 9 — SNR = 6,02N + 1,76 дБ в полосе 0…fs/2 для синуса во всю шкалу; ур. 10 — выигрыш 10 lg(fs/2BW) при цифровой фильтрации до полосы BW; раздел о корреляции шума квантования с сигналом. PDF analog.com прочитан по копии веб-архива: сам analog.com не отвечал.
- Кестер У., Analog Devices, MT-010 «The Importance of Data Converter Static Specifications», Rev. A, октябрь 2008, с. 2–3: цифровая полная шкала (все единицы) — на 1 LSB ниже аналоговой, переходы идеального АЦП — при ½ LSB и далее через LSB до 1½ LSB ниже полной шкалы. Копия веб-архива.
- Кестер У., Analog Devices, MT-003 «Understand SINAD, ENOB, SNR, THD, THD + N, and SFDR», Rev. A, октябрь 2008, с. 5–6: ур. 1 — ENOB = (SINAD − 1,76 дБ)/6,02 на полной шкале; ур. 2 — поправка 20 lg(Aпш/A) для сигнала ниже полной шкалы. Копия веб-архива.
- Ман Ч. (Ching Man), Analog Devices, MT-229 «Quantization Noise: An Expanded Derivation of the Equation, SNR = 6.02 N + 1.76 dB», Rev. 0, август 2012: вывод q²/12 и условие — шум квантования не связан с сигналом.
Обновлено 09.11.2026.