在目前種類繁多的CO2傳感器中,紅外光學式因為其體積小、壽命長、反應快、精度高等優點,已經成為CO2氣體分析最常用的方法,但因環境總壓的影響一直是這種分析方法中難以解決的主要問題之一,所以,它的適用范圍受到了很大的限制。在實際應用中,此類傳感器通常都用在標準大氣壓環境中,其環境總壓基本保持恒定,不存在受總壓影響的情況。目前,一些精度較高的紅外CO2傳感器都通過采用壓力補償措施來保證分析測量精度,其中,比較簡單常見的一種數學方法是利用最小二乘法對不同分壓值的CO2氣體由于環境總壓變化引起的測量誤差進行直線、指數或者多項式擬合。這種補償算法在環境總壓小范圍變化的應用中取得了良好的效果,但誤差會隨著測量的CO2氣體分壓值的增高而變大,并且,當環境總壓變化范圍較大后,補償的效果將會很差。
本文提出構建徑向基函數(radial basis function,RBF)神經網絡模型,將其作為壓力補償方法應用于紅外CO2傳感器來預測CO2氣體分壓值,期望能有效地解決在環境總壓大范圍變化情況下精度差的問題。
1 紅外CO2傳感器結構與原理
紅外CO2傳感器的設計利用紅外吸收原理,其吸收關系服從Lambert-beer定律
式中,I0為入射光強;I為出射光強;c為單位面積上分子數的線密度;l為紅外光透射的空間長度;u為吸收系數,它與環境壓力、溫度、氣體的種類、入射光的光譜波長等因素有關系。
本文實驗所用紅外CO2傳感器為單光束雙波長結構,如圖1所示。選用1個紅外光源,2只探測器,將光源和探測器分別安裝在一只采樣氣室的兩端。其中,一只探測器前安裝能透過4.26μm波長紅外光的濾光片,CO2氣體可吸收4.26μm波長的紅外光,因此,可用于探測CO2信號U1,形成測量光路;另一只探測器前安裝透過4μm波長紅外光的濾光片,CO2氣體不吸收4μm波長的紅外光,因此,可作為探測CO2信號的參比信號U0,形成參比光路,測量信號與參比信號相除可得一比值
式中k為光能轉換為電信號的系數;△r為環境干擾信號,由式(2)可以看出:有效信號只剩下與氣體吸收能力有關的參量,與傳感器系統的部件性能無關,這樣,就可以消除光源輻射強度變化、光學元件污染以及探測器漂移等影響,本文將用這個比值作為傳感器的輸出信號。另外,傳感器中內置熱敏電阻器,用于輸出溫度信號,環境壓力通過壓力傳感器測得。對傳感器進行的壓力補償分析即是研究在輸出溫度信號恒定的前提下,傳感器輸出的比值信號在環境總壓取不同值時與要測量的CO2氣體分壓值之間的映射關系。
2 RBF網絡模型設計
2.1 RBF神經網絡理論
RBF網絡屬于前饋式網絡(feed forward network),通過系統輸入與輸出所組成的資料來建立分析模型,并借由收斂法則來達成學習之目的。它是一種局部逼近網絡,能以任意精度逼近任一連續函數,其結構如圖2所示。RBF網絡由三層組成,隱含層節點由高斯激活函數構成,隱含層第j個節點的輸出可表示為
式(4)針對紅外CO2傳感器壓力補償模型而言,CO2氣體分壓值與傳感器輸出比值信號存在對應關系,在加入總壓影響這個因素后,實際上就形成了一個二對一的結構,所以,這里輸入樣本表示為x=(x1,x2)T,其中,x1表示傳感器輸出比值信號,x2表示總壓值,L是輸出層節點數,取1,表示需預測的CO2氣體分壓值,wkj,cj,σj為網絡參數,m是隱含層節點數,在之后網絡訓練的過程中通過實驗法確定為14
2.2 樣本數據獲取與預處理
在選定了網絡的輸入和輸出模式后,需獲取一定量的覆蓋較全面的樣本數據來對網絡進行訓練和測試。獲取過程采用固定CO2分壓逐點加總壓的方法進行,總壓范圍為30~110 kPa,每5 kPa一個點,全部實驗是在恒定溫度(27℃)下進行。經過實驗,可獲得187組樣本數據,分別選取各CO2分壓值點中的其中一個壓力點的數據組成測試樣本,共11組,剩下的176組數據組成訓練樣本。為了使這些數據對于網絡更容易訓練和學習,需進行尺度變化將它們變化到[0,1]區間內。
2.3 網絡算法
根據尺度變化后的樣本數據,網絡算法可分以下幾步進行:
1)選取網絡的中心向量cj和標準化常數σj。這里,采用k-均值聚類法求解,它能準確計算出這2個參數的最佳初始值,與通常采用的設初始值為隨機值的方法相比,這種算法非常有效地加快了網絡的收斂速度。
2)求解網絡模型的初始權值wkj。隱含層節點有14個,在聚類法求出初始中心向量和標準化常數后,對于176組訓練樣本,可以推論輸出矩陣為
通過式(5)求出網絡的最佳初始權值,對加快網絡收斂速度也起了相當大的作用。
3)經過(1),(2)步的求解,網絡模型初始參數已確定,在網絡傳遞過程中,利用最陡坡降法通過誤差函數來反饋修正隱含層和輸出層的參數,誤差函數用系統總誤差表示為
式中p為訓練樣本數,取176;ti,yi分別為在樣本i的作用下輸出節點的期望輸出和實際輸出。第n+1次訓練后的系數相對于第n次訓練后的系數修正公式為
式中n為訓練次數;η為學習速率,取值為0.001;Z=wj,cj,σj。
4)經過不斷正向傳播,反向修正,求得網絡的最終參數,再用測試樣本數據檢驗網絡性能。
2.4網絡模型結果分析
利用MATLAB工具強大的數值矩陣運算和繪圖功能,整個網絡算法是通過編寫M文件進行編譯完成。在用測試樣本數據檢驗時,保持網絡參數不變,正向運行該網絡,每訓練一次,即用測試數據測試一遍,其均方誤差隨訓練次數變化的曲線如圖3。
從誤差曲線可以看出:在用測試數據檢驗時,均方誤差開始減小,隨著訓練次數的增加慢慢趨于平衡。選擇訓練次數的原則是:選擇盡量少的訓練次數以取得盡量小的測試均方誤差,使網絡具備很好的泛化能力。這里,取訓練次數為50 000次,訓練時間約為4 min,訓練均方誤差可到0.028 1,測試均方誤差可達到0.001 527。網絡的最佳結構取14個隱含層節點,這里,通過實驗法比較取不同隱層節點數后的均方誤差來確定。
圖4為網絡模型對訓練樣本的預測值與實際值的比較,圖5為網絡模型對測試樣本的預測值與實際值的比較。
由圖4看出:網絡模型對訓練樣本的預測值同實際輸出基本相符,平均誤差為0.038 kPa,精度可達1.26%,誤差最大值為0.12 kPa;由圖5看出,網絡模型對未經訓練的測試樣本的也可給出準確的預測值,這個預測值與實際輸出值的平均誤差為0.035 kPa,精度可達1.18%,誤差最大值為0.079 kPa;測試數據結果分析證明:該網絡模型具有非常好的泛化能力,而且,解決了CO2氣體分壓值較高時精度差的問題。
3 結論
綜合以上分析與比較可以看出:在環境壓力變化范圍較大的情況下,將神經網絡應用于構建壓力補償模型,通過采集傳感器的輸出比值信號和壓力信號來組成樣本并進行分類和預處理,然后,用基于k-均值聚類和最陡坡降法的RBF網絡依據樣本來建立輸入變量和輸出變量之間的映射關系,以預測被測氣體所含CO2氣體分壓值。該網絡模型使用實驗法確定網絡的最佳結構,在網絡初始參數選取上做了較細的處理,故具有很快的收斂速度。實驗結果表明:這種算法模型收到了良好的效果。可以預見,神經網絡將發展成為預測傳感器在復雜環境中的輸出信號的一種可行的有效的工具。