Интегральная нелинейность (INL) и дифференциальная нелинейность (DNL) преобразователей данных
вычисляет интегральную нелинейность (INL) и дифференциальную нелинейность (DNL) ошибки ADCs и DACs. Функция вычисляет INL и DNL использование аналога и цифровых входных выходных данных и номинального аналогового динамического диапазона конвертера. Функция может вычислить INL и DNL или использование метода конечной точки, или лучший подходящий метод или использование обоих методов.s
= inldnl(analog
,digital
,range
,type
)
inldnl
функция только анализирует конвертеры с конечным числом битов. Это означает, что ADCs должен иметь насыщение и квантование. Функция игнорирует любые цифровые пары значения, которые содержат значения NaN.
вычисляет INL и ошибки DNL ADCs и DACs, использующего один или несколько аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе. Заключите каждое имя аргумента в кавычки. Незаданные аргументы берут значения по умолчанию.s
= inldnl(___,Name,Value)
Примечание
Начальные условия и другие аномальные данные могут заставить эту функцию вести себя беспорядочно. Эта функция может анализировать немонотонные конвертеры, но она не может обработать несколько отличных случаев того же кода в одной передаточной функции.
Загрузите цифровой вход и аналоговый выход DAC из MAT-файлов.
load 'digital.mat' load 'analog.mat'
Номинальным аналоговым динамическим диапазоном DAC является [-1,1]
. Включите графический вывод для выходного порога конвертера. Вычислите INL и DNL, использующий, и лучше всего соответствуйте и методы конечной точки.
inldnl(a,d,[-1 1],'DAC','GenPlotData','on','INLMethod','All','DNLMethod','All')
ans = struct with fields:
Type: 'DAC'
NBits: 5
LSB: 0.0625
MissingCodes: [0x1 double]
Codes: [-16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 ... ]
IdealCodeCenters: [-1 -0.9375 -0.8750 -0.8125 -0.7500 -0.6875 ... ]
CodeCenters: [-0.9465 -0.8780 -0.8048 -0.7310 -0.6557 -0.5862 ... ]
CodeCenterStD: [0.0282 0.0292 0.0296 0.0287 0.0254 0.0237 0.0207 ... ]
EndpointINL: [1.7764e-15 0.0465 0.1679 0.2985 0.4547 0.5169 ... ]
BestFitINL: [-0.5244 -0.4713 -0.3432 -0.2060 -0.0432 0.0257 ... ]
EndpointDNL: [0.0465 0.1215 0.1305 0.1562 0.0623 0.0654 0.0331 ... ]
BestFitDNL: [0.0531 0.1281 0.1371 0.1628 0.0689 0.0720 0.0397 ... ]
BestFitPoly: [0.0652 0.1293]
OffsetError: 0.8562
GainError: 1.5393
GainErrorUnit: 'LSB'
TCNominal: [32x2 double]
TCMeasured: [32x2 double]
analog
— Аналоговый вход к или выведенный от устройстваЕсли устройство под тестом (DUT) является ADC, аналоговым входом к ADC в виде вектора.
Если DUT является DAC, аналоговым выходом от DAC в виде вектора.
Типы данных: double
digital
— Цифровой выход от или вход к устройствуЕсли устройство под тестом (DUT) является ADC, цифровым выходом от ADC в виде вектора из целых чисел.
Если DUT является DAC, цифровым входом к DAC в виде вектора с целочисленными значениями.
Типы данных: fi
| single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
range
— Номинальный аналоговый динамический диапазон устройстваНоминальный аналоговый динамический диапазон ADC или DAC в виде вектора с 2 элементами.
Типы данных: double
type
— Тип устройстваAuto
| ADC
| DAC
Тип устройства под тестом в виде Auto
, ADC
, или DAC
. type
определяет, анализировать ли данные как ADC или DAC.
Если type
установлен в Auto
и если передаточная функция дискретна, inldnl
функция анализирует данные как DAC. Передаточная функция рассматривается как дискретную, если аналоговые данные меньше половины цифровой ширины кода для каждого цифрового кода.
Если type
установлен в Auto
и если передаточная функция непрерывна, inldnl
функция анализирует данные как ADC.
Типы данных: string
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
inldnl(a,d,[-1 1],'DAC', 'INLMethod', 'All', 'DNLMethod','All')
вычисляет INL и DNL DAC с помощью и конечной точки и лучшего подходящего метода.OffsetErrorUnit
— Модуль ошибки смещения, о которой сообщают,LSB
(значение по умолчанию) | %FS
| FS
| All
Модуль ошибки смещения, о которой сообщают, в виде LSB (младший значащий бит), %FS (полный масштаб процента), FS (полный масштаб) или все.
Типы данных: string
GainErrorUnit
— Модуль ошибки усиления, о которой сообщают,LSB
(значение по умолчанию) | %FS
| FS
| All
Модуль ошибки усиления, о которой сообщают, в виде LSB (младший значащий бит), %FS (полный масштаб процента), FS (полный масштаб) или все.
Типы данных: string
GenPlotData
— Отправьте векторы выходных данных в структуру выходных данныхОтправьте векторы выходных данных из inldnl
функционируйте к структуре выходных данных s
В виде off
или on
. Если GenPlotData
установлен в on
, структура выходных данных содержит векторы выходных данных. Векторы выходных данных могут затем быть взяты DAC DC measurement, DAC Testbench, ADC DC Measurement или блоками ADC Testbench, чтобы построить результаты анализа DC.
Типы данных: string
INLMethod
— Метод, чтобы вычислить INLEndpoint
(значение по умолчанию) | BestFit
| All
Метод, чтобы вычислить INL в виде Endpoint
, BestFit
, или все.
Если INLMethod
установлен в Enpoint
, inldnl
функция сравнивает положение каждого порога с пороговым положением идеального конвертера, как определено линией от первого перехода кода до последнего перехода кода.
Если INLMethod
установлен в BestFit
, inldnl
функционируйте сначала берет лучший линейный припадок кривой передачи ADC или DAC. Затем функция продолжает вычислять INL использование тех же шагов как Enpoint
метод.
Типы данных: string
DNLMethod
— Метод, чтобы вычислить DNLEndpoint
(значение по умолчанию) | BestFit
| All
Метод, чтобы вычислить DNL в виде Endpoint
, BestFit
, или все.
Если DNLMethod
установлен в Enpoint
, inldnl
функция сравнивает положение каждого порога с пороговым положением идеального конвертера, как определено линией от первого перехода кода до последнего перехода кода найти INL. DNL вычисляется от различия между элементами вектора INL.
Если DNLMethod
установлен в BestFit
, inldnl
функционируйте сначала берет лучший линейный припадок кривой передачи ADC или DAC. Затем функция продолжает вычислять DNL использование тех же шагов как Enpoint
метод.
Типы данных: string
AbsoluteError
— Возвратите абсолютную погрешность и полный масштаб DNL для тестированияВозвратите абсолютную погрешность и полный масштаб DNL для тестирования в виде on
или off
. Абсолютная погрешность является общим количеством некомпенсированная ошибка включая ошибку смещения, ошибку усиления и нелинейность. В симуляции чтобы в частности протестировать это измерения совпадают с ухудшениями, абсолютная погрешность может использоваться вместо INL. Это вызвано тем, что абсолютная погрешность описывает целую кривую передачи в одном векторе.
Типы данных: string
s
— Информация об устройстве выводаВыходная информация inldnl
функция, возвращенная как структура. Выход содержит информацию об устройстве под тестом в этих полях:
Имя | Значения | Описание | Типы данных |
---|---|---|---|
Ввод | ADC или DAC | Тип устройства под тестом (DUT) | строка |
NBits | положительное действительное целое число | Разрешение ADC или DAC DUT | 'double' |
LSB | положительный действительный скаляр | Младшее значащее битовое значение DUT. LSB является самым маленьким уровнем, который ADC может преобразовать или самый маленький шаг DAC выход. | 'double' |
MissingCodes | вектор | Недостающие коды в DUT. | 'double' |
Коды | вектор-столбец | Цифровой код | 'double' |
IdealCodeCenters | вектор-столбец | Идеальный центр кода цифрового кода | 'double' |
CodeCenters | вектор-столбец | Расчетный центр кода цифрового кода | 'double' |
CodeCenterStD | вектор-столбец | Стандартное отклонение кода сосредотачивается от идеального значения | 'double' |
EndpointINL | вектор-столбец | INL использование Endpoint метод | 'double' |
BestFitINL | вектор-столбец | INL использование BestFit метод | 'double' |
EndPointDNL | вектор-столбец | DNL использование Endpoint метод | 'double' |
BestFitDNL | вектор-столбец | DNL использование BestFit метод | 'double' |
BestFitPoly | вектор | Полином, описывающий лучший подходящий использующий стандартный метод подбора кривых. | 'double' |
OffsetError | действительный скаляр | Возместите ошибку DUT | 'double' |
GainError | действительный скаляр | Получите ошибку DUT | 'double' |
OffsetErrorUnit | LSB , %FS , или FS | Модуль ошибки смещения, о которой сообщают, | строка |
GainErrorUnit | LSB , %FS , или FS | Модуль ошибки усиления, о которой сообщают, | строка |
TCNominal | вектор | Номинальная кривая передачи DUT | 'double' |
TCMeasured | вектор | Измеренная кривая передачи DUT | 'double' |
Если вы не присваиваете выходную переменную, inldnl
функционируйте также строит передаточную функцию устройства под тестом на активном рисунке.
Типы данных: struct
Ошибка смещения представляет смещение кривой передаточной функции преобразователя данных от него идеальное значение в одной точке. Для получения дополнительной информации смотрите Ошибки Смещения и Усиления Измерения в ADC.
Ошибка усиления представляет отклонение наклона кривой передаточной функции преобразователя данных от ее идеального значения. Для получения дополнительной информации смотрите Ошибки Смещения и Усиления Измерения в ADC.
Интегральная нелинейность (INL) ошибка, которую также называют как относительная точность, является максимальным отклонением измеренной передаточной функции от прямой линии. Прямая линия может или быть лучшим подходящим использующим стандартным методом подбора кривых или быть соединяющей конечные точки фактической передаточной функции после корректировки усиления.
Лучший подходящий метод дает лучшее предсказание искажения в приложениях AC и нижнее значение ошибки линейности. Метод конечной точки в основном используется в применениях измерения преобразователей данных, поскольку ошибочный бюджет зависит от фактического отклонения от идеальной передаточной функции.
Дифференциальная нелинейность (DNL) является отклонением от идеального различия (1 LSB) между уровнями аналогового входа, которые инициировали любые два последовательных уровня цифрового выхода. Ошибка DNL является максимальным значением DNL, найденного при любом переходе.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.