劉一兵, 李榮寬, 沈泓翔
微機(jī)電系統(tǒng)(micro-electro-mechancical systems,MEMS) 加速度計(jì)由于元件的內(nèi)部結(jié)構(gòu)、制造工藝以及工作環(huán)境等幾方面的原因,存在測(cè)量輸出誤差。其中溫度更是影響微機(jī)械加速度計(jì)可靠性和精度的關(guān)鍵因素。近幾年國(guó)內(nèi)外對(duì)溫度補(bǔ)償?shù)难芯浚饕心M硬件設(shè)計(jì)和數(shù)字信號(hào)處理兩種方法。模擬硬件通常采用與絕對(duì)溫度成正比(proportio-nal to absolute temperature,PTAT)[1]和與絕對(duì)溫度成正比(CTAT)[2]等技術(shù)設(shè)計(jì)讀出電路,不過存在精度不高且需要反復(fù)調(diào)試的局限性;數(shù)字信號(hào)處理方法[3~5]大部分僅限于理論研究且不易集成到芯片中。
本文設(shè)計(jì)了一種易于工程實(shí)現(xiàn)的基于雙指數(shù)模型的溫度補(bǔ)償系統(tǒng)。該系統(tǒng)一方面采用交替迭代法求解雙指數(shù)模型的系數(shù),另一方面采用硬件描述語(yǔ)言對(duì)擴(kuò)展收斂域的坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算(coordinate rotation digital computation,CORDIC)算法進(jìn)行定點(diǎn)化建模,使得硬件實(shí)現(xiàn)變得更為方便,易于集成,因此,具有較強(qiáng)的工程實(shí)用價(jià)值。
溫度補(bǔ)償系統(tǒng)方案框架如圖1所示。首先對(duì)含有溫度傳感器的MEMS加速度計(jì)進(jìn)行零位溫循環(huán)實(shí)驗(yàn),得到零位電壓輸出Vout(V)和溫度輸出Vtemp(V),通過模/數(shù)轉(zhuǎn)換模塊得到二者的數(shù)字量DigitalVout(V)和DigitalVtemp(V)。微處理器或計(jì)算機(jī)將數(shù)字量進(jìn)行預(yù)處理并將數(shù)據(jù)點(diǎn)擬合得到雙指數(shù)模型的系數(shù)存于數(shù)字補(bǔ)償電路模塊的ROM中。
最后在數(shù)字補(bǔ)償電路中對(duì)加速度計(jì)的零位輸出進(jìn)行溫度補(bǔ)償。該溫度補(bǔ)償系統(tǒng)有以下優(yōu)點(diǎn):1) 采用硬件描述語(yǔ)言設(shè)計(jì),易于集成到加速度計(jì)中;2) 將擬合系數(shù)存于ROM中,加速度計(jì)在任何狀態(tài)工作時(shí)只需將溫度信號(hào)作為數(shù)字補(bǔ)償電路的輸入,即可得到該溫度下的補(bǔ)償值,直接補(bǔ)償加速度計(jì)輸出信號(hào);3) 指數(shù)函數(shù)可以通過CORDIC算法實(shí)現(xiàn),使得數(shù)字補(bǔ)償電路的實(shí)現(xiàn)變得更為簡(jiǎn)單方便,大幅提升了工程實(shí)用性。

圖1 溫度補(bǔ)償系統(tǒng)框架
雙指數(shù)函數(shù)模型[6]為
Vout=α1eβ1Vtemp+α2eβ2Vtemp
(1)
式中Vout為加速度計(jì)的零位電壓輸出,V;Vtemp為加速度計(jì)中溫度傳感器的輸出,V,表示溫度值;α1和α2為線性擬合系數(shù);β1和β2為非線性擬合系數(shù)。由于系數(shù)可以分為線性和非線性兩類,使用交替迭代法[7]進(jìn)行系數(shù)擬合。假設(shè)給點(diǎn)的數(shù)據(jù)點(diǎn)為{(Vouti,Vtempi)},i= 1,2,…,n,算法具體步驟如下:
1)給出非線性擬合系數(shù)β1和β2的初值,記為β10和β20。
2)利用線性最小二乘法計(jì)算線性擬合系數(shù)α1和α2,其方程矩陣形式為

(2)



(3)

5)重復(fù)步驟(2)~步驟(4),直到均方誤差Δ滿足給定的范圍為止。
該交替迭代算法在一定程度上降低了初值的選取難度,使得計(jì)算效率提升。文獻(xiàn)[8]提出的通倫交替迭代法可以進(jìn)一步改善初值的依賴性問題。
在雙曲坐標(biāo)系下,指數(shù)函數(shù)CORDIC算法經(jīng)過n次迭代后的輸出方程為[9]
(4)
若選擇初值X1=Y1=1/K,Zin=θ,有
Xn+1=Yn+1=coshZin+sinhZin=eθ
(5)

由于Zin的收斂范圍較小,實(shí)際應(yīng)用價(jià)值受到限制,所以必須擴(kuò)大Zin的收斂域。
若令Zin=Qln 2+θ0,其中Q∈Z表示Zin除以ln 2的整數(shù)部分,θ0表示Zin除以ln 2的余數(shù)部分。此時(shí)θ0小于ln 2一定在收斂域內(nèi),可以直接對(duì)其使用CORDIC算法計(jì)算
eZin=eQln 2+θ0=2Q×eθ0
(6)
式(6)中,若整數(shù)Q能夠確定,則2Q可以通過左移或者右移|Q|位實(shí)現(xiàn),從而可以把eZin的計(jì)算通過轉(zhuǎn)化為對(duì)eθ0的計(jì)算,通過壓縮區(qū)間的方式實(shí)現(xiàn)指數(shù)函數(shù)CORDIC算法的收斂域擴(kuò)展[10]。
文獻(xiàn)[10]給出了Q值和θ0值的現(xiàn)場(chǎng)可編程門陣列(field programmable gate array,FPGA)求解方法。不過給出方法中輸入值的范圍為[-26,26),定點(diǎn)化采用擴(kuò)大216倍。在本節(jié)中,將該方法的輸入值Zin范圍擴(kuò)展到[-2N,2N),定點(diǎn)化擴(kuò)展到擴(kuò)大2M倍。因此,輸入角度Zin和其整數(shù)Q值和小數(shù)θ0值定點(diǎn)化關(guān)系式為
Zin/ln2×2M=2M×(Q+θ0/ln 2)
(7)
圖2為擴(kuò)展的定點(diǎn)化求解整數(shù)部分Q和余數(shù)部分θ0的框架。第一個(gè)乘法器計(jì)算式(8),integer表示向下取整,即計(jì)算出2M+N+3位的A并將后2M位定點(diǎn)化小數(shù)部分舍棄后得到整數(shù)部分Q值。第二個(gè)乘法器計(jì)算式(9),demical_M表示取A的小數(shù)部分的前M位(A[2M-1︰M]),與擴(kuò)大2M倍的ln 2相乘后得到余數(shù)部分θ0
integer[(Zin×2M)×(2M/ln2)]=2M×2M×Q
(8)
demical_M[(Zin×2M)×(2M/ln 2)]=2M×θ0/ln 2
(9)
通過上述分析和式(6)~式(9)可知,在采用定點(diǎn)化技術(shù)的CORDIC算法的收斂域擴(kuò)展僅需2個(gè)乘法器即可實(shí)現(xiàn)輸入Zin在任意范圍內(nèi)(-2N,2N)相對(duì)于ln 2的整數(shù)Q和定點(diǎn)化余數(shù)θ0的求解。并且為了滿足實(shí)際需要,可選擇任意定點(diǎn)化精度值。

圖2 擴(kuò)展的Q值和θ值定點(diǎn)化求解框架
對(duì)2只MEMS加速度計(jì)M1,M2進(jìn)行實(shí)驗(yàn)和分析。為了定量分析雙指數(shù)函數(shù)擬合的有效性,本文采用均方根誤差(root mean square error,RMSE)和確定系數(shù)(R_square)作為評(píng)價(jià)指標(biāo)來對(duì)雙指數(shù)模型進(jìn)行檢驗(yàn)。圖3為雙指數(shù)模型對(duì)M1和M2溫度曲線擬合的結(jié)果。

圖3 2種加速度計(jì)溫度曲線擬合效果
表1和表2為不同函數(shù)模型的擬合效果,其中序號(hào)1,2,3分別代表雙指數(shù)函數(shù)模型、3階多項(xiàng)式模型、4階多項(xiàng)式模型。
M1,M2雙指數(shù)模型表分別為
(10)

表1 M1型加速度計(jì)不同函數(shù)模型擬合效果

表2 M2型加速度計(jì)不同函數(shù)模型擬合效果
從圖3和表1、表2可以得出,M1,M2型加速度計(jì)采用本文的雙指數(shù)模型可以達(dá)到4階及以上多項(xiàng)式擬合精度。
數(shù)字補(bǔ)償電路采用Verilog HDL語(yǔ)言進(jìn)行建模。表3為采用M2模型的Modelsim仿真結(jié)果。其中定點(diǎn)化精度選擇擴(kuò)大了216倍。

表3 M2模型的Modelsim仿真結(jié)果
從表中可以看出,相對(duì)誤差最大為0.019 %,可以滿足實(shí)際工程上的精度要求,擴(kuò)大定點(diǎn)化倍數(shù)可繼續(xù)提升精度,因此,具有工程實(shí)用價(jià)值。
圖4所示為將2種MEMS加速度計(jì)的Modelsim仿真結(jié)果導(dǎo)入MATLAB中與原數(shù)據(jù)點(diǎn)進(jìn)行補(bǔ)償,并與補(bǔ)償前數(shù)據(jù)進(jìn)行對(duì)比。

圖4 零位輸出溫度補(bǔ)償結(jié)果
M1型溫度曲線峰峰值從補(bǔ)償前的0.003 9 V降到了3.687 1×10-4V;M2型從0.001 9 V降到了1.841 3×10-4V。實(shí)現(xiàn)了降低1個(gè)數(shù)量級(jí)的目標(biāo),可以看出,溫度曲線有了較好的改善。由于雙指數(shù)函數(shù)模型的對(duì)稱性,整個(gè)數(shù)字電路模塊由3個(gè)乘法器和1個(gè)流水線CORDIC算法模塊組成,頂層計(jì)算時(shí)僅用實(shí)例化2次,并行運(yùn)行相加即可。因此,在速度和面積上較4階以上多項(xiàng)式更有優(yōu)勢(shì)。
基于現(xiàn)有溫度補(bǔ)償算法較為復(fù)雜,大部分僅限于理論研究的局限性,設(shè)計(jì)了一種基于雙指數(shù)模型的易集成的溫度補(bǔ)償系統(tǒng)。補(bǔ)償系統(tǒng)采用交替迭代法計(jì)算雙指數(shù)模型系數(shù),同時(shí)為了解決CORDIC算法計(jì)算指數(shù)函數(shù)輸入角度收斂域較小的問題,采用區(qū)間壓縮法擴(kuò)展收斂域,并提出了一種擴(kuò)展的定點(diǎn)化求解方法進(jìn)行硬件模塊設(shè)計(jì),使得數(shù)字電路實(shí)現(xiàn)簡(jiǎn)單,易于集成到芯片中。根據(jù)實(shí)驗(yàn)可以看出:零位溫漂減少了1個(gè)數(shù)量級(jí),進(jìn)一步提高了零偏穩(wěn)定性,因此,具有很強(qiáng)的工程使用價(jià)值。
參考文獻(xiàn):
[1] Zhang C,Wu Q,Yin T,et al.A MEMS gyroscope readout circuit with temperature compensation[C]∥The 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] Xia D,Chen S,Wang S,et al.Microgyroscope temperature effects and compensation-control methods[J].International Journal of Sensors,2009,9(10):8349-8376.
[4] Ji X,Wang S,Xu Y,et al.Application of the digital signal procession in the MEMS gyroscope de-drift[C]∥The 1st IEEE International Conference on Nano/Micro Engineered and Molecular Systems,NEMS’06,2006:218-221.
[5] Wu X,Duan L,Chen W.A Kalman filter approach based on random drift data of fiber-optic gyro[C]∥The 6th IEEE Conference on Industrial Electronics and Applications (ICIEA),2011:1933-1937.
[6] 韓 丹,江 春,付鵬濤,等.探測(cè)器信號(hào)波形離散序列的多項(xiàng)式與雙指數(shù)曲線擬合及其在數(shù)字化核能譜中的應(yīng)用[J].核電子學(xué)與探測(cè)技術(shù),2010,30(8):1075-1078.
[7] 趙林明,習(xí)華勇.數(shù)據(jù)擬合方法程序設(shè)計(jì)及其應(yīng)用[M].石家莊:河北科學(xué)技術(shù)出版社,2000:79-80.
[8] 陳 華,鄧少貴,范宜仁.同倫交替迭代法在雙指數(shù)擬合中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(25):204-205.
[9] 周曉青,李合生,陶榮輝,等.基于 CORDIC 算法的雙曲正余弦函數(shù) FPGA實(shí)現(xiàn)[J].信息與電子工程,2010,8(2):211-214.
[10] 唐文明,劉桂雄.指數(shù)函數(shù) CORDIC 算法的 FPGA 定點(diǎn)化技術(shù)[J].華南理工大學(xué)學(xué)報(bào):自然科學(xué)版,2016,44(7):9-14.