0 引言
傳感器的非線性校正有多種方法,,并且也都得到了不同程度的應(yīng)用,。傳統(tǒng)的非線性傳感器線性化的方法是硬件補(bǔ)償,,這種方法難以做到全程補(bǔ)償,,而且補(bǔ)償硬件的漂移會(huì)影響整個(gè)系統(tǒng)的精度,,因此可靠性不高,、測(cè)量范圍有限,、精度低?,F(xiàn)在國(guó)內(nèi)外研究人員研究了多種多項(xiàng)式擬合校正法,,當(dāng)用直線擬合時(shí),擬合精度較低,,通常不能滿(mǎn)足要求,;用高次曲線擬合又過(guò)于復(fù)雜,實(shí)現(xiàn)困難。近年來(lái)發(fā)展較多的是神經(jīng)網(wǎng)絡(luò)法,,大都采用的是BP算法[1][2],。在理論上,含有隱含層的BP網(wǎng)絡(luò)能夠逼近任意的非線性函數(shù),,這種方法適應(yīng)性強(qiáng),,精度也高。但是BP網(wǎng)絡(luò)結(jié)構(gòu)" title="網(wǎng)絡(luò)結(jié)構(gòu)">網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,、調(diào)節(jié)的權(quán)值" title="權(quán)值">權(quán)值多,、學(xué)習(xí)速度慢、容易陷入局部最小,。為此本文采用了一種基于函數(shù)鏈神經(jīng)網(wǎng)絡(luò)(FLANN)的傳感器線性校正方法,,與BP算法相比,該結(jié)構(gòu)簡(jiǎn)單明了,。通過(guò)在振動(dòng)筒式壓力傳感器的上仿真實(shí)驗(yàn)證明,,該方法簡(jiǎn)單易行,效果理想,。
1 振動(dòng)筒式壓力傳感器
振動(dòng)筒式傳感器是利用彈性元件的振動(dòng)頻率隨被測(cè)力而變化實(shí)現(xiàn)測(cè)量的,。振動(dòng)筒是傳感器的敏感元件,當(dāng)被測(cè)壓力通過(guò)圓筒內(nèi)腔時(shí),,由于被測(cè)壓力的作用,,沿軸向和徑向被張緊的振動(dòng)筒的剛度發(fā)生變化,從而改變了振動(dòng)筒的諧振頻率,。頻率變化值對(duì)應(yīng)著壓力變化的大小,,振動(dòng)頻率f與被測(cè)壓力P的關(guān)系為: 式中,,A—振動(dòng)筒常數(shù),,它與振動(dòng)筒材料性質(zhì)和振動(dòng)幾何尺寸有關(guān)[3]。振動(dòng)筒式壓力傳感器工作
在不同的環(huán)境溫度條件下,,隨著環(huán)境溫度的變化,,其測(cè)量誤差也會(huì)不同。另外振動(dòng)筒金屬材料的彈性模量也隨溫度變化而變化,,溫度變化將會(huì)造成筒內(nèi)氣壓不穩(wěn)定,。這些因素都直接影響著振動(dòng)筒頻率變化與壓力大小的線性關(guān)系。在測(cè)量中等壓力時(shí),,其非線性一般在5-6%,。所以在精度要求較高的場(chǎng)合,必須對(duì)振動(dòng)筒式壓力傳感器進(jìn)行線性校正,。
2 非線性校正原理
非線性校正的原理主要基于圖1所示的基本環(huán)節(jié),,圖中輸出函數(shù)y主要由振動(dòng)筒式壓力傳感器的特性決定。由于溫度等因素的影響,其線性度差,,因此y和u是非線性關(guān)系,。如果校正函數(shù)F具有與f相反的變換特性,即 p= F ( y ) = f ( u )-1,,那么校正后的輸出p與輸入u就可以成為較理想的線性關(guān)系,。所以問(wèn)題的關(guān)鍵是如何確定校正函數(shù)F,在實(shí)際應(yīng)用中很難準(zhǔn)確求出該校正函數(shù)即其反函數(shù),,為此引入了函數(shù)鏈神經(jīng)網(wǎng)絡(luò)算法" title="神經(jīng)網(wǎng)絡(luò)算法">神經(jīng)網(wǎng)絡(luò)算法,。
由回歸分析法,可以知道函數(shù)F可以用下列多項(xiàng)式近似地表示:
式中:n為多項(xiàng)式的階數(shù),,它越大式(1)就越接近真實(shí)的校正函數(shù)F,,其校正結(jié)果也越精確。在實(shí)際中n越大,,式(1)的an un項(xiàng)將會(huì)急劇減小,,因此n也不必取得太大。當(dāng)n確定后,,下面的問(wèn)題就是如何確定各項(xiàng)的系數(shù),,文中重點(diǎn)介紹了使用函數(shù)鏈神經(jīng)網(wǎng)絡(luò)法對(duì)各項(xiàng)系數(shù)的確定。
3 函數(shù)鏈神經(jīng)網(wǎng)絡(luò)的建模
采用函數(shù)鏈神經(jīng)網(wǎng)絡(luò)進(jìn)行振動(dòng)筒式壓力傳感器校正的模型如圖2所示,。
圖2 函數(shù)鏈神經(jīng)網(wǎng)絡(luò)模型圖
圖中:,,為訓(xùn)練樣本的輸入元素它對(duì)應(yīng)式(1)中的1,u,,u2,,u3,…,,un,;Wj(j=0,1,,2,,…,n)為網(wǎng)絡(luò)的連接權(quán),,它用來(lái)確定式(1)中的待定系數(shù)a0,,a1,a2,,…,,a n;di為傳感器的標(biāo)定周期(頻率的倒數(shù))值,。在該神經(jīng)網(wǎng)絡(luò)中,,每個(gè)神經(jīng)元都采用線性函數(shù),,因此函數(shù)鏈神經(jīng)網(wǎng)絡(luò)的輸出為:
(2)
式中:P(k)為第k步時(shí),di的估計(jì)值,,它與di比較,,得到第k步的估計(jì)誤差:
(3)
然后根據(jù)式(4)調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的連接權(quán)值:
(4)
式中:wj(k+1)為第k步時(shí),第j個(gè)連接權(quán)值,,是學(xué)習(xí)因子,。在進(jìn)行神經(jīng)網(wǎng)絡(luò)算法之前,先通過(guò)振動(dòng)筒標(biāo)定實(shí)驗(yàn)獲得多組輸入輸出標(biāo)定值對(duì)(Xi,,di),,Xi為壓力值。標(biāo)定點(diǎn)要分布在整個(gè)測(cè)量范圍之內(nèi),。另外還要對(duì)Xi進(jìn)行歸一化到[-1,,+1],即xi=Xi / Xmax,,Xmax為Xi的最大絕對(duì)值,。其整個(gè)算法過(guò)程如下:
(1) 確定函數(shù)鏈神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
(2) 網(wǎng)絡(luò)連接權(quán)值初始化,,隨即設(shè)定wj,,一般wj的初始值取[-1,1]之間的隨機(jī)數(shù),。
(3) 輸入訓(xùn)練數(shù)據(jù)樣本xi,,di。
(4) 由式(2)計(jì)算P(k)
(5) 由式(3)計(jì)算誤差ei( k ),。如果誤差滿(mǎn)足要求則轉(zhuǎn)到(7),,否則繼續(xù)。
(6) 由式(4)修正wj(k),,調(diào)節(jié)權(quán)值,,返回(4)。
(7) 誤差ei( k )達(dá)到最小,,學(xué)習(xí)過(guò)程結(jié)束,。得到最終的權(quán)值w0,,w1,,…,wn,。
學(xué)習(xí)過(guò)程中還要注意學(xué)習(xí)因子的取值,,它的選擇會(huì)影響到迭代穩(wěn)定性和收斂速度" title="收斂速度">收斂速度。大則收斂速度快,,但穩(wěn)定性不好,;反之,,則穩(wěn)定性好,但是收斂速度慢,。
4振動(dòng)筒壓力傳感器的非線性校正
對(duì)飛行器進(jìn)行氣壓檢測(cè)是航空部門(mén)必不可少的,,氣壓的檢測(cè)一般都是采用的振動(dòng)筒式壓力傳感器。表1是以某振動(dòng)筒壓力傳感器對(duì)飛行器氣壓在溫度為20℃時(shí)的部分壓力標(biāo)定值,,將它們歸一化后作為神經(jīng)網(wǎng)絡(luò)的輸入樣本數(shù)據(jù),。在訓(xùn)練時(shí)對(duì)應(yīng)某個(gè)溫度值就有相應(yīng)的25個(gè)樣本數(shù)據(jù),在訓(xùn)練中分別選取了溫度為-40℃,、-20℃,、-10℃、0℃,、10℃,、40℃、60℃等不同范圍進(jìn)行訓(xùn)練學(xué)習(xí),。
表1 傳感器在溫度20℃時(shí)的部分壓力標(biāo)定值數(shù)據(jù)
壓力mmHg |
172.295 |
197.183 |
203.625 |
210.804 |
218.798 |
227.800 |
232.745 |
237.481 |
周 期 |
2000 |
1000 |
800 |
600 |
400 |
200 |
100 |
10 |
在實(shí)驗(yàn)過(guò)程采用較為流行的MATLAB軟件進(jìn)行仿真,。初始化中,學(xué)習(xí)因子取值為1.1,,誤差e取值0.00035,,n=3。經(jīng)過(guò)多次迭代,,不斷調(diào)節(jié)網(wǎng)絡(luò)的連接權(quán)值,,最終求出權(quán)值,確定了式(1)中多項(xiàng)式的系數(shù)為:a0=237.6144,,a1=-54.1649,,a2=2.9464,a3=0.001129,。所以該振動(dòng)筒壓力傳感器的校正函數(shù)為:
(5)
表2傳感器在溫度20℃時(shí)的部分壓力計(jì)算值與標(biāo)定值的比較
壓力mmHg |
172.425 |
197.255 |
203.682 |
210.711 |
218.858 |
227.891 |
232.798 |
237.375 |
周 期 |
2000 |
1000 |
800 |
600 |
400 |
200 |
100 |
10 |
根據(jù)所得以上函數(shù),,對(duì)-40℃~60℃范圍內(nèi)8個(gè)溫度點(diǎn)的標(biāo)定值和由方程式(5)所得的估計(jì)值進(jìn)行了比較。在表2中列出了溫度在20℃時(shí)的估計(jì)值,,和表1比較可知該模型的精度較高,。其最大相對(duì)誤差小于0.08%,完全可以滿(mǎn)足大多數(shù)工程允許的誤差,,以實(shí)現(xiàn)壓力非線性校正,。
5結(jié)論
使用函數(shù)鏈神經(jīng)網(wǎng)絡(luò)進(jìn)行振動(dòng)筒式壓力傳感器非線性校正具有結(jié)構(gòu)簡(jiǎn)單、自學(xué)習(xí)能力強(qiáng),、易于收斂,、效果良好的特點(diǎn)。它的訓(xùn)練的確比BP算法容易,,而且算法也簡(jiǎn)單得多,;是一種很好的非線性校正方法,,它也可以完全用于其他類(lèi)型傳感器的非線性校正。