Измерение смещения и ошибок усиления в АЦП

Этот пример показывает, как вычисляются ошибка смещения и ошибка усиления и как каждый влияет на кривую передачи АЦП. Ошибка смещения и ошибка усиления характеризуют часть ошибки линейности в АЦП.

Ошибка смещения - это различие между центром наименее значимого кода и центром того же кода на идеальном АЦП с таким же количеством бит. Ошибка смещения обычно указывается в единицах младшего разряда (LSB) конвертера. Один LSB эквивалентен интервалу квантования конвертера.

Ошибка усиления в LSB является различием между центром самого значимого кода после коррекции ошибки смещения и центром того же кода на идеальном АЦП с таким же количеством бит.

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

Модули для ошибки смещения и ошибки усиления

Единица измерения, $LSB$которая используется в этом примере, определяется как:

$$1 \left[LSB\right] = \frac{FSR}{2^{N_{bits}}}$$

Таким образом, ошибка в$V$ (вольтах) переходит в$LSB$ следующее:

$$E \left[LSB\right] = 2^{N_{bits}}\frac{E \left[V\right]}{FSR
\left[V\right]}$$

где$FSR$ - полная масштабная область значений АЦП и$N_{bits}$ количество бит АЦП.

Ошибки линейности также обычно сообщаются в нормированных модулях относительно полного масштаба области значений:

$$ E_{Offset} = \frac{E_{Offset} \left[V\right]}{FSR \left[V\right]}$$

Другим модулем, иногда используемой для ошибок линейности, является процент полной шкалы. Процент полной шкалы определяется как нормированные модули, умноженные на 100:

$$E_{Gain} \left[\%\right] = 100\frac{E_{Gain} \left[V\right]}{FSR
\left[V\right]}$$

Вычислите ошибку смещения и ошибку усиления

Используйте 3-разрядный АЦП с динамической областью значений [-1 1]. Задайте ошибку смещения 1 LSB и ошибка усиления 1 LSB.

Nbits = 3;
Range = [-1 1]; % ADC Full Scale Range
OffsetError = 1;
GainError = 1;
LSB = (max(Range) - min(Range)) / (2^Nbits - 1);

Цифровые коды от идеального АЦП идентичны кодам от экспериментальных АЦП.

[TC0Analog, TC0Digital] = og2tc(Nbits, Range, 0, 0); % Ideal ADC Transfer Curve
TC1Analog = og2tc(Nbits, Range, OffsetError, 0); % Offset Error Only
TC2Analog = og2tc(Nbits, Range, 0, GainError); % Gain Error Only
TC3Analog = og2tc(Nbits, Range, OffsetError, GainError); % Both Offset Error and Gain Error
plotAdcTcForExample(TC0Digital, TC0Analog, TC1Analog, TC2Analog, TC3Analog, Nbits);

Сумма ошибки смещения и ошибки усиления известна как полномасштабная ошибка. В монополярных преобразователях нулевая ошибка, по существу смещенная ошибка, заданная на аналоговом уровне 0, идентично регулярной ошибке смещения. В биполярных преобразователях, таких как выше, ошибка смещения и ошибка нуля являются различными величинами.

Использование ошибок линейности в качестве ухудшений

Сравните флэш-АЦП со смещением и ошибкой усиления с таковым без нарушений.

model = 'OffsetGainExample';
open_system(model);
open_system([model '/Scope']);
sim(model);

Блок измерения постоянного тока АЦП подтверждает значения ослаблений в пределах запаса ошибки, определяемого частотой дискретизации системы. Ошибка смещения и ошибка усиления были введены следующим 1 LSB. Ошибку смещения измеряли как 1,08 LSB, и ошибку усиления измеряли как 0,97 LSB. Ошибки в этих измерениях связаны с тем, что конвертер не дискретизирует точно свои пороговые значения. Максимально ожидаемая ошибка в LSB:

$$E_{max} = \frac{m}{f_s}$$

где$m$ - наклон входного сигнала наклона/пилообразного сигнала в LSB/s, и$f_s$ является начальной частотой преобразования АЦП.

См. также

|