基于神經(jīng)網(wǎng)絡(luò)技術(shù)的虛擬傳感器溫度補(bǔ)償系統(tǒng)
1.2 樣本數(shù)據(jù)歸一化處理
神經(jīng)網(wǎng)絡(luò)所處理的數(shù)據(jù)應(yīng)是在-1和+1間的歸一化數(shù)據(jù),因此采用如下公式進(jìn)行傳感器輸出數(shù)據(jù)的歸一化處理:

式中,為第m個樣本神經(jīng)網(wǎng)絡(luò)的輸入、輸出歸一化值;Xim和Om為第m個樣本的輸入輸出標(biāo)定值,本文中i=1,2;Ximax和Ximin為第i個傳感器輸出最大、最小標(biāo)定值。
1.3 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與訓(xùn)練
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):
基于該系統(tǒng)采用3層BP神經(jīng)網(wǎng)絡(luò),輸入層i=1,2,共有2個節(jié)點,分別輸入壓阻傳感器和溫度傳感器的輸出電壓值Up和Ut。隱層節(jié)點數(shù)j=1,2,…,l可在3~30范圍內(nèi)選擇,視補(bǔ)償效果而定。輸出層節(jié)點k=1,為一個節(jié)點,表示輸出壓力值Pt。
溫度補(bǔ)償系統(tǒng)BP神經(jīng)網(wǎng)絡(luò)Ot和分別為歸一化的網(wǎng)絡(luò)輸出的計算值與標(biāo)定值;m為樣本序號;M為樣本總數(shù);訓(xùn)練的樣本數(shù)越多,網(wǎng)絡(luò)的計算結(jié)果Ot的偏差越小。根據(jù)標(biāo)定實驗提供的學(xué)習(xí)樣本,采用BP算法學(xué)習(xí)修正網(wǎng)絡(luò)的權(quán)值和閾值,直到滿足精度要求為止。訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)仍不能使用,必須使用附加樣本進(jìn)行性能驗證,如不能滿足要求,就需要重新訓(xùn)練網(wǎng)絡(luò),所以神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是一個反復(fù)的過程。
1.4 學(xué)習(xí)算法的圖形化編程
在LabVIEW中要實現(xiàn)神經(jīng)網(wǎng)絡(luò),可通過多種方式實現(xiàn):利用CIN節(jié)點調(diào)用外部編譯好的C或者C++程序;利用MATLAB Script節(jié)點編輯或調(diào)用MATLAB程序;利用LabVIEW本身的圖形編程語言編程實現(xiàn)。
同上述兩種方法相比,用LabVIEW本身的圖形語言來編程有很多的優(yōu)勢。LabVIEW的G程序是獨立于運行平臺的,不需要依賴其他軟件。而且作為一種圖形化的、數(shù)據(jù)驅(qū)動的程序語言,LabVIEW可以更方便地實現(xiàn)給定的算法,程序更加清晰明了,修改起來也更加方便。同時利用子程序技術(shù),可以大大提高程序的利用率?;诖耍疚牟捎脠D形編程的方法來實現(xiàn)神經(jīng)網(wǎng)絡(luò)控制。圖3為實現(xiàn)BP算法的LabVIEW程序。
2 系統(tǒng)設(shè)計與實現(xiàn)
系統(tǒng)使用NI公司的LabVIEW和PCI-MIO-16E-1多功能數(shù)據(jù)采集卡實現(xiàn)溫度補(bǔ)償系統(tǒng)。在LabVIEW平臺下開發(fā)出“虛擬傳感器參數(shù)檢測儀”,完成數(shù)據(jù)的采集與預(yù)處理。在此基礎(chǔ)上嵌入MATLAB程序進(jìn)行神經(jīng)網(wǎng)絡(luò)運算。
2.1 面板設(shè)計
前面板主要由兩部分組成:神經(jīng)網(wǎng)絡(luò)訓(xùn)練模塊和數(shù)據(jù)保存模塊。神經(jīng)網(wǎng)絡(luò)訓(xùn)練模塊執(zhí)行壓阻傳感器的溫度補(bǔ)償;數(shù)據(jù)保存模塊將訓(xùn)練后的相關(guān)數(shù)據(jù)進(jìn)行保存并寫入文件中。
2.2 程序流程圖設(shè)計
在LabVIEW中,流程圖是程序運行的基礎(chǔ)。流程圖主要完成前面板上各個部分的相應(yīng)功能,包括執(zhí)行MATLABScript操作和While Loop操作。
評論