《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > RBF神經(jīng)網(wǎng)絡(luò)在智能傳感器模塊設(shè)計(jì)中的應(yīng)用
RBF神經(jīng)網(wǎng)絡(luò)在智能傳感器模塊設(shè)計(jì)中的應(yīng)用
摘要: 不論是傳統(tǒng)工藝制作的經(jīng)典傳感器,還是半導(dǎo)體工藝制作的現(xiàn)代傳感器,都存在交叉敏感。交叉敏感是引起單傳感器系統(tǒng)不穩(wěn)定的主要因素,表現(xiàn)為傳感器標(biāo)稱的目標(biāo)參量恒定不變,而其它非目標(biāo)參量變化時(shí),該傳感器的輸出值發(fā)生變化。
Abstract:
Key words :

引言

不論是傳統(tǒng)工藝制作的經(jīng)典傳感器,還是半導(dǎo)體工藝制作的現(xiàn)代傳感器,都存在交叉敏感。交叉敏感是引起單傳感器系統(tǒng)不穩(wěn)定的主要因素,表現(xiàn)為傳感器標(biāo)稱的目標(biāo)參量恒定不變,而其它非目標(biāo)參量變化時(shí),該傳感器的輸出值發(fā)生變化。幾乎所有的傳感器都存在對(duì)溫度的交叉敏感且不僅僅是一個(gè)交叉敏感量。以壓力傳感器為例,其標(biāo)稱的目標(biāo)參量——壓力恒定,而傳感器的環(huán)境溫度T或供電電壓U/電流I變化時(shí),其輸出電壓值發(fā)生變化,表明壓力傳感器存在對(duì)環(huán)境溫度T及供電電壓U/電流I兩個(gè)非目標(biāo)參量的交叉敏感。存在交叉敏感的傳感器系統(tǒng)性能不穩(wěn)定,準(zhǔn)確性差,為了解決這一問題,可采用多傳感器模型法技術(shù)來改善傳感器系統(tǒng)性能。其基本思路是:當(dāng)主測(cè)參量為x1的傳感器存在干擾量x2時(shí),若欲消除干擾量x2的影響,則需監(jiān)測(cè)該干擾參量x2,從而建立測(cè)量x1與x2的多(2個(gè))傳感器系統(tǒng);若欲消除n個(gè)干擾量的影響,則需測(cè)量n+1個(gè)參量的多(n+1個(gè))傳感器系統(tǒng)。

人工神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性映射能力、較好的學(xué)習(xí)和容錯(cuò)能力,在函數(shù)逼近、預(yù)測(cè)、信號(hào)處理、控制系統(tǒng)領(lǐng)域中得到廣泛的應(yīng)用。徑向基(RBF)神經(jīng)網(wǎng)絡(luò)是一種典型的性能良好的三層前饋局部人工神經(jīng)網(wǎng)絡(luò),具有較快的訓(xùn)練速度和非線性能力,能以任意精度全局逼迫一個(gè)非線性函數(shù),使其在很多領(lǐng)域得到廣泛應(yīng)用。本文采用RBF神經(jīng)網(wǎng)絡(luò),監(jiān)測(cè)干擾量溫度T的溫度傳感器的輸出電壓為UT,監(jiān)測(cè)干擾量恒流源供電電流I的電流傳感器的輸出電壓UI,改善壓阻式壓力傳感器(JCY-201)的溫度穩(wěn)定性與恒流源供電電流的穩(wěn)定性,構(gòu)建的三傳感器數(shù)據(jù)融合智能系統(tǒng)框圖如圖1所示。

圖1 三傳感器數(shù)據(jù)融合智能系統(tǒng)框圖

徑向基(RBF)神經(jīng)網(wǎng)絡(luò)

徑向基神經(jīng)網(wǎng)絡(luò)包含三層,即輸入層、徑向基隱層和線性層。

RBF神經(jīng)網(wǎng)絡(luò)模型

RBF神經(jīng)網(wǎng)絡(luò)的神經(jīng)元作用函數(shù)采用高斯型函數(shù),高斯型函數(shù)的數(shù)學(xué)表達(dá)式如式1:

式1

高斯函數(shù)的輸出為1和0.5所對(duì)應(yīng)的輸入之間的差值稱為函數(shù)的分散度(spread),明顯地,對(duì)應(yīng)于式1的分散度為0.833。

RBF網(wǎng)絡(luò)的神經(jīng)元的總輸入是權(quán)值矩陣的行向量與輸入向量的向量距與偏置值的乘積,其數(shù)學(xué)表達(dá)式為式2:

式2

其中:ni為網(wǎng)絡(luò)隱層第i個(gè)神經(jīng)元的總輸入;bi為第i個(gè)神經(jīng)元的偏置值; missing image file為隱層權(quán)值矩陣的第i個(gè)行向量的第j個(gè)元素;pji是第i個(gè)輸入向量的j時(shí)刻輸入值。

RBF神經(jīng)網(wǎng)絡(luò)的輸出層通常是純線性神經(jīng)元,只是其隱層神經(jīng)元是稱之為radbas型的神經(jīng)元。RBF神經(jīng)網(wǎng)絡(luò)模型如圖2所示。

圖2 徑向基神經(jīng)網(wǎng)絡(luò)模型

RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練

由高斯函數(shù)的表達(dá)式可知,其輸出最大值為1,當(dāng)輸入向量與權(quán)值向量的向量距減小時(shí),神經(jīng)元的輸出增大。偏置b用來調(diào)節(jié)高斯函數(shù)對(duì)輸入的靈敏度,b的絕對(duì)值越大,神經(jīng)元對(duì)輸入越靈敏,也就是說,神經(jīng)元的響應(yīng)函數(shù)曲線越“寬”,即高斯函數(shù)的輸出為0.5時(shí)的兩個(gè)總輸入之差的絕對(duì)值最大。對(duì)于b的取值,一般由訓(xùn)練樣本的樣本距和樣本的范圍決定,b的取值大于兩個(gè)相鄰樣本點(diǎn)的最大距離,而小于任意兩個(gè)樣本的最大距離。例如,對(duì)于一個(gè)單輸入單輸出的RBF神經(jīng)網(wǎng)絡(luò),輸入的樣本為{-6,-4,0,2,4,7},那么b的取值應(yīng)大于4而小于13。

表1 學(xué)習(xí)樣本的各物理量取值

表2 檢驗(yàn)樣本的各物理量取值

RBF神經(jīng)網(wǎng)絡(luò)中,其隱層神經(jīng)元的數(shù)量可以說是由樣本點(diǎn)的數(shù)量來決定的,有多少個(gè)輸入樣本,就有多少個(gè)隱層神經(jīng)元。對(duì)于每個(gè)隱層神經(jīng)元的輸入,其輸出滿足下列條件:(1)若是其對(duì)應(yīng)的樣本點(diǎn),我們也稱其為該神經(jīng)元的特征輸入點(diǎn),那么其對(duì)應(yīng)的輸出應(yīng)趨于1;(2)對(duì)于非樣本點(diǎn)輸入,輸入與特征輸入的點(diǎn)距離越遠(yuǎn),則神經(jīng)元的輸出越小。因此,RBF神經(jīng)網(wǎng)絡(luò)的輸入權(quán)值是由樣本決定的,而與期望輸出并沒有太大關(guān)系。

在輸入權(quán)值、隱層神經(jīng)元的偏置b全部確定好之后,隱層的輸出也就確定了。由于RBF神經(jīng)網(wǎng)絡(luò)的輸出層神經(jīng)元的響應(yīng)函數(shù)是純線性函數(shù),因此,在選定輸出層神經(jīng)元之后,隱層與輸出層之間的神經(jīng)元連接權(quán)值可以由式3確定:

其中: 為輸出層第i個(gè)神經(jīng)元與隱層第j個(gè)神經(jīng)元的連接權(quán)值;bi為輸出層第i個(gè)神經(jīng)元的偏置值;aj為隱層第j個(gè)神經(jīng)元的輸出向量;T為理想輸出矩陣。求解式3,即可得到輸出層與隱層的連接權(quán)值。

三維標(biāo)定實(shí)驗(yàn)

為了訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),確定網(wǎng)絡(luò)的各權(quán)值和偏置的具體數(shù)值,使得網(wǎng)絡(luò)的輸出值與標(biāo)定值之間能夠達(dá)到誤差精度的要求且具有一定的推廣能力,各標(biāo)定點(diǎn)的數(shù)量應(yīng)能滿足神經(jīng)網(wǎng)絡(luò)訓(xùn)練的要求。為了全量程范圍內(nèi)全面檢驗(yàn)融合后穩(wěn)定性的改善效果,實(shí)際上共標(biāo)定missing image file個(gè)標(biāo)定點(diǎn),選其中7組不同溫度的標(biāo)定點(diǎn)(共252組數(shù)據(jù))作為神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)(訓(xùn)練)樣本,其余的3組不同溫度的標(biāo)定點(diǎn)(共108組數(shù)據(jù))作為網(wǎng)絡(luò)的檢驗(yàn)樣本。

學(xué)習(xí)樣本各標(biāo)定點(diǎn)的具體數(shù)值見表3。

表3 RBF神經(jīng)網(wǎng)絡(luò)用JCY-201型壓力傳感器三維標(biāo)定實(shí)驗(yàn)數(shù)據(jù)——學(xué)習(xí)樣本

檢驗(yàn)樣本各標(biāo)定點(diǎn)的具體數(shù)值見表4。

表4 RBF神經(jīng)網(wǎng)絡(luò)用JCY-201型壓力傳感器 三維標(biāo)定實(shí)驗(yàn)數(shù)據(jù)——檢驗(yàn)樣本

注:UI為電流傳感器輸出電壓,UT為溫度傳感器輸出電壓,UP為壓力傳感器輸出電壓,表4同。

RBF神經(jīng)網(wǎng)絡(luò)Matlab源程序

RBF神經(jīng)網(wǎng)絡(luò)Matlab源程序如下:

clc

clear

close all %程序開始前,清屏,清除其它變量

%輸入原始數(shù)據(jù),每一列為一個(gè)變量,行數(shù)為樣本的個(gè)數(shù)。原始標(biāo)定數(shù)據(jù)的輸入,可以將數(shù)據(jù)直接輸入至程序中,也可以將數(shù)據(jù)先輸入至文件,然后在程序中讀入數(shù)據(jù)文件。數(shù)據(jù)中的P、Ut、Ui、Up均為missing image file維列向量, missing image file為標(biāo)定數(shù)據(jù)點(diǎn)的個(gè)數(shù)

raw_data=[P Ut Ui Up]; %學(xué)習(xí)(訓(xùn)練)樣本

data_test=[P_test Ut_test Ui_test Up_test]; %測(cè)試樣本

%根據(jù)原始數(shù)據(jù)制作學(xué)習(xí)(訓(xùn)練)樣本與測(cè)試樣本,學(xué)習(xí)樣本與測(cè)試樣本的數(shù)據(jù)格式相同

P=raw_data(: , 1); Ui=raw_data(: , 2); Ut=raw_data(: , 3); Up=raw_data(: , 4);

P_test=data_test(: , 1); Ui=data_test(: , 2); Ut=data_test(: , 3); Up=data_test(: , 4);

P1= ; [Up Ui Ut] %學(xué)習(xí)樣本輸入

T1= ; P' %學(xué)習(xí)樣本期望輸出

P2= ;[Up_test Ui _test Ut_t est]' %測(cè)試樣本輸入

T2=P_test' ; %測(cè)試樣本輸出

%將輸入數(shù)據(jù)進(jìn)行歸一化

[PN1,Minp,maxp,TN1,mint,maxt]=premnmx(P1,T1);

PN2=tramnmx(P2,minp,maxp);

TN2=tramnmx(T2,mint,maxt);

%訓(xùn)練

switch 2

case 1 %神經(jīng)元數(shù)是訓(xùn)練樣本個(gè)數(shù)

spread=0.1; %此值越大,覆蓋的函數(shù)數(shù)值就越大(默認(rèn)為1)

net=newrbe(PN1,TN1,spread);

case 2 %神經(jīng)元數(shù)逐步增加,最多就是訓(xùn)練樣本個(gè)數(shù)

goal=1e-8; %訓(xùn)練誤差的平方和(默認(rèn)為0)

spread=0.1; %此值越大,需要的神經(jīng)元就越少(默認(rèn)為1)

MN=size(PN1,2); %最大神經(jīng)元數(shù)(默認(rèn)為訓(xùn)練樣本個(gè)數(shù))

DF=2; %顯示間隔(默認(rèn)為25)

net=newrb(PN1,TN1,goal,spread,MN,DF);

case 3

spread=0.1; %此值越大,需要的神經(jīng)元就越少(默認(rèn)為1)

net=newgrnn(PN1,TN1,spread);

end

%測(cè)試

YN1=sim(net,PN1); %學(xué)習(xí)(訓(xùn)練)樣本實(shí)際輸出

YN2=sim(net,PN2); %測(cè)試樣本實(shí)際輸出

MSE1=mean((TN1-YN1).ˆ2 %學(xué)習(xí)(訓(xùn)練)樣本實(shí)際輸出的均方誤差

%n1=length(TN1);%e1=sum((TN1-YN1).ˆ2/n1

%e1與MSE1相等

MSETD1=std((TN1-YN1).ˆ2

MSE2=mean((TN2-YN2).ˆ2 %測(cè)試樣本實(shí)際輸出均方誤差

%n2=length(TN2);%e2=sum((TN2-YN2).ˆ2/n2

%e2與MSE2相等

MSETD2=std((TN2-YN2).ˆ2

%反歸一化

Y1=postmnmx (YN1,mint,maxt)' %將歸一化的學(xué)習(xí)(訓(xùn)練)輸出數(shù)據(jù)恢復(fù)為原始數(shù)據(jù)

E1=Y1-P %學(xué)習(xí)(訓(xùn)練)輸出數(shù)據(jù)與標(biāo)定值之間的偏差

Y2=postmnmx (YN2,mint,maxt)' %將歸一化的測(cè)試輸出數(shù)據(jù)恢復(fù)為原始數(shù)據(jù)

E2=Y2-P_test %測(cè)試輸出數(shù)據(jù)與標(biāo)定值之間的偏差

max(E2)

min(E2)

采用經(jīng)過數(shù)據(jù)歸一化處理的程序

神經(jīng)網(wǎng)絡(luò)采用Matlab中的newrb()函數(shù),neurons=252。學(xué)習(xí)樣本經(jīng)RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的輸出值與相應(yīng)的壓力標(biāo)定值之間的最大誤差絕對(duì)值為1.0396e-011,均方誤差MSE1=5.6613e-023,均方誤差的標(biāo)準(zhǔn)差MSETD1=2.4666e-022。這里省略學(xué)習(xí)樣本的預(yù)測(cè)輸出表??梢姡捎肦BF神經(jīng)網(wǎng)絡(luò)對(duì)學(xué)習(xí)樣本的輸出已經(jīng)消除了壓力傳感器的交叉敏感影響(在誤差允許的范圍內(nèi))。

檢驗(yàn)樣本經(jīng)RBF神經(jīng)網(wǎng)絡(luò)的輸出值與相應(yīng)的壓力標(biāo)定值之間最大偏差絕對(duì)值為max=0.0113,均方誤差MSE2=3.8568e-005,均方誤差的標(biāo)準(zhǔn)差MSETD2=2.1727e-004。輸出樣本的詳細(xì)情況見表5(只列出部分?jǐn)?shù)據(jù))。

數(shù)據(jù)融合效果評(píng)價(jià)

降低溫度與電源波動(dòng)兩個(gè)干擾量的影響,傳感器系統(tǒng)穩(wěn)定性的改善程度分別用融合前后的零位、靈敏度溫度系數(shù)以及電流影響系數(shù)來評(píng)價(jià)。

由于學(xué)習(xí)(訓(xùn)練)樣本的網(wǎng)絡(luò)輸出值與標(biāo)定值之間的偏差很小(均小于1.0e-011),如果根據(jù)這些數(shù)據(jù)來計(jì)算融合后的效果,可以認(rèn)為已經(jīng)完全消除交叉敏感。通過表5可知,本例中檢驗(yàn)樣本的網(wǎng)絡(luò)輸出值與標(biāo)定值之間的偏差與學(xué)習(xí)樣本的偏差相比,偏差較大,故按檢驗(yàn)樣本計(jì)算出數(shù)值來評(píng)價(jià)數(shù)據(jù)融合效果。

表5 輸出樣本

注:表中T表示工作溫度,I表示工作電流,P表示壓力標(biāo)定值,表示壓力計(jì)算值,偏差,單位都是V。

 

融合前:滿量程輸出值UFS=4.928V,當(dāng)溫度的變化范圍為=39℃(由25℃至64℃),電流由6mA至11mA,變動(dòng)時(shí),零點(diǎn)值的最大變化范圍=0.356V(由0.328V至-0.028V),滿量程輸出值由4.928V下降到2.710V,輸出變化范圍=-2.218V。

(1)零位溫度系數(shù)

(2)靈敏度溫度系數(shù)

(3)電流影響系數(shù)

利用檢驗(yàn)樣本計(jì)算的融合后的零位溫度系數(shù)、靈敏度溫度系數(shù)以及電流影響系數(shù)如下:

=39℃,變化范圍內(nèi),零點(diǎn)融合計(jì)算值的最大偏差 =0.0113MPa;滿量程壓力PFS=0.5MPa,其融合計(jì)算值的最大偏差量=0.0007MPa,則有

將融合前和RBF神經(jīng)網(wǎng)絡(luò)融合后的各參數(shù)列于表6中。

表6 融合前和RBF神經(jīng)網(wǎng)絡(luò)融合后的各參數(shù)

從表6可見,經(jīng)RBF神經(jīng)網(wǎng)絡(luò)融合后,零位溫度系數(shù)降低到融合前的1/3,靈敏度溫度系數(shù)降低約3個(gè)數(shù)量級(jí),電流影響系數(shù)降低約2個(gè)數(shù)量級(jí)

結(jié)束語

由于半導(dǎo)體的特性參數(shù)易受溫度、電流的影響而變化,壓阻式傳感器將會(huì)產(chǎn)生很大的零位溫度漂移、靈敏度溫度漂移和電流影響漂移,這是壓阻式傳感器最大的弱點(diǎn)。因此,研究改善壓阻式壓力傳感器的溫度穩(wěn)定性與恒流源供電電流的穩(wěn)定性,在生產(chǎn)實(shí)踐中很有意義。采用RBF神經(jīng)網(wǎng)絡(luò)法,設(shè)計(jì)了抗兩個(gè)干擾量影響的智能化軟件模塊,對(duì)壓阻式壓力傳感器穩(wěn)定性進(jìn)行改善,取得了很好的效果。該方法簡單易行,精度較高,將壓阻式壓力傳感器輸出精度控制在0.01%以內(nèi)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。