袁 冬 林 勇
(合肥工業(yè)大學(xué)電氣與自動(dòng)化工程學(xué)院,合肥 230009)
傳感器是工業(yè)信息技術(shù)中的重要組成部分,目前市面上有多種傳感器,如溫度傳感器、壓力傳感器及觸覺(jué)傳感器等,而壓力傳感器是其中應(yīng)用最為廣泛的一種。
傳感器的精確度在工業(yè)生產(chǎn)中也同樣占據(jù)著不可忽視的地位。由于部分壓力傳感器是由半導(dǎo)體材料構(gòu)成,因此具有靈敏度高及動(dòng)態(tài)響應(yīng)快等諸多優(yōu)點(diǎn);但也由于半導(dǎo)體的特殊性質(zhì),這種傳感器容易受溫度影響,產(chǎn)生溫漂,導(dǎo)致傳感器的穩(wěn)定性和精確性降低,所以要對(duì)其進(jìn)行溫度補(bǔ)償。目前對(duì)于壓力傳感器的溫度補(bǔ)償方法有很多,但補(bǔ)償精度都不是很高[1,2]。
近年來(lái)隨著人工神經(jīng)網(wǎng)絡(luò)的發(fā)展,其應(yīng)用范圍也越來(lái)越廣泛,BP神經(jīng)網(wǎng)絡(luò)是一種具有連續(xù)傳遞函數(shù)的多層前饋人工神經(jīng)網(wǎng)絡(luò),被廣泛應(yīng)用在各行各業(yè)中。BP神經(jīng)網(wǎng)絡(luò)可以應(yīng)用在壓力傳感器的溫度補(bǔ)償模型當(dāng)中,但是由于它的收斂速度慢且容易早熟,所以筆者提出了一種采用遺傳算法(Genetic Algorithm,GA)優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),通過(guò)調(diào)整其權(quán)值和閾值使傳感器具有較好的收斂性和穩(wěn)定性。
BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法是誤差反向傳播算法,并以均方誤差最小化為目標(biāo)不斷修改網(wǎng)絡(luò)的權(quán)值和閾值,最終達(dá)到高精度的擬合數(shù)據(jù)。從整個(gè)框架來(lái)看BP神經(jīng)網(wǎng)絡(luò)(圖1)可分為輸入層、隱含層和輸出層,而隱含層可以含有多層神經(jīng)元。通過(guò)已取得的成果可以發(fā)現(xiàn),BP神經(jīng)網(wǎng)絡(luò)只需含有3層結(jié)構(gòu)就可以實(shí)現(xiàn)任意的非線性映射,因此筆者選擇三層BP神經(jīng)網(wǎng)絡(luò)為研究對(duì)象[3]。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)具有誤差逆向傳播的特點(diǎn)。當(dāng)S維指標(biāo)向量通過(guò)各層神經(jīng)元最終得到輸出值A(chǔ)后,把輸出值和期望值E進(jìn)行對(duì)比,即可得到期望與實(shí)際輸出的均方差M=∑(A-E)2/N,其中N為輸入樣本個(gè)數(shù)。若M小于預(yù)定要求,則進(jìn)入逆向過(guò)程[4],具體流程如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)流程
GA是通過(guò)模擬進(jìn)化過(guò)程來(lái)搜索最優(yōu)解的方法,是通過(guò)編碼生成初始群種的一種算法,可采用GA算法來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。具體步驟如下:
a. 當(dāng)神經(jīng)網(wǎng)絡(luò)規(guī)模較大時(shí),為了簡(jiǎn)化遺傳操作,可采用實(shí)數(shù)編碼方法,即把染色體的一個(gè)基因位直接用實(shí)數(shù)表示,如此便可以使染色體的長(zhǎng)度減少,省去編碼解碼的繁瑣。把編碼串的一系列權(quán)值和閾值按照一定的順序連接起來(lái),形成數(shù)組,作為遺傳算法的一個(gè)染色體。采用三層BP神經(jīng)網(wǎng)絡(luò),設(shè)輸入層、輸出層和隱含層的神經(jīng)元個(gè)數(shù)分別為i、j和k,網(wǎng)絡(luò)隱含層和輸出層對(duì)應(yīng)的權(quán)值和閾值分別為W1、W2、B1、B2,可得編碼長(zhǎng)度為i×k+k×j+k+j,如此便構(gòu)成了一個(gè)完整的染色體[5],最終在權(quán)值和閾值的相應(yīng)范圍內(nèi)產(chǎn)生S個(gè)染色體就構(gòu)成了初始種群。
c. 執(zhí)行遺傳操作。遺傳操作的選擇方法為排序,即首先把求得的評(píng)級(jí)值由小到大從1~M排列,然后通過(guò)個(gè)體評(píng)級(jí)值的大小按照評(píng)級(jí)比例的選擇法計(jì)算每個(gè)染色體的選擇概率,采用單點(diǎn)交叉和均勻變異方法,最終找出最優(yōu)評(píng)級(jí)值的染色體,然后按照上述方法反復(fù)計(jì)算,直到最終滿足條件為止。
d. 通過(guò)遺傳運(yùn)算得到評(píng)級(jí)值最優(yōu)的一系列權(quán)值和閾值。
e. 執(zhí)行BP神經(jīng)網(wǎng)絡(luò)。
在實(shí)際應(yīng)用中,壓力傳感器的輸出Up與被測(cè)壓力和溫度呈非線性關(guān)系。隱含層有4個(gè)神經(jīng)元,輸出層有兩個(gè)神經(jīng)元。以S17-30A型壓力傳感器為實(shí)驗(yàn)對(duì)象,選取3個(gè)溫度T進(jìn)行壓力標(biāo)定,詳見(jiàn)表1,其中Up為壓力傳感器輸出信號(hào),Ut為溫度傳感器輸出,γ為電源波動(dòng),p為輸入壓力。
表1 壓力傳感器在不同溫度和壓力下的輸入輸出標(biāo)定數(shù)據(jù)
通過(guò)對(duì)表1中的數(shù)據(jù)進(jìn)行處理得到,傳感器隨溫度變化的波動(dòng)α=22.00%,可見(jiàn)溫度對(duì)傳感器的影響非常大,需要對(duì)其進(jìn)行補(bǔ)償。
由于表1中的數(shù)據(jù)比較大,而且單位不同,并且神經(jīng)網(wǎng)絡(luò)的隱含層需要采用S型函數(shù)來(lái)激活[9,10],所以需要對(duì)表1中的數(shù)據(jù)進(jìn)行歸一化處理,公式為:
其中,xi、xmin和xmax分別代表任意值、最小值和最大值。歸一化后的數(shù)據(jù)見(jiàn)表2。
表2 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)樣本庫(kù)
采用Matlab語(yǔ)言編制訓(xùn)練程序,經(jīng)過(guò)訓(xùn)練后的修正值見(jiàn)表3,可得被測(cè)壓力p(kPa)的最大相對(duì)波動(dòng)α′=1.21%。
表3 被測(cè)壓力的修正值
采用GA-BP神經(jīng)網(wǎng)絡(luò)的補(bǔ)償結(jié)果見(jiàn)表4,可得被測(cè)壓力p(kPa)的最大相對(duì)波動(dòng)α″=0.84%。
表4 被測(cè)壓力GA-BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償結(jié)果
通過(guò)上述計(jì)算得到了原始標(biāo)定、BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償后和GA-BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償后的最大相對(duì)波動(dòng)值分別為22.00%、1.21%和0.84%。可見(jiàn),通過(guò)BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償后的壓力傳感器其工作穩(wěn)定性有顯著提高;而采用GA-BP神經(jīng)網(wǎng)絡(luò)算法補(bǔ)償后的壓力傳感器,其穩(wěn)定性得到了進(jìn)一步升華,并且GA-BP神經(jīng)網(wǎng)絡(luò)算法的收斂次數(shù)明顯減少,時(shí)間縮短了近2/3。
由于部分壓力傳感器受半導(dǎo)體材料的限制,使得其在實(shí)際應(yīng)用過(guò)程中很容易產(chǎn)生溫漂,影響了測(cè)量精確度和穩(wěn)定性,所以有必要對(duì)其進(jìn)行溫度補(bǔ)償,而通常的溫度補(bǔ)償方法不僅收斂速度慢而且成本也比較高。在此,筆者以S17-30A型壓力傳感器為標(biāo)定樣本,將BP神經(jīng)網(wǎng)絡(luò)和GA算法結(jié)合,并把結(jié)合后的GA-BP神經(jīng)網(wǎng)絡(luò)算法應(yīng)用于標(biāo)定過(guò)程,取得了良好的效果,壓力傳感器運(yùn)行穩(wěn)定,波動(dòng)較小。證實(shí)GA-BP神經(jīng)網(wǎng)絡(luò)算法對(duì)壓力傳感器有著很好的溫度補(bǔ)償效果,提高了其測(cè)量精確度。
[1] 王曉榮,倫淑嫻.基于改進(jìn)粒子群算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化研究[J].渤海大學(xué)學(xué)報(bào)(自然科學(xué)版),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] 徐科軍.傳感器與檢測(cè)技術(shù)[M].北京:電子工業(yè)出版社,2011:46~51.
[4] 張荷芳,薛靜云.壓力傳感器溫度補(bǔ)償?shù)腂P神經(jīng)網(wǎng)絡(luò)算法[J].西安工業(yè)大學(xué)學(xué)報(bào),2013,33(2):163~167.
[5] 張麗平.粒子群優(yōu)化算法的理論及實(shí)踐[D].杭州:浙江大學(xué),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神經(jīng)網(wǎng)絡(luò)傳感器溫度補(bǔ)償技術(shù)的研究[D].沈陽(yáng):東北大學(xué),2006.
[8] 錢(qián)光耀,楊入超,趙光興.基于人工神經(jīng)網(wǎng)絡(luò)的壓力傳感器三維數(shù)據(jù)融合[J].傳感器與微系統(tǒng),2007,26(2):79~81.
[9] 張耀鋒,孫以材,邢曉輝.基于人工神經(jīng)網(wǎng)絡(luò)的壓力傳感器的溫度補(bǔ)償[J].電子學(xué)報(bào),2008,36(2):358~361.
[10] 劉洪波,王秀坤,孟軍.神經(jīng)網(wǎng)絡(luò)基于粒子群優(yōu)化的學(xué)習(xí)算法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2005,26(4):638~640.