Зразкування перетворює безперервний сигнал на числа
Аналогово-цифровий перетворювач виконує дві незалежні дії з безперервним напруговим сигналом: він здійснює зразкування в окремих точках часу та квантує значення в кожній точці найближчим до кінцевого набору рівнів. Обидва кроки призводять до втрати інформації, і обидві ці втрати мають точні, добре вивчені математичні описи, а не є розпливчастими наближеннями.
Теорема Найквіста–Шеннона
Геррі Нейкіст та Клод Шеннон показали, що безперервний сигнал, який не містить частотних компонентів вище певної смуги пропускання B, може бути ідеально відтворений з вибірок, взятих на будь-якій швидкості, строго більшій за 2B – швидкість Найквіста. Якщо брати вибірки точно такої швидкості, дивовижно, ніякої інформації не втрачається при відкиданні всього між точками вибірок; оригінальна безперервна хвильова форма математично відновлюється повністю.
f_s > 2 · f_max (критерій Найквіста, f_s = швидкість вибірки) f_Найквіста = f_s / 2 (частота згортання) Якщо брати вибірку нижче цієї швидкості, відбувається реальна фізична помилка: спотворення. Частотна компонента вище f_s/2 не просто зникає – вона повторюється, стаючи нерозрізною від справжнього низькочастотного сигналу, що «згортається» назад через f_s/2. Тон на частоті f > f_s/2 спотворюється до |f − k·f_s| для цілого k, який розміщує результат всередині діапазону [0, f_s/2]. Саме тому старі фільми показують колеса вагонетів, які здаються обертанням назад (частота кадрів недостатньо підсилює обертання колеса) і тому кожному АЦП потрібен антиаліасівський фільтр – аналоговий низькочастотний фільтр перед вибіркою – щоб фізично видалити енергію вище f_s/2, перш ніж вона може «згорнутися» назад та спотворити смугу, яку ви дійсно хотіли отримати.
f_s > 2 · f_max (Nyquist criterion, f_s = sample rate) f_Nyquist = f_s / 2 (the folding frequency)
Квантування: округлення до найближчого рівня
Після встановлення часу, амплітуда кожного зразка округлюється до найближчого рівня з 2^N рівнів для N-бітового перетворювача. Це округлення вносить похибку квантування, обмежену ±половиною найменш значущого біта (LSB) та, для досить складного сигналу, добре моделюється як рівномірно розподілений шум із стандартним відхиленням LSB/√12. Результативне співвідношення сигнал-шум-похибка квантування має відому закриту форму:
SNR ≈ 6.02 · N + 1.76 дБ (сигнал повному масштабу, N-бітовий рівномірний квантизатор) Додавання кожного біта забезпечує приблизно 6 дБ динамічного діапазону — правило, яке постійно використовують інженери в аудіо та обладнанні: 16-бітний перетворювач (CD аудіо) досягає піку близько 98 дБ теоретильного SNR, а 24-бітний перетворювач – близько 146 дБ.
SNR ≈ 6.02 · N + 1.76 dB (full-scale sine wave, N-bit uniform quantizer)
Відновлення: від зубчастих рядів до сходинки та плавної кривої
DAC виконує процес у зворотному напрямку, але не ідентично: він не повертає квантизацію (цією інформацією справді позбутися), а перетворює кожен дискретний зразок назад на напругу, яка підтримується постійно до наступного зразка – це нульове утримання, яке точно відповідає зубчастим рядам, які малює ця симуляція. Ця сходинка не є відновленим оригінальним сигналом; вона багата на високочастотну енергію від різких кроків, все це є побічним продуктом утримання. Після DAC фільтр низьких переходів відновлення, з таким самим логікою перетину, як і анти-аліасинговий фільтр на вході, вирівнює сходинку назад у безперервну хвильову форму, яку гарантує теорема Найквіста, видаляючи все, що знаходиться вище за f_s/2.
Усе разом
Симуляція дозволяє вам знижувати частоту дискретизації нижче вдвічі від частоти сигналу та спостерігати за виникненням алиасингу, яке проявляється у вигляді повільнішого, хибного тону. Якщо зменшити квантування до кількох біт, ви побачите, як сходинка стає помітно грубішою та більш шумною. Обидва ці ефекти є незалежними, проходять через весь ланцюг аналого-цифрового-аналогового перетворення та мають жорсткі, обчислювані межі — не існує ніякого алгоритму, який би справді відновлював інформацію, втрачену внаслідок недостатньої дискретизації або грубого квантування; єдине рішення – підвищення частоти дискретизації або збільшення кількості бітів відповідно.
Frequently asked questions
Що таке алисинг, по суті?
Це явище, що виникає, коли сигнал зразується нижче за два рази його найвищої частоти складової (частота Найквіста): ця високочастотна складова не зникає, а відбивається назад і маскується як нижча, хибна частота в зібраних даних. Це невід'ємний наслідок порушення припущень теореми Найквіста, а не помилка округлення.
Чому АЦП потребують антиалісингового фільтра?
Оскільки алисинг відбувається миттєво з моменту зразування сигналу і не може бути відновлено в програмному забезпеченні — після того, як висока частота «згорнулася» у вашу смугу сигналу, вона стає нерозрізнюваною від реальної даних на цій частоті. Антиалісинговий фільтр видаляє енергію вище частоти Найквіста в аналоговій області до зразування, що є єдиним місцем, де її можна чисто видалити.
Скільки біт потрібно для заданого співвідношення сигнал/шум?
Приблизно SNR ≈ 6.02N + 1.76 dB для квантизатора з N бітами на повному синусоїдальному сигналі, тому кожен додатковий біт забезпечує приблизно 6 дБ. Для динамічного діапазону 90 дБ вам потрібно N ≥ (90 - 1.76)/6.02 ≈ 14.7, отже 15-16 бітів з запасом — тому 16-бітні перетворювачі стали стандартом для аудіо CD.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте ADC/DAC Sampling і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію ADC/DAC Sampling