模數器件的精度指標是用積分非線性度(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/5e8 ... wkts_=1679636153594
|