梁 杰,晏 天,李慶超
(國(guó)家海洋局 南海標(biāo)準(zhǔn)計(jì)量中心,廣州 510000)
基于L-M算法的反向傳播網(wǎng)絡(luò)的濕度傳感器輸出誤差補(bǔ)償研究
梁 杰,晏 天,李慶超
(國(guó)家海洋局 南海標(biāo)準(zhǔn)計(jì)量中心,廣州 510000)
針對(duì)濕度傳感器的輸出非線性問(wèn)題,提出了基于L-M算法建立BP神經(jīng)網(wǎng)絡(luò)進(jìn)行補(bǔ)償校正,實(shí)現(xiàn)電阻型濕度傳感器的輸入與輸出非線性補(bǔ)償,并與共軛梯度算法、擬牛頓算法所建立的神經(jīng)網(wǎng)路模型進(jìn)行對(duì)比,重點(diǎn)比較了模型迭代性能、標(biāo)準(zhǔn)偏差;最后發(fā)現(xiàn)當(dāng)神經(jīng)網(wǎng)絡(luò)用L-M算法進(jìn)行訓(xùn)練模擬時(shí)在迭代性能、標(biāo)準(zhǔn)偏差等方面具有更優(yōu)異的表現(xiàn),更適合濕度傳感器的非線性特性的補(bǔ)償校正。
濕度傳感器;誤差補(bǔ)償;反向傳播網(wǎng)絡(luò);共軛梯度算法;擬牛頓算法;L-M算法
相對(duì)濕度是空氣中的水蒸汽量與使空氣在當(dāng)前溫度下飽和所需的水蒸氣量之比。相對(duì)濕度傳感器是目前使用最廣的測(cè)量濕度的儀器。濕度傳感器可用于通風(fēng)和空調(diào)系統(tǒng)、醫(yī)療設(shè)備、農(nóng)業(yè)、供暖、汽車和半導(dǎo)體、建筑物生活環(huán)境智能控制等領(lǐng)域。對(duì)于人體,環(huán)境相對(duì)濕度應(yīng)在40%~70%RH之間,低于這個(gè)范圍人體會(huì)感覺(jué)干燥,高于這個(gè)范圍則會(huì)感覺(jué)潮濕,低于或高于此范圍的相對(duì)濕度會(huì)導(dǎo)致人體不適以及諸多健康問(wèn)題,例如唇裂,鼻出血和喉嚨干燥。 因此,濕度傳感器在日常生活中非常重要。
濕度傳感器是濕度測(cè)量?jī)x器的核心部件,由于濕度傳感器是由濕敏電阻或濕敏電容所構(gòu)成,隨著使用時(shí)間的增加其部件會(huì)自然產(chǎn)生老化,原有的出廠時(shí)的溫度補(bǔ)償不再適用,并且出廠時(shí)的濕度傳感器輸出補(bǔ)償校正是對(duì)幾個(gè)固定點(diǎn)經(jīng)行修正,但是在實(shí)際使用中往往需要對(duì)濕度進(jìn)行連續(xù)的測(cè)量,無(wú)法對(duì)其輸出值的非線性誤差進(jìn)行補(bǔ)償[1-3]。介于目前傳統(tǒng)的濕度傳感器校正的弊端,本文提出了一種新型的補(bǔ)償校正方案,即利用神經(jīng)網(wǎng)絡(luò)的逼近和預(yù)測(cè)功能對(duì)其進(jìn)行非線性誤差補(bǔ)償。通過(guò)對(duì)比傳統(tǒng)的共軛梯度算法、擬牛頓算法和L-M算法篩選出最適合的一種算法作為補(bǔ)償模型的建模基礎(chǔ),以更好的實(shí)現(xiàn)非線性誤差補(bǔ)償。
本文選用Honeywell公司的HIH3602-A型濕度傳感器作為研究對(duì)象,其核心部件是陶瓷濕敏電阻,此類電阻的阻值不僅受濕度的影響,更受傳感器所處的環(huán)境溫度影響,隨著環(huán)境溫度改變和使用時(shí)間增加,其阻值會(huì)產(chǎn)生漂移導(dǎo)致測(cè)量準(zhǔn)確度隨時(shí)間下降[2-4]。
傳統(tǒng)的濕度傳感器補(bǔ)償方式分為兩種,第一種是硬件補(bǔ)償,硬件補(bǔ)償是在傳感器的輸出端采用硬件電路來(lái)減小溫度、自然老化等環(huán)境因素的影響,但是硬件補(bǔ)償不能完全消除這些因素導(dǎo)致的測(cè)量值的偏差,而且新的硬件電路的加入增加了系統(tǒng)的復(fù)雜性導(dǎo)致穩(wěn)定性變差,此外,補(bǔ)償電路也面臨著與傳感器本身相同的問(wèn)題,即電路老化,而且硬件補(bǔ)償結(jié)構(gòu)固定,采用后很難對(duì)其進(jìn)行改造;第二種是軟件補(bǔ)償,軟件補(bǔ)償是在傳感器向顯示終端輸出測(cè)量值時(shí)對(duì)其讀數(shù)進(jìn)行軟件修正,這對(duì)傳感器自身的結(jié)構(gòu)無(wú)任何影響,而且軟件補(bǔ)償可以根據(jù)實(shí)際情況調(diào)節(jié)參數(shù),移植性和可重復(fù)性是硬件補(bǔ)償無(wú)法相比的。
目前,傳感器輸出軟件補(bǔ)償最常采用的方法是最小二乘法擬合修正曲線,即實(shí)際測(cè)量值與標(biāo)準(zhǔn)值進(jìn)行擬合,形成新的輸出曲線,最后得出新的修正因子,但是最小二乘法只能在線性輸出中應(yīng)用,在非線性輸出中曲線階數(shù)過(guò)小無(wú)法反映實(shí)際輸出,過(guò)大則會(huì)產(chǎn)生過(guò)擬合,對(duì)后面的測(cè)量值預(yù)測(cè)性變差,因此,最小二乘法擬合修正曲線在非線性輸出修正中很少采用;神經(jīng)網(wǎng)絡(luò)修正技術(shù)在處理非線性復(fù)雜系統(tǒng)的修正補(bǔ)償具有獨(dú)特優(yōu)勢(shì),神經(jīng)網(wǎng)絡(luò)是將大量的訓(xùn)練樣本輸入,對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而調(diào)整每個(gè)神經(jīng)元的權(quán)值和閾值,使輸出值和標(biāo)準(zhǔn)值逐漸逼近,直至滿足準(zhǔn)確度要求,神經(jīng)網(wǎng)絡(luò)在處理非線性問(wèn)題時(shí)是其他方法無(wú)法比擬的。在本文中采用神經(jīng)網(wǎng)絡(luò)的方法對(duì)傳感器輸出進(jìn)行補(bǔ)償,補(bǔ)償原理模型由傳感器測(cè)量模型和神經(jīng)網(wǎng)絡(luò)模型兩部分組成。傳感器測(cè)量模型部分主要是傳感器感知外部的物理參量,對(duì)感知的物理參量通過(guò)電壓、電流等方式進(jìn)行輸出,并通過(guò)AD轉(zhuǎn)換對(duì)其進(jìn)行數(shù)值化;神經(jīng)網(wǎng)絡(luò)補(bǔ)償部分主要是在PC等終端運(yùn)行的補(bǔ)償軟件,功能是對(duì)獲得的經(jīng)過(guò)數(shù)值化的物理參量進(jìn)行在線修正,以彌補(bǔ)硬件測(cè)量電路的不足。
圖1 傳感器溫度補(bǔ)償原理圖
根據(jù)實(shí)驗(yàn)數(shù)據(jù),溫度對(duì)濕度傳感器的輸出特性的影響是非線性的,在此,我們利用BP神經(jīng)網(wǎng)絡(luò)的逼近特性對(duì)非線性函數(shù)關(guān)系不斷進(jìn)行映射,并以此思路建立逆向的數(shù)學(xué)模型,確保神經(jīng)網(wǎng)絡(luò)的輸出誤差值在一定限度內(nèi),使?jié)穸葌鞲衅鞯妮敵鰸M足實(shí)際要求[5-6]。
濕敏傳感器測(cè)濕過(guò)程中受到溫度的影響可定義為函數(shù)(1),
S=f(Sb,T)
(1)
T為溫度參數(shù);S為傳感器輸出;Sb為濕度參數(shù)。
逆模型函數(shù)為:
Sb=kf-1(S,T)
(2)
其中:k為常數(shù)(由于輸出補(bǔ)償校正是在系統(tǒng)放大增益后執(zhí)行的,所以k為常數(shù)1)。這里S和T為輸出Sb的單值函數(shù),Sb為濕度傳感器的期望輸出量,即標(biāo)準(zhǔn)量,T為濕度傳感器的濕敏元件的環(huán)境參量。在網(wǎng)絡(luò)中,將Sb和T作為網(wǎng)絡(luò)的輸入端,S為網(wǎng)絡(luò)的輸出端,通過(guò)自適應(yīng)網(wǎng)絡(luò)處理后的輸出S就是消除了溫度干擾量后的目標(biāo)參量。根據(jù)實(shí)驗(yàn)所得的實(shí)驗(yàn)數(shù)據(jù),進(jìn)行網(wǎng)絡(luò)訓(xùn)練,最后得出的輸出量S經(jīng)過(guò)函數(shù)擬合,擬合后得出的曲線就是修正后的理想輸出。
BP網(wǎng)絡(luò)其逼近能力對(duì)濕度傳感器的輸出和輸入關(guān)系的逆向建??善鸬疥P(guān)鍵作用。BP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱層以及輸出層等3層神經(jīng)元構(gòu)成,輸入層是由多個(gè)輸入節(jié)點(diǎn)構(gòu)成是整個(gè)神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入端,隱層是對(duì)數(shù)據(jù)輸入端輸入的數(shù)據(jù)進(jìn)行處理,輸出層是對(duì)隱層處理過(guò)的數(shù)據(jù)進(jìn)行輸出,在輸入層每個(gè)輸入節(jié)點(diǎn)通過(guò)加權(quán)的方式進(jìn)行求和,最后與隱層的閾值相比較,如果二者的誤差大于預(yù)先設(shè)定的目標(biāo),輸入層調(diào)整每個(gè)節(jié)點(diǎn)的權(quán)值繼續(xù)進(jìn)行計(jì)算,直到加權(quán)和與閾值的誤差小于預(yù)先設(shè)定,則網(wǎng)絡(luò)的訓(xùn)練目標(biāo)達(dá)成,輸出層神經(jīng)元節(jié)點(diǎn)的函數(shù)模型為:
(3)
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP神經(jīng)網(wǎng)絡(luò)是按照梯度的逆方向改變偏差和權(quán)值,即沿著最快減小函數(shù)誤差的方向,迭代公式為:
xk+1=xk-akεk
(4)
式中,xk+1為網(wǎng)絡(luò)前向運(yùn)算中迭代產(chǎn)生的偏差和權(quán)值,xk為網(wǎng)絡(luò)前向運(yùn)算當(dāng)前的偏差和權(quán)值,εk為隱層函數(shù)的梯度,ak為神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效率。xk隨著訓(xùn)練迭代次數(shù)的增加是不斷變化的,變化的趨勢(shì)是不斷變小,向預(yù)設(shè)值收斂,εk是控制網(wǎng)絡(luò)逼近的方向,ak是控制逼近的速度,當(dāng)ak過(guò)大時(shí)會(huì)導(dǎo)致在收斂點(diǎn)來(lái)回震蕩,而不能完成收斂過(guò)程,過(guò)小則導(dǎo)致出現(xiàn)極值,魯棒性較差,抗干擾能力弱,所以在進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí)合適的ak取值對(duì)整個(gè)網(wǎng)絡(luò)的性能優(yōu)劣非常重要,一般在(0.1~0.5)之間,BP神經(jīng)網(wǎng)絡(luò)的前向傳播的計(jì)算公式為(5):
(5)
網(wǎng)絡(luò)輸出公式為:
(6)
因此誤差公式為:
(7)
L-M算法是一種新型的算法,它主要是依靠標(biāo)準(zhǔn)數(shù)值優(yōu)化技術(shù)來(lái)解決實(shí)際問(wèn)題,與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法相比利,它拋棄了均方誤差進(jìn)而用平方誤差進(jìn)行計(jì)算,他的訓(xùn)練和收斂速度快于其他算法,L-M算法在解決非線性問(wèn)題上效率較高[7-10]。其平方誤差公式為:
(8)
E為網(wǎng)絡(luò)輸出誤差的平方和,okj為網(wǎng)絡(luò)輸出層的第k個(gè)神經(jīng)元節(jié)點(diǎn)的實(shí)際輸出,dkj為補(bǔ)償網(wǎng)絡(luò)的期望輸出值。
利用BP網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)濕度傳感器的非線性補(bǔ)償,需要大量的學(xué)習(xí)訓(xùn)練樣本,訓(xùn)練樣本的獲取是通過(guò)改變溫度T,在不同
表1 神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本
的標(biāo)準(zhǔn)濕度下測(cè)量實(shí)際濕度輸出而得到,以此樣本集作為神經(jīng)網(wǎng)絡(luò)的輸入和輸出,最后經(jīng)過(guò)上述樣本集訓(xùn)練的神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)濕度傳感器非線性補(bǔ)償。
本文中的訓(xùn)練樣本是通過(guò)具體實(shí)驗(yàn)獲得的,訓(xùn)練樣本是在以下條件測(cè)量的:溫濕環(huán)境是通過(guò)富奇調(diào)溫調(diào)濕箱控制,相對(duì)濕度調(diào)節(jié)范圍為(10~100)%,溫度調(diào)節(jié)范圍(-70~60)℃,輸出信號(hào)是通過(guò)JJQ1型信號(hào)模擬器讀取,標(biāo)準(zhǔn)濕度傳感器為HMP45D(該儀器經(jīng)過(guò)社會(huì)一級(jí)標(biāo)準(zhǔn)校準(zhǔn))。為了減小隨機(jī)誤差,每個(gè)測(cè)量點(diǎn)每隔5分鐘讀取一次數(shù)據(jù),共讀取10次,10次讀取數(shù)據(jù)的平均值作為該點(diǎn)的未修正值,共測(cè)得50組未修正輸出值,將這50組數(shù)據(jù)分為三類,第一類共40組,作為訓(xùn)練神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本,來(lái)對(duì)新的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;第二類共5組,這5組的溫度值是固定的,濕度值是不同的,用來(lái)驗(yàn)證神經(jīng)網(wǎng)絡(luò)在固定溫度下不同濕度值的補(bǔ)償校正效果;第三類共5組,在這5組中濕度是固定的,溫度可變,用來(lái)驗(yàn)證網(wǎng)絡(luò)在溫度變化的情況下對(duì)濕度的補(bǔ)償效果。
表1是實(shí)驗(yàn)得到的訓(xùn)練樣本集,其中T為實(shí)驗(yàn)溫度,Sb為標(biāo)準(zhǔn)濕度,由經(jīng)過(guò)校準(zhǔn)的標(biāo)準(zhǔn)濕度計(jì)測(cè)得,S為待校準(zhǔn)濕度傳感器實(shí)測(cè)濕度,訓(xùn)練過(guò)程中,樣本選取按照[TSSb]進(jìn)行,輸入訓(xùn)練集為[TS],用來(lái)作為神經(jīng)網(wǎng)絡(luò)的輸入層的輸入數(shù)據(jù),輸出訓(xùn)練集為[Sb]。
根據(jù)輸入和輸出數(shù)據(jù)特性,為了便于對(duì)原始數(shù)據(jù)訓(xùn)練,加快其收斂速度,需要在輸入網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)訓(xùn)練前進(jìn)行歸一化處理,隱含層選取Tansig函數(shù)作為傳遞函數(shù),輸出選取線性激勵(lì)函數(shù)Purelin,隱層節(jié)點(diǎn)個(gè)的計(jì)算沒(méi)有固定的計(jì)算公式,可以根據(jù)經(jīng)驗(yàn)公式(10)進(jìn)行計(jì)算得出。
(10)
n為網(wǎng)絡(luò)輸入層節(jié)點(diǎn)個(gè)數(shù),m為網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù),l為網(wǎng)絡(luò)輸出層節(jié)點(diǎn)個(gè)數(shù),a為可以根據(jù)情況調(diào)節(jié)的常數(shù)(1~10)。經(jīng)過(guò)對(duì)a在不同的取值情況下的網(wǎng)絡(luò)訓(xùn)練,隱層節(jié)點(diǎn)的個(gè)數(shù)設(shè)為6時(shí)網(wǎng)絡(luò)收斂和誤差性能最好。最終形成的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為輸入層2個(gè)節(jié)點(diǎn),隱層6個(gè)節(jié)點(diǎn),輸出層1個(gè)節(jié)點(diǎn),網(wǎng)絡(luò)結(jié)構(gòu)為net=(2,6,1)。實(shí)驗(yàn)中采用40組實(shí)驗(yàn)獲得的數(shù)據(jù)作為訓(xùn)練樣本,溫度為51.21℃的5個(gè)實(shí)驗(yàn)樣本和標(biāo)準(zhǔn)濕度為96%RH的5個(gè)實(shí)驗(yàn)樣本作為測(cè)試驗(yàn)證樣本,網(wǎng)絡(luò)經(jīng)過(guò)訓(xùn)練后使用以上驗(yàn)證樣本對(duì)其進(jìn)行性能分析,并做誤差統(tǒng)計(jì)。網(wǎng)絡(luò)訓(xùn)練的具體步驟如下:
1)對(duì)神經(jīng)網(wǎng)的各個(gè)節(jié)點(diǎn)的閾值和權(quán)值進(jìn)行初始化,選取實(shí)驗(yàn)得到的數(shù)據(jù)作為輸入的樣本;
2)對(duì)40組用于訓(xùn)練網(wǎng)路的樣本進(jìn)行歸一化處理,經(jīng)過(guò)歸一化后的值分布于(-1,1)范圍內(nèi);
3)按照數(shù)據(jù)獲得的順序,輸入經(jīng)過(guò)歸一化處理的40組樣本;
4)根據(jù)需要,預(yù)先初始化期望誤差值,matlab調(diào)用nntool網(wǎng)絡(luò)工具箱對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并自動(dòng)計(jì)算神經(jīng)網(wǎng)絡(luò)模型的輸出標(biāo)準(zhǔn)偏差值,如果達(dá)到預(yù)先設(shè)定值,網(wǎng)絡(luò)停止迭代,網(wǎng)絡(luò)訓(xùn)練完成。
在此我們使用matlab的網(wǎng)絡(luò)工具箱nntool對(duì)設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中分別改變隱層的傳遞函數(shù)來(lái)對(duì)比三個(gè)算法在訓(xùn)練速度和訓(xùn)練準(zhǔn)確度上的優(yōu)劣,最后確定使用那種算法更適合對(duì)傳感器進(jìn)行修正補(bǔ)償。補(bǔ)償模型以L-M算法為基礎(chǔ),并與傳統(tǒng)的用于函數(shù)擬合的共軛梯度算法、擬牛頓算法經(jīng)行比較,分別用以上三種方法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后根據(jù)結(jié)果對(duì)各算法的性能進(jìn)行分析,以確定那種算法被選用。
1)共軛梯度算法:在本算法中,由于共軛梯度算法的梯度值選擇過(guò)大,導(dǎo)致訓(xùn)練提前結(jié)束,并未達(dá)到預(yù)先設(shè)定的誤差值,當(dāng)然可以通過(guò)減小梯度值來(lái)使其能夠達(dá)到預(yù)定的準(zhǔn)確度,但是其收斂速度會(huì)大大增加,圖3為matlab使用網(wǎng)絡(luò)工具箱訓(xùn)練的結(jié)果,訓(xùn)練次數(shù)為3300次,mse為5.0721e-07,仿真結(jié)果如圖3所示。
圖3 共軛梯度算法誤差性能分析
2)擬牛頓算法:在這個(gè)算法中網(wǎng)絡(luò)精度達(dá)到了預(yù)先設(shè)定值,但是在訓(xùn)練過(guò)程中,波動(dòng)較大,容易在收斂過(guò)程中產(chǎn)生過(guò)擬合,導(dǎo)致在設(shè)定點(diǎn)來(lái)回波動(dòng),無(wú)法精確計(jì)算其穩(wěn)定性,最后在反演時(shí)導(dǎo)致修正后的測(cè)量值不確定度較大,圖4是其訓(xùn)練后的結(jié)果,訓(xùn)練次數(shù)158次,mse為9.8632e-08, 仿真結(jié)果如圖4所示。
圖4 擬牛頓算法誤差性能分析
3)L-M算法:本算法無(wú)論在收斂速度還是精度都優(yōu)于前兩種算法,而且其波動(dòng)較小,可以精確的收斂在預(yù)設(shè)點(diǎn),最后經(jīng)過(guò)反演出的實(shí)際測(cè)量值不確定度較小,精度較高。訓(xùn)練次數(shù)為34次,mse為9.7577e-08,仿真結(jié)果如圖5所示。
圖5 L-M算法誤差性能分析
綜合以上,經(jīng)過(guò)仿真對(duì)比,L-M算法在收斂速度和輸出誤差性能上優(yōu)于共軛梯度算法和擬牛頓算法,他不但在收斂速度和收斂精度上占優(yōu),更重要的是在收斂過(guò)程中其波動(dòng)性較小,魯棒性較好,有較強(qiáng)的抗干擾能力,適合作為傳感器補(bǔ)償?shù)乃惴āR虼?,濕度傳感器的補(bǔ)償校正選用L-M算法作為網(wǎng)絡(luò)模型的建模基礎(chǔ)。
由于濕度傳感器內(nèi)的濕敏電阻不但對(duì)濕度敏感,溫度對(duì)其阻值也會(huì)有影響,所以要對(duì)其分別經(jīng)行實(shí)驗(yàn)和分析,濕度傳感器輸出補(bǔ)償校正分以下兩種情況:
1)由實(shí)驗(yàn)數(shù)據(jù)可知,在溫度固定時(shí)隨著濕度增加,濕度傳感器的輸出值也增加,但是測(cè)量值與標(biāo)準(zhǔn)濕度計(jì)的測(cè)量值誤差也在不斷增大,因此其輸出誤差呈現(xiàn)非線性。在實(shí)際使用中有必要對(duì)需要的某一個(gè)固定點(diǎn)溫度的濕度進(jìn)行修正補(bǔ)償,在試驗(yàn)中L-M算法進(jìn)過(guò)訓(xùn)練達(dá)到預(yù)設(shè)的預(yù)測(cè)輸出的最小值,選擇某一固定溫度點(diǎn)(以51.21℃為例)的5組數(shù)據(jù)經(jīng)行驗(yàn)證,把這5組數(shù)據(jù)經(jīng)過(guò)歸一化處理后輸入神經(jīng)網(wǎng)絡(luò)對(duì)輸出進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果即為補(bǔ)償后的輸出,預(yù)測(cè)輸出結(jié)果見(jiàn)表2和圖6。
表2 51.21℃時(shí)5組不同濕度點(diǎn)測(cè)試樣本非線性補(bǔ)償結(jié)果
圖6 51.21℃時(shí)5組不同濕度點(diǎn)測(cè)試樣本相對(duì)誤差
對(duì)表2進(jìn)行分析可知,在同一固定溫度51.21℃下,濕度傳感器未進(jìn)行輸出補(bǔ)償時(shí)最大相對(duì)誤差為-15.4%,無(wú)法滿足國(guó)家檢定規(guī)程±5%的標(biāo)準(zhǔn)要求,而經(jīng)本文方法補(bǔ)償后,最大相對(duì)誤差為1.4%,很大程度上減小了輸出誤差,圖6是補(bǔ)償前和補(bǔ)償后相對(duì)誤差。由此可見(jiàn)本文方法在溫度固定情況下對(duì)濕度傳感器不同濕度值的補(bǔ)償是有效的。
2)不同的溫度會(huì)導(dǎo)致濕敏電阻在不同溫度點(diǎn)有不同的阻值,由實(shí)驗(yàn)數(shù)據(jù)可知,溫度對(duì)濕敏電阻的阻值影響是非線性的,即在同一個(gè)標(biāo)準(zhǔn)濕度環(huán)境中,由于溫度的不同,濕度傳感器的示值也會(huì)發(fā)生變化,在PC端通過(guò)matlab中的神經(jīng)網(wǎng)絡(luò)工具箱運(yùn)行經(jīng)過(guò)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),L-M算法經(jīng)過(guò)訓(xùn)練達(dá)到預(yù)設(shè)的預(yù)測(cè)輸出的最小值時(shí),選擇5組某一固定標(biāo)準(zhǔn)濕度(以96%RH左右為例)在不同溫度下的實(shí)測(cè)值數(shù)據(jù)經(jīng)行測(cè)試驗(yàn)證,將選取的樣本進(jìn)行歸一化處理后,輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果即為補(bǔ)償后的輸出,結(jié)果見(jiàn)表3和圖7。
表3 96%RH時(shí)5組不同溫度點(diǎn)測(cè)試樣本非線性補(bǔ)償結(jié)果
圖7 96%RH時(shí)5組不同溫度點(diǎn)測(cè)試樣本相對(duì)誤差
從表3可以看出,同一標(biāo)準(zhǔn)濕度96%RH下,未進(jìn)行溫度補(bǔ)償時(shí)傳感器的輸出最大相對(duì)誤差為-7.7%,國(guó)家濕度檢定規(guī)程要求±7%RH(標(biāo)準(zhǔn)濕度40%RH以下或70%RH以上),經(jīng)過(guò)本文的方法補(bǔ)償修正后最大相對(duì)誤差為1.2%,圖7是同一標(biāo)準(zhǔn)濕度點(diǎn)不同溫度下補(bǔ)償后的相對(duì)誤差,與補(bǔ)償修正前相比,傳感器的輸出準(zhǔn)確度有很大的提升。
綜合(1)和(2)兩種情況,根據(jù)補(bǔ)償前后的傳感器輸出特性曲線進(jìn)行比較如圖6和圖7,可以看出,經(jīng)過(guò)補(bǔ)償后精度遠(yuǎn)高于補(bǔ)償前,實(shí)驗(yàn)仿真結(jié)果表明,傳感器經(jīng)過(guò)基于L-M算法的BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償后,輸出更接近濕度標(biāo)準(zhǔn)值,說(shuō)明該方法較準(zhǔn)確的實(shí)現(xiàn)了濕度傳感器的非線性補(bǔ)償校正,達(dá)到了預(yù)期目標(biāo)。
本文提出了濕度傳感器補(bǔ)償模型,針對(duì)其本身的輸出非線性特性和由于溫度的影響導(dǎo)致的非線性輸出特性而引入補(bǔ)償環(huán)節(jié),利用L-M算法、擬牛頓算法、共軛梯度算法等3種算法
的BP神經(jīng)網(wǎng)絡(luò)經(jīng)行仿真驗(yàn)證,結(jié)果表明以L-M算法為基礎(chǔ)的BP神經(jīng)網(wǎng)絡(luò)對(duì)濕度傳感器輸出進(jìn)行補(bǔ)償時(shí)效果最為優(yōu)異,補(bǔ)償校正后誤差不大于1.4%,濕度傳感器的準(zhǔn)確度有了顯著的提高,滿足了實(shí)際使用的需要,本文基于神經(jīng)網(wǎng)絡(luò)的傳感器非線性補(bǔ)償為傳感器的校準(zhǔn)提供了新的設(shè)計(jì)思路。
[1] 王 悅,葉海明.LabWindows/CVI下基于BP神經(jīng)網(wǎng)絡(luò)的溫度補(bǔ)償虛擬濕度測(cè)量系統(tǒng)設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2010,29(1):36-38.
[2] Wang X D, Ye M Y.Hysteresis and nonlinearity compensation of relative humidity sensor using support vector machines[J].Sensors and ActuatorsB:chemical,2008,129(1)274-284.
[3] 俞阿龍.基于RBF神經(jīng)網(wǎng)絡(luò)的熱敏電阻溫度傳感器非線性補(bǔ)償方法[J].儀器儀表學(xué)報(bào),2007,28(5):899-903.
[4] 孫文良,沈秋宇.HMP45D溫濕度傳感器的檢定校準(zhǔn) [J].氣象水文海洋儀器,2009(3):124-126.
[5] 周勝海.傳感器非線性的硬件校正方法 [J].儀表技術(shù)與傳感器,2002,21(5):1-4.
[6] 陳俊杰,盧 俊,黃唯一.基于遺傳神經(jīng)網(wǎng)絡(luò)的傳感器系統(tǒng)的非線性校正[J].儀器儀表學(xué)報(bào),2003,24(2):201-204.
[7] 司端鋒,常炳國(guó),劉君華.基于BP神經(jīng)網(wǎng)絡(luò)的傳感器特性補(bǔ)償新算法的研究[J].儀表技術(shù)與傳感器,2000(1):11-14.
[8] 顧 磊,黃慶安,秦 明.一種新型CMOS兼容濕度傳感器[J].半導(dǎo)體學(xué)報(bào),2004,25(2):174-178.
[9] 盧智遠(yuǎn),周永軍.傳感器非線性誤差校正的BP神經(jīng)網(wǎng)絡(luò)方法研究[J].傳感器技術(shù),2005,24(2):11-12.
[10] 劉 濤,王 華.傳感器非線性校正的遺傳支持向量機(jī)方法[J].電子測(cè)量與儀器學(xué)報(bào),2011,25(1):56-60.
Research on Output error Compensation of Humidity Sensor Based on L-M Algorithm and BP Neural Network
Liang Jie,Yan Tian,Li Qingchao
(South China Sea Standard Metrology Center,Guangzhou 510000,China)
Aiming at the nonlinear output of humidity sensor, a nonlinear compensation scheme based on BP neural network is proposed. BP neural network is established based on L-M algorithm, and the input and output nonlinear compensation correction of the resistance humidity sensor is realized, Compared with the conjugate gradient algorithm and the BP neural network model proposed by the quasi Newton algorithm, the model error performance and convergence speed are compared. The results show that the BP neural network model based on L-M algorithm has more efficient performance in convergence speed, error performance and so on, its compensation correction is more suitable for nonlinear characteristics of humidity sensors.
humidity sensor;error compensation;Back propagation network;conjugate gradient algorithms;bfgs;levenberg-marquardt algorithm
2017-05-18;
2017-06-08。
國(guó)家海洋局南海分局局長(zhǎng)基金(1637)。
梁 杰(1985-),男,碩士研究生,工程師,主要從事海洋計(jì)量,氣體分析,粘度與密度測(cè)量方向的研究。
1671-4598(2017)12-0302-05
10.16526/j.cnki.11-4762/tp.2017.12.078
TP837
A