石文兵,葛 斌,蘇樹智
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)
硅壓阻式壓力傳感器具有成本低、體積小、可靠性高等優(yōu)點(diǎn),廣泛應(yīng)用于自動(dòng)控制、鐵路交通、水利水電、航空航天和智能建筑等領(lǐng)域,成為各領(lǐng)域科技進(jìn)步與發(fā)展的重要元素[1-2]。然而,單晶硅作為一種比較活潑的非金屬元素的半導(dǎo)體材料,其性能對(duì)溫度非常敏感,使得壓力傳感器的輸出不僅與壓力有關(guān),還與溫度變化存在一定的關(guān)系,溫度漂移現(xiàn)象的產(chǎn)生降低了傳感器的測(cè)量精度[3-4]。因此,采用相應(yīng)的溫度補(bǔ)償模型對(duì)壓力傳感器的數(shù)據(jù)進(jìn)行處理具有重要意義,以滿足實(shí)際應(yīng)用中高精度和高實(shí)時(shí)性的要求。
目前,國(guó)內(nèi)外學(xué)者對(duì)傳感器溫度補(bǔ)償?shù)姆椒ㄟM(jìn)行了廣泛地探索和研究,主要包括硬件補(bǔ)償和軟件補(bǔ)償兩個(gè)方向[5]。硬件補(bǔ)償主要是通過改進(jìn)電路與設(shè)計(jì)工藝或優(yōu)化芯片設(shè)計(jì)等方法進(jìn)行溫度補(bǔ)償或校正精度[6],文獻(xiàn)[7]采用降頻轉(zhuǎn)換和正交采樣等信號(hào)處理方法對(duì)壓力傳感器進(jìn)行溫度補(bǔ)償,提高水壓監(jiān)測(cè)的傳感精度。文獻(xiàn)[8]采用溫度補(bǔ)償?shù)穆暠砻娌ㄑb置設(shè)計(jì)了一種無線無源的應(yīng)變式傳感器,具有良好的溫度穩(wěn)定性和高應(yīng)變靈敏度。軟件補(bǔ)償是根據(jù)傳感器的感應(yīng)壓力、環(huán)境溫度、輸出電壓以及參數(shù)的非線性特征通過特定的算法構(gòu)造溫度補(bǔ)償模型,實(shí)現(xiàn)傳感器檢測(cè)精度的提升和誤差修正,文獻(xiàn)[9]根據(jù)溫度、壓力變化和傳感器橋路輸出等信息構(gòu)建嶺回歸模型提升測(cè)量精度,實(shí)驗(yàn)結(jié)果顯示測(cè)量精度提高至±0.03%FS。文獻(xiàn)[10]提出了一種改進(jìn)的高斯牛頓法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,采用BP神經(jīng)網(wǎng)絡(luò)對(duì)壓力傳感器的溫度進(jìn)行補(bǔ)償,實(shí)驗(yàn)結(jié)果顯示該方法達(dá)到的靈敏度溫度系數(shù)為9.31×10-7。文獻(xiàn)[11]構(gòu)建了基于果蠅算法和RBF神經(jīng)網(wǎng)絡(luò)混合優(yōu)化的溫度補(bǔ)償模型,較好地解決了銷軸傳感器的溫度漂移問題。文獻(xiàn)[12]用遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化設(shè)計(jì),構(gòu)建MEMS諧振式加速度傳感器的溫度補(bǔ)償模型,該方法在-10℃~80℃范圍內(nèi)的最大誤差為0.017%。文獻(xiàn)[13]研究了溫度對(duì)電化學(xué)地震傳感器的性能影響,結(jié)合傳遞函數(shù)的理論模型和實(shí)驗(yàn)數(shù)據(jù)建立了溫度補(bǔ)償模型,用溫度補(bǔ)償模型校正后的電化學(xué)地震傳感器的靈敏度漂移幅度明顯減小。文獻(xiàn)[14]和[15]分別用薄板樣條插值法、最小二乘法與拋物線插值相結(jié)合的方法設(shè)計(jì)傳感器溫度補(bǔ)償模型,有效改善了傳感器的測(cè)量精度。
硬件補(bǔ)償通常是針對(duì)某種傳感器進(jìn)行特定的硬件設(shè)計(jì)或優(yōu)化,由于硬件補(bǔ)償調(diào)試比較復(fù)雜,通用性較差,因此工程應(yīng)用中更傾向于使用軟件補(bǔ)償?shù)姆椒?。通過國(guó)內(nèi)外研究現(xiàn)狀的分析發(fā)現(xiàn),傳感器溫度漂移軟件補(bǔ)償方法的研究主要集中在回歸模型、插值算法和神經(jīng)網(wǎng)絡(luò)的創(chuàng)新性研究。DBN(Deep Belief Network,深度信念網(wǎng)絡(luò))作為深度學(xué)習(xí)中一種重要的網(wǎng)絡(luò)結(jié)構(gòu),可在連續(xù)層中進(jìn)行分層表征和更深層次的理解與學(xué)習(xí),在各種工程實(shí)踐應(yīng)用中取得了突破性的進(jìn)展,文獻(xiàn)[16]利用DBN構(gòu)建了一種效能擬合模型,用于艦艇編隊(duì)作戰(zhàn)效能敏感性分析,并驗(yàn)證了基于DBN的效能擬合模型對(duì)作戰(zhàn)系統(tǒng)敏感性分析的有效性。目前,國(guó)內(nèi)外學(xué)者尚未對(duì)DBN的溫度補(bǔ)償方法進(jìn)行深入研究,本文將研究探索使用DBN模型分析壓阻式壓力傳感器輸入?yún)?shù)和輸出參數(shù)之間復(fù)雜的非線性關(guān)系,構(gòu)建高精度的溫度補(bǔ)償模型,提升壓力傳感器在不同溫度環(huán)境下的測(cè)量精度,使其在多種應(yīng)用領(lǐng)域的壓力檢測(cè)中滿足高精度和高實(shí)時(shí)性的要求。
壓阻式壓力傳感器采用單晶硅作為彈性元件,在單晶硅的特定方向擴(kuò)散一種等值的P型電阻構(gòu)成惠斯通電橋,將單晶硅的壓阻效應(yīng)融入集成電路,當(dāng)傳感器感受到外部壓力時(shí),單晶硅的應(yīng)變效應(yīng)會(huì)使電阻與感應(yīng)壓力呈現(xiàn)特定規(guī)律的同步變化,橋式電路經(jīng)放大、校正和濾波后,輸出與電阻同步變化的電壓信號(hào),從而根據(jù)輸入壓力輸出對(duì)應(yīng)的電壓信號(hào)。壓力傳感器的壓阻效應(yīng)與工作原理如圖1所示[9-10],Vs為恒壓源,傳感器沒有感受到外部壓力時(shí),電橋處于零點(diǎn)平衡狀態(tài),當(dāng)傳感器中的單晶硅片受到外部壓力時(shí),電橋會(huì)因電阻率改變而產(chǎn)生不平衡輸出,R1、R2、R3和R4為4個(gè)橋臂上電阻的初始值,ΔRp為外部壓力引起的電阻的變化量。不僅壓力會(huì)使單晶硅產(chǎn)生應(yīng)變效應(yīng),溫度變化也會(huì)影響硅片中載流子遷移率的改變,從而電阻值也會(huì)發(fā)生相應(yīng)的變化,R0為0℃時(shí)橋臂電阻的阻值,ΔRt為環(huán)境溫度引起的電阻的變化量,由此可見,外部壓力、環(huán)境溫度以及制作工藝都會(huì)影響傳感器的輸出電壓Vo,因此,若忽略制作工藝的影響,僅考慮溫度和壓力因素,橋臂電阻阻值可表示為:
圖1 壓力傳感器的壓阻效應(yīng)與工作原理
使用壓阻式壓力傳感器進(jìn)行高精度壓力檢測(cè)時(shí),理想的數(shù)學(xué)模型是Vo=kPi+Z0,即輸出電壓Vo是輸入壓力Pi的線性函數(shù),其中k和Z0分別為傳感器的靈敏度和零點(diǎn),當(dāng)電阻變化率非常小時(shí),可以近似地采用該理想的線性模型計(jì)算處理。但根據(jù)壓阻式壓力傳感器的工作原理可知,傳感器的輸出參數(shù)Vo不僅與輸入?yún)?shù)壓力Pi有關(guān),還與輸入?yún)?shù)溫度Ti有關(guān),輸出電壓Vo與橋臂電阻的變化量并非嚴(yán)格的線性關(guān)系[2],所以輸出參數(shù)Vo是輸入?yún)?shù)Pi和Ti的非線性函數(shù),數(shù)學(xué)模型可表示為:
式中:Z(Ti)和k(Ti)是輸入溫度Ti的函數(shù),分別表示溫度Ti下傳感器的零點(diǎn)和靈敏度,φ(Ti,Pi)是Ti和Pi的高階函數(shù),是數(shù)學(xué)模型中的非線性成分。本文研究的高精度溫度補(bǔ)償模型可形式化表示為:
研究目的是根據(jù)實(shí)時(shí)輸入?yún)?shù)Ti修正輸出參數(shù)Vo因溫度漂移而產(chǎn)生的分量,并消除高階函數(shù)φ(Ti,Pi)的非線性成分,提升壓力傳感器的測(cè)量精度,使其滿足高精度和高實(shí)時(shí)性的要求。
DBN是“神經(jīng)網(wǎng)絡(luò)之父”Geoffrey Hinton在2006年提出的一種深度學(xué)習(xí)網(wǎng)絡(luò),很好地解決了深層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問題,推動(dòng)了深度學(xué)習(xí)的快速發(fā)展,開創(chuàng)了深度學(xué)習(xí)在各種科技領(lǐng)域應(yīng)用的新局面。DBN是一種生成模型,能建立特征數(shù)據(jù)和標(biāo)簽的聯(lián)合分布,本研究主要基于DBN強(qiáng)大的數(shù)據(jù)表征能力構(gòu)建壓阻式壓力傳感器溫度補(bǔ)償模型,用無監(jiān)督訓(xùn)練分層表征傳感器輸入?yún)?shù)和輸出參數(shù)復(fù)雜的非線性關(guān)系,然后用反向傳播算法對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào),構(gòu)建逼近傳感器實(shí)際檢測(cè)情況的高精度溫度補(bǔ)償模型。
要構(gòu)建壓阻式壓力傳感器溫度補(bǔ)償模型,需要采集不同環(huán)境下傳感器的輸入?yún)?shù)和輸出參數(shù),輸入?yún)?shù)為影響傳感器檢測(cè)結(jié)果的關(guān)鍵特征,用向量x=(index,sensor_calibration,sensor_temperature)表示,向量x的元素依次為樣本編號(hào)、傳感器標(biāo)定壓力和溫度傳感器輸出電壓,輸出參數(shù)為特定環(huán)境溫度下標(biāo)定壓力對(duì)應(yīng)的輸出電壓,用向量y=(sensor_pressure)表示。基于DBN的壓阻式壓力傳感器溫度補(bǔ)償模型的體系結(jié)構(gòu)如圖2所示,該模型是由連續(xù)的多個(gè)受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)和BP神經(jīng)網(wǎng)絡(luò)(BPNN)構(gòu)建的深度學(xué)習(xí)回歸模型,DBN中從第一層到頂層之間每個(gè)相鄰的兩層可作為一個(gè)RBM,第n-1個(gè)RBMn-1的輸出作為第n個(gè)RBMn的輸入,wn表示RBMn中神經(jīng)元的權(quán)重[17-19]。
圖2 基于DBN的溫度補(bǔ)償模型體系結(jié)構(gòu)
RBM是DBN中的核心組件,只包括可視層和隱藏層兩層神經(jīng)元,可視層用于訓(xùn)練數(shù)據(jù)的輸入,隱藏層用于提取數(shù)據(jù)的特征信息,可視層和隱藏層的神經(jīng)元相互連接,相同層之間的神經(jīng)元無連接,RBM的結(jié)構(gòu)如圖3所示,其中ai、bj為可視層神經(jīng)元vi和隱藏層神經(jīng)元hj的偏置,wij為vi和hj的連接權(quán)重。
圖3 RBM網(wǎng)絡(luò)結(jié)構(gòu)
RBM的訓(xùn)練過程就是調(diào)整參數(shù)擬合訓(xùn)練樣本,使參數(shù)對(duì)應(yīng)的概率分布盡可能符合訓(xùn)練樣本,RBM用能量函數(shù)表示概率分布,能量函數(shù)計(jì)算方法如式(4)所示,θ表示神經(jīng)元連接權(quán)重和偏置參數(shù)的集合,狀態(tài)(v,h)的聯(lián)合概率分布的計(jì)算如式(5)所示,式(6)中的Z為配分函數(shù)。
RBM用“最大似然估計(jì)”的方法根據(jù)已知樣本反推最大概率導(dǎo)致這種計(jì)算結(jié)果的參數(shù)值,在不影響估計(jì)函數(shù)單調(diào)性的基礎(chǔ)上,估計(jì)函數(shù)的計(jì)算過程簡(jiǎn)化為似然函數(shù)的對(duì)數(shù),對(duì)數(shù)似然函數(shù)如式(7)所示。
溫度補(bǔ)償模型中的RBM通過逐層無監(jiān)督訓(xùn)練使模型獲得較好的訓(xùn)練參數(shù),用對(duì)比散度算法進(jìn)行參數(shù)更新,當(dāng)可視層v(0)的狀態(tài)確定時(shí),隱藏層h(0)狀態(tài)為1的概率的計(jì)算方法如式(8)所示。
同理,根據(jù)隱藏層計(jì)算可視層v(1)狀態(tài)為1的概率p[v(1)=1|h(0)]如式(9)所示,公式中的σ為sigmoid激活函數(shù)。
對(duì)比散度算法提升了模型的學(xué)習(xí)效率和數(shù)據(jù)擬合效果,連接權(quán)重wij、可視層偏置ai和隱藏層偏置bj的更新方法如式(10)~式(12)所示,公式中η為學(xué)習(xí)率。
溫度補(bǔ)償模型中逐層訓(xùn)練的方法可以保證本層的特征提取到達(dá)最優(yōu)狀態(tài),但隨著逐層訓(xùn)練的不斷進(jìn)行,訓(xùn)練誤差會(huì)依次傳遞給后面的網(wǎng)絡(luò)層,使得整個(gè)深層網(wǎng)絡(luò)的誤差較大,為使溫度補(bǔ)償模型獲得最優(yōu)擬合效果,模型中的頂層BPNN根據(jù)誤差調(diào)節(jié)訓(xùn)練參數(shù),用反向傳播算法將頂層誤差傳播給下一層,下面各層通過微調(diào)優(yōu)化整個(gè)模型的訓(xùn)練參數(shù),從而實(shí)現(xiàn)深層網(wǎng)絡(luò)的優(yōu)化[20]。
構(gòu)建溫度補(bǔ)償模型的關(guān)鍵是設(shè)計(jì)DBN的隱藏層及各層神經(jīng)元的數(shù)量,使設(shè)計(jì)的模型結(jié)構(gòu)具有最優(yōu)的數(shù)據(jù)擬合效果。目前DBN模型結(jié)構(gòu)的設(shè)計(jì)大多是基于專家經(jīng)驗(yàn)的應(yīng)用與調(diào)試,沒有提供確定的算法和計(jì)算公式,本文結(jié)合均方根誤差RMSE設(shè)計(jì)了一種區(qū)間定位的DBN模型構(gòu)建算法,構(gòu)建逼近傳感器實(shí)際檢測(cè)結(jié)果的高精度溫度補(bǔ)償模型,RMSE計(jì)算方法如式(13)所示,y′i表示模型的擬合值,yi表示實(shí)際值,溫度補(bǔ)償模型構(gòu)建過程見算法1。
算法1 區(qū)間定位的溫度補(bǔ)償模型構(gòu)建算法
2.itv=[a,a+t,a+2*t,…,b];//初始區(qū)間3.for(i=0;i
算法經(jīng)過模型初始化后,在初始區(qū)間進(jìn)行大跨度遍歷和訓(xùn)練,計(jì)算當(dāng)前最優(yōu)參數(shù)并重構(gòu)搜索區(qū)間,在重構(gòu)區(qū)間進(jìn)行細(xì)粒度搜索定位最優(yōu)參數(shù),若重構(gòu)區(qū)間能得到更優(yōu)的性能則更新當(dāng)前狀態(tài)的網(wǎng)絡(luò)結(jié)構(gòu),增加隱藏層并重復(fù)上述方法,如果當(dāng)前狀態(tài)不優(yōu)于上一輪構(gòu)建的模型,則結(jié)束區(qū)間定位搜索。
構(gòu)建溫度補(bǔ)償模型需要采集實(shí)驗(yàn)數(shù)據(jù)并進(jìn)行預(yù)處理,本研究參考借鑒文獻(xiàn)[10]的實(shí)驗(yàn)數(shù)據(jù),文獻(xiàn)[10]對(duì)壓力傳感器溫度補(bǔ)償?shù)难芯孔龀隽溯^大貢獻(xiàn),對(duì)作者的付出表示感謝。文獻(xiàn)[10]的數(shù)據(jù)采集過程為:將美國(guó)霍尼韋爾26PCCFA6G型硅壓阻式壓力傳感器和溫度傳感器貼附在一起置于恒溫實(shí)驗(yàn)箱中,對(duì)26PCCFA6G分別施加899.01 hPa,948.68 hPa,998.35 hPa,1 048.03 hPa,1 097.66 hPa 5組不同的標(biāo)定壓力P,記錄其在溫度-40℃,-30℃,…,50℃,60℃下溫度傳感器的輸出電壓U1和壓力傳感器的輸出電壓U2。文獻(xiàn)[10]中表1為采集的原始數(shù)據(jù),主要包括實(shí)驗(yàn)溫度、標(biāo)定壓力、溫度傳感器輸出電壓和壓力傳感器輸出電壓。
表1 溫度補(bǔ)償前壓力傳感器輸出電壓
為提高溫度補(bǔ)償模型的精度和DBN的收斂速度,按式(14)對(duì)文獻(xiàn)[10]表1中的標(biāo)定壓力、溫度傳感器輸出電壓和壓力傳感器輸出電壓進(jìn)行歸一化處理,數(shù)據(jù)反歸一化計(jì)算方法如式(15)所示。
文獻(xiàn)[10]對(duì)相同溫度環(huán)境下采集的各種標(biāo)定壓力的數(shù)據(jù)項(xiàng)進(jìn)行局部分組歸一化,考慮到數(shù)據(jù)的全局歸一化比局部分組歸一化能更好地維持實(shí)驗(yàn)數(shù)據(jù)的相關(guān)性,本文將11種溫度環(huán)境下采集的各種標(biāo)定壓力的數(shù)據(jù)項(xiàng)進(jìn)行全局歸一化,歸一化預(yù)處理后的數(shù)據(jù)如表1所示,按環(huán)境溫度依次為-40℃,-30℃,…,50℃,60℃的順序,分行顯示上述5組標(biāo)定壓力下的溫度傳感器輸出電壓U1和壓力傳感器輸出電壓U2。
實(shí)驗(yàn)采用Keras框架構(gòu)建DBN溫度補(bǔ)償模型,系統(tǒng)運(yùn)行環(huán)境為Windows 10 64位旗艦版操作系統(tǒng),Intel i9-10900K 3.7GHz 10核20線程處理器,32G運(yùn)行內(nèi)存,根據(jù)算法1設(shè)置學(xué)習(xí)率為1e-6,激活函數(shù)為sigmoid,損失函數(shù)為mse,網(wǎng)絡(luò)優(yōu)化器為nadam,設(shè)置區(qū)間中a、b、t的初值分別為10、200和10,執(zhí)行區(qū)間定位的溫度補(bǔ)償模型構(gòu)建算法得到的隱藏層結(jié)構(gòu)和均方根誤差如圖4所示,隨著Epochs數(shù)量的增加,網(wǎng)絡(luò)權(quán)重不斷更新迭代,當(dāng)溫度補(bǔ)償模型包括神經(jīng)元數(shù)量分別為145和34的2個(gè)隱藏層時(shí),RMSE逐漸降低并趨于穩(wěn)定,Epochs接近20時(shí),模型慢慢優(yōu)化并逼近最優(yōu)擬合狀態(tài),對(duì)比圖4所示的3種網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)算法1確定DBN最優(yōu)隱藏層結(jié)構(gòu)為[145,34],最優(yōu)的Epochs值為34。
圖4 模型隱藏層結(jié)構(gòu)和均方根誤差
用構(gòu)建好的溫度補(bǔ)償模型對(duì)預(yù)處理的實(shí)驗(yàn)數(shù)據(jù)擬合輸出,得到5組標(biāo)定壓力和11個(gè)溫度環(huán)境下的壓力傳感器的輸出電壓,按表1相同的排列順序,得到的計(jì)算結(jié)果如表2所示。
表2 溫度補(bǔ)償后壓力傳感器輸出電壓
為對(duì)比壓力傳感器溫度補(bǔ)償前后的測(cè)量精度,引入滿量程相對(duì)誤差REFS和靈敏度溫度系數(shù)Ts兩項(xiàng)性能指標(biāo),計(jì)算方法如式(16)、式(17)所示,max(U2)和min(U2)分別表示相同標(biāo)定壓力下傳感器輸出電壓的最大值和最小值,Tmax與Tmin為實(shí)驗(yàn)溫度的最大值和最小值,本實(shí)驗(yàn)環(huán)境下Tmax-Tmin的值為100,REFS和Ts為多組標(biāo)定壓力下計(jì)算結(jié)果的平均值。
根據(jù)表1和表2可計(jì)算出壓力傳感器溫度補(bǔ)償前后的性能指標(biāo)REFS和Ts,將本文方法與文獻(xiàn)[10]基于BP神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示,經(jīng)過溫度補(bǔ)償后,傳感器在各標(biāo)定壓力下滿量程相對(duì)誤差和靈敏度溫度系數(shù)均提升了兩個(gè)數(shù)量級(jí),具有很好的穩(wěn)定性,且本文方法優(yōu)于文獻(xiàn)[10]的BP神經(jīng)網(wǎng)絡(luò),較好地改善了溫度對(duì)壓力傳感器測(cè)量精度的影響。
表3 溫度補(bǔ)償前后性能指標(biāo)對(duì)比
將表1的數(shù)據(jù)反歸一化,將得到溫度補(bǔ)償之前各溫度環(huán)境下不同標(biāo)定壓力對(duì)應(yīng)的壓力傳感器輸出電壓,表2的數(shù)據(jù)反歸一化后,將得到溫度補(bǔ)償模型擬合輸出的各溫度環(huán)境下相應(yīng)標(biāo)定壓力對(duì)應(yīng)的壓力傳感器輸出電壓,DBN模型擬合前后的3維數(shù)據(jù)可視化如圖5所示,觀察發(fā)現(xiàn),經(jīng)過溫度補(bǔ)償模型擬合輸出的數(shù)據(jù)更加平展,滿量程相對(duì)誤差明顯降低,測(cè)量精度明顯提升,很好地優(yōu)化了溫度漂移現(xiàn)象。
圖5 模型擬合前后3維數(shù)據(jù)可視化
本研究通過區(qū)間定位的溫度補(bǔ)償模型構(gòu)建算法優(yōu)化DBN結(jié)構(gòu),構(gòu)建的溫度補(bǔ)償模型對(duì)硅壓阻式壓力傳感器輸入?yún)?shù)和輸出參數(shù)之間復(fù)雜的非線性關(guān)系具有很好的擬合表征能力,優(yōu)化后壓力傳感器的滿量程相對(duì)誤差降低至8.240×10-5,提升了傳感器在不同溫度環(huán)境下的測(cè)量精度,經(jīng)過實(shí)驗(yàn)對(duì)比分析,驗(yàn)證了該方法的有效性。在后續(xù)的研究中,將采集更多的實(shí)驗(yàn)數(shù)據(jù),豐富樣本數(shù)量,進(jìn)一步優(yōu)化提升溫度補(bǔ)償模型的擬合表征能力,為各應(yīng)用領(lǐng)域中高精度和高穩(wěn)定性的壓力檢測(cè)提供技術(shù)支持。