劉湘鵬,袁冠輝,陸永輝,顏浪波
(1.重慶大學(xué) 電氣工程學(xué)院,重慶 400038;2.玉林師范學(xué)院 物理與電信工程學(xué)院 智能信息與通信技術(shù)研究中心,廣西 玉林 537006)
電容器是3種(電阻、電容、電感)最常用的無源電子元器件之一,其電容量(簡稱電容)受極板材料、有效面積、間距以及介電材料的影響。標準電容器是電子設(shè)備不可或缺的元器件,而非標準的電容器件,由于其電容值受外形以及中間介電材料的調(diào)控,常被作為感知外部變化的傳感器件[1-2]。例如,2019年,一種基于電容傳感器的非接觸式手勢識別系統(tǒng)被實現(xiàn)[3],該系統(tǒng)設(shè)計的電容傳感器具有4路輸出信號,可識別8種手勢,其識別準確率達到了95%。類似的,2021年,基于電容式傳感器的非接觸式液位測量系統(tǒng)被提出。該系統(tǒng)可準確測量0~140 mm的液位高度,且誤差僅為5%[4]。文獻[5]基于平行板電容傳感器設(shè)計了紙張計數(shù)系統(tǒng),實現(xiàn)了87張以內(nèi)100%的正確率。此外,朱永燦等人[6]基于插指電容傳感器實現(xiàn)了光伏組件覆冰雪的在線監(jiān)測。無論是標準電容的使用,還是電容傳感器的使用,電容的快速準確測量都是必要的環(huán)節(jié)。電容測量值的準確度既影響設(shè)備的電路參數(shù),也影響傳感器的感應(yīng)精度。對于標準電容器件,通過其標稱值即可估算電容值,也可通過LCR電橋等設(shè)備進行高精度的測量;而對于非標準的電容傳感器,由于受使用場合、工作環(huán)境和實時性要求等限制,常常難以用儀器設(shè)備來實現(xiàn)高精度的實時在線測量,因此研究快速高精度的電容測量方法對電容傳感器件的應(yīng)用顯得尤為重要。
目前,常用的電容測量方法有電容表法、三表法、電橋法和諧振法等[7]。電容法使用電容測量儀表來測定目標電容值,其測量精度依賴于所使用的測量儀器,且需要人工操作,不適用于需要在線實時測量的應(yīng)用場合。三表法是早期進行電路設(shè)計時所使用的方法,它使用交流電壓表、交流電流表與功率表來獲得被測元器件兩端的電壓、電流和功率等電參數(shù),然后通過計算求得所需參數(shù)值[8]。該方法操作繁雜,且測量誤差受3個測量儀表影響,精度難以提高,一般只應(yīng)用于實驗驗證。電橋法與諧振法把被測電容分別接入電橋電路與諧振電路中,然后測量電橋的輸出電壓與諧振電路的諧振頻率,并利用該輸出電壓與諧振頻率計算出被測元件的電容值[9]。這種方法雖然可應(yīng)用于實時系統(tǒng)中,但受限于電路在寬頻帶工作時的非線性,在目標電容變化范圍較大時,測量誤差比較大。
近年來,伴隨著人工智能技術(shù)的快速發(fā)展,基于人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)的參數(shù)預(yù)測與測試研究備受關(guān)注,并在實際應(yīng)用中展現(xiàn)了較好的測量精度[10-11]。例如,Kai Cui等人[12]以BP神經(jīng)網(wǎng)絡(luò)理論為基礎(chǔ),以工程地質(zhì)數(shù)據(jù)庫為研發(fā)平臺,在分析巖土材料特性、巖土沉積物分布和巖土參數(shù)的基礎(chǔ)上,建立了巖土參數(shù)預(yù)測模型,并取得了良好的預(yù)測效果。文獻[13]提出了一種基于蟻群優(yōu)化算法—徑向基函數(shù)(ACO-RBF)神經(jīng)網(wǎng)絡(luò)的接觸電阻預(yù)測模型,使預(yù)測的平均誤差相對傳統(tǒng)方法降低了5.9%,預(yù)測精度更高。Jerzy Roj等人[14]使用BP神經(jīng)網(wǎng)絡(luò),在電路的準平衡態(tài)與非平衡態(tài)下測量了目標對象的電容值與介質(zhì)損耗因數(shù),且近似誤差(Approximation Error)僅為0.5×10-5。鑒于當前常用電容測量方法的不足與神經(jīng)網(wǎng)絡(luò)技術(shù)發(fā)展現(xiàn)狀,本文基于BP神經(jīng)網(wǎng)絡(luò)原理,搭建了電容測試數(shù)據(jù)獲取電路,并以此獲取1~470 pF電容范圍的C-V測量數(shù)據(jù)作為BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與測試樣本。模型的測試實驗結(jié)果表明,電容測量精度達到了97%,測量范圍為1~470 pF,單次測量時間僅為0.5 s,可應(yīng)用于實時在線電容傳感器系統(tǒng)中。
測量電路與實際等效電路如圖1所示。阻容分壓電路測量理想電容的模型如圖1(a)所示。
(a) 阻容分壓電路
(b) 實際電容的等效電路
圖中,us(t)為輸入的正弦波信號,us(t)=Uscos(ωt),ω=2πfs為輸入信號的角頻率;R為系統(tǒng)測量電阻。電容兩端的電壓為:
(1)
式中,θ為電容兩端電壓相對于輸入信號源的相位延遲;ZC為電容阻抗,其值為ZC(ω)=1/(jωC),代入式(1)可得:
(2)
ZC的模值為:
(3)
|ZC(ω)|=A*f(γ)+B,
(4)
但在實際應(yīng)用中,電容是一種非線性器件,其等效圖如圖1(b)所示。圖中,Rs為串聯(lián)電阻,Rp為并聯(lián)電阻,L為串聯(lián)電感,電容的阻抗可表示為:
(5)
當電容值比較大時(大于10 pF),串聯(lián)電阻Rs比并聯(lián)電阻Rp對電容特性的影響更大[15]。因此,在進行電容測量時,并聯(lián)電阻常常被忽略去;此時,電容的阻抗值ZC(ω)及其模值|ZC(ω)|分別為:
(6)
(7)
由式(7)可知,電容的阻抗模值|ZC(ω)|是ω的二階非線性函數(shù)(Rs=10 Ω,L=10 μH時的典型曲線如圖2所示),|ZC(ω)|與C也是二階非線性關(guān)系,因此無法再使用一階線性模型來實現(xiàn)對實際電容的準確測量,而BP神經(jīng)網(wǎng)絡(luò)可用于實現(xiàn)對任意非線性函數(shù)的逼近,因此本文將以此實現(xiàn)對真實非理想電容的高精度測量。
圖2 典型真實電容的阻抗特性對數(shù)曲線Fig.2 Logarithmic curve of impedance characteristics of typical real capacitance
BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),一般包括輸入層、隱含層和輸出層3部分,每一層有若干節(jié)點[16]。其算法稱為BP算法,基本的算法包括信號的前向傳播和誤差的反向傳播。當處于信號的正向傳播過程時,輸入的信號通過隱含層作用于輸出節(jié)點,經(jīng)過變換,產(chǎn)生輸出信號;若實際輸出與期望輸出存在誤差,則進入誤差的反向傳播過程。誤差的反向傳播過程是將誤差通過隱含層向輸入層逐層反傳,并分攤給各層所有單元,以從各層獲得的誤差信號作為調(diào)整各單元參數(shù)的依據(jù)。通過調(diào)整輸入層節(jié)點與隱層節(jié)點的參數(shù),用梯度下降法使誤差沿梯度方向下降,經(jīng)過反復(fù)學(xué)習(xí)訓(xùn)練,反復(fù)修改參數(shù),使誤差的信號最小[17]。典型的多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 BP neural network structure
簡單的線性分類問題通過單層前向神經(jīng)網(wǎng)絡(luò)即可解決,而非線性問題只能通過帶隱含層的多層神經(jīng)網(wǎng)絡(luò)來求解。每個神經(jīng)元節(jié)點的輸入輸出關(guān)系均可以用一個非線性函數(shù)來表示:
(8)
本文所提系統(tǒng)的實現(xiàn)由4個模塊構(gòu)成:數(shù)據(jù)獲取、數(shù)據(jù)預(yù)處理、特征選擇和BP神經(jīng)網(wǎng)絡(luò),如圖4所示。
圖4 本文方法實現(xiàn)流程Fig.4 Implementation flow chart of the proposed method
系統(tǒng)首先通過數(shù)據(jù)獲取電路獲得被測電容兩端的電壓數(shù)據(jù),構(gòu)建原始樣本集;然后在數(shù)據(jù)預(yù)處理模塊中對原始樣本集進行清洗與去噪處理,接著對預(yù)處理后的樣本集進行特征選擇以在保證測量精度的前提上降低網(wǎng)絡(luò)規(guī)模,加快網(wǎng)絡(luò)訓(xùn)練與測試速度。之后,對樣本集進行歸一化后輸入至BP神經(jīng)網(wǎng)絡(luò)中進行訓(xùn)練,并最終獲得測試模型。
數(shù)據(jù)獲取模塊電路主要由DSP主控板、DDS信號發(fā)生器、AGC放大器、ADC采樣器和阻容分壓測量電路構(gòu)成,如圖5所示。
圖5 數(shù)據(jù)獲取模塊Fig.5 Data acquisition module
其中,DSP控制核心采用TI(Texas Instruments)公司生產(chǎn)的32 bit C2000系列高性能實時微控制器TMS320F28379D,其運算速率達到800 MIPS,閃存容量為1 MB,可滿足測量系統(tǒng)實時性與精度的要求。DDS信號發(fā)生器采用Analog Devices(AD)公司生產(chǎn)的直接數(shù)字頻率合成器AD9910,經(jīng)由DSP控制器進行配置并啟動后,線性輸出頻率為1~8 MHz,共計71個頻點的正弦波掃頻信號。AGC放大器模塊由AD公司的AD8367器件及外圍器件構(gòu)成,使掃頻信號幅度在整個頻率范圍內(nèi)均保持1 V。ADC模塊由有效值檢測器與AD轉(zhuǎn)換器構(gòu)成,有效值檢測由AD公司生產(chǎn)的有效值測量芯片AD637實現(xiàn),它的工作頻率為0~8 MHz,電壓測量范圍為-45~+30 dBm;AD轉(zhuǎn)換器采用DSP內(nèi)置16 bit-ADC。獲取模塊實物如圖6所示。
圖6 數(shù)據(jù)獲取模塊實物Fig.6 Picture of the real data acquisition module
模塊工作時,首先由DSP控制器啟動DDS信號發(fā)生器,步進為100 kHz,共計71個頻點,每個頻點信號維持時間為500 ms,線性輸出頻率為1~8 MHz的正弦測試信號;之后由AGC放大器對測試信號進行限幅放大輸出,使得所有頻點的信號輸出幅度保持1 V不變。最后由ADC模塊對電容兩端電壓幅值進行有效值檢測和模數(shù)轉(zhuǎn)換,所獲信號幅值保存后作為數(shù)據(jù)樣本的特征值。
電壓信號數(shù)據(jù)樣本的預(yù)處理主要包括數(shù)據(jù)清洗與去噪處理。為確保樣本數(shù)據(jù)的可靠,試驗對50個電容樣本組的電壓進行了6次測量,每次測量間隔24 h。對相同的電容樣本,如果某次測量的電壓幅度小于其他5次測量平均值的一半,或者大于其他5次測量平均值的1.5倍,即認為是異常數(shù)據(jù)點,例如圖7所示的A點。鑒于異常數(shù)據(jù)點對模型的性能有較大影響,本文所提方法利用數(shù)據(jù)清洗程序?qū)崿F(xiàn)對異常數(shù)據(jù)點的查找,并替換其為其他5次測量的平均值。
(a) 原始信號
(b) 預(yù)處理后的平均信號
去噪處理采用了中值濾波器法。中值濾波器法是一種高效的非線性濾波方法,可有效濾除模擬離散信號中的白噪聲等隨機噪聲。在離散時域標準中值(SM)濾波算法中,窗口在信號序列X上滑動,窗口內(nèi)樣本的中值作為每個位置的輸出[18]。中值濾波操作可表示為:
Y=Med{X1,X2,…,XN},
(9)
式中,Y為濾波輸出值;X為離散的模擬信號序列;N為濾波窗口大?。籜1,X2,…,XN為濾波器窗口內(nèi)樣本。在去除異常數(shù)據(jù)點與濾波后,取6次測量的平均值作為樣本的新特征值,預(yù)處理前后的電壓曲線(樣本C=204.761 pF)對比如圖7所示。
數(shù)據(jù)采集模塊輸出的掃描信號頻率可達100 Hz~8 MHz,但由于本次試驗樣本所使用的電容較小(電容標稱值1.6~970 pF),在低頻時(<1 MHz),電容等效于開路,此時電容兩端電壓的幅值均為輸入信號幅度, 對所有樣本沒有區(qū)分度,因此在選擇特征值時,本方法僅取頻率值大于1 MHz的71個信號電壓幅值作為樣本的特征。
利用文獻[19]所述BP神經(jīng)網(wǎng)絡(luò)的設(shè)計方法,并經(jīng)過反復(fù)驗證、對比、修改后,本文確定了71×16×32×16×1的5層網(wǎng)絡(luò)結(jié)構(gòu),如圖8所示。
圖中,輸入層節(jié)點個數(shù)與樣本的特征個數(shù)相等,為71個;輸出層節(jié)點個數(shù)為1;3層隱藏層的節(jié)點個數(shù)分別為16,32,16 。
實驗所用數(shù)據(jù)集均是通過數(shù)據(jù)獲取模塊獲得,并經(jīng)過數(shù)據(jù)清洗與去噪等預(yù)處理操作,共計50個樣本,每個樣本具有71個特征值。特征值是樣本電容在阻容分壓電路上的分壓幅值,對應(yīng)信號頻率在1~8 MHz的線性變化點上,頻率步進為100 kHz。樣本標簽值由常州同惠電子股份有限公司生產(chǎn)的高頻LCR數(shù)字電橋TH2826在低速、10次平均、C-D測量、自動量程、列表模式條件下測量所得。部分樣本曲線如圖9所示。
圖9 樣本曲線舉例Fig.9 Examples of sample curves
鑒于標簽值與特征值屬于不同的量綱,數(shù)據(jù)集需進行歸一化處理方可使用。本文所提方法采用minmax歸一化方法把數(shù)據(jù)轉(zhuǎn)換到[0,1],轉(zhuǎn)換式如下:
(10)
式中,xi為初始數(shù)據(jù);min(xi),max(xi)為初始數(shù)據(jù)的最大值和最小值;x′i為歸一化后的輸出數(shù)據(jù)。
為了評價模型的性能,本文采用均方誤差(Mean Square Error,MSE)和決定系數(shù)R2兩個指標評價模型測試的性能。MSE是預(yù)測值與真實值之差的平方的均值:
(11)
R2代表所設(shè)計模型的解釋中方差所占的比例,是模型相對均值模型的比較量綱,計算式如下:
(12)
(13)
(14)
式中,SSE(Sum of Due to Errors)為誤差的平方和;SST(Total Sum of Squares)為樣本偏離均值的平方和。當R2=1時,SSE=0,說明預(yù)測值與真實值完全一致,所設(shè)計模型完美地解釋了因變量的變化。當R2=0時,SSE=SST,說明預(yù)測性能與均值模型一樣,模型相對均值模型沒有進一步的解釋能力,不可用。因此,R2在[0,1]時可用于評價模型的性能,越接近1,表示模型的性能越好。
神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練與測試試驗是在聯(lián)眾集群(北京)科技有限公司生產(chǎn)的深度學(xué)習(xí)GPU工作站LZ540-GR上基于Matlab環(huán)境開展的。工作站的主要配置為CPU:Intel E5-2620,內(nèi)存64 GB,GPU GTX 1080Ti×2;操作系統(tǒng) 64位Windows。訓(xùn)練參數(shù)設(shè)置如表1所示。
表1 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練參數(shù)
把獲取的50個樣本數(shù)據(jù)分為2組,選擇其中的9個作為測試數(shù)據(jù)集,其余的41個作為訓(xùn)練數(shù)據(jù)集。在Matlab軟件環(huán)境下構(gòu)建訓(xùn)練程序與BP神經(jīng)網(wǎng)絡(luò),并按照上節(jié)內(nèi)容設(shè)定訓(xùn)練參數(shù),輸入測試數(shù)據(jù)對其反復(fù)學(xué)習(xí)直至訓(xùn)練完成,最后再用訓(xùn)練好的模型對測試數(shù)據(jù)進行預(yù)測。圖10為BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練收斂曲線。
由圖10可以看出,MSE性能曲線隨著迭代次數(shù)的增加快速下降,并在第6次時訓(xùn)練集的MSE值達到設(shè)定學(xué)習(xí)目標值(10-7)而結(jié)束訓(xùn)練,而驗證集與測試集的MSE值在第3次迭代以后就趨于穩(wěn)定。圖11為BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集上的回歸擬合曲線。決定系數(shù)R2在訓(xùn)練、驗證、測試數(shù)據(jù)上的值分別為1,0.997 47,0.998 76,在整個訓(xùn)練集上也達到了0.997 09,表明本文所提BP神經(jīng)網(wǎng)絡(luò)模型具有很高的預(yù)測精度。
圖10 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練收斂曲線Fig.10 Training convergence curve of the BP neural network
(a) 訓(xùn)練樣本(R=1)
(b) 驗證樣本(R=0.997 47)
(d) 全部訓(xùn)練集樣本(R=0.997 09)
為了評價模型對新數(shù)據(jù)的預(yù)測能力,利用訓(xùn)練好的模型對測試集進行預(yù)測,預(yù)測結(jié)果如表2所示。
由表2可以看出,模型預(yù)測的誤差最小僅為0.417%,最大誤差為10.107 3%,平均誤差約為2.629 1%,且在電容小于10 pF時具有比較大的預(yù)測誤差。預(yù)測結(jié)果與原值的對比如圖12所示。由圖12可以看出,模型的預(yù)測結(jié)果與原值有很好的一致性,且在測試集上的決定系數(shù)R2也達到了0.999 14,說明該模型具有很好的泛化能力。
表2 測試集測試結(jié)果
圖12 預(yù)測結(jié)果與原值對比Fig.12 Comparison of predicted results and original values
本文提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的高精度電容測量方法。利用數(shù)據(jù)獲取模塊采集50個標準電容在71個不同頻點的分壓幅值,經(jīng)過數(shù)據(jù)清洗與中值濾波去噪預(yù)處理后,構(gòu)建了50×70的C-U數(shù)據(jù)集;然后利用該數(shù)據(jù)集對隱藏層結(jié)構(gòu)為16×32×16的BP神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,獲取電容預(yù)測模型。試驗結(jié)果表明,模型預(yù)測值與真實值的平均相對誤差僅為2.629 1%,具很好的泛化能力。接下來將對方法在邊緣終端的部署進一步研究,以實現(xiàn)電容的在線實時測量。此外,還將對網(wǎng)絡(luò)模型做進一步改進,使模型可輸出多個不同頻點的預(yù)測值,繼而獲得電容在寬頻帶范圍下的曲線掃描值,以適應(yīng)不同應(yīng)用場合的需求。