ADC误差

转载 2018年01月19日 11:35:34

本文转载自:http://blog.csdn.net/tianhen791/article/details/38736217

动态测试关注的是器件的传输和性能特征,即采样和重现时序变化信号的能力,相比之下,线性测试关注的则是器件内部电路的误差。对ADC误差,这些参数说明了静止的模拟信号转换成数字信号的情况,主要关注具体电平与相应数字代码之间的关系。

测试ADC静态性能时,要考虑两个重要因素:第一,对于给定的模拟电压,一个具体数字代码并不能告诉多少有关器件的信息,它仅仅说明这个器件功能正常,要知道器件功能到底如何还必须考虑模拟电压的范围(它会产生一个输出代码)以及代码间的转换点;第二,动态测试一般关注器件在特定输入信号情况下的输出特性,然而静态测试是一个交互性过程,要在不同输入信号下测试实际输出。

总的来说,ADC的误差可以分为与直流(DC)和交流(AC)有关的误差。DC误差又细分为四类:量化误差、微分非线性误差、积分非线性误差、偏移与增益误差。AC

量化误差是基本误差,用图3所示的简单3bit ADC来说明。输入电压被数字化,以8个离散电平来划分,分别由代码000b到111b去代表它们,每一代码跨越Vref/8的电压范围。代码大小一般被定义为一个最低有效位(Least Significant Bit,LSB)。若假定Vref=8V时,每个代码之间的电压变换就代表1V。换言之,产生指定代码的实际电压与代表该码的电压两者之间存在误差。一般来说,0.5LSB偏移加入到输入端便导致在理想过渡点上有正负0.5LSB

再说一次INL和DNL! - cheng_411 - chengzi的博客

器件理想输出与实际输出之差定义为偏移误差,所有数字代码都存在这种误差。在实际中,偏移误差会使传递函数或模拟输入电压与对应数值输出代码间存在一个固定的偏移。通常计算偏移误差方法是测量第一个数字代码转换或“转换的电压,并将它与理论零点电压相比较。增益误差是预估传递函数和实际斜率的差别,增益误差通常在模数转换器最末或最后一个传输代码转换点计算。

为了找到零点与最后一个转换代码点以计算偏移和增益误差,可以采用多种测量方式,最常用的两种是代码平均法和电压抖动法。代码平均测量就是不断增大器件的输入电压,然后检测转换输出结果。每次增大输入电压都会得到一些转换代码,用这些代码的和算出一个平均值,测量产生这些平均转换代码的输入电压,计算出器件偏移和增益。电压抖动法和代码平均法类似,不同的是它采用了一个动态反馈回路控制器件输入电压,根据转换代码和预期代码的差对输入电压进行增减调整,直到两代码之间的差值为零,当预期转换代码接近输入电压或在转换点附近变化时,测量所施

◆微分非线性(Differential nonlinearity,DNL)

理论上说,模数器件相邻两个数据之间,模拟量的差值都是一样的。就好比疏密均匀的尺子。但实际上,相邻两刻度之间的间距不可能都是相等的。所以,ADC相邻两刻度之间最大的差异就叫微分非线性DNL,也称为差分非线性。同样举例来说明,如果对于12bit的ADC,其INL=8LSB,DNL=3LSB,在基准电压为4.095V时,测得A电压对应读数为1000b,测得B电压对应读数为1200b。那么就可以判断出,B点电压值比A点高出197mV到203mV,而不是准确的200mV

再说一次INL和DNL! - cheng_411 - chengzi的博客

图4中,001b到010b码制过渡过程的DNL为0LSB,因为刚好为1LSB。但是000b到001b过渡就有个0.2LSB的DNL,因为此时有1.2LSB的代码宽度。应当注意:如果在ADC或者DAC的datasheet中没有清楚说明DNL参数的话,可视该转换器没有漏码,即暗示它有优于正负1LSB的DNL

◆积分非线性(Integral nonlinearity,INL)

积分非线性表示了ADC器件在所有的数值点上对应的模拟值和真实值之间误差最大的那一点的误差值,也就是输出数值偏离线性最大的距离。单位是LSB。例如,一个12bit的ADC,INL值为1LSB,那么,对应基准4.095V,测某电压得到的转换结果是1000b,那么,真实电压值可能分布在0.999V到1.001V之间。

再说一次INL和DNL! - cheng_411 - chengzi的博客

总之,非线性微分和积分是指代码转换与理想状态之间的差异。非线性微分(DNL)主要是代码步距与理论步距之差,而非线性积分 (INL)则关注所有代码非线性误差的累计效应。对一个ADC来说,一段范围的输入电压产生一个给定输出代码,非线性微分误差为正时输入电压范围比理想的大,非线性微分误差为负时输入电压范围比理想的要小。从整个输出代码来看,每个输入电压代码步距差异累积起来以后和理想值相比会产生一个总差异,这个差异就是非线性积分误差。

再说一次INL和DNL! - cheng_411 - chengzi的博客

与增益和偏移一样,计算非线性微分与积分误差也有很多种方法,代码平均和电压抖动两种方法都可以使用,但是由于存在重复搜索,当器件位数较多时这两种方法执行起来很费时。一个更加有效计算INL和DNL的方法是直方图法,采用线性或正弦直方图。图7说明了线性斜升技术的应用,首先使输入电压线性增加,同时对输出以固定间隔连续采样,电压逐步增加时连续几次采样都会得到同样输出代码,这些采样次数称。

从统计上讲,每个代码的点击数量直接与该代码的相应输入电压范围成正比,点击数越多表明该代码的输入电压范围越大,非线性微分误差也就越大;同样,代码点击数越少表明该代码输入电压范围越小,非线性微分误差也就越小。用数学方法计算,如果某个代码点击数为98,则该器件的非线性微分误差就是(9-8)/8或0.125。非线性积分是所有代码非线性微分的累计值,对于斜升直方图,它就是每个非线性微分误差的和。从数学观点来看,非线性积分误差等于在代码X-1的非线性微分误差加上代码X和代码X-1的非线性微分误差平均值。

ADC中的LSB误差是什么意思

LSB(Least Significant Bit),意为最低有效位;MSB(Most Significant Bit),意为最高有效位,若MSB=1,则表示数据为负值,若MSB=0,则表示数据为正。...
  • xzongyuan
  • xzongyuan
  • 2014年04月25日 16:52
  • 3204

ADC误差

本文转载自:http://blog.csdn.net/tianhen791/article/details/38736217动态测试关注的是器件的传输和性能特征,即采样和重现时序变化信号的能力,相比之...
  • Calvin790704
  • Calvin790704
  • 2018年01月19日 11:35
  • 32

ADC位数与LSB误差(转)

当选择模数转换器(ADC)时,最低有效位(LSB)这一参数的含义是什么?有位工程师告诉我某某生产商的某款12位转换器只有7个可用位。也就是说,所谓12位的转换器实际上只有7位。他的结论是根据器件的失调...
  • ywxiao66
  • ywxiao66
  • 2013年07月15日 16:08
  • 444

ADC中的ABC:理解ADC误差对系统性能的影响

许多工程师会在设计中遇到一些很微妙的问题:ADC的规格常常低于系统要求的指标。本文介绍了如何根据系统需求合理选择ADC,列举了ADC测量中可能遇到的各种误差源。 ...
  • PeaceSea
  • PeaceSea
  • 2010年10月15日 17:20
  • 3170

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

模数器件的精度指标是用积分非线性度(Interger NonLiner)即INL值来表示。也有的器件手册用 Linearity error 来表示。他表示了ADC器件在所有的数值点上对应的模拟值,和真...
  • sunheshan
  • sunheshan
  • 2014年05月23日 14:11
  • 1839

AVR121-使用过采样增加ADC精度

1. 介绍  在大多数情况10位精度已经足够了,但是某些情况下需要更高的精度。特殊的信号处理技术可以用来提高测量的精度。使用一种称为“过采样和抽取”的方法可以得到较高的精度,不需要使用外部的ADC。 ...
  • wzz4420381
  • wzz4420381
  • 2016年02月16日 23:56
  • 2038

ADC的有效位数和信纳比计算

ADC的有效位数和信噪比计算 理论上,一个ADC的SNR(信号与噪声的比值)等于(6.02N+1.76)dB,这里N等于ADC的位数。虽然我的数学技巧有点生疏,但我认为任何一个16位转换器的信噪比应...
  • wordwarwordwar
  • wordwarwordwar
  • 2017年02月23日 17:17
  • 917

ADC位数与LSB误差

LSB(Least Significant Bit),意思为最低有效位;MSB(Most Significant Bit),即最高有效位,若MSB=1,则表示数据为负值,若MSB=0,则表示数据为...
  • zmq5411
  • zmq5411
  • 2016年06月22日 09:21
  • 744

理解ADC的非线性

ADC非线性误差是关于AD非常关键的参数,
  • desert187
  • desert187
  • 2014年05月07日 11:27
  • 1100

ESP8266 ADC - Analog Sensors

http://www.instructables.com/id/ESP8266-ADC-Analog-Sensors/?ALLSTEPS ESP8266 modules have t...
  • coolwaterld
  • coolwaterld
  • 2015年05月06日 09:19
  • 4553
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ADC误差
举报原因:
原因补充:

(最多只允许输入30个字)