振動筒式壓力傳感器的FLANN非線性校正
3 函數(shù)鏈神經(jīng)網(wǎng)絡(luò)的建模
采用函數(shù)鏈神經(jīng)網(wǎng)絡(luò)進行振動筒式壓力傳感器校正的模型如圖2所示。
圖2 函數(shù)鏈神經(jīng)網(wǎng)絡(luò)模型圖
圖中:,為訓練樣本的輸入元素它對應(yīng)式(1)中的1,u,u2,u3,…,un;Wj(j=0,1,2,…,n)為網(wǎng)絡(luò)的連接權(quán),它用來確定式(1)中的待定系數(shù)a0,a1,a2,…,a n;di為傳感器的標定周期(頻率的倒數(shù))值。在該神經(jīng)網(wǎng)絡(luò)中,每個神經(jīng)元都采用線性函數(shù),因此函數(shù)鏈神經(jīng)網(wǎng)絡(luò)的輸出為:
(2)
式中:P(k)為第k步時,di的估計值,它與di比較,得到第k步的估計誤差:
(3)
然后根據(jù)式(4)調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的連接權(quán)值:
(4)
式中:wj(k+1)為第k步時,第j個連接權(quán)值,是學習因子。在進行神經(jīng)網(wǎng)絡(luò)算法之前,先通過振動筒標定實驗獲得多組輸入輸出標定值對(Xi,di),Xi為壓力值。標定點要分布在整個測量范圍之內(nèi)。另外還要對Xi進行歸一化到[-1,+1],即xi=Xi / Xmax,Xmax為Xi的最大絕對值。其整個算法過程如下:
(1) 確定函數(shù)鏈神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
(2) 網(wǎng)絡(luò)連接權(quán)值初始化,隨即設(shè)定wj,一般wj的初始值取[-1,1]之間的隨機數(shù)。
(3) 輸入訓練數(shù)據(jù)樣本xi,di。
(4) 由式(2)計算P(k)
(5) 由式(3)計算誤差ei( k )。如果誤差滿足要求則轉(zhuǎn)到(7),否則繼續(xù)。
(6) 由式(4)修正wj(k),調(diào)節(jié)權(quán)值,返回(4)。
(7) 誤差ei( k )達到最小,學習過程結(jié)束。得到最終的權(quán)值w0,w1,…,wn。
學習過程中還要注意學習因子的取值,它的選擇會影響到迭代穩(wěn)定性和收斂速度。大則收斂速度快,但穩(wěn)定性不好;反之,則穩(wěn)定性好,但是收斂速度慢。
4振動筒壓力傳感器的非線性校正
對飛行器進行氣壓檢測是航空部門必不可少的,氣壓的檢測一般都是采用的振動筒式壓力傳感器。表1是以某振動筒壓力傳感器對飛行器氣壓在溫度為20℃時的部分壓力標定值,將它們歸一化后作為神經(jīng)網(wǎng)絡(luò)的輸入樣本數(shù)據(jù)。在訓練時對應(yīng)某個溫度值就有相應(yīng)的25個樣本數(shù)據(jù),在訓練中分別選取了溫度為-40℃、-20℃、-10℃、0℃、10℃、40℃、60℃等不同范圍進行訓練學習。
評論