Эффективное количество бит 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 бит. 2 младших бита - это шум.

Можно получить данные, которые ниже минимального уровня шума, но для этого нужна очень хорошая корреляция, а это значит, что она должна быть очень предсказуемой.


8
Хорошо, downvoter, просто скажи мне, что здесь не так.
Stevenvh

3
Может быть, downvoter является разработчиком IC :-)
stevenvh

3
@Simpl: не обязательно. Вы должны прочитать таблицу данных любого A / D, который вы планируете использовать. Есть много компромиссов, которые должны быть сделаны в дизайне A / D, так что то, что вы можете получить, будет широко варьироваться. Многие A / D рассчитаны на + -1 / 2, но, как показывает этот пример, некоторые - нет. Как всегда, ПРОЧИТАЙТЕ ДАННЫЕ.
Олин Латроп

4
Это не «маркетинговая речь». На самом деле это довольно часто встречается в высокопроизводительных преобразователях, используемых в программных радиоприемниках и т. Д. Во многих таких приложениях в какой-то момент обработки сигнала вы будете фильтровать и понижать частоту, так что вы сможете обнаружить узкополосный сигнал с большим уровнем мощности, гораздо ниже уровня широкополосного шума (но вы делаете это программно, так что вы можете разместить переменное количество таких фильтров в любом месте полосы пропускания, которую вы хотите. В некоторой степени вы получите это в любом случае, если вы просто замаскируете «ненадежных» биты, но вы лучше с ними, чем без них
Крис Страттон

2
Любой сигнал с меньшей шириной полосы, чем АЦП, лучше коррелирует. Вы отбрасываете что-то повседневное полезное как особый случай.
Крис Страттон

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% времени. Если вычислить среднее из 10 000 показаний, следует ожидать, что оно будет приблизительно 47 183. Из-за случайности он может быть немного выше или ниже, но это должно быть довольно близко. Обратите внимание, что если взять достаточно показаний, можно достичь произвольного уровня ожидаемой точности, хотя каждый дополнительный бит потребует больше, чем удвоение количества показаний.

Добавление ровно одного LSB линейно-распределенного дизеринга было бы очень хорошим поведением для АЦП. К сожалению, реализовать такое поведение нелегко. Если сглаживание не является линейно распределенным или если его величина не является точно одним LSB, величина реальной точности, которую можно получить при усреднении, будет строго ограничена, независимо от того, сколько выборок используется. Если вместо добавления одного младшего разряда линейно-распределенной случайности добавляется ценность нескольких младших разрядов, для достижения заданного уровня точности потребуется больше показаний, чем потребовалось бы при использовании идеальной случайности одного младшего разряда, но при этом был бы предельный предел точности, который может быть достигнут взяв произвольное количество показаний, вы будете гораздо менее чувствительны к несовершенствам источника сглаживания.

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


2

Бонусный урок: вы действительно получаете 14 бит точности , но только 12 бит точности .


1
Разве это не должно быть «разрешение» вместо «точность»? Точность относится к погрешности, разбросанной по различным преобразованиям, и с гауссовым шумом на двух младших битах, который также будет 12-битным.
Stevenvh

Я пошел и прочитал некоторые определения, и я верю, что вы правы. Я склонен уклоняться от «разрешения» в этом видео веке, но это все еще лучший термин. Я думаю, может быть, в старших классах они не совсем правильно объясняли точность.
gbarry

1

Дополнительное предостережение ... иногда вы действительно хотите случайности .

Например:

В криптографических приложениях (безопасность / аутентичность) требуется чистая «неуязвимая» случайность. Использование LSB преобразователя (ниже уровня шума) - это быстрый способ генерировать чисто случайные числа.

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

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

Эти эффекты имеют порог на макроскопическом уровне. Например, числа, достаточно удаленные от границы бита, не должны быть округлены и, следовательно, не имеют ошибки квантования или случайности. Тепловой шум не влияет на более значимые биты в преобразовании в большинстве сценариев.

В более широком смысле, можно увидеть, что изменение параметров преобразования (выборка времени, глубины, скорости, опорное напряжение) будет влиять на изменение в случайности результатов, перемещая порог случайности (либо увеличение его за счет повышения или уменьшения его путем снижения порога ). Подобный эффект достигается путем изменения параметров окружающей среды / системы (температура, источник питания и т. Д.).

Тем не менее, многие успешные коммерческие аппаратные генераторы случайных чисел полагаются на эту технику, потому что внешние эффекты только уменьшают случайность - они никоим образом не устраняют ее (физически невозможно).

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

Устройства Grang генерируют биты путем преобразования со скоростью более 400 миллионов преобразований в секунду (1 бит на преобразование). Если вы делаете достаточно конверсий, вы можете гарантировать высокую степень случайности даже в условиях окружающей среды.


2
Очень плохая идея предположить, что шум АЦП является хорошим источником случайного шума. Вполне вероятно, что это связано с другими вещами, происходящими в цепи, температурой микросхемы и многими другими вещами. Если вам нужна подлинная случайность, обязательно проверьте свой источник!
Коннор Вольф

«Проверка вашего источника» является очевидным требованием в любой схеме. Однако это ни в коем случае не «очень плохая идея» ... даже если она соотносится с температурой. Это только уменьшает случайность, но не устраняет ее. Вы можете компенсировать с помощью расширения битов (конкатенация младших битов последовательных преобразований).
DrFriedParts

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