打印
[技术讨论]

ADC的积分非线性和微分非线性

[复制链接]
215|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
QWE4562009|  楼主 | 2023-3-24 17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADC的积分非线性和微分非线性

模数器件的精度指标是用积分非线性度(Interger NonLiner) 即 INL 来表示,INL可以理解为精度;
4.095/4096=0.001V,单位INL的值,1LSB就是0.001V,一个电压转换成数字量的读数是1000,则误差会在(1000*0.001)±1LSB,也就是(1000*0.001)±0.001V之间,即 0.999~1 .001 V---------转换结果偏离理想线性的最大误差

微分非线性DNL怎么理解?




ADC的积分非线性和微分非线性
模数器件的精度指标是用积分非线性度(Interger NonLiner) 即 INL 来表示。
也有的器件手册用 Linearity error 来表示。 他表示了 ADC 器件在所有的数值点
上对应的模拟值, 和真实值之间误差最大的那一点的误差值。 也就是, 输出数值
偏离线性最大的距离。 单位是 LSB即最低位所表示的量
比如 1 2 ADCTLC2543INL 值为 1 LSB。 那么, 如果基准 4.095V, 测某电
压得的转换结果是 1 000, 那么, 真实电压值可能分布在 0.999~1 .001 V 之间。
对于 DAC 也是类似的。比如 DAC751 2,INL 值为 8LSB, 那么, 如果基准 4.095V
给定数字量 1 000, 那么输出电压可能是 0.992~1 .008V 之间。
4.095/4096=0.001V,单位INL的值,1LSB就是0.001V,一个电压转换成数字量的读数是1000,则误差会在(1000*0.001)±1LSB,也就是(1000*0.001)±0.001V之间,即 0.999~1 .001 V---------转换结果偏离理想线性的最大误差
下面再说 DNL 理论上说, 模数器件相邻量个数据之间, 模拟量的差值都是
一样的。就相一把疏密均匀的尺子。但实际并不如此。一把分辨率 1 毫米的尺子,
相邻两刻度之间也不可能都是 1 毫米整。 那么, ADC 相邻两刻度之间最大的差
异就叫差分非线性值(Differencial NonLiner) 。 DNL 值如果大于 1 , 那么这个
ADC 甚至不能保证是单调的, 输入电压增大, 在某个点数值反而会减小。 这种
现象在 SAR(逐位比较) 型 ADC 中很常见。
举个例子, 1 2 ADCINL=8LSBDNL=3LSB(性能比较差), 基准 4.095V
A 电压读数 1 000, 测 B 电压度数 1 200。 那么, 可判断 B 点电压比 A 点高
1 97~203mV。 而不是准确的 200mV。 对于 DAC 也是一样的, 某 DAC DNL
3LSB。 那么, 如果数字量增加 200, 实际电压增加量可能在 1 97~203mV
间。
4.095/4096=0.001V,单位DNL的值,假如1LSB就是0.001V,一个电压转换成数字量的读数是1000,则误差会在(1000*0.001)±1LSBB-A=200200*0.001V=0.2V=200mVDNL=3LSB=3*0.001V=3mV,所以实际的偏差在200mV±3mV之间,也就是 1 97~203mV
间。---------区间转换结果的最大误差
总结:
1 INL(Interger NonLinear,Linearity error)精度。 理解为单值数据误差, 对应
该点模拟数据由于元器件及结构造成的
不能精确测量产生的误差。
2DNL(Differential NonLinear)差分非线性值。 理解为刻度间的差值, 即对每
个模拟数据按点量化, 由于量化产生的误
差。
例子:
(1 )INL,精度
比如 1 2 ADC: 假设基准 Vref=4.095V,那么 1 LSB=Vref/2^1 2=0.001 V
如果精度为 1 LSB, 则它的单值测量误差 0.001 V*1 =0.001 V,比如测量结果
1 .000V, 实际在 1 .000+/-0.001 V 范围。
如果精度为 8LSB, 则他的单值测量误差 0.001 V*8=0.008V,比如测量结果
1 .000V, 实际在 1 .000+/-0.008V 范围
(2)DNL, 差分非线性值
比如 1 2 ADC: 假设基准 Vref=4.095V,那么 1 LSB=Vref/2^1 2=0.001 V。 不考
虑精度, 即精度为 0LSB, 没有单值误差。
如果 DNL=3LSB=0.001 V*3=0.003V
假设 A 实际电压为 1 .001 V,B 实际电压为 1 .003V。 理论上 A 点读数
1 .001 V/1 LSB=1 001 B 点读数 1 .003V/1 LSB=1 003B-A=2,B>A
但由于 DNL=3LSB=0.003V,模拟数据间的量化误差有 0.003V, 那么 B-A 会在
-1 (2-3=-1 )+5(2+3=5)之间的某一个数。
--------------------------
积分非线性(Integral nonlinearityINL
积分非线性表示了 ADC 器件在所有的数值点上对应的模拟值和真实值之间
误差最大的那一点的误差值, 也就是输出数值偏离线性最大的距离。单位是 LSB
例如, 一个 1 2bit ADCINL 值为 1 LSB, 那么, 对应基准 4.095V, 测某电压
得到的转换结果是 1 .000V, 那么, 真实电压值可能分布在 0.999V 1 .001 V
间。
INL DNL 误差的数学积分, 即一个具有良好 INL ADC 保证有良好的
DNL
总之, 非线性微分和积分是指代码转换与理想状态之间的差异。 非线性微分
(DNL)主要是代码步距与理论步距之差, 而非线性积分(INL)则关注所有代码非线
性误差的累计效应。 对一个 ADC 来说, 一段范围的输入电压产生一个给定输出
代码, 非线性微分误差为正时输入电压范围比理想的大, 非线性微分误差为负时
输入电压范围比理想的要小。 从整个输出代码来看, 每个输入电压代码步距差异
累积起来以后和理想值相比会产生一个总差异, 这个差异就是非线性积分误差。
与增益和偏移一样, 计算非线性微分与积分误差也有很多种方法, 代码平均
和电压抖动两种方法都可以使用, 但是由于存在重复搜索, 当器件位数较多时这
两种方法执行起来很费时。 一个更加有效计算 INL DNL 的方法是直方图法,
采用线性或正弦直方图。 7 说明了线性斜升技术的应用, 首先使输入电压线性
增加, 同时对输出以固定间隔连续采样, 电压逐步增加时连续几次采样都会得到
同样输出代码, 这些采样次数称为“点击数”。
从统计上讲, 每个代码的点击数量直接与该代码的相应输入电压范围成正比,
点击数越多表明该代码的输入电压范围越大, 非线性微分误差也就越大; 同样,
代码点击数越少表明该代码输入电压范围越小, 非线性微分误差也就越小。 用数
学方法计算, 如果某个代码点击数为 9, 而“理想”情况下是 8, 则该器件的非线
性微分误差就是(9-8)/8 0.1 25。 非线性积分是所有代码非线性微分的累计值,
对于斜升直方图, 它就是每个非线性微分误差的和。 从数学观点来看, 非线性积
分误差等于在代码 X-1 的非线性微分误差加上代码 X 和代码 X-1 的非线性微分
误差平均值。 积分非线性(Integral nonlinearityINL

https://wenku.baidu.com/view/5e845ffbc8d376eeaeaa31b2.html?_wkts_=1679636153594



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

937

主题

2850

帖子

22

粉丝