Ефективна кількість біт 14-бітного АЦП


18

У мене є 14-бітний АЦП . Однак, дивлячись на таблицю даних (див. Таблицю 2 на сторінці 5), ефективна кількість бітів (ENOB) завжди менше 12 біт.

Чому мій ЦАП претендує на 14-бітний АЦП, коли він має лише 12-бітну точність? Який сенс мати два зайвих біта, якщо вони безглузді?


1
Хоча вони можуть бути не дуже корисними для односмугового широкосмугового семплера, як сфера застосування, вони мають сенс у програмах, які інтегруються з часом, наприклад, програмне радіо. З однією з реалізацій на базі FPGA було б легко додати біт режиму, щоб увімкнути маскування їх і побачити різницю у виведенні наступних фільтрів із вхідними бітами та без них.
Кріс Страттон

1
Ось так сконструйовано чіп. Навіть якщо ви отримаєте 14-бітові дані, ви можете помітити, що останнє значення даних буде коливатися, і це через шматочки шуму. Я використовував 24-бітний АЦП - AD7190, і він дає лише 18 біт без шуму.
PsychedGuy

Відповіді:


17

Вас бамбували!

14-бітний - це маркетинговий розмову, а обладнання також дає вам це, тож вони скажуть, що вам нічого скаржитися. Трохи вище ENOB у таблиці даних він дає номери SINAD (сигнал до шуму та спотворення). Це 72 дБ, а 1 біт відповідає рівню 6 дБ, так що 72 дБ - це дійсно 12 біт. Два найнижчих біта - шум.

Можна отримати дані, які є нижчими за рівень шуму, але вони потребують дуже хорошої кореляції, а це означає, що він повинен бути дуже передбачуваним.


8
Добре, downvoter, просто скажи мені, що тут не так.
stevenvh

3
Можливо, низовик є дизайнером ІС :-)
stevenvh

3
@Simpl: Не обов’язково. Ви повинні прочитати таблицю даних будь-якого А / Д, який ви плануєте використовувати. У дизайні A / D слід зробити багато компромісів, і те, що ви можете отримати, буде дуже різним. Багато A / D добре рахувати + -1 / 2, але як показує цей приклад, деякі - ні. Як завжди, читайте ДАТАШТЕТ.
Олін Летроп

4
Це не "маркетингові розмови". Насправді це досить часто на високопродуктивних перетворювачах, які використовуються в програмних радіостанціях і т. Д. Для багатьох таких програм у якийсь момент обробки сигналів ви будете фільтрувати та зменшувати вибірку, щоб ви могли виявити вузькосмуговий сигнал із рівнем потужності далеко, далеко, нижче рівня широкосмугового шуму (але ви це робите в програмному забезпеченні, таким чином ви можете розмістити змінну кількість таких фільтрів у будь-якому місці пропускної здатності. Ви певною мірою це отримаєте, якби ви просто замаскувались над "ненадійним" біт, але вам краще з ними, ніж без них.
Кріс Страттон

2
Будь-який сигнал більш вузької пропускної здатності, ніж ADC, краще співвідноситься. Ви відхиляєте щось із повсякденної корисності як особливий випадок.
Кріс Страттон

14

Припустимо, потрібно виміряти стійку напругу якомога точніше, використовуючи АЦП, який повертає 8-бітове значення для кожного вимірювання. Припустимо також, що АЦП визначений таким чином, що код N буде номінально повернутий для напруг між (N-0,5) / 100 та (N + 0,5) / 100 вольт (так, наприклад, код 47 номінально буде представляти щось між 0,465 і 0,475 вольт). Що потрібно побажати мати вихід АЦП, якщо живити стабільний стан напруги рівно 0,47183 вольт?

Якщо АЦП завжди виводить значення, яке представляє визначений вище діапазон, у який потрапляє вхід (47 у даному випадку), то незалежно від того, скільки зчитувань потрібно взяти, це значення виявиться рівним 47. Вирішення чогось тоншого, ніж це було б неможливо.

Припустимо, замість того, що АЦП були побудовані таким чином, щоб до кожного читання додавались випадкові значення "дефіле", лінійно розподілені від -0,5 до +0,5, перш ніж перетворити його на ціле число? За цим сценарієм напруга 47,183 вольт повертає показник 48, приблизно 18,3% часу, а значення 47 - інші 81,7% часу. Якщо обчислити в середньому 10000 показань, слід очікувати, що це приблизно 47,183. Через випадковість вона може бути дещо вищою або нижчою, але вона повинна бути досить близькою. Зауважте, що якщо достатньо зчитування, можна досягти довільної рівня очікуваної точності, хоча кожен додатковий біт вимагатиме більше, ніж удвічі збільшити кількість показань.

Додавання точно одного ЛСБ лінійно розподіленого диндінгу було б дуже приємною поведінкою для АЦП. На жаль, реалізувати таку поведінку непросто. Якщо вимирання не розподілено лінійно або якщо його величина не є точно однією LSB, то величина реальної точності, яку можна отримати шляхом усереднення, буде сильно обмежена, незалежно від того, скільки зразків буде використано. Якщо замість того, щоб додати один LSB лінійно розподілених випадковостей, додати декілька вартостей LSB, для досягнення заданого рівня точності буде потрібно більше показань, ніж потрібно, використовуючи ідеальну випадковість одного LSB, але граничну межу точності, яку можна досягти якщо взяти довільну кількість показань, буде набагато менш чутливим до недосконалостей джерела, що замирає.

Зауважте, що в деяких додатках найкраще використовувати АЦП, що не применшує його результат. Особливо це стосується обставин, коли хтось більше зацікавлений спостерігати за змінами значень АЦП, ніж у самих точних значеннях. Якщо швидке усунення різниці між +3 одиницею / зразком та швидкістю збільшення +5 одиниці / вибірки важливіше, ніж знати, чи точно стаціонарна напруга становить 13,2 або 13,4 одиниці, АЦП, що не замирає, може бути кращим, ніж дихтя один. З іншого боку, використання відмираючого АЦП може бути корисним, якщо потрібно виміряти речі точніше, ніж дозволило б одне читання.


2

Бонусний урок: ви дійсно отримуєте 14 біт точності , але лише 12 біт точності .


1
Чи не повинна це бути "роздільна здатність" замість "точності"? Точність стосується помилки, поширюваної на різні перетворення, і гаусового шуму в двох LSB, які будуть також 12 бітними.
stevenvh

Я пішов і прочитав деякі визначення, і я вважаю, що ви праві. Я схиляюся ухилятися від "роздільної здатності" в цій епосі відео, але це все-таки найкращий термін. Я думаю, що, можливо, у середній школі вони не зовсім правильно пояснили точність.
gbarry

1

Додатковий застереження ... іноді ви насправді хочете випадковості .

Наприклад:

У криптографічних програмах (безпека / автентичність) потрібна чиста "непридатна" випадковість. Використання LSB перетворювача (ті, що нижче рівня шуму) - це швидкий спосіб генерувати чисто випадкові числа.

Коли обладнання АЦП доступне для інших цілей (датчики тощо), це швидкий і простий спосіб забезпечити безпечне спілкування. Ви можете посилити ефект, максимізувавши посилення на вхідному підсилювачі, якщо такий доступний (багато MCU пропонують таку функцію) та плаваючий вхід.

Випадковість АЦП в основному походить від двох фізичних принципів: квантування-шум та тепловий шум.

Ці ефекти мають поріг на макроскопічному рівні. Наприклад, чисел, достатньо віддалених від бітової межі, не потрібно округляти, тому не виникає помилок квантування чи випадковості. Тепловий шум у більшості сценаріїв не впливає на більш значні біти перетворення.

За розширенням можна побачити, що зміна параметрів перетворення (час вибірки, глибина, швидкість, опорне напруга) вплине на зміну випадковості результатів шляхом переміщення порогу випадковості (або збільшуючи його, підвищуючи, або зменшуючи, знижуючи поріг) ). Аналогічний ефект досягається за рахунок зміни параметрів середовища / системи (температури, джерела живлення тощо).

При цьому багато успішних комерційних апаратних генераторів випадкових чисел покладаються на цю методику, оскільки зовнішні ефекти лише знижують випадковість - вони жодним чином не усувають її (фізично неможливо).

Ви можете компенсувати зменшення випадковості, зробивши більше перетворень та додавши результати. Цей процес розширення бітів (об'єднання низьких розрядів послідовних перетворень) використовується в нуклеозних данглях STM32, FST-01 (включаючи NeuG 1.0), сімействі пристроїв Grang LE Tech і багатьох інших.

Пристрої Grang генерують біти, перетворюючи при більш ніж 400 мільйонах конверсій в секунду (1 біт за конверсію). Якщо ви зробите достатньо конверсій, ви можете гарантувати високу випадковість навіть за умови навколишнього середовища.


2
Дуже погано вважати, що шум АЦП є хорошим випадковим джерелом шуму. Цілком ймовірно, що це стосується інших речей, що відбуваються в ланцюзі, температури ІК та багатьох інших речей. Якщо вам потрібна справжня випадковість, не забудьте перевірити джерело!
Коннор Вольф

"Тестування вашого джерела" - очевидна вимога в будь-якій схемі. Однак це аж ніяк не "дуже погана ідея" ... навіть якщо це стосується температури. Це лише зменшує випадковість, а не усуває її. Ви можете компенсувати розширення бітів (об'єднання низьких розрядів послідовних конверсій).
DrFriedParts

Я сказав , що це погана ідея , щоб припустити , не погана ідея в цілому. Якщо ви ретельно перевірите випадковість джерела шуму АЦП, і він перевіряється, у мене з цим не виникнуть проблеми.
Коннор Вольф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.