徐桂林,黃 彥,孫振庭
(1.長春氣象儀器研究所有限責任公司,長春 130102;2.長春希邁氣象科技股份有限公司,長春 130102)
隨著電子技術、處理器技術和現(xiàn)場總線技術的發(fā)展,在工業(yè)現(xiàn)場的信號采集處理中,以微處理器為核心的智能傳感器應用越來越廣泛。這類傳感器不僅可以對現(xiàn)場量進行采集與表征轉(zhuǎn)換,還具有很強的數(shù)據(jù)處理和通信能力,使在前端對一次元件進行參數(shù)變換和非線性校正的構想成為可能[1]。
目前,對傳感器非線性校正的方法有很多[2,3]。最常用的是查表法(分段線性插值方法),在量程內(nèi)將曲線分成很多段,每一段用直線代替曲線,分段直線近似逼近曲線,分的段數(shù)越多,近似精度越高。但同時占用的存儲空間也越大,查表時間隨之增長,因此該方法實時性不好,對于精度要求高的場合適用性較差。曲線擬合法是用n次多項式擬合傳感器反非線性曲線,多項式系數(shù)一般采用LS算法及各種改進的LS算法確定,求解過程可能因噪聲污染而無法求解出正確值[4,5]?;谏窠?jīng)網(wǎng)絡的非線性補償方法是近年發(fā)展起來的新型算法,利用傳感器檢測數(shù)據(jù)或標準分度表訓練BP神經(jīng)網(wǎng)絡,得到傳感器逆模型,進而使校正模型系統(tǒng)線性化,得到的網(wǎng)絡可按一般線性特性處理,具有較好的適應性和較高的精度,但BP網(wǎng)絡也存在收斂速度慢、隱層節(jié)點數(shù)選擇困難和容易陷入局部最小等問題[6]。
智能傳感器的一般結構如圖1所示。主要由3部分組成,一次敏感元件完成待采集物理量的電信號表征,信號調(diào)理電路對信號進行采集、濾波、放大及整形,A/D轉(zhuǎn)換電路完成數(shù)字量轉(zhuǎn)換,微處理器對A/D采集的數(shù)字信號進行數(shù)字濾波、非線性處理和標度變換,總線接口完成與上位計算機通信或其他網(wǎng)絡節(jié)點的信號傳輸[7]。由于一般的敏感元件均具有非線性特性,加之調(diào)理電路和預處理電路引入的誤差,會導致傳感器輸入-輸出呈現(xiàn)非線性,因此需要進行非線性校正。
圖1 智能傳感器結構原理
傳感器的非線性校正模型如圖2所示。設被測量x經(jīng)由一次敏感元件和A/D轉(zhuǎn)換器后給微處理器的輸出為u,可以描述為u=f(x),也可以認為輸入輸出是一個函數(shù)關系。理想情況下u=kx,即輸入輸出為線性關系,但由于敏感元件的非線性特性,f(x)一般是一個非線性函數(shù)[8]。為此,可以在傳感器和A/D轉(zhuǎn)換后串聯(lián)一個校正環(huán)節(jié)F,若校正環(huán)節(jié)的函數(shù)F具有與f相反的變換特性,即F=f-1,則:
圖2 非線性校正模型
y=F(u)=F[f(x)]=f-1[f(x)]=x
(1)
校正后的輸出y與x成理想的線性關系。對敏感元件的非線性校正就是求取反非線性函數(shù)F。
通常F可近似表示為多項式形式:
F(u)=a0+a1u+a2u2+…+anun
(2)
式中:n為多項式階數(shù);a0…an為多項式系數(shù)。
函數(shù)鏈神經(jīng)網(wǎng)絡是一種引入非線性擴展函數(shù)的單層網(wǎng)絡,通過對輸入的函數(shù)進行擴展,將多層網(wǎng)絡壓縮成單層網(wǎng)絡,使其具有很好的非線性映射能力,可避免BP網(wǎng)絡陷于局部最小的問題[9,10]。對于反非線性函數(shù)F待定系數(shù)a0…an的求取可采用構造函數(shù)鏈神經(jīng)網(wǎng)絡的方法來實現(xiàn),函數(shù)鏈神經(jīng)網(wǎng)絡的結構如圖3所示。它能對輸入的1組樣本值進行學習,用學習迭代的方法對權值進行修正,通過多次學習,直至神經(jīng)網(wǎng)絡的輸出值的誤差均方值達到一個足夠小的值,此時學習結束。最后得到的權值即為要擬合的多項式的待定系數(shù)。
圖3 函數(shù)鏈神經(jīng)網(wǎng)絡
在具體應用時首先要進行傳感器標定試驗,記錄下標定點的傳感器數(shù)據(jù)及A/D轉(zhuǎn)換結果,在微處理器的軟件中實現(xiàn)函數(shù)鏈神經(jīng)網(wǎng)絡算法,把A/D轉(zhuǎn)換結果的標定值作為輸入值,傳感器所測的物理量為輸出值,經(jīng)過神經(jīng)網(wǎng)絡的學習得到要擬合曲線的系數(shù),從而生成反非線性曲線方程,使用時通過反非線性曲線方程補償傳感器非線性。
函數(shù)鏈神經(jīng)網(wǎng)絡非線性校正步驟如下:
1)敏感元件及調(diào)理電路試驗標定。在標準試驗環(huán)境下,確定標定點數(shù)目N,通過試驗標定實驗數(shù)據(jù)得到N個標定點的輸入、輸出值。
2)列出反非線性特性擬合方程:
(3)
一般情況下,三階多項式已能滿足精度要求,取n=3,則
(4)
式中:a0~a3為待定系數(shù)。
(5)
使估計誤差[ei(k)]的均方值足夠小,估計誤差為:
(6)
權值調(diào)節(jié)式為:
(7)
當權值調(diào)節(jié)趨于穩(wěn)定時,所得權值為:
Wj:W0,W1,W2,W3
即為多項式待定常數(shù)a0~a3:
a0=W0,a1=W1,a2=W2,a3=W3
以氣象科學中廣泛使用的Pt100鉑電阻溫敏元件為例進行實驗。0~200 ℃時Pt100熱電阻的標定值如表1所示,其輸入-輸出特性存在著明顯的非線性。在氣象參數(shù)測量范圍內(nèi)可以使用式(8)近似描述其輸入輸出特性:
表1 Pt100鉑電阻在0~200 ℃時的標定值
yi=W0+W1(x/xmax)+W2(x/xmax)2
(8)
根據(jù)上述校正方法,將Pt100電阻值的輸出作為神經(jīng)網(wǎng)絡的輸入xi,溫度值作為輸出yi,xmax取整數(shù)200,ui=xi/200。取n=2,賦連接權W0,W1,W2的初始值為(-1,1)之間的隨機數(shù),將Pt100的輸入輸出數(shù)據(jù)按順序加入神經(jīng)網(wǎng)絡,用學習迭代方法對權值進行修正,其中學習因子η取為變數(shù)(0.95~0.4)。迭代運算后得到:W0=-244.8367,W1=467.7580,W2=43.5683。則Pt100鉑電阻的反非線性函數(shù)為:
yi=-244.8367+2.33879x+0.001089x2
由反非線性曲線計算得到的溫度值如表2所示??梢姅M合值與標定值非常接近,最大相對誤差不超過0.1%。
表2 計算值與標定值比較表 ℃
對于具有微處理器的智能傳感器,可以根據(jù)文章提出的方法進行傳感器出廠前的校準標定,以提高系統(tǒng)精度。如果考慮將一次敏感元件和前向數(shù)據(jù)采集通道作為一個整體,可以實現(xiàn)傳感器自標定,也可以采用離線方式單獨標定敏感元件。在Pt100熱電阻實驗中,假定階數(shù)為3,忽略了高次項,可能對其他類型的一次敏感器件擬合精度不夠,可以通過適當增加階數(shù)來提高精度。該方法的局限性在于靜態(tài)求取擬合參數(shù),沒有考慮傳感器工作過程中的溫漂和時漂影響,進一步的改進方向是在考慮傳感器運行條件的前提下,實現(xiàn)在線非線性校正手段。