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 位 ADC: TLC2543, INL 值为 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 位 ADC, INL=8LSB, DNL=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)±1LSB,B-A=200,200*0.001V=0.2V=200mV,DNL=3LSB=3*0.001V=3mV,所以实际的偏差在200mV±3mV之间,也就是 1 97~203mV 之 间。---------区间转换结果的最大误差 总结: (1 ) INL(Interger NonLinear,Linearity error)精度。 理解为单值数据误差, 对应 该点模拟数据由于元器件及结构造成的 不能精确测量产生的误差。 (2) DNL(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 003, B-A=2,B>A, 但由于 DNL=3LSB=0.003V,模拟数据间的量化误差有 0.003V, 那么 B-A 会在 -1 (2-3=-1 )到+5(2+3=5)之间的某一个数。 -------------------------- 积分非线性(Integral nonlinearity, INL) 积分非线性表示了 ADC 器件在所有的数值点上对应的模拟值和真实值之间 误差最大的那一点的误差值, 也就是输出数值偏离线性最大的距离。单位是 LSB。 例如, 一个 1 2bit 的 ADC, INL 值为 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 nonlinearity, INL)
https://wenku.baidu.com/view/5e845ffbc8d376eeaeaa31b2.html?_wkts_=1679636153594
|