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