在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 模擬技術 > 設計應用 > 使用兩點校準消除ADC偏移和增益誤差使用兩點校準消除ADC偏移和增益誤差

            使用兩點校準消除ADC偏移和增益誤差使用兩點校準消除ADC偏移和增益誤差

            作者: 時間:2024-09-04 來源:EEPW編譯 收藏

            通過示例了解方法和定點實現(xiàn),以補償模數(shù)轉換器(ADC)偏移和。

            本文引用地址:http://www.biyoush.com/article/202409/462651.htm

            在上一篇文章中,我們討論了單點校準可用于微調誤差。為了補償偏移和,我們需要。在本文中,我們將探索方法,并通過一個例子了解該技術的定點實現(xiàn)。

            確定實際的兩點校準測試

            圖1顯示了受偏移和增益誤差影響的單極12位ADC的特性曲線。

            受偏移和增益誤差影響的單極12位ADC的特性曲線。

             1.png

            圖1。受偏移和增益誤差影響的單極12位ADC的特性曲線。

            ADC的滿標度值為3V。選擇ADC滿標度范圍10%和90%的兩個測試輸入點A和B,以確定和增益誤差。在0.3V和2.7V時,測量的輸出代碼分別為437和3749。測量的傳遞函數(shù)的斜率可以計算為:

             

            2.png

            使用點A的x和y值,我們得到以下直線方程:

             3.png

            通過替換Vin=0,發(fā)現(xiàn)偏移誤差為+23 LSB。以下方程式描述了理想12位ADC的線性模型:

             4.png

            因此,0.3V和2.7V下的理想碼值分別為409和3686。使用這些值,理想響應的斜率可得:

             5.png

            現(xiàn)在我們可以計算ADC的增益誤差如下:

             6.png

            兩點校準——消除ADC偏移誤差和增益誤差

            知道實際響應后,我們現(xiàn)在可以很容易地消除數(shù)字域中的偏移和增益誤差。首先,我們可以從每個輸出代碼中減去偏移量,得到一個通過原點且斜率為Slopem的響應。接下來,將結果乘以

             SlopeiSlopemSlopeiSlopem 

            將獲得的直線繞原點旋轉,并產生斜率為Slopei的直線。

            這些數(shù)學運算將實際響應的直線映射到理想ADC的直線。圖2使用了一個夸張的例子來說明校準概念。

            顯示ADC校準的示例響應。

             7.png

            圖2:顯示ADC校準的示例響應。

            因此,通過應用方程式1,可以從實際代碼Codea計算出校準的輸出代碼CodeCal:

             8.png

            方程式1。

            定點校準實施

            另一方面,如果我們試圖補償偏移和增益誤差的固定值,我們可以簡化方程1,實現(xiàn)計算效率更高的系統(tǒng)。繼續(xù)我們的例子,我們可以將offset=23、Slopei=1365.42和Slopem=1380代入方程1,得到以下關系:

             9.png

            為了節(jié)省系統(tǒng)處理器的一些CPU(中央處理單元)周期,我們可以將上述方程簡化為方程2:

             10.png

            方程式2。

            解釋:

            c1=0.989434782

            c2=-22.757

            雖然我們可以使用浮點算法來實現(xiàn)上述方程,但定點實現(xiàn)可能更高效、更劃算。我們有兩個分數(shù),c1和c2。為了以定點格式表示分數(shù),我們將使用隱含的二進制點。這意味著我們將假設寄存器的一定數(shù)量的位表示整數(shù)部分,而剩余的位表示數(shù)字的小數(shù)部分。

            然后使用Q格式表示法來指定整數(shù)和小數(shù)部分的位數(shù)。例如,101.0011可以是Q3.4格式的數(shù)字,因為它使用三位表示整數(shù),四位表示小數(shù)部分。

            請注意,二進制點實際上并沒有在硬件中實現(xiàn);它只是一個概念,允許我們在定點處理器中表示分數(shù)。此外,給定Q格式的數(shù)字可能表示正值或負值。

            回到我們的ADC校準示例,我們有兩個分數(shù)c1和c2,它們應該以適當?shù)亩c格式表示。讓我們假設使用二進制補碼格式的帶符號16位寄存器來存儲這些常數(shù)。由于c1小于1,整數(shù)部分只需要一個比特作為符號。其余的比特可以表示小數(shù)部分,從而形成Q1.15格式。

            為了找到c1的不動點表示,我們將其乘以215,將其四舍五入到最接近的整數(shù),并將舍入結果轉換為二進制形式。

            11.png

            由于c2在16到32之間,我們需要5位用于整數(shù)部分,1位用于符號。這給我們留下了10位用于小數(shù)部分。因此,c2的適當表示是Q6.10格式。為了用這種格式表示,我們將c2乘以210,將其四舍五入到最接近的整數(shù),并將四舍五進的結果轉換為二進制形式。

            12.png

            請注意,c2是2補碼格式的負數(shù)。由于新系數(shù)使用不同的縮放因子,我們需要仔細跟蹤縮放因子對計算的影響。讓我們定義一個新的臨時變量Var1,將c1、new和未校準ADC讀數(shù)的乘積存儲為方程式3:

             13.png

            方程式3。

            這產生了方程2右側的第一項。假設ADC的12位輸出存儲在C程序中的帶符號16位寄存器中。因此,Codea可以被視為Q16.0數(shù)字。這意味著實現(xiàn)方程式3需要將Q1.15值乘以Q16.0值。變量Var1應該是一個32位寄存器來存儲此乘法的結果。此外,由于Q16.0的數(shù)字乘以Q1.15的值,Var1的格式為Q17.15。如果你需要使用定點表示法來復習乘法,請參閱這篇文章。

            如您所見,乘法運算增加了數(shù)據(jù)字長。在實現(xiàn)DSP(數(shù)字信號處理器)算法時,我們通常會截斷或舍入乘法輸出,以防止字長無限增長。然而,在截斷或舍入乘法輸出之前,我們應該考慮對數(shù)據(jù)的下一步操作。

            在這個例子中(方程式2),乘法結果將被添加到Q6.10格式的c2 new中。考慮到c2的分數(shù)部分,我們可以丟棄Var1的五個最低有效位,并將截斷的結果存儲在一個新的變量Var2中。C編程中的右移運算符可用于執(zhí)行此操作:

             14.png

            方程式4。

            如果我們的系統(tǒng)中有任意的寄存器長度(例如,在FPGA中),我們可以使用Q17.10格式的27位寄存器存儲Var2。然而,在C編程中,Var2仍然必須存儲在32位寄存器中。如果我們截斷Q17.15數(shù)字的五個最低有效位并將結果存儲在32位寄存器中,我們將得到Q22.10數(shù)字。最后,我們可以將c2添加到Var2中,并丟棄10個最低有效位,以得到校準的ADC值,得到方程5:

             15.png

            方程式5。

            作為旁注,為了避免任何混淆,我想提到的是,方程4和5中的變量不使用下標,因為這兩行被假設為偽代碼。例如,文本中的Var2在方程式4和5中表示為Var2。

            ADC定點校準驗證

            讓我們看看上述定點系數(shù)(c1,new=32422和c2,new=23303)是否可以將測量的ADC響應映射到理想的直線模型。在圖1中的A點,ADC輸出為437。應用方程式3,Var1為:

             16.png

            將其轉換為二進制格式,右移5位,然后找到十進制等效值,我們得到:

             17.png

            現(xiàn)在,我們添加c2、new,并將結果的二進制等效值右移10位,得到:

             18.png

            您同樣可以驗證點B是否也映射到理想代碼3686。請注意,計算機程序使用系數(shù)的二進制等效值,我只是使用十進制值來闡明計算。我們同樣可以從測量的ADC響應中檢查其他點,以確保定點實現(xiàn)產生所需的值。如果不滿足這個要求,我們將不得不使用更大的寄存器來存儲校準系數(shù)。

            ADC未使用的輸出代碼和輸入范圍

            之前,我們討論過偏移和增益誤差會導致未使用的輸出代碼。上述校準技術是在A/D轉換之后執(zhí)行的。因此,它無法解決未使用的代碼問題。為了澄清這一點,請考慮圖3中所示的示例。

            顯示未使用和可用輸入范圍的示例。

             19.png

            圖3。示例顯示了未使用和可用的輸入范圍和輸出代碼范圍。

            在這個例子中,顯示了一個偏移為-13LSB的單極ADC。通過將ADC讀數(shù)加13,可以校準偏移誤差。但是,請注意,ADC輸出小于13 LSB的輸入值的全零碼。該輸入范圍在校準響應中仍然不可用,因為校準是在A/D轉換后進行的。校準僅向實際ADC響應添加恒定偏移,在上述示例中為低于13LSB的所有值產生代碼13。應該注意的是,一些ADC具有與本文討論的后轉換方法不同的內置校準功能。這些內置校準技術可能能夠保持ADC的本機范圍。這種內置校準技術用于TI的TMS320280x和TMS3202801x設備上的12位ADC。




            評論


            技術專區(qū)

            關閉