劉湘鵬,袁冠輝,陸永輝,顏浪波
(1.重慶大學 電氣工程學院,重慶 400038;2.玉林師范學院 物理與電信工程學院 智能信息與通信技術研究中心,廣西 玉林 537006)
電容器是3種(電阻、電容、電感)最常用的無源電子元器件之一,其電容量(簡稱電容)受極板材料、有效面積、間距以及介電材料的影響。標準電容器是電子設備不可或缺的元器件,而非標準的電容器件,由于其電容值受外形以及中間介電材料的調控,常被作為感知外部變化的傳感器件[1-2]。例如,2019年,一種基于電容傳感器的非接觸式手勢識別系統被實現[3],該系統設計的電容傳感器具有4路輸出信號,可識別8種手勢,其識別準確率達到了95%。類似的,2021年,基于電容式傳感器的非接觸式液位測量系統被提出。該系統可準確測量0~140 mm的液位高度,且誤差僅為5%[4]。文獻[5]基于平行板電容傳感器設計了紙張計數系統,實現了87張以內100%的正確率。此外,朱永燦等人[6]基于插指電容傳感器實現了光伏組件覆冰雪的在線監測。無論是標準電容的使用,還是電容傳感器的使用,電容的快速準確測量都是必要的環節。電容測量值的準確度既影響設備的電路參數,也影響傳感器的感應精度。對于標準電容器件,通過其標稱值即可估算電容值,也可通過LCR電橋等設備進行高精度的測量;而對于非標準的電容傳感器,由于受使用場合、工作環境和實時性要求等限制,常常難以用儀器設備來實現高精度的實時在線測量,因此研究快速高精度的電容測量方法對電容傳感器件的應用顯得尤為重要。
目前,常用的電容測量方法有電容表法、三表法、電橋法和諧振法等[7]。電容法使用電容測量儀表來測定目標電容值,其測量精度依賴于所使用的測量儀器,且需要人工操作,不適用于需要在線實時測量的應用場合。三表法是早期進行電路設計時所使用的方法,它使用交流電壓表、交流電流表與功率表來獲得被測元器件兩端的電壓、電流和功率等電參數,然后通過計算求得所需參數值[8]。該方法操作繁雜,且測量誤差受3個測量儀表影響,精度難以提高,一般只應用于實驗驗證。電橋法與諧振法把被測電容分別接入電橋電路與諧振電路中,然后測量電橋的輸出電壓與諧振電路的諧振頻率,并利用該輸出電壓與諧振頻率計算出被測元件的電容值[9]。這種方法雖然可應用于實時系統中,但受限于電路在寬頻帶工作時的非線性,在目標電容變化范圍較大時,測量誤差比較大。
近年來,伴隨著人工智能技術的快速發展,基于人工神經網絡(Artificial Neural Network)的參數預測與測試研究備受關注,并在實際應用中展現了較好的測量精度[10-11]。例如,Kai Cui等人[12]以BP神經網絡理論為基礎,以工程地質數據庫為研發平臺,在分析巖土材料特性、巖土沉積物分布和巖土參數的基礎上,建立了巖土參數預測模型,并取得了良好的預測效果。文獻[13]提出了一種基于蟻群優化算法—徑向基函數(ACO-RBF)神經網絡的接觸電阻預測模型,使預測的平均誤差相對傳統方法降低了5.9%,預測精度更高。Jerzy Roj等人[14]使用BP神經網絡,在電路的準平衡態與非平衡態下測量了目標對象的電容值與介質損耗因數,且近似誤差(Approximation Error)僅為0.5×10-5。鑒于當前常用電容測量方法的不足與神經網絡技術發展現狀,本文基于BP神經網絡原理,搭建了電容測試數據獲取電路,并以此獲取1~470 pF電容范圍的C-V測量數據作為BP神經網絡的訓練與測試樣本。模型的測試實驗結果表明,電容測量精度達到了97%,測量范圍為1~470 pF,單次測量時間僅為0.5 s,可應用于實時在線電容傳感器系統中。
測量電路與實際等效電路如圖1所示。阻容分壓電路測量理想電容的模型如圖1(a)所示。

(a) 阻容分壓電路

(b) 實際電容的等效電路
圖中,us(t)為輸入的正弦波信號,us(t)=Uscos(ωt),ω=2πfs為輸入信號的角頻率;R為系統測量電阻。電容兩端的電壓為:
(1)
式中,θ為電容兩端電壓相對于輸入信號源的相位延遲;ZC為電容阻抗,其值為ZC(ω)=1/(jωC),代入式(1)可得:
(2)
ZC的模值為:
(3)
|ZC(ω)|=A*f(γ)+B,
(4)

但在實際應用中,電容是一種非線性器件,其等效圖如圖1(b)所示。圖中,Rs為串聯電阻,Rp為并聯電阻,L為串聯電感,電容的阻抗可表示為:
(5)
當電容值比較大時(大于10 pF),串聯電阻Rs比并聯電阻Rp對電容特性的影響更大[15]。因此,在進行電容測量時,并聯電阻常常被忽略去;此時,電容的阻抗值ZC(ω)及其模值|ZC(ω)|分別為:
(6)
(7)
由式(7)可知,電容的阻抗模值|ZC(ω)|是ω的二階非線性函數(Rs=10 Ω,L=10 μH時的典型曲線如圖2所示),|ZC(ω)|與C也是二階非線性關系,因此無法再使用一階線性模型來實現對實際電容的準確測量,而BP神經網絡可用于實現對任意非線性函數的逼近,因此本文將以此實現對真實非理想電容的高精度測量。

圖2 典型真實電容的阻抗特性對數曲線Fig.2 Logarithmic curve of impedance characteristics of typical real capacitance
BP神經網絡是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,一般包括輸入層、隱含層和輸出層3部分,每一層有若干節點[16]。其算法稱為BP算法,基本的算法包括信號的前向傳播和誤差的反向傳播。當處于信號的正向傳播過程時,輸入的信號通過隱含層作用于輸出節點,經過變換,產生輸出信號;若實際輸出與期望輸出存在誤差,則進入誤差的反向傳播過程。誤差的反向傳播過程是將誤差通過隱含層向輸入層逐層反傳,并分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元參數的依據。通過調整輸入層節點與隱層節點的參數,用梯度下降法使誤差沿梯度方向下降,經過反復學習訓練,反復修改參數,使誤差的信號最小[17]。典型的多層神經網絡結構如圖3所示。

圖3 BP神經網絡結構Fig.3 BP neural network structure
簡單的線性分類問題通過單層前向神經網絡即可解決,而非線性問題只能通過帶隱含層的多層神經網絡來求解。每個神經元節點的輸入輸出關系均可以用一個非線性函數來表示:
(8)
本文所提系統的實現由4個模塊構成:數據獲取、數據預處理、特征選擇和BP神經網絡,如圖4所示。

圖4 本文方法實現流程Fig.4 Implementation flow chart of the proposed method
系統首先通過數據獲取電路獲得被測電容兩端的電壓數據,構建原始樣本集;然后在數據預處理模塊中對原始樣本集進行清洗與去噪處理,接著對預處理后的樣本集進行特征選擇以在保證測量精度的前提上降低網絡規模,加快網絡訓練與測試速度。之后,對樣本集進行歸一化后輸入至BP神經網絡中進行訓練,并最終獲得測試模型。
數據獲取模塊電路主要由DSP主控板、DDS信號發生器、AGC放大器、ADC采樣器和阻容分壓測量電路構成,如圖5所示。

圖5 數據獲取模塊Fig.5 Data acquisition module
其中,DSP控制核心采用TI(Texas Instruments)公司生產的32 bit C2000系列高性能實時微控制器TMS320F28379D,其運算速率達到800 MIPS,閃存容量為1 MB,可滿足測量系統實時性與精度的要求。DDS信號發生器采用Analog Devices(AD)公司生產的直接數字頻率合成器AD9910,經由DSP控制器進行配置并啟動后,線性輸出頻率為1~8 MHz,共計71個頻點的正弦波掃頻信號。AGC放大器模塊由AD公司的AD8367器件及外圍器件構成,使掃頻信號幅度在整個頻率范圍內均保持1 V。ADC模塊由有效值檢測器與AD轉換器構成,有效值檢測由AD公司生產的有效值測量芯片AD637實現,它的工作頻率為0~8 MHz,電壓測量范圍為-45~+30 dBm;AD轉換器采用DSP內置16 bit-ADC。獲取模塊實物如圖6所示。

圖6 數據獲取模塊實物Fig.6 Picture of the real data acquisition module
模塊工作時,首先由DSP控制器啟動DDS信號發生器,步進為100 kHz,共計71個頻點,每個頻點信號維持時間為500 ms,線性輸出頻率為1~8 MHz的正弦測試信號;之后由AGC放大器對測試信號進行限幅放大輸出,使得所有頻點的信號輸出幅度保持1 V不變。最后由ADC模塊對電容兩端電壓幅值進行有效值檢測和模數轉換,所獲信號幅值保存后作為數據樣本的特征值。
電壓信號數據樣本的預處理主要包括數據清洗與去噪處理。為確保樣本數據的可靠,試驗對50個電容樣本組的電壓進行了6次測量,每次測量間隔24 h。對相同的電容樣本,如果某次測量的電壓幅度小于其他5次測量平均值的一半,或者大于其他5次測量平均值的1.5倍,即認為是異常數據點,例如圖7所示的A點。鑒于異常數據點對模型的性能有較大影響,本文所提方法利用數據清洗程序實現對異常數據點的查找,并替換其為其他5次測量的平均值。

(a) 原始信號

(b) 預處理后的平均信號
去噪處理采用了中值濾波器法。中值濾波器法是一種高效的非線性濾波方法,可有效濾除模擬離散信號中的白噪聲等隨機噪聲。在離散時域標準中值(SM)濾波算法中,窗口在信號序列X上滑動,窗口內樣本的中值作為每個位置的輸出[18]。中值濾波操作可表示為:
Y=Med{X1,X2,…,XN},
(9)
式中,Y為濾波輸出值;X為離散的模擬信號序列;N為濾波窗口大小;X1,X2,…,XN為濾波器窗口內樣本。在去除異常數據點與濾波后,取6次測量的平均值作為樣本的新特征值,預處理前后的電壓曲線(樣本C=204.761 pF)對比如圖7所示。
數據采集模塊輸出的掃描信號頻率可達100 Hz~8 MHz,但由于本次試驗樣本所使用的電容較小(電容標稱值1.6~970 pF),在低頻時(<1 MHz),電容等效于開路,此時電容兩端電壓的幅值均為輸入信號幅度, 對所有樣本沒有區分度,因此在選擇特征值時,本方法僅取頻率值大于1 MHz的71個信號電壓幅值作為樣本的特征。
利用文獻[19]所述BP神經網絡的設計方法,并經過反復驗證、對比、修改后,本文確定了71×16×32×16×1的5層網絡結構,如圖8所示。
圖中,輸入層節點個數與樣本的特征個數相等,為71個;輸出層節點個數為1;3層隱藏層的節點個數分別為16,32,16 。
實驗所用數據集均是通過數據獲取模塊獲得,并經過數據清洗與去噪等預處理操作,共計50個樣本,每個樣本具有71個特征值。特征值是樣本電容在阻容分壓電路上的分壓幅值,對應信號頻率在1~8 MHz的線性變化點上,頻率步進為100 kHz。樣本標簽值由常州同惠電子股份有限公司生產的高頻LCR數字電橋TH2826在低速、10次平均、C-D測量、自動量程、列表模式條件下測量所得。部分樣本曲線如圖9所示。

圖9 樣本曲線舉例Fig.9 Examples of sample curves
鑒于標簽值與特征值屬于不同的量綱,數據集需進行歸一化處理方可使用。本文所提方法采用minmax歸一化方法把數據轉換到[0,1],轉換式如下:
(10)
式中,xi為初始數據;min(xi),max(xi)為初始數據的最大值和最小值;x′i為歸一化后的輸出數據。
為了評價模型的性能,本文采用均方誤差(Mean Square Error,MSE)和決定系數R2兩個指標評價模型測試的性能。MSE是預測值與真實值之差的平方的均值:
(11)

R2代表所設計模型的解釋中方差所占的比例,是模型相對均值模型的比較量綱,計算式如下:
(12)
(13)
(14)
式中,SSE(Sum of Due to Errors)為誤差的平方和;SST(Total Sum of Squares)為樣本偏離均值的平方和。當R2=1時,SSE=0,說明預測值與真實值完全一致,所設計模型完美地解釋了因變量的變化。當R2=0時,SSE=SST,說明預測性能與均值模型一樣,模型相對均值模型沒有進一步的解釋能力,不可用。因此,R2在[0,1]時可用于評價模型的性能,越接近1,表示模型的性能越好。
神經網絡模型的訓練與測試試驗是在聯眾集群(北京)科技有限公司生產的深度學習GPU工作站LZ540-GR上基于Matlab環境開展的。工作站的主要配置為CPU:Intel E5-2620,內存64 GB,GPU GTX 1080Ti×2;操作系統 64位Windows。訓練參數設置如表1所示。

表1 神經網絡模型訓練參數
把獲取的50個樣本數據分為2組,選擇其中的9個作為測試數據集,其余的41個作為訓練數據集。在Matlab軟件環境下構建訓練程序與BP神經網絡,并按照上節內容設定訓練參數,輸入測試數據對其反復學習直至訓練完成,最后再用訓練好的模型對測試數據進行預測。圖10為BP神經網絡的訓練收斂曲線。
由圖10可以看出,MSE性能曲線隨著迭代次數的增加快速下降,并在第6次時訓練集的MSE值達到設定學習目標值(10-7)而結束訓練,而驗證集與測試集的MSE值在第3次迭代以后就趨于穩定。圖11為BP神經網絡在訓練集上的回歸擬合曲線。決定系數R2在訓練、驗證、測試數據上的值分別為1,0.997 47,0.998 76,在整個訓練集上也達到了0.997 09,表明本文所提BP神經網絡模型具有很高的預測精度。

圖10 BP神經網絡訓練收斂曲線Fig.10 Training convergence curve of the BP neural network

(a) 訓練樣本(R=1)

(b) 驗證樣本(R=0.997 47)

(d) 全部訓練集樣本(R=0.997 09)
為了評價模型對新數據的預測能力,利用訓練好的模型對測試集進行預測,預測結果如表2所示。
由表2可以看出,模型預測的誤差最小僅為0.417%,最大誤差為10.107 3%,平均誤差約為2.629 1%,且在電容小于10 pF時具有比較大的預測誤差。預測結果與原值的對比如圖12所示。由圖12可以看出,模型的預測結果與原值有很好的一致性,且在測試集上的決定系數R2也達到了0.999 14,說明該模型具有很好的泛化能力。

表2 測試集測試結果

圖12 預測結果與原值對比Fig.12 Comparison of predicted results and original values
本文提出了一種基于BP神經網絡的高精度電容測量方法。利用數據獲取模塊采集50個標準電容在71個不同頻點的分壓幅值,經過數據清洗與中值濾波去噪預處理后,構建了50×70的C-U數據集;然后利用該數據集對隱藏層結構為16×32×16的BP神經網絡模型進行訓練,獲取電容預測模型。試驗結果表明,模型預測值與真實值的平均相對誤差僅為2.629 1%,具很好的泛化能力。接下來將對方法在邊緣終端的部署進一步研究,以實現電容的在線實時測量。此外,還將對網絡模型做進一步改進,使模型可輸出多個不同頻點的預測值,繼而獲得電容在寬頻帶范圍下的曲線掃描值,以適應不同應用場合的需求。