黃 艷
(漳州職業(yè)技術(shù)學(xué)院 電子工程學(xué)院,福建 漳州 363000)
光學(xué)電壓傳感器是一種重要的電力測(cè)量設(shè)備,是利用光電子技術(shù)和電光調(diào)制原理來(lái)實(shí)現(xiàn)電壓測(cè)量的。 光作為敏感信息載體,用光纖來(lái)傳遞敏感信息,此敏感信息經(jīng)傳感頭電壓調(diào)制后的光信號(hào)是電壓的函數(shù),光信號(hào)經(jīng)過(guò)光電轉(zhuǎn)換之后用電子線路和計(jì)算機(jī)來(lái)處理從而得到被測(cè)電壓值[1-4]。 由于光學(xué)電壓傳感器具有抗電磁干擾能力強(qiáng),易實(shí)現(xiàn)小型化、智能化的需求,因此被廣泛使用。 然而其輸出特性大都為非線性,穩(wěn)定性差一直是阻礙其發(fā)展的一個(gè)關(guān)鍵問(wèn)題,其中溫度穩(wěn)定性問(wèn)題是一個(gè)重要因素。 因此,采取一定的補(bǔ)償措施,減小溫度對(duì)系統(tǒng)的影響,提高系統(tǒng)的準(zhǔn)確度與穩(wěn)定性是其實(shí)用化中必須要解決的一個(gè)重要問(wèn)題[5-6]。
本文設(shè)計(jì)了采用雙光路溫度補(bǔ)償系統(tǒng), 分別利用傳感器輸出的兩路電場(chǎng)矢量相互垂直的線偏振光進(jìn)行運(yùn)算處理,從而消除溫度的影響。 除了通過(guò)硬件溫度補(bǔ)償方法外,還采用Matlab 軟件提供的BP 神經(jīng)網(wǎng)絡(luò)函數(shù)仿真出一個(gè)3 層前向反饋神經(jīng)網(wǎng)絡(luò),訓(xùn)練出在不同環(huán)境溫度下傳感器輸出電壓值與實(shí)際測(cè)量電壓值之間的映射關(guān)系。為提高系統(tǒng)可視性,采用虛擬儀器技術(shù),調(diào)用Labview 程序中的matlab script 節(jié)點(diǎn)將Matlab 和Labview 二者有機(jī)的結(jié)合起來(lái),充分發(fā)揮二者各自的優(yōu)越性,用戶可通過(guò)面板指示值獲得補(bǔ)償后的電壓大小。 通過(guò)軟、硬件的配合,實(shí)現(xiàn)了電壓信號(hào)的溫度補(bǔ)償,提高了光學(xué)電壓傳感器的穩(wěn)定性和準(zhǔn)確度。
泡克耳斯 (Pockels) 效應(yīng)型光學(xué)電壓傳感器通常采用電光晶體Bi4Ge3O12(BGO)作為傳感介質(zhì),利用電光晶體在電場(chǎng)作用下產(chǎn)生雙折射現(xiàn)象,此時(shí)可將BGO 晶體可視為一可變的位相延遲器。其原理示意圖如圖1 所示,在該種橫向加壓調(diào)制方式下(外加電場(chǎng)與光傳播方向垂直),其相位延遲δ 與被測(cè)電壓值V 的大小關(guān)系[7]為
式中 V 為被測(cè)電壓,λ 為入射光波波長(zhǎng),Vπ為 BGO 晶體橫向電壓調(diào)制時(shí)的半波電壓,n0,γ41分別BGO 晶體的折射率和電光張量系數(shù)。
圖1 光學(xué)電壓傳感器原理框圖
其工作過(guò)程為BGO 晶體在外電場(chǎng)作用下發(fā)生雙折射效應(yīng)。 激光器發(fā)出的光經(jīng)由光纖準(zhǔn)直器傳入起偏器,將光變成線偏振光,再經(jīng)由1/4 波片后變成圓偏振光,當(dāng)光透過(guò)電場(chǎng)作用下的BGO 電光晶體時(shí),產(chǎn)生雙折射現(xiàn)象,雙折射兩光波之間產(chǎn)生位相差,該位相差大小與BGO 所加電壓成正比。經(jīng)檢偏器后,兩束光產(chǎn)生干涉。 由偏光干涉原理可得輸出光強(qiáng)I0和外加電壓關(guān)系為
當(dāng)外加正弦電壓 V=Vmsin(ωt),且滿足 Vm<<Vπ時(shí),有
可見(jiàn)輸出光信號(hào)有直流分量IDC和交流分量IAC兩部分
利用電路處理可得與外加電壓成正比的輸出信號(hào)
光學(xué)電壓傳感器中電光晶體的光學(xué)特性直接影響傳感系統(tǒng)的性能,因其在具有Pockels 效應(yīng)的同時(shí),還具有自然雙折射、旋光性、熱釋電效應(yīng)等隨溫度而變的干擾效應(yīng),這些效應(yīng)會(huì)嚴(yán)重影響傳感器的穩(wěn)定性[8-9]。 雙光路溫度補(bǔ)償是指在原測(cè)試原理光路上再增加一路光路,采用偏振分束棱鏡獲得兩路電場(chǎng)矢量相互垂直的光信號(hào),經(jīng)兩路光纖傳輸后經(jīng)由兩光電探測(cè)器探測(cè),再經(jīng)運(yùn)算處理從而消除溫度的影響[7]。
設(shè)由BGO 晶體的Pockels 效應(yīng)引起的相位延遲為δ,由溫度引起的相位延遲為Δ,傳感器兩路的輸出光強(qiáng)分別為
其中I∥和I⊥分別表示檢偏器與起偏器平行和垂直兩種強(qiáng)開(kāi)下傳感器的輸出光強(qiáng)。 將二者利用級(jí)數(shù)展開(kāi),有
可見(jiàn)利用此法消除了隨溫度變化的干擾雙折射的影響,提高了傳感器的穩(wěn)定性。
在雙光路補(bǔ)償法中,認(rèn)為由電光效應(yīng)產(chǎn)生的傳感器輸出不隨溫度而變化。 但實(shí)際上,晶體的實(shí)際折射率和電光系數(shù)都與溫度T 有關(guān),因此晶體半波電壓也隨溫度的變化而改變,從而導(dǎo)致雙光路補(bǔ)償法不能完全克服溫度效應(yīng)的影響[10]。 本文采用BP 神經(jīng)網(wǎng)絡(luò)對(duì)傳感器的靜態(tài)誤差進(jìn)行綜合修正,從而實(shí)現(xiàn)對(duì)電壓傳感器的非線性溫度補(bǔ)償。
BP 算法是當(dāng)前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型,分為輸入層、隱含層和輸出層,各層之間采用整體互連方式,同一層各個(gè)單元之間不互相連接。 這種網(wǎng)絡(luò)結(jié)構(gòu)中每一層神經(jīng)元只接受前一層神經(jīng)元的輸入, 后一層的神經(jīng)元對(duì)前一層神經(jīng)元沒(méi)有信號(hào)反饋。 輸入模式依次通過(guò)每一層的順序傳輸,最后在輸出層上得到輸出。 將輸出值與目標(biāo)值對(duì)比,如果輸出層無(wú)法得到目標(biāo)值,則將目標(biāo)值與輸出值之間的差值進(jìn)行方向傳播,并逐層修改各層神經(jīng)元的連接權(quán)值,將輸出誤差減小到允許的范圍內(nèi)[11-14]。
采用BP 神經(jīng)網(wǎng)絡(luò)補(bǔ)償法改善光學(xué)電壓傳感器輸出特性的原理圖如圖2 所示,由傳感器模型和神經(jīng)網(wǎng)絡(luò)模型兩部分構(gòu)成。
圖2 光學(xué)電壓傳感器BP 神經(jīng)網(wǎng)絡(luò)溫度跟蹤補(bǔ)償原理圖
圖2 中電壓傳感器模型可表示為
式中 U0為待測(cè)電壓,T 為環(huán)境溫度,UV為光學(xué)傳感器輸出電壓。 為消除工作溫度對(duì)傳感器輸出精度的影響, 采用逆向建模方法, 如圖2,UT為溫度傳感器的輸出信號(hào),U 為補(bǔ)償后的輸出電壓值。 通過(guò)神經(jīng)網(wǎng)絡(luò)的非線性映射能力逆向建立反向函數(shù)
將采集到的兩個(gè)傳感器的測(cè)量信號(hào)UV,UT和已知的電壓值U0作為訓(xùn)練樣本, 送入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,輸入模式從輸入層經(jīng)隱含層傳向輸出層,如果輸出層沒(méi)有得到預(yù)期的結(jié)果,則誤差信號(hào)延原來(lái)的通路返回并修改各層的權(quán)值和偏置,直到誤差最小,使目標(biāo)輸出U 在允許的范圍內(nèi),并消除了溫度的影響。 訓(xùn)練好的網(wǎng)絡(luò)作為已知網(wǎng)絡(luò),只要將歸一化的電壓傳感器和溫度傳感器的特征信息輸入該網(wǎng)絡(luò),則網(wǎng)絡(luò)輸出就是被測(cè)電壓[15-17]。
綜上神經(jīng)網(wǎng)絡(luò)誤差修正的步驟如下:
(1)取標(biāo)準(zhǔn)化處理后的電壓、溫度傳感器原始實(shí)驗(yàn)數(shù)據(jù)輸出和實(shí)際電壓值作為神經(jīng)網(wǎng)絡(luò)所需的輸入、輸出樣本數(shù)據(jù)對(duì),建立樣本庫(kù);
(2)初始化網(wǎng)絡(luò),確定輸入層和輸出層單元個(gè)數(shù),修正因子,慣性系數(shù)或隱含層節(jié)點(diǎn)個(gè)數(shù);
(3)訓(xùn)練網(wǎng)絡(luò),直至誤差達(dá)到要求;
(4)訓(xùn)練好的網(wǎng)絡(luò)作為已知網(wǎng)絡(luò),只要將歸一化的電壓傳感器和溫度傳感器特征信息輸入該網(wǎng)絡(luò),則網(wǎng)絡(luò)輸出就是被測(cè)電壓。
2.1.1 建立樣本庫(kù)
為使BP 神經(jīng)網(wǎng)絡(luò)能夠解決光學(xué)電壓傳感器溫度補(bǔ)償問(wèn)題,則需要數(shù)量足夠多的,且具有普遍性和代表性的數(shù)據(jù)樣本對(duì)建好的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。 訓(xùn)練的目的就是找出合適的網(wǎng)絡(luò)權(quán)值使得輸入樣本和輸出樣本之間建立起難以用解析方法描述的映射關(guān)系, 使神經(jīng)網(wǎng)絡(luò)輸出值與期望值之間的均方差最小[18-19]。 要達(dá)到上述要求,需將實(shí)測(cè)的實(shí)驗(yàn)數(shù)據(jù)作為網(wǎng)絡(luò)訓(xùn)練樣本,表1 是在不同工作溫度情況下光學(xué)電壓傳感器的測(cè)量電壓值大小[20]。由于光電傳感器的晶體溫度在20 ℃時(shí),測(cè)量得到的電壓值最接近真實(shí)值,因此選取環(huán)境溫度為20 ℃時(shí)的電壓輸出值作為標(biāo)定電壓值。
表1 不同溫度下光學(xué)電壓傳感器的測(cè)量電壓值 (20℃)
2.1.2 訓(xùn)練樣本數(shù)據(jù)歸一化
根據(jù)圖2,神經(jīng)網(wǎng)絡(luò)的輸入量分別為光學(xué)電壓傳感器的電壓輸出值和對(duì)應(yīng)工作溫度值,由表1可見(jiàn)電壓輸出值隨溫度變化相差很大。 由于神經(jīng)網(wǎng)絡(luò)的許多學(xué)習(xí)算法對(duì)權(quán)值范圍都有限制,不能適應(yīng)寬的數(shù)據(jù)變化范圍,因此為避免神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)時(shí)輸入段數(shù)據(jù)取值范圍相差太大,影響神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)精度和速度,需對(duì)神經(jīng)網(wǎng)絡(luò)的輸入、輸出訓(xùn)練樣本進(jìn)行歸一化處理。 歸一化處理目的在于消除不同量綱的影響,使得每一個(gè)變量具有同等的表現(xiàn)力[21]。 通常情況下我們采用(12)式和(13)式分別對(duì)輸入樣本庫(kù)和輸出樣本庫(kù)進(jìn)行歸一化處理[22]。 經(jīng)歸一化處理后,建立了神經(jīng)網(wǎng)絡(luò)輸入輸出標(biāo)準(zhǔn)樣本庫(kù)。
將表1 中的數(shù)據(jù)歸一化后,作為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)樣本庫(kù),對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。 用BP 神經(jīng)網(wǎng)絡(luò)函數(shù)進(jìn)行訓(xùn)練時(shí),將歸一化后的傳感器輸出電壓U 和對(duì)應(yīng)工作溫度T 作為神經(jīng)網(wǎng)絡(luò)輸入;歸一化標(biāo)定電壓U0作為目標(biāo)輸出函數(shù)。
本文神經(jīng)網(wǎng)絡(luò)采用2-S-1 結(jié)構(gòu),即采用3 層結(jié)構(gòu),輸入層包含兩個(gè)神經(jīng)元,分別是電壓傳感器的輸出值和溫度傳感器的輸出值,隱含層節(jié)點(diǎn)數(shù)有S 個(gè)神經(jīng)元構(gòu)成,這里的S 由經(jīng)驗(yàn)公式計(jì)算大致選取在2~15 之間,因此設(shè)計(jì)的是一個(gè)隱含層節(jié)點(diǎn)數(shù)可變的BP 神經(jīng)網(wǎng)絡(luò),最佳的隱含層節(jié)點(diǎn)數(shù)由訓(xùn)練結(jié)果誤差決定。 輸出層有一個(gè)神經(jīng)元,為期望的輸出電壓。
訓(xùn)練時(shí)選取隱含層節(jié)點(diǎn)數(shù)分別為2~15,訓(xùn)練誤差如表2 所示。
表2 網(wǎng)絡(luò)訓(xùn)練誤差
由表2 可見(jiàn),隱含層的神經(jīng)元個(gè)數(shù)為13 的BP 神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的函數(shù)映射效果最好,因?yàn)樗挠?xùn)練誤差最小。 由此可見(jiàn)并非隱含層神經(jīng)元的個(gè)數(shù)越多,網(wǎng)絡(luò)的性能就越好。 在本實(shí)驗(yàn)中,誤差并沒(méi)有明顯的隨著隱含層神經(jīng)元數(shù)目的增大而減小的趨勢(shì)。 因此,根據(jù)訓(xùn)練誤差值最后確定神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)為13。
在網(wǎng)絡(luò)訓(xùn)練完成后,實(shí)際上就得到了實(shí)際電壓與電壓傳感器的輸出值與溫度之間存在的近似逆函數(shù)關(guān)系。 只要將電壓傳感器和溫度傳感器的輸出值作為神經(jīng)網(wǎng)絡(luò)的輸入,就可得到實(shí)際電壓值。表3 給出了四組用人工神經(jīng)網(wǎng)絡(luò)補(bǔ)償前、后的傳感器輸出值。
比較補(bǔ)償前后電壓輸出的波動(dòng)情況如圖3 所示,補(bǔ)償效果十分顯著。 利用式子(14)衡量電壓最大波動(dòng)情況
式中Umax、Umin表示溫度變化時(shí)輸出電壓變化的最大值和最小值。 利用表3 中的四組數(shù)據(jù)可得出電壓傳感器溫度補(bǔ)償前后電壓的最大波動(dòng)情況,如表4 所示。
表3 晶體溫度補(bǔ)償前和補(bǔ)償后實(shí)驗(yàn)數(shù)據(jù)對(duì)比
圖3 晶體溫度補(bǔ)償前后電壓輸出曲線
由表4 可以看出,系統(tǒng)采用神經(jīng)網(wǎng)絡(luò)溫度補(bǔ)償后, 大大提高了傳感器的穩(wěn)定性和精確度,且經(jīng)測(cè)試數(shù)據(jù)檢驗(yàn), 該神經(jīng)網(wǎng)絡(luò)具有良好的泛化性,即使將不屬于樣本數(shù)據(jù)的電壓和環(huán)境溫度值作為傳感器輸入,也能在神經(jīng)網(wǎng)絡(luò)輸出端得到合適的輸出。
表4 晶體溫度補(bǔ)償前后輸出最大波動(dòng)
運(yùn)用Matlab 神經(jīng)網(wǎng)絡(luò)可以很好的修正電壓傳感器的誤差, 但其局限性就在于不可實(shí)時(shí)顯示所測(cè)電壓值。 因此我們就非常希望設(shè)計(jì)一種既能有效能補(bǔ)償溫度因素造成的精度影響,又能夠?qū)崟r(shí)顯示被測(cè)電壓值的系統(tǒng),這里界面友好方便的虛擬儀器Labview 軟件就派上用場(chǎng)了。
Labview 是美國(guó)NI 公司(National InstrumentCompany)推出的一種基于圖形化編程語(yǔ)言的虛擬儀器軟件,利用其虛擬儀器和動(dòng)態(tài)顯示特性可在計(jì)算機(jī)上構(gòu)成用戶界面動(dòng)態(tài)顯示和交互[23]。 本系統(tǒng)通過(guò)Labview 和Matlab 混合編程的方法實(shí)現(xiàn), 通過(guò)調(diào)用Labview 程序中的matlab script 節(jié)點(diǎn)將Matlab和Labview 二者有機(jī)的結(jié)合起來(lái),充分發(fā)揮Matlab 數(shù)值運(yùn)算功能和Labview 的動(dòng)態(tài)顯示和虛擬儀器特性,實(shí)現(xiàn)光學(xué)電壓傳感器的溫度補(bǔ)償和動(dòng)態(tài)顯示[24]。
虛擬電壓傳感器溫度補(bǔ)償儀的前面板如圖4 所示。 在網(wǎng)絡(luò)訓(xùn)練完后,只需在該面板中輸入光學(xué)電壓傳感器及溫度傳感器的輸出值即可得到經(jīng)過(guò)溫度補(bǔ)償后的電壓輸出值。
圖4 虛擬電壓傳感器溫度補(bǔ)償儀的前面板
框圖程序則是利用圖形語(yǔ)言對(duì)前面板上的控件對(duì)象進(jìn)行控制,主要由“功能節(jié)點(diǎn)”和“數(shù)據(jù)線”組成。 這里構(gòu)建了一個(gè)3 層BP 神經(jīng)網(wǎng)絡(luò)的VI 程序,其框圖程序如圖5 所示。
圖5 控制系統(tǒng)VI 程序框圖
本文采用BP 神經(jīng)網(wǎng)絡(luò)算法進(jìn)行光纖電壓傳感器溫度補(bǔ)償, 通過(guò)傳感器實(shí)驗(yàn)數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò),從而建立起一種溫度誤差修正模型。 實(shí)驗(yàn)結(jié)果表明,該方法能夠有效地補(bǔ)償光學(xué)電壓傳感器的溫度非線性誤差。此外,通過(guò)引入虛擬儀器技術(shù),在Labview 軟件開(kāi)發(fā)平臺(tái)中調(diào)用Matlab 進(jìn)行信號(hào)的處理與分析,提高了系統(tǒng)的可視性。