文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.170943
中文引用格式: 劉一兵,李榮寬. 一種基于傳感器溫度補償?shù)碾p指數(shù)函數(shù)擬合算法[J].電子技術(shù)應(yīng)用,2017,43(11):47-50.
英文引用格式: Liu Yibing,Li Rongkuan. A double exponential function fitting algorithm based on sensor temperature compensation[J].Application of Electronic Technique,2017,43(11):47-50.
0 引言
目前基于傳感器的溫度補償方法主要分為模擬硬件設(shè)計和數(shù)字信號處理兩種方法。模擬硬件通常采用PTAT[1]和CTAT[2]等技術(shù)來設(shè)計讀出電路。數(shù)字信號處理方法通常包括線性擬合、最小二乘多項式[4]擬合、BP神經(jīng)網(wǎng)絡(luò)[4]、卡爾曼濾波[3]、支持向量機等算法。本文在這些算法的基礎(chǔ)上提出一種雙指數(shù)函數(shù)模型的溫度補償算法,有以下優(yōu)點:
(1)指數(shù)函數(shù)具有無限階的泰勒展開式,因此雙指數(shù)函數(shù)在對諸如傳感器溫度系數(shù)曲線這類非線性曲線的擬合上可以達到很高的精度。
(2)本文提出一種具有高精度初值的交替迭代法[5],即分離系數(shù)法。首先采用4組數(shù)據(jù)點,聯(lián)立方程組,求出非線性系數(shù)的初始值,其次利用交替迭代法計算得到優(yōu)化后的線性和非線性系數(shù)。整個算法解決了直接使用交替迭代法計算產(chǎn)生的迭代不收斂、精度較低、迭代次數(shù)較多的問題。
(3)在傳感器溫度補償中,由于雙指數(shù)函數(shù)系數(shù)只有4個,可以使用CORDIC算法設(shè)計硬件補償電路來集成到傳感器中,其中系數(shù)保存在ROM中即可,因此具有很好的工程實用價值。
1 交替迭代法擬合雙指數(shù)函數(shù)
基于傳感器溫度補償?shù)碾p指數(shù)函數(shù)模型[6-7]為式(1)。
(5)重復(fù)步驟(2)、(3)和(4),使線性系數(shù)和非線性系數(shù)計算交替進行,直到均方誤差Δ滿足給定的范圍為止。
交替迭代法僅使用非線性系數(shù)作為初值,在一定程度下降低了初值選取難度,不過對非線性系數(shù)依然有依賴性,因此在擬合過程中,非線性系數(shù)初值的選取就起到了至關(guān)重要的作用。
2 分離系數(shù)法計算非線性系數(shù)初值
本節(jié)采用分離系數(shù)法[9]來計算非線性初值。具體算法如下:
(1)在數(shù)據(jù)點中選擇4組數(shù)據(jù)點{(Vtempi,Vouti)},i=1,2,3,4。其中Vtemp1<Vtemp2<Vtemp3<Vtemp4,且Vouti同號。
(2)將點1和點2帶入雙指數(shù)函數(shù)式(1)中得到式(4)和式(5):
(4)將點2和點3帶入式(1)可以得到與式(6)類似的方程,二者聯(lián)立可以消去線性參數(shù)α2,得到式(8),其中T2由式(7)下標(biāo)加1得到。
(5)將式(8)兩邊取對數(shù)再近似帶入中點微分消除對數(shù)可得式(9),其中中間變量A1、B1、C1、D1表達式由式(10)所示:
(6)再利用點2、3、4還可以導(dǎo)出類似于式(9)的方程,如式(11)。其中系數(shù)為式(10)下標(biāo)加1即可。
(7)聯(lián)立式(9)和式(11),消去一個非線性系數(shù)β2,求解一個一元二次方程組得到另一個非線性系數(shù)β1的兩個解,再由式(9)求得β2。
分離系數(shù)法采用數(shù)據(jù)點對系數(shù)分離,最終將超越函數(shù)方程轉(zhuǎn)換為一元二次方程求解。采用該方法時可以多次嘗試不同的4點來對比擬合結(jié)果。一般來說,觀測點相對密集和均勻時,誤差相對較小。得到精度較高的非線性系數(shù)初始值后,將計算得到的初始值,利用第一節(jié)介紹的交替迭代法計算線性系數(shù)并優(yōu)化結(jié)果,可以得到擬合精度較高的雙指數(shù)函數(shù)方程,為溫度補償提供較為精準(zhǔn)函數(shù)模型。
3 仿真實驗與分析
3.1 雙指數(shù)函數(shù)擬合
對兩組數(shù)據(jù)(x1,y1)和(x2,y2)進行實驗測試,具體數(shù)據(jù)見表1。
采用matlabR2013軟件對數(shù)據(jù)(x1,y1)和(x2,y2)進行擬合。擬合結(jié)果如圖1、圖2所示。圖1(a)和圖2(a)采用本文提出的算法,首先算出高精度的非線性系數(shù)初始值,分別為β1=17.614 6、β2=1.314 7和β1=-0.092 9、β2=7.568 5,圖1和圖2(b)、圖2(c)采用不同的線性初始值進行對比。表2和表3分別為對圖1和圖2三種擬合效果進行定量分析,使用均方根誤差(RMSE)和確定系數(shù)(R_square)作為評價指標(biāo)。
從表中結(jié)果可以看出,本文提出的算法,提高了初始值準(zhǔn)確性,降低了均方誤差,提高了確定系數(shù),有較好的擬合效果。
3.2 基于傳感器溫度補償
在本小節(jié)中,為了驗證本文的算法和模型在傳感器溫度補償中的有效性,使用一款MEMS加速度計,在溫箱中進行零位溫度循環(huán)實驗。將采集到的數(shù)據(jù)進行預(yù)處理,具體步驟如下:
(1)實驗數(shù)據(jù)導(dǎo)入MATLAB中進行數(shù)據(jù)理,取溫度循環(huán)實驗中的全溫實驗一段即Vtemp從0.4 V~0.67 V(實際溫度相當(dāng)于-40 ℃~60 ℃)。
(2)將數(shù)據(jù)進行小波降噪和剔除奇異值。
(3)采用移動平均法進行平滑處理并等間隔得采樣50個數(shù)據(jù)點作為待擬合的數(shù)據(jù)。結(jié)果如圖3(a)、圖3(b)、圖3(c)、圖3(d)所示。
圖4(a)、圖4(b)為擬合結(jié)果圖和最終補償結(jié)果圖。擬合結(jié)果RMSE=4.874 2×10-5,R_square=0.994 3。將MEMS加速度計原始輸出進行補償后,最大誤差(峰峰值)從1.851 3×10-5下降到1.735 0×10-5。減少了一個數(shù)量級。
4 結(jié)束語
本文在現(xiàn)有溫度補償算法的基礎(chǔ)上,首先提出了一種雙指數(shù)函數(shù)模型的溫度補償方法。其次,在考慮到傳統(tǒng)的交替迭代法進行雙指數(shù)函數(shù)擬合過程中由于初值選取不當(dāng)導(dǎo)致的迭代不收斂、精度較低、迭代次數(shù)較多的問題時,提出一種分離系數(shù)法 ,該方法能夠有效地計算出高精度的初值,從而得到高精度的擬合結(jié)果。最終將算法應(yīng)用到傳感器溫度補償中,補償結(jié)果表明溫度系數(shù)曲線最大誤差降低了一個數(shù)量級。具有一定實用價值。下一步可以采用CORDIC算法將雙指數(shù)函數(shù)模型硬件實現(xiàn),系數(shù)儲存在ROM中,設(shè)計一款數(shù)字補償電路集成到傳感器芯片中,只需要改變4個系數(shù),代替單片機,實現(xiàn)自動化的溫度補償。
參考文獻
[1] ZHANG C,WU Q,YIN T,et al.A MEMS gyroscope readout circuit with temperature compensation,5th IEEE International Conference on Nano/Micro Engineered and Molecular Systems (NEMS),2010:458-462.
[2] YIN T,WU H,WU Q,et al.A TIA-based readout circuit with temperature compensation for MEMS capacitive gyroscope[C].IEEE International Conference on Nano/Micro Engineered and Molecular Systems(NEMS),2011:401-405.
[3] WU X,DUAN L,CHEN W.A Kalman filter approach based on random drift data of Fiber Optic Gyro[C].6th IEEE Conference on Industrial Electronics and Applications(ICIEA),2011:1933-1937.
[4] XIA D,CHEN S,WANG S,et al.Microgyroscope temperature effects and compensation-control methods[J].International Journal of Sensors 9,2009,10:8349-8376
[5] 陳華,鄧少貴,范宜仁.同倫交替迭代法在雙指數(shù)擬合中的應(yīng)用[J].計算機工程與應(yīng)用,2007,43(25):204-205.
[6] 韓丹,江春,付鵬濤,等.探測器信號波形離散序列的多項式與雙指數(shù)曲線擬合及其在數(shù)字化核能譜中的應(yīng)用[J].核電子學(xué)與探測技術(shù),2010,30(8):1075-1078.
[7] 王永生,杜彬彬,孫瑾,等.Exponent及Gauss型遙測數(shù)據(jù)建模初始化算法[J].海軍航空工程學(xué)院學(xué)報,2015,30(6):548-552.
[8] 趙林明,習(xí)華勇.數(shù)據(jù)擬合方法程序設(shè)計及其應(yīng)用[M].石家莊:河北科學(xué)技術(shù)出版社,2000:79-80.
[9] 朱珉仁.確定雙指數(shù)曲線參數(shù)初始值的循環(huán)搜索法[J].數(shù)學(xué)的實踐與認(rèn)知,2003,33(12):73-77.
作者信息:
劉一兵,李榮寬
(電子科技大學(xué) 電子工程學(xué)院,四川 成都611730)