袁 冬 林 勇
(合肥工業大學電氣與自動化工程學院,合肥 230009)
傳感器是工業信息技術中的重要組成部分,目前市面上有多種傳感器,如溫度傳感器、壓力傳感器及觸覺傳感器等,而壓力傳感器是其中應用最為廣泛的一種。
傳感器的精確度在工業生產中也同樣占據著不可忽視的地位。由于部分壓力傳感器是由半導體材料構成,因此具有靈敏度高及動態響應快等諸多優點;但也由于半導體的特殊性質,這種傳感器容易受溫度影響,產生溫漂,導致傳感器的穩定性和精確性降低,所以要對其進行溫度補償。目前對于壓力傳感器的溫度補償方法有很多,但補償精度都不是很高[1,2]。
近年來隨著人工神經網絡的發展,其應用范圍也越來越廣泛,BP神經網絡是一種具有連續傳遞函數的多層前饋人工神經網絡,被廣泛應用在各行各業中。BP神經網絡可以應用在壓力傳感器的溫度補償模型當中,但是由于它的收斂速度慢且容易早熟,所以筆者提出了一種采用遺傳算法(Genetic Algorithm,GA)優化的BP神經網絡,通過調整其權值和閾值使傳感器具有較好的收斂性和穩定性。
BP神經網絡的訓練方法是誤差反向傳播算法,并以均方誤差最小化為目標不斷修改網絡的權值和閾值,最終達到高精度的擬合數據。從整個框架來看BP神經網絡(圖1)可分為輸入層、隱含層和輸出層,而隱含層可以含有多層神經元。通過已取得的成果可以發現,BP神經網絡只需含有3層結構就可以實現任意的非線性映射,因此筆者選擇三層BP神經網絡為研究對象[3]。

圖1 BP神經網絡結構

BP神經網絡具有誤差逆向傳播的特點。當S維指標向量通過各層神經元最終得到輸出值A后,把輸出值和期望值E進行對比,即可得到期望與實際輸出的均方差M=∑(A-E)2/N,其中N為輸入樣本個數。若M小于預定要求,則進入逆向過程[4],具體流程如圖2所示。

圖2 BP神經網絡流程
GA是通過模擬進化過程來搜索最優解的方法,是通過編碼生成初始群種的一種算法,可采用GA算法來訓練神經網絡。具體步驟如下:
a. 當神經網絡規模較大時,為了簡化遺傳操作,可采用實數編碼方法,即把染色體的一個基因位直接用實數表示,如此便可以使染色體的長度減少,省去編碼解碼的繁瑣。把編碼串的一系列權值和閾值按照一定的順序連接起來,形成數組,作為遺傳算法的一個染色體。采用三層BP神經網絡,設輸入層、輸出層和隱含層的神經元個數分別為i、j和k,網絡隱含層和輸出層對應的權值和閾值分別為W1、W2、B1、B2,可得編碼長度為i×k+k×j+k+j,如此便構成了一個完整的染色體[5],最終在權值和閾值的相應范圍內產生S個染色體就構成了初始種群。

c. 執行遺傳操作。遺傳操作的選擇方法為排序,即首先把求得的評級值由小到大從1~M排列,然后通過個體評級值的大小按照評級比例的選擇法計算每個染色體的選擇概率,采用單點交叉和均勻變異方法,最終找出最優評級值的染色體,然后按照上述方法反復計算,直到最終滿足條件為止。
d. 通過遺傳運算得到評級值最優的一系列權值和閾值。
e. 執行BP神經網絡。
在實際應用中,壓力傳感器的輸出Up與被測壓力和溫度呈非線性關系。隱含層有4個神經元,輸出層有兩個神經元。以S17-30A型壓力傳感器為實驗對象,選取3個溫度T進行壓力標定,詳見表1,其中Up為壓力傳感器輸出信號,Ut為溫度傳感器輸出,γ為電源波動,p為輸入壓力。

表1 壓力傳感器在不同溫度和壓力下的輸入輸出標定數據
通過對表1中的數據進行處理得到,傳感器隨溫度變化的波動α=22.00%,可見溫度對傳感器的影響非常大,需要對其進行補償。
由于表1中的數據比較大,而且單位不同,并且神經網絡的隱含層需要采用S型函數來激活[9,10],所以需要對表1中的數據進行歸一化處理,公式為:
其中,xi、xmin和xmax分別代表任意值、最小值和最大值。歸一化后的數據見表2。

表2 神經網絡的學習樣本庫
采用Matlab語言編制訓練程序,經過訓練后的修正值見表3,可得被測壓力p(kPa)的最大相對波動α′=1.21%。

表3 被測壓力的修正值
采用GA-BP神經網絡的補償結果見表4,可得被測壓力p(kPa)的最大相對波動α″=0.84%。

表4 被測壓力GA-BP神經網絡補償結果
通過上述計算得到了原始標定、BP神經網絡算法補償后和GA-BP神經網絡算法補償后的最大相對波動值分別為22.00%、1.21%和0.84%。可見,通過BP神經網絡算法補償后的壓力傳感器其工作穩定性有顯著提高;而采用GA-BP神經網絡算法補償后的壓力傳感器,其穩定性得到了進一步升華,并且GA-BP神經網絡算法的收斂次數明顯減少,時間縮短了近2/3。
由于部分壓力傳感器受半導體材料的限制,使得其在實際應用過程中很容易產生溫漂,影響了測量精確度和穩定性,所以有必要對其進行溫度補償,而通常的溫度補償方法不僅收斂速度慢而且成本也比較高。在此,筆者以S17-30A型壓力傳感器為標定樣本,將BP神經網絡和GA算法結合,并把結合后的GA-BP神經網絡算法應用于標定過程,取得了良好的效果,壓力傳感器運行穩定,波動較小。證實GA-BP神經網絡算法對壓力傳感器有著很好的溫度補償效果,提高了其測量精確度。
[1] 王曉榮,倫淑嫻.基于改進粒子群算法的BP神經網絡優化研究[J].渤海大學學報(自然科學版),2008,29(2):189~193.
[2] Pramanik C,Islam T,Saha H.Temperature Compensation of Piezoresistive Micro-machined Porous Silicon Pressure Sensor by ANN[J].Microelectronics Reliability,2006,46(2-4):343~351.
[3] 徐科軍.傳感器與檢測技術[M].北京:電子工業出版社,2011:46~51.
[4] 張荷芳,薛靜云.壓力傳感器溫度補償的BP神經網絡算法[J].西安工業大學學報,2013,33(2):163~167.
[5] 張麗平.粒子群優化算法的理論及實踐[D].杭州:浙江大學,2005.
[6] Angeline P J.Evolutionary Optimization Versus Particle Swarm Optimization:Philosophy and Performance Differences[C].Evolutionary Programming VII.San Diego:Springer Berlin Heidelberg,1998:601~610.
[7] 楊德旭.基于BP神經網絡傳感器溫度補償技術的研究[D].沈陽:東北大學,2006.
[8] 錢光耀,楊入超,趙光興.基于人工神經網絡的壓力傳感器三維數據融合[J].傳感器與微系統,2007,26(2):79~81.
[9] 張耀鋒,孫以材,邢曉輝.基于人工神經網絡的壓力傳感器的溫度補償[J].電子學報,2008,36(2):358~361.
[10] 劉洪波,王秀坤,孟軍.神經網絡基于粒子群優化的學習算法研究[J].小型微型計算機系統,2005,26(4):638~640.