基于神經網絡技術的虛擬傳感器溫度補償系統
1.2 樣本數據歸一化處理
神經網絡所處理的數據應是在-1和+1間的歸一化數據,因此采用如下公式進行傳感器輸出數據的歸一化處理:

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