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

振動筒式壓力傳感器的FLANN非線性校正

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

0 引言

  傳感器的非線性校正有多種方法,并且也都得到了不同程度的應用。傳統(tǒng)的非線性傳感器線性化的方法是硬件補償,這種方法難以做到全程補償,而且補償硬件的漂移會影響整個系統(tǒng)的精度,因此可靠性不高、測量范圍有限、精度低?,F(xiàn)在國內外研究人員研究了多種多項式擬合校正法,當用直線擬合時,擬合精度較低,通常不能滿足要求;用高次曲線擬合又過于復雜,實現(xiàn)困難。近年來發(fā)展較多的是神經網絡法,大都采用的是BP算法[1][2]。在理論上,含有隱含層的BP網絡能夠逼近任意的非線性函數(shù),這種方法適應性強,精度也高。但是BP網絡結構" title="網絡結構">網絡結構復雜、調節(jié)的權值" title="權值">權值多、學習速度慢、容易陷入局部最小。為此本文采用了一種基于函數(shù)鏈神經網絡(FLANN)的傳感器線性校正方法,與BP算法相比,該結構簡單明了。通過在振動筒式壓力傳感器的上仿真實驗證明,該方法簡單易行,效果理想。

1 振動筒式壓力傳感器

  振動筒式傳感器是利用彈性元件的振動頻率隨被測力而變化實現(xiàn)測量的。振動筒是傳感器的敏感元件,當被測壓力通過圓筒內腔時,由于被測壓力的作用,沿軸向和徑向被張緊的振動筒的剛度發(fā)生變化,從而改變了振動筒的諧振頻率。頻率變化值對應著壓力變化的大小,振動頻率f與被測壓力P的關系為:    式中,A—振動筒常數(shù),它與振動筒材料性質和振動幾何尺寸有關[3]。振動筒式壓力傳感器工作  

  在不同的環(huán)境溫度條件下,隨著環(huán)境溫度的變化,其測量誤差也會不同。另外振動筒金屬材料的彈性模量也隨溫度變化而變化,溫度變化將會造成筒內氣壓不穩(wěn)定。這些因素都直接影響著振動筒頻率變化與壓力大小的線性關系。在測量中等壓力時,其非線性一般在5-6%。所以在精度要求較高的場合,必須對振動筒式壓力傳感器進行線性校正。

2 非線性校正原理

  非線性校正的原理主要基于圖1所示的基本環(huán)節(jié),圖中輸出函數(shù)y主要由振動筒式壓力傳感器的特性決定。由于溫度等因素的影響,其線性度差,因此y和u是非線性關系。如果校正函數(shù)F具有與f相反的變換特性,即 p= F ( y ) = f ( u )-1,那么校正后的輸出p與輸入u就可以成為較理想的線性關系。所以問題的關鍵是如何確定校正函數(shù)F,在實際應用中很難準確求出該校正函數(shù)即其反函數(shù),為此引入了函數(shù)鏈神經網絡算法" title="神經網絡算法">神經網絡算法。

1.JPG

由回歸分析法,可以知道函數(shù)F可以用下列多項式近似地表示:

式中:n為多項式的階數(shù),它越大式(1)就越接近真實的校正函數(shù)F,其校正結果也越精確。在實際中n越大,式(1)的an un項將會急劇減小,因此n也不必取得太大。當n確定后,下面的問題就是如何確定各項的系數(shù),文中重點介紹了使用函數(shù)鏈神經網絡法對各項系數(shù)的確定。

 

3 函數(shù)鏈神經網絡的建模

采用函數(shù)鏈神經網絡進行振動筒式壓力傳感器校正的模型如圖2所示。

2.JPG

圖2 函數(shù)鏈神經網絡模型圖

圖中:,為訓練樣本的輸入元素它對應式(1)中的1,u,u2,u3,…,un;Wj(j=0,1,2,…,n)為網絡的連接權,它用來確定式(1)中的待定系數(shù)a0,a1,a2,…,a n;di為傳感器的標定周期(頻率的倒數(shù))值。在該神經網絡中,每個神經元都采用線性函數(shù),因此函數(shù)鏈神經網絡的輸出為:

(2)

式中:P(k)為第k步時,di的估計值,它與di比較,得到第k步的估計誤差:

  (3)

然后根據(jù)式(4)調節(jié)神經網絡的連接權值:

 (4)

式中:wj(k+1)為第k步時,第j個連接權值,是學習因子。在進行神經網絡算法之前,先通過振動筒標定實驗獲得多組輸入輸出標定值對(Xi,di),Xi為壓力值。標定點要分布在整個測量范圍之內。另外還要對Xi進行歸一化到[-1,+1],即xi=Xi / Xmax,Xmax為Xi的最大絕對值。其整個算法過程如下:

(1)       確定函數(shù)鏈神經網絡結構。

(2)       網絡連接權值初始化,隨即設定wj,一般wj的初始值取[-1,1]之間的隨機數(shù)。

(3)       輸入訓練數(shù)據(jù)樣本xi,di。

(4)       由式(2)計算P(k)

(5)       由式(3)計算誤差ei( k )。如果誤差滿足要求則轉到(7),否則繼續(xù)。

(6)       由式(4)修正wj(k),調節(jié)權值,返回(4)。

(7)       誤差ei( k )達到最小,學習過程結束。得到最終的權值w0,w1,…,wn。

  學習過程中還要注意學習因子的取值,它的選擇會影響到迭代穩(wěn)定性和收斂速度" title="收斂速度">收斂速度。大則收斂速度快,但穩(wěn)定性不好;反之,則穩(wěn)定性好,但是收斂速度慢。

4振動筒壓力傳感器的非線性校正

  對飛行器進行氣壓檢測是航空部門必不可少的,氣壓的檢測一般都是采用的振動筒式壓力傳感器。表1是以某振動筒壓力傳感器對飛行器氣壓在溫度為20℃時的部分壓力標定值,將它們歸一化后作為神經網絡的輸入樣本數(shù)據(jù)。在訓練時對應某個溫度值就有相應的25個樣本數(shù)據(jù),在訓練中分別選取了溫度為-40℃、-20℃、-10℃、0℃、10℃、40℃、60℃等不同范圍進行訓練學習。

表1 傳感器在溫度20℃時的部分壓力標定值數(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

 

  在實驗過程采用較為流行的MATLAB軟件進行仿真。初始化中,學習因子取值為1.1,誤差e取值0.00035,n=3。經過多次迭代,不斷調節(jié)網絡的連接權值,最終求出權值,確定了式(1)中多項式的系數(shù)為:a0=237.6144,a1=-54.1649,a2=2.9464,a3=0.001129。所以該振動筒壓力傳感器的校正函數(shù)為:

(5)  

表2傳感器在溫度20℃時的部分壓力計算值與標定值的比較

壓力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ù),對-40℃~60℃范圍內8個溫度點的標定值和由方程式(5)所得的估計值進行了比較。在表2中列出了溫度在20℃時的估計值,和表1比較可知該模型的精度較高。其最大相對誤差小于0.08%,完全可以滿足大多數(shù)工程允許的誤差,以實現(xiàn)壓力非線性校正。

5結論

  使用函數(shù)鏈神經網絡進行振動筒式壓力傳感器非線性校正具有結構簡單、自學習能力強、易于收斂、效果良好的特點。它的訓練的確比BP算法容易,而且算法也簡單得多;是一種很好的非線性校正方法,它也可以完全用于其他類型傳感器的非線性校正。

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