SUN Yanmei,MIAO Fengjuan,TAO Bairui
(University of Qiqihar Institute of Communications and Electronics Engineering,Qiqihar Heilongjiang 161006,China)
The Application of BP Neural Network Based on PSO Algorithm to Pressure Sensor Temperature Compensation*
SUN Yanmei*,MIAO Fengjuan,TAO Bairui
(University of Qiqihar Institute of Communications and Electronics Engineering,Qiqihar Heilongjiang 161006,China)
For the temperature drift of the silicon piezoresistive pressure sensor,compensation method by Back Propagation(BP)network based on Particle Swarm Optimization(PSO)algorithm has been proposed.This model has overcomed the drawback of slow convergence and easily trapping in the local minimum of BP network through global search weight and threshold in PSO algorithm.The simulation experiment results show that the model can depress the temperature drift of the silicon piezoresistive pressure sensor effectively,and the stability and accuracy of the silicon piezoresistive pressure sensor are improved greatly.
temperature compensation;particle swarm optimization algorithm;BP network;pressure sensor
目前,在壓力測量領域中,硅壓阻式壓力傳感器是使用最多的一種,由于半導體材料的壓阻系數具有較大的溫度系數,導致硅壓阻式壓力傳感器的輸出極易受到溫度的影響,即存在溫度漂移問題。溫度漂移嚴重制約著硅壓阻式壓力傳感器的測量精度和應用領域,為消除非目標參量(溫度)對壓阻式壓力傳感器輸出特性的影響,壓阻式壓力傳感器的溫度補償研究一直在進行[1-6]。
BP神經網絡是溫度補償中使用最為廣泛的一種,它具有強大的非線性映射能力和自學習能力[6-10],但由于BP算法的本質是梯度下降法的一種迭代學習,梯度下降法進行穩定學習要求學習率很小,因此使得收斂速度很慢。梯度下降法訓練時從某一點開始沿誤差函數的斜面逐漸達到最小值,誤差函數一般存在多處曲面谷[2],梯度下降法只能搜索到誤差曲面的某一低谷,但無法跳出,也就搜索不到其他更小的誤差,即陷入局部極小,而粒子群優化算法通過追隨當前搜索到的最優值可進行全局尋優,可以有效的解決BP網絡收斂速度慢和易陷入局部極小的問題[11-12]。
BP神經網絡屬于前向神經網絡,其結構示意圖如圖1所示。
圖中,P為輸入,R為維數;S1為隱含層神經元個數;S2為輸出層神經元個數;W1為隱層神經元權值;

圖1BP網絡結構示意圖
W2為輸出層神經元權值;a1為隱層神經元輸出[4];a2為輸出層神經元輸出;b1為隱層神經元閾值;b2為輸出層神經元閾值;n1為隱層節點輸入;n2為輸出節點輸入;f1為傳遞函數,一般為:f(x)=1/(1+e-x);f2為purelin型傳遞函數。網絡誤差為:

其中,dpj為第p個輸入模式輸出神經元j的理想輸出[8,10],opj為期望輸出。
BP算法權值修正公式為:

其中,η為學習速率。
輸出層神經元:

隱層神經元:

BP算法的本質是梯度下降法的一種迭代學習,梯度下降法進行穩定學習要求學習率很小,因此使得收斂速度很慢。而且訓練從某一點開始沿誤差函數的斜面逐漸達到誤差的最小值,所以起點不同將產生不同的極小值,即得到不同的最優解。
2.1粒子群優化算法
粒子群優化算法PSO(Particle Swarm Optimization)是基于群體智能的進化算法技術,此算法采用實數求解,且需要調整的參數較少,易于實現,是一種通用的全局搜索算法[11]。在優化過程中,每個粒子記憶、追隨當前的最優粒子,在解空間中進行搜索,粒子群算法初始化為一群隨機粒子,然后通過迭代找到最優解。每次迭代,粒子通過追逐兩個極值更新自己的位置:一個是粒子自身找到的當前最優解,這個解稱為個體極值pbest,另一個是整個群體當前找到的最優解,這個解稱為全局極值gbest。粒子在找到上述兩個極值后,根據下列式子更新自己的位置。


式中,ω為慣性權重;c1和c2為學習因子;m1、m2為介于(0,1)之間的隨機數和分別為粒子i在第k次迭代中第d維的速度和位置,兩者都被限定在一定得范圍內;是粒子i在第d維的個體極值的位置;是群體在第d維的全局極值的位置。
2.2 基于PSO的BP神經網絡溫度補償算法設計和實現
BP網絡訓練的關鍵是權閾值的更新過程,PSO搜索過程主要是不同維數上速度和位置的改變,因此BP網絡中的權閾值應與PSO中粒子的位置相對應。每個粒子代表一組待優化的權閾值。神經網絡的訓練目標是使樣本輸出值與網絡實際輸出值的誤差平方和達到最小(對應的PSO中的適應值最大),適應度函數取為:

其中,M為學習樣本數,p(t)為網絡的實際輸出,d(t)為樣本輸出。
PSO需要優化的連接權值總個數為:M=m× (n+1)+m+1,n為輸入層神經元節點數,m為隱層神經元節點數。用PSO算法優化的權值和閾值作為BP網絡的初始權值和閾值,然后構建BP網絡進行訓練[12]。
2.3 算法實現步驟
①對輸入數據進行標準化處理;②將數據分為測試數據和訓練數據;③初始化BP網絡結構,設定輸入層、隱層、輸出層的神經元個數;④初始化粒子群及每個粒子速度;⑤計算每個粒子的適應度:輸入一個粒子,按BP網絡的前向計算方法計算出每個粒子的輸出值及其均方誤差;再計算出所有樣本的均方差,計算該粒子的適應度。繼續輸入其他粒子,計算出所有粒子的適應度;⑥比較適應度,確定每個粒子的個體極值點和全局最優極值點:若present>pbest,pbest= present,則pbest=present;否則,pbest不變;若present>gbest,則gbest=present;否則,gbest不變;⑦更新每個粒子的位置和速度,判斷更新后的速度和位置是否在限定的范圍內。1)考慮速度時,若vij>vmax,則vij=vmax,否則vij不變;2)考慮位置時,若xij<xmin,則xij=xmax,否則xij不變。其中vmax,xmin都為常數;⑧迭代次數若達到最大迭代次數或k與k+1次迭代過程中的全局最優極值的絕對差值abs(gbest(k+1)-gbest(k))低于設定的最小誤差,則迭代過程結束。算法收斂時最后一次迭代的全局最優值gbest中每一維的權值和閾值就是所求的;否則返回(4);⑨將PSO優化好的權值和閾值作為BP網絡的初始權值和閾值對網絡進行訓練;⑩將測試數據代入訓練好的網絡進行仿真。
3.1 壓力傳感器溫度漂移標定數據
實驗采用MPX10型壓力傳感器,把壓力傳感器和溫度傳感器放在恒溫箱中,溫度分別為22℃、34℃、44和70℃共4個溫度點,然后測量出不同溫度下不同壓力標定值的壓力傳感器電壓輸出值。壓力標定值為P,傳感器的輸出電壓為Up,工作溫度由集成溫度傳感器AD590測定,其輸出為Ut,其標定數據如表1所示。3.2溫度補償
將基于PSO的BP神經網絡溫度補償模型用于補償該壓力傳感器,將Up和Ut作為網絡輸入,標定值p作為網絡輸出值,對數據做歸一化處理,在MATLAB中用premnmx函數可實現標準化,標準化后所得樣本庫數據如表2所示。

表2 標準化后的標定數據
按照§2.3所述步驟進行溫度補償,建立單隱層BP網絡模型:2個輸入節點和1個輸出節點,隱層節點確定為11個,隱含層使用Sigmoid函數,輸出層的計算使用線性Pureline函數;最大迭代次數設為1 500;目標誤差設為1×10-6;訓練函數為trainlm;學習速率為0.01;學習函數為learngdm;PSO算法中初始搜索點的位置及其速度在允許的范圍內隨機產生;種群規模為40;慣性權重取1;學習因子c1=c2=2.5;將樣本庫表2中32組數據進行網絡訓練。其余8組作為測試樣本(陰影部分)。
PSO尋優結束后相應的權值矩陣和閾值矩陣分別為:

將PSO優化好的權值和閾值作為BP網絡的初始權值和閾值對網絡進行訓練,經過50次迭代后,目標誤差達到1.2539×10-6,如圖2(a)所示。同樣的數據用BP網絡進行訓練,經過50次迭代后,訓練誤差為1.9827×10-4,其訓練曲線如圖2(b)所示,其目標誤差同樣為10-6由此可知,BP網絡陷入了局部極小。

圖2 訓練曲線
可以看出,與BP網絡相比,基于PSO的BP神經網絡收斂速度更快,而且補償精度高,有效避免了局部極小。將測試樣本代入訓練好的網絡,溫度補償后的壓力輸出值,如表3所示。

表3 基于PSO的BP神經網絡的補償數據
3.3 補償效果及分析
基于PSO的BP神經網絡與BP神經網絡溫度漂移補償過程對比如圖3所示。

圖3 訓練誤差曲線
由圖3可以看出,基于PSO的BP神經網絡的補償精度明顯比BP網絡要高,PSO通過追隨當前搜索的最優值進行全局尋優,成功實現避免局部極小的出現,而且補償精度較高。

圖4 工作曲線
圖4 (a)為補償前工作曲線,輸出值最大相對誤差為22.8%。溫度補償后在各個溫度點進行仿真,如圖4(b)所示。可以看出,不同溫度下各工作曲線高度重合,大大消除了溫度漂移,補償后輸出的最大相對誤差降到了3.2%。
計算補償后零點漂移和靈敏度漂移,與補償前比較如表4所示。補償后比補償前的溫度穩定性能提高了1~2個數量級,減小了溫度對壓力傳感器輸出的影響。

表4 補償前后溫度漂移比較
基于PSO的BP神經網絡與基本的BP網絡相比,收斂快,而且補償精度較高。零點溫度漂移和靈敏度溫度漂移都顯著減小。如表5所示,在進行補償時,傳統的BP神經網絡偶爾陷入局部極小,而基于PSO的BP神經網絡幾乎不會陷入局部極小。

表5 BP神經網絡與PSO-BP神經網絡比較
針對硅壓阻式壓力傳感器溫度漂移問題,提出了基于PSO的BP神經網絡的溫度補償方法,并驗證了方法的有效性,通過粒子群化算法對BP網絡的極小和閾值進行全局尋優,克服了BP網絡收斂速度慢和易陷入局部極小的缺陷,實驗結果表明,該模型補償精度較高,且收斂速度較快,節省運行時間,可有效避免BP神經網絡收斂時陷入局部極小,其補償效果明顯優于BP網絡,該方法有效的抑制了溫度對壓力傳感器輸出的影響,提高了傳感器的穩定性和準確性。
[1]行鴻彥,彭基偉,呂文華,等.一種濕度傳感器溫度補償的融合算法[J].傳感技術學報,2012,25(12):1711-1716.
[2]Marques M,Martin B B.Sensor Linearization with Neural Networks[J].Industrial Electronics.2010,48(6):1288-1290.
[3]Futane N P,Roy Chowdhury S,Roy Chowdhury C,et al.ANN Based CMOS ASIC Design for Improved Temperature-Drift Compensation of Piezoresistive Micro-Machined High Resolution Pressure Sensor[J].Microelectronics Reliability,2010,50(7):282 -291.
[4]Gao Yang,Qiu Yishen,Chen Huaixi,et al.Four-Channel Fiber Loop Ring-Down Pressure Sensor with Temperature Compensation Based on Neural Networks[J].Microwave and Optical Technology Letters,2010,52(8):1796-1799.
[5]張朝龍,江巨浪,李彥梅,等.基于云粒子群-最小二乘支持向量機的傳感器溫度補償[J].傳感技術學報,2012,25(4):472-477.
[6]Huang Y S,Young M S.An Accurate Ultrasonic Distance Measurement System with Self Temperature Compensation[J].Instrumentation Science and Technology,2009,37(1):124-133.
[7]Futane N P,Roy Chowdhury S,Roy Chaudhury C,et al.Analog ASIC for Improved Temperature Drift Compensation of a High Sensitive Porous Silicon Pressure Sensor[J].Analog Integrated Circuits and Signal Processing,2011,67(3):383-393.
[8]Marques M,Martin B B.Sensor Linearization with Neural Networks[J].Industrial Electronics.2010,48(6):1288-1290.
[9]Dirk De Bruyker,Robert Puers.Thermostatic Control for Temperature Compensation of a Silicon Pressure Sensor[J].Sensors and Actuators A:Physical,2000,82(1):120-127.
[10]Chen Chyitsong,Chang Wei-der.A Feedforward Neural Network with Function Shape Autotuning[J].Neural Network,1996,9(4): 627-641.
[11]周曉君,陽春華,桂衛華.PSO-BP神經網絡的分級過程建模[J].計算機與應用化學,2011,28(07):825-828.
[12]Wang H S,Wang Y N,Wang Y C.Cost estimation of Plastic Injection Molding Parts through Integration of PSO and BP Neural Network[J].Expert Systems with Applications,2013,40(08):418 -428.

孫艷梅(1979-),女,吉林前郭人,講師,碩士,主要研究方向為傳感器技術,sym791122@163.com。
基于PSO的BP神經網絡在壓力傳感器溫度補償中的應用*
孫艷梅*,苗鳳娟,陶佰睿
(齊齊哈爾大學通信與電子工程學院,黑龍江齊齊哈爾161006)
針對硅壓阻式壓力傳感器的溫度漂移問題,提出了基于粒子群優化算法PSO(Particle Swarm Optimization Algorithm)的BP神經網絡的溫度補償模型,通過粒子群化算法對BP網絡的權值和閾值進行全局尋優,克服了BP網絡收斂速度慢和易陷入局部極值的缺陷,而且溫度補償的精度較高。研究結果表明,該方法有效的抑制了溫度對壓力傳感器輸出的影響,提高了傳感器的穩定性和準確性。
溫度補償;粒子群優化算法;BP神經網絡;壓力傳感器
TP212
A
1004-1699(2014)03-0342-05
2013-12-23修改日期:2014-03-09
C:2520C;2560L
10.3969/j.issn.1004-1699.2014.03.013
項目來源:國家自然科學基金項目(61204127);黑龍江省自然科學基金項目(F201332);黑龍江省普通高等學校新世紀優秀人才培養計劃項目(1253-NECT025)