Как менялись ключевые метрики АЦП
За последние десятилетия параметр, по которому судили о быстродействующем аналого-цифровом преобразователе, менялся — пусть и небыстро. В 1980-е годы АЦП оценивали главным образом по характеристикам на постоянном токе: дифференциальной и интегральной нелинейности (DNL и INL). В 1990-е на первое место вышло отношение сигнал/шум (SNR). Динамический диапазон, свободный от гармоник (SFDR), тоже остаётся очень важной величиной, но для современных быстродействующих преобразователей, работающих на гигаотсчётах в секунду (GSPS), есть ещё одна обобщающая характеристика — спектральная плотность шума, NSD (noise spectral density). Причина смены ориентиров в том, что системы сбора сигналов требуют всё более широкой полосы, а вместе с этим меняется и способ измерять качество преобразователя.
Сама по себе NSD не новинка: шум преобразователей описывают ею давно. Новое здесь то, что она превратилась в заголовочный параметр свежих высокоскоростных АЦП. Для инженера, который до сих пор выбирал преобразователь по другим строчкам даташита, это понятие может оказаться совершенно незнакомым.
Что такое NSD и в чём её измеряют
NSD задаёт полную мощность шума, приведённую к единице полосы, на входе АЦП. У преобразователя найквистовского типа этот шум размазан по всей найквистовской полосе, то есть по половине частоты дискретизации — Fs/2.
Напомним, из чего вообще складывается шум. SNR преобразователя — это логарифмическое отношение мощности сигнала к суммарной мощности всего, что сигналом не является и наблюдается на входе АЦП. Если считать относительно полной шкалы входа, величину обозначают SNRFS. Несигнальная мощность имеет несколько составляющих: шум квантования, тепловой шум и мелкие погрешности самой схемы преобразователя. Шум квантования возникает неизбежно, поскольку АЦП нелинейным образом превращает непрерывный сигнал в дискретные уровни: это разница между реальным аналоговым входным сигналом (обычно его представляют синусоидой) и величиной наименьшего дискретного шага — младшего значащего разряда (LSB).
В даташитах NSD выглядит как довольно большое отрицательное число в dBFS/Hz либо в dBm/Hz. Первая запись означает мощность в децибелах относительно полной шкалы преобразователя (FS), наблюдаемую в частотном окне шириной один герц. Почему именно герц, ведь это очень мало? Просто один герц принят за базовую единицу шумовой полосы — ширину того частотного «окна наблюдения», через которое и определяется NSD. Если нужна абсолютная привязка, NSD выражают через входную мощность АЦП в dBm/Hz; тогда абсолютную мощность полной шкалы надо либо знать, либо измерить, исходя из входного напряжения и импеданса.
Типичный диапазон значений, который можно встретить в документации, — примерно от -140 dBFS/Hz до -165 dBFS/Hz. Конкретная же цифра определяется двумя вещами: достигнутым SNR преобразователя и частотой дискретизации.
Почему с ростом частоты дискретизации плотность шума падает
У АЦП найквистовского типа удвоение частоты дискретизации снижает плотность шума на 3 дБ: та же самая мощность входного шума теперь распределяется по вдвое более широкой найквистовской полосе, а значит, SNR растёт. Проверить это легко — достаточно подставить удвоенное Fs в выражение:
Noise power = 10log10(Fs/2)
Именно поэтому по мере ухода частот дискретизации быстродействующих АЦП в гигагерцовую область выигрыш в SNR за счёт передискретизации становится реальным инструментом разработчика. Сравнивая два преобразователя, имеет смысл учитывать не только их паспортные цифры, но и саму возможность работать на более высокой частоте дискретизации ради более низкой плотности шума.
NSD и шумовая полка БПФ — не одно и то же
Обычное быстрое преобразование Фурье считают по десяткам или сотням тысяч отсчётов, иногда по нескольким миллионам. Ширина частотного бина БПФ равна найквистовскому спектру (Fs/2), делённому на число отсчётов преобразования. Для большинства применяемых частот дискретизации это сотни герц или единицы килогерц. Например, у АЦП с частотой 131 Мотсч/с и БПФ на 216 (65,5 тыс.) отсчётов ширина бина составит:
65,5 МГц / 65 500 отсчётов = 1 кГц на бин
То есть шум преобразователя распределён по найквистовской зоне бинами, которые в тысячу раз шире единичного герцового окна, использованного в определении NSD. Естественно, в один такой бин попадает и больше шумовой энергии. Если же для того же АЦП взять очень большое БПФ на 65,5 млн отсчётов, ширина бина окажется другой:
65,5 МГц / 65,5 млн отсчётов = 1 Гц
В этом случае шумовая полка БПФ совпадёт со спектральной плотностью шума преобразователя. Но суммарная мощность шума при этом не изменилась ни на децибел — она просто разложена по более мелким частотным бинам.
Отсюда понятно, почему шумовая полка типичного БПФ почти всегда лежит выше NSD: мало кто в реальной системе использует настолько большой размер преобразования, чтобы получить бин шириной один герц. И по этой же причине шум визуально «опускается», когда увеличивают число отсчётов БПФ. Полный шум при этом никуда не девается и по-прежнему занимает тот же найквистовский спектр — меняется лишь шаг по частоте, по которому его нарезают.
Как рассчитывают NSD
Идеальный уровень шума квантования задаётся разрядностью преобразователя N. Реальный АЦП до этих цифр не дотягивает: нелинейности его схемотехники делают практический SNR хуже идеального. Можно посмотреть на это и с другой стороны: если вычесть мощность сигнала из мощности полной шкалы входа, остаток и будет суммарной мощностью шума. Просуммировав все одногерцовые бины, полученные из NSD, мы придём к тому же самому числу — полная шкала минус сигнал.
Чтобы определить NSD преобразователя найквистовского типа, нужно рассчитать, как шум распределён по найквистовской зоне, и вычесть результат из мощности полношкального сигнала. Начинают с частоты дискретизации. Возьмём идеальный 12-разрядный АЦП на 200 Мотсч/с. Его идеальный полношкальный SNR:
SNR = 6,02 x 12 + 1,76 = 74,04 дБ
Шум размазан по найквистовской зоне шириной 100 МГц (Fs/2), а шум на один герцовый бин считается через логарифм:
шум на бин = -10log10(Fs/2) = -80 dBFS/Hz
Для этого идеального 12-разрядного преобразователя NSD составит:
-74,04 - 80 = -154,04 dBFS/Hz
Поскольку живём мы в неидеальном мире и с неидеальными АЦП, для реального расчёта нужно взять фактическое SNRFS преобразователя — измерить его напрямую или извлечь из даташита производителя.
Уровень мощности полношкального входного сигнала вычисляют по известному пиковому или среднеквадратичному напряжению полной шкалы и входному сопротивлению АЦП. Зная входное напряжение и входной импеданс, мощность можно получить и в dBm:
Vrms = Vp/sqrt2 или Vp x 0,707
Signal power = (Vrms^2 / Rin), Вт
Signal power [dBm] = 10 x log((Vrms^2 / Rin) x 1000 мВт/Вт) = 10 x log(Vrms^2 / Rin) + 30 дБ
Форма шумового спектра и случай узкой полосы
АЦП найквистовского типа работают на минимальной частоте дискретизации, достаточной, чтобы захватить всю информацию во входной полосе. У большинства из них — с конвейерной (pipeline) архитектурой, с регистром последовательного приближения (SAR) или параллельных (flash) — шум квантования практически плоский от постоянного тока до частоты Найквиста. Такие преобразователи принимают шум «на равных условиях»: конечная мощность шума квантования одинаково распределяется по всему спектру Fs/2.
Если полная найквистовская полоса приложению не нужна, есть смысл смотреть на другие архитектуры. Полосовые АЦП с непрерывным временем и сигма-дельта модуляцией (CTСигмадельта, или CTSD) используют функцию формирования шума, которая, по сути, «выдавливает» внутриполосный шум квантования за пределы интересующего диапазона частот. Передаточная функция шума перестаёт быть плоской: в узкой интересующей полосе, более узкой, чем найквистовская, появляется провал. Именно в этой полосе CTSD-преобразователь работает с максимальным качеством, и SNRFS там наивысший. Поскольку главное достоинство CTSD-архитектуры — обнаружение сигналов в узкой полосе частот, широкополосная NSD для неё не особо показательна: в качестве метрики приводят динамический диапазон внутри узкой полосы пропускания. Сама же форма передаточной функции шума определяется порядком петлевого фильтра, заложенного в модулятор.
Узкая полоса интереса встречается и с обычными найквистовскими АЦП. Если полезный сигнал занимает полосу BW, намного меньшую найквистовской, шум за её пределами можно отфильтровать цифровым способом — например, каскадом цифрового понижающего преобразования, который прореживает, перестраивает и фильтрует данные ещё до их выдачи из АЦП. Тогда в расчёт SNR нужно ввести поправку на выигрыш обработки отфильтрованного шума:
Ideal SNR (с выигрышем обработки) = 6,02 x N + 1,76 дБ + 10log10(Fs/(2 x BW))
Допустим, преобразователь работает с частотой дискретизации 100 Мотсч/с, но всю 50-мегагерцовую найквистовскую полосу система наблюдать не обязана — нас интересует лишь одна восьмая часть, участок шириной 6,25 МГц между 20 МГц и 26,25 МГц. Настроив цифровой фильтр на эту полосу, получаем выигрыш обработки за счёт передискретизации:
Processing gain = 10log10(Fs/(2 x BW)) = 10log10(100x10^6 / (2 x 6,25x10^6)) = 10log10(8) = 9 дБ
Правило простое: каждое сужение полосы вдвое добавляет +3 дБ выигрыша обработки. В примере выше полоса сужена в 2^3 раз, что и даёт 3 x 3 дБ.
Джиттер тактового сигнала и реальная плотность шума
Испортить характеристики быстродействующего АЦП в системе способно множество внешних факторов: результатом будет более низкий SNR и более высокая эффективная плотность шума. Любой сопутствующий компонент, влияющий на SNRFS или на частоту дискретизации, потенциально влияет и на NSD всего тракта. Самый частый виновник деградации SNR на высоких частотах дискретизации — джиттер тактового сигнала.
Быстродействующие АЦП высокого разрешения чувствительны к качеству тактового входа. Чтобы получить достойный SNR, среднеквадратичный (RMS) джиттер такта надо подбирать исходя из требований к входной частоте приложения. Джиттер способен ограничить SNR даже лучшего преобразователя, и чем выше входная частота, тем сильнее этот эффект. Важно понимать: сам потенциал NSD преобразователя от этого не меняется — ограничивается практически достижимый SNR в системе с шумным тактовым генератором.
Количественно: при утроении входной аналоговой частоты и том же RMS-джиттере лучший достижимый SNR падает на 10 дБ. Деградация SNR на заданной входной частоте fA, вызванная исключительно апертурным джиттером tJ, считается так:
SNR = 20 x log10[1 / (2 x пи x f_A x t_J)]
Наглядный пример: RMS-джиттер 200 фемтосекунд ограничивает SNR преобразователя величиной не лучше 70 дБ на частоте 250 МГц. А чтобы получить те же 70 дБ на входном сигнале 1 ГГц, понадобится тактовый сигнал с джиттером 50 фемтосекунд или меньше. Чем выше входная частота, тем более чистый такт требуется для сохранения прежнего предела по SNR.