Как 10-битный АЦП последовательного приближения может достичь 12-битного разрешения?

Я хочу сделать 10-битный АЦП, но после запуска БПФ результат ENOB (эффективное число битов) достигнет 12 бит.

Это возможно? Как мне это сделать?

Ответы (4)

Дельта -сигма АЦП обычно имеет разрядность 1 бит , однако он может достигать разрядности 16 и более бит за счет передискретизации и цифровой фильтрации. Я не собираюсь вдаваться в тонкости того, как это сделать, но та же техника применима к «обычным» АЦП — если вы увеличите частоту дискретизации в 4 раза и усредните эти четыре выборки в цифровом виде, вы можете получить большее разрешение (см. дизеринг ниже). ).

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

Просто подумайте о 4-кратной передискретизации с практической точки зрения. Если ваше базовое разрешение было 1 вольт, а четыре последовательных образца были 1 вольт, 1 вольт, 2 вольт и 1 вольт, среднее значение составляет 1,25 вольта. Это улучшение. Этот метод будет работать только тогда, когда в системе есть небольшой шум, и, к счастью, в АЦП с высоким битовым разрешением это неизбежно (см. дизеринг ниже).

См. также вики-дизеринг : -

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

после выполнения БПФ результат ENOB (эффективное число битов) достигнет 12 бит.

Спросите себя, сколько выборок использует ваш алгоритм БПФ.

Спасибо, дайте мне информацию, оцените, моя частота дискретизации всего 20 000, точка 256, плавник около 10 000, насколько я понимаю, это число не может достигать 12 бит?
Обратите внимание, что это работает только до тех пор, пока буфер выборки и хранения не дрейфует. (Предполагая, что вы сэмплируете и удерживаете входной сигнал, а затем выполняете несколько преобразований АЦП с дизерингом на одном сэмпле. Если вместо этого вы перечитываете вход несколько раз, то вместо этого вы оставляете себя открытым для проблем, если вход меняется. )
@TLW мой ответ не предназначен для того, чтобы дать полное представление о том, как работает этот метод - мой ответ состоит исключительно в том, чтобы сообщить ОП, что избыточная выборка - это способ увеличения разрешения, показав пример.

но после запуска FFT результат enob достигнет 12 бит, возможно ли это?

Возможно ли это или нет, зависит от того, что вы измеряете.

Чтобы вычислить ENOB (эффективное число битов) АЦП, вы уменьшаете число битов идеального АЦП, пока оно не совпадет с SINAD (отношение сигнал/шум и искажение) тестируемого АЦП.

Как говорят другие ответы, БПФ полностью биективен, он не добавляет и не удаляет информацию. Теорема Парсеваля гласит, что если вы хотите рассчитать общую мощность сигнала, неважно, суммируете ли вы квадраты временных рядов или суммируете квадраты частотных результатов, вы получите (вы должны получить) точно такое же отвечать.

Значение ENOB АЦП, измеренное с помощью БПФ, должно иметь точно такое же значение, как и значение, измеренное на самом АЦП.

Таким образом, вы могли бы получить очевидное увеличение ENOB от и ADC + FFT?

Да. Если вы измеряете один сигнал с помощью АЦП, а затем выполняете БПФ, сигнал будет сконцентрирован в нескольких бинах, а шум будет распространен по всему спектру. Если теперь вы скажете: «Мой сигнал находится только в этих бинах» и исключите все остальные бины, то вы уберете почти весь шум в сигнале, а SINAD и, следовательно, ENOB резко улучшится.

Именно здесь мы видим разницу между дизерингом преобразователя и использованием методов сигма-дельта . Оба приводят к интерполяции основного разрешения АЦП за счет добавления шума. При дизеринге добавляемый шум обычно белый. Отклонение бинов, содержащих только шум, после фильтрации приводит только к пропорциональному уменьшению мощности шума, поскольку некоторая часть шума все еще попадает в диапазон сигнала, поэтому 4-кратная частота дискретизации уменьшает шумовое напряжение вдвое, давая вам дополнительный бит. В сигма-дельта шум формируется по частоте так, что весь он выходит за пределы полосы сигнала. Теперь улучшение за счет фильтрации ограничивается не шумом, а линейностью АЦП, которая обычно представляет собой один бит (поэтому не требует согласования битов) и может быть на несколько порядков лучше, чем у обычного АЦП.

Спасибо, дайте мне информацию, очень признателен, поэтому АЦП SAR не может достичь 12 бит, это может сделать только метод сигмар-дельта? Если я сделаю 12-битный АЦП последовательного приближения, смогу ли передний 10-битный обеспечить 12-битную точность?
ENOB зависит от SINAD, бит «и искажение» является проблемой для многоразрядных АЦП. Сигма-дельта имеет преимущество перед многобитными АЦП в том, что они по своей природе линейны, поэтому шум является единственной проблемой, устраняемой передискретизацией. Многобитовая передискретизация улучшит шум и кажущееся разрешение, но если базовый АЦП не имеет линейности, он не будет соответствовать характеристикам искажения. У вас может быть 10-битный АЦП с характеристиками искажения, соответствующими 12-битному, но обычно этого не происходит. Даже создание «12-битного» АЦП может не дать вам 12-битной производительности в первых 10 битах, если только вы не спроектируете его.
Количество битов — это очень свободный способ говорить об АЦП. Если у вас есть конкретное приложение с требованиями к шуму, разрешению и искажениям, то можно указать АЦП, который будет соответствовать этим требованиям. Попытка «улучшить» случайный АЦП без надлежащей спецификации того, что будет делать АЦП и до чего вы пытаетесь его улучшить, является пустой тратой времени, после того как все общие положения были сказаны.
@spacemarinegundam Скажем иначе, «количество бит» говорит вам только о том, насколько плох АЦП, а не о том, насколько он хорош. Вы можете перефразировать это так: «аналоговая конструкция этого АЦП настолько плоха, что стоит отправлять только верхние 10 бит». Подозрительны все младшие биты и, вероятно, также подозрительны последние два бита вывода. Если у вас нет дополнительных спецификаций, это все, что вы можете почерпнуть из «количества битов». ENOB — это нечто иное, измеряемое очень точно и неизменно по крайней мере на пару битов меньше, чем исходное «число битов» АЦП.
Спасибо дайте мне информацию, ценю

Я хочу сделать 10-битный АЦП, но после запуска БПФ результат enob достигнет 12-битного, возможно ли это? как это сделать ?

Нет, это само по себе невозможно: у вас не может быть увеличения разрядности во всех элементах БПФ — иначе вы бы находили информацию «из ниоткуда», так как (в силу теоремы Парсеваля ) суммарная SNR до и после БПФ остается одинаковым.

Однако, когда вы знаете, что интересующий вас сигнал находится только в подмножестве бинов БПФ, это, конечно, увеличивает SNR в них, и, следовательно, вы получаете больший ENOB. (Вы заметите, что БПФ == ДПФ — это просто усеченный банк фильтров sinc, так что да, вы получаете усиление обработки, на которое ссылается Энди, когда смотрите на отдельные ячейки БПФ! В этом случае вы используете БПФ с N точками как 1. /N-полосный полосовой фильтр.)

Однако, если вы это знаете, скорее всего, БПФ — не тот инструмент, и вы проигнорируете большую часть его вывода. Опять же, если бы вы просмотрели все выходные данные БПФ, отношение сигнал-шум осталось бы прежним, поскольку информация в ДПФ не изменилась; это полностью биективное отображение.

Сколько 10-битных измерений вы вводите в свое БПФ? Обычно требуется более одного считывания во временной области, чтобы получить форму волны, достаточную для преобразования в значимый результат в частотной области (как пример FFTransform). Таким образом, те многочисленные измерения, которые вы выполняете с разрядностью 10 бит, обрабатываются для получения значения FFTransformed с более высоким разрешением. Подумайте об этом, если у вас есть 10-битные данные для многих (тысяч) циклов сигнала, вы можете очень точно определить частоту сигнала после его преобразования (с помощью БПФ).

Спасибо дайте мне информацию, ценю