《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 微波|射頻 > 解決方案 > 振動(dòng)筒式壓力傳感器的FLANN非線性校正

振動(dòng)筒式壓力傳感器的FLANN非線性校正

2010-12-19
作者:張鐵壁 馬文華

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ò)算法,。

1.JPG

由回歸分析法,可以知道函數(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.JPG

圖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)型傳感器的非線性校正。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118,;郵箱:[email protected],。