摘要:數(shù)字信號處理器TMS320F2812的片上ADC模塊的轉(zhuǎn)化結(jié)果往往存在較大誤差,最大誤差甚至會高達9%,如果這樣直接在實際工程中應(yīng)用ADC,必然造成控制精度降低。對此提出了一種改進的校正方法,即用最小二乘和一元線性回歸的思想,精確擬合出ADC的輸入/輸出特性曲線,并以此作為校正的基準在DSP上進行了驗證,實驗表明,此方法可以將誤差提高到1%以內(nèi),適合于對控制要求較高的場合。
0 引言
TI公司的C2000系列DSP以其出色的性能、豐富的片上外設(shè)在工業(yè)自動化、電機控制、工業(yè)生產(chǎn)領(lǐng)域得到廣泛應(yīng)用。TMS320F2812是C2000系列中性能出色的一個,F(xiàn)2812片上集成了12位16通道的數(shù)/模轉(zhuǎn)化器,理論上精度可以達到0.1%以上。但實際上由于增益誤差(<5%)和偏移誤差(<2%)的存在,使得精度只能在5%左右,所以必須對ADC進行校正。
傳統(tǒng)的對于ADC的校正方法是在兩路通道輸入已知標準電壓,根據(jù)兩點確定一條直線的原理,確定出AD轉(zhuǎn)換的曲線,并以此校正轉(zhuǎn)化值。但由于在校正過程中存在偶然因素的影響,使得這種校正方法精度只能達到3%左右。對此,提出了利用最小二乘法和線性回歸的思想進行校正的方法,通過對多個測量點的分析計算,找出最佳的擬合曲線,使得總體的均方誤差最小。
最小二乘法是高斯于1809年提出的,在多學科領(lǐng)域中獲得廣泛應(yīng)用的數(shù)據(jù)處理方法。用最小二乘法估測未知參數(shù),可以有效消除測量中粗大誤差和系統(tǒng)誤差的影響?;貧w分析是英國統(tǒng)計學家高爾頓在18*首先提出的。一元線性回歸是利用數(shù)理統(tǒng)計中的回歸分析,來確定兩種或兩種以上變數(shù)間相互依賴的定量關(guān)系的一種統(tǒng)計分析方法之一,運用十分廣泛。一般來說,線性回歸都可以通過最小二乘法求出其方程,可以計算出對于y=bx+a的直線。
1 校正原理與實現(xiàn)方案
DSP的ADC模塊的輸入、輸出是線性關(guān)系,理想情況下,輸入輸出方程應(yīng)該是y=x。但實際上,ADC模塊是存在增益誤差和偏移誤差的,其中增益誤差是實際曲線斜率和理想曲線斜率之間的偏差,偏移誤差是0 V輸入時實際輸出值與理想輸出值(0 V)之間的偏差。F2812的ADC模擬輸入電壓為0~3 V,輸出為0~4 095,模擬輸入與數(shù)字輸出之間的對應(yīng)關(guān)系為:數(shù)字輸出值=4 095×(模擬輸入值-參考電壓值)/3.0ADC模塊輸入/輸出特性曲線如圖1所示。
圖1 ADC模塊輸入/輸出特性曲線[!--empirenews.page--]
F2812的ADC共有輸入通道16個,由于通道之間的誤差會在±0.2%以內(nèi),所以可以任選其中的6路通道作為校正輸入端,并分別輸入6個不相等的標準直流參考電壓。通過在程序中定義結(jié)構(gòu)體變量讀取轉(zhuǎn)化后的值,得到6組輸入/輸出平面上的坐標點。然后利用最小二乘和一元線性回歸思想處理數(shù)據(jù),求出的擬合最佳曲線,使得各個坐標點到該最佳曲線的距離的平方和(殘差平方和)最小。
2 最小二乘法和一元線性回歸
2.1 最小二乘原理
對于線性模型,如果有t個不可測量的未知量,理論上,可對與該t個未知量有函數(shù)關(guān)系的直接測量量進行t次測量,即可得到函數(shù)關(guān)系。但由于測量數(shù)據(jù)不可避免地包含著測量誤差,所得到的結(jié)果也必定含有一定的誤差。為了提高所得結(jié)果的精度,可以把測量次數(shù)增加到n(n>t),以利用抵償性減小隨機誤差的影響。
高斯認為,根據(jù)觀測數(shù)據(jù)求取未知參數(shù)時,未知參數(shù)最合適數(shù)值應(yīng)是這樣的數(shù)值,即選出使得模型輸出與觀測數(shù)據(jù)盡可能接近的參數(shù)估計,接近程度用模型輸出和數(shù)據(jù)之差的平方和來度量。這就是最小二乘的基本思想。最小二乘法原理指出,最精確的值應(yīng)在使殘余誤差平方和最小的條件下求得。
2.2 一元線性回歸原理
一元線性回歸是處理2個變量之間的關(guān)系,即兩個變量x和y之間若存在線性關(guān)系,則通過試驗,分析所得數(shù)據(jù),找出兩者之間函數(shù)曲線。也就是工程上常遇到的直線擬合問題。
3 實驗方案與結(jié)果分析
3.1 實驗方案
實驗利用F2812開發(fā)板和DSP調(diào)試軟件CCS2.0完成。用穩(wěn)定信號源產(chǎn)生6個標準電壓,分別為0.2 V,0.5 V,1.0 V,1.5 V,2.0 V,2.5 V,輸入通道選為A0,A1,A2,B0,B1,B2。ADCL0引腳接電路板的模擬地,與模擬輸入引腳相連的信號線應(yīng)該避開數(shù)字信號線,以減少數(shù)字信號對模擬信號的干擾。輸入電路如圖2所示。
圖2 輸入電路
3.2 校正算法
設(shè)ADC模塊的輸入/輸出曲線為y=a+bx,輸入電壓值為xi,對應(yīng)的轉(zhuǎn)化輸出值為yi。由最小二乘估計算法可得方程:
解此方程組即可得到a,b的估計值:
式中,這樣這樣便得到了最佳的擬合曲線(回歸方程):于是可以用此方程進行轉(zhuǎn)化值校正。[!--empirenews.page--]
3.3 實驗數(shù)據(jù)處理
將實驗獲得的6組數(shù)據(jù)利用上述最小二乘法和線性回歸方法進行處理,得到a,6的最小二乘估計值分別為,于是回歸方程為:y=0.003 612+1.039 091x。以回歸方程為標準,由x=(y-0.003 612)/1.039 091可以計算出校正后的轉(zhuǎn)化值,并與未轉(zhuǎn)化的值進行比較,結(jié)果如表1所示。
在Excel中,繪制出未校正輸入/輸出分布點,和回歸曲線,如圖3所示。
圖3 回歸曲線示意圖
3.4 結(jié)果分析
由表1和圖3可以看出,如果不采取校正措施,則F2812的ADC模塊會存在5%左右的相對誤差;而采用提出的校正方法,可以將誤差下降到1%以下。這就大大提高了A/D轉(zhuǎn)化的精度,對于對控制要求精度很高的場合,犧牲ADC模塊的6個通道,得到比較高的轉(zhuǎn)化精度,還是非常必要而且值得的。
4 結(jié)語
在此提出一種采用最小二乘法和線性回歸校正DSP的ADC模塊的方法,實驗證明此方法可以大大提高轉(zhuǎn)化精度,有效彌補了DSP中AD轉(zhuǎn)化精度不高的缺陷。此方法硬件電路簡單,成本代價較低,具有很高的推廣和利用價值。