溫曉杰石云波*趙 銳曹慧亮王彥林張娟娟
(1.中北大學電子測試技術重點實驗室,山西 太原 030051;2.西安機電信息技術研究所,陜西 西安 710065)
現代戰(zhàn)爭為信息化的戰(zhàn)爭,精確制導、引信侵徹日漸成為戰(zhàn)爭火力的主要打擊方式,為了滿足逐漸發(fā)展的戰(zhàn)爭的需要,各國都在大力發(fā)展尖端武器[1]。其中量程達到數萬gn乃至數十萬gn的加速度計作為將其他信號轉化為電信號的器件在引信制導過程中占據著舉足輕重的位置[2],精確測定加速度計的動態(tài)性能指標可為智能控制、鉆地武器的研制奠定重要的基礎[3]。而在實際應用中,加速度計在高量程的測試環(huán)境下的動態(tài)特性會發(fā)生變化,從而影響測試精度[4]。由于高量程加速度計具有較高的固有頻率,對于激勵信號的要求極其苛刻[5],對其精確度的測量將是一個巨大的考驗,因此需要通過系統(tǒng)辨識的方法來獲取高量程加速度計的內部傳遞特性,進而對其工作頻帶及諧振頻率進行校準。
對加速度計動態(tài)系統(tǒng)進行系統(tǒng)辨識是對加速度計動態(tài)建模的一種手段,常用的系統(tǒng)辨識方法有預測誤差法、神經網絡法、遺傳算法等[6-7],其中預測誤差法將加速度計構建為ARMAX模型,將對加速度計模型各階系數的辨識轉化為對加速度計內部結構的相關參數辨識,降低了辨識的維度,當加速度計模型階次較高時,計算量相對較大且采用高斯牛頓迭代法求解容易陷入局部最優(yōu),無法得到全局的最優(yōu)值,神經網絡法同樣在全局尋優(yōu)的過程中容易陷入局部最優(yōu)值,雖然結合遺傳算法可以大大降低這些缺陷,得到了比較精確的結果,但大多學者僅僅將加速度計視為簡單的二階系統(tǒng),但實際的加速度計由于封裝、安裝等方面的原因,往往表現為高階系統(tǒng)。
本論文從高量程加速度計的多層封裝出發(fā),分析加速度計的內部結構,確定需要辨識的加速度計模型參數的數量,然后基于PSO-BP算法,分析加速度計的辨識原理,將PSO算法運用到BP神經網絡算法中,針對BP算法的收斂速度慢和易陷入局部極值的局限性進行了改進,大大提高收斂速度,并克服局部最優(yōu)值所造成的的誤差,并采用慣性權重線性遞減、學習因子非線性變化的方法,提高算法收斂速度和模型辨識精度,最后通過數值仿真和實驗的方法驗證該算法的可行性。
高量程加速度計相對于普通加速度計具有更高的諧振頻率,為了提高抗過載能力,往往采用復合封裝的方法對加速度計進行防護[8]。高量程加速度計的復合封裝結構如圖1(a)所示,硅芯片和玻璃襯底通過陽極鍵合到一體,然后通過貼片膠粘貼到外殼底部,周圍再用灌封膠進行填充,其每一個部分都可以看做是一個二階系統(tǒng),那么整個高g加速度計可看成多個二階系統(tǒng)的串并聯的組合。高量程加速度計的整體封裝結構的振動模型如圖1(b)所示,整體模型可等效為一個三自由度振動系統(tǒng),該系統(tǒng)有三個諧振頻率。高量程加速度計是由各個部分串并聯而來的,整體構成了一個六階系統(tǒng)。
如圖1(b)所示,c i、k i、mi(i=1,2,3)為各層二階系統(tǒng)的阻尼系數、剛度系數和等效質量,加速度計整體模型可視為三個二階系統(tǒng)的串聯組合,其標準傳遞函數為:
圖1 復合封裝加速度計結構示意圖
式中:H i(s)為各層系統(tǒng)傳遞函數,K i為各層系統(tǒng)函數增益,為各層系統(tǒng)的無阻尼振蕩頻率為各層系統(tǒng)阻尼比。
因此,復合封裝高量程加速度計模型傳遞函數為:
將傳遞函數分子分母系數拼接為待辨識參數向量θ=[b0b1…b ma0a1…a n]。
高量程加速度計的動態(tài)特性的指標意味著能即時準確復現輸入加速度信號的能力,分為時域動態(tài)指標和頻域動態(tài)指標。本論文著力于實現對高量程加速度計頻域動態(tài)指標的校準,主要通過對高量程加速度計系統(tǒng)辨識的方法來實現對其通頻帶和諧振頻率的校準。
動態(tài)校準的目的是獲取被校系統(tǒng)的全部工作模態(tài),這對激勵信號就提出了相關要求,動態(tài)校準的理想激勵信號的頻譜在所有頻率點上的都具有平直的幅頻特性,其時域信號為沖激信號,這在物理上是無法實現的,因此提出在有限帶寬內保持平直的準δ信號作為激勵信號,根據文獻[5]中窄脈寬校準準則,激勵信號脈沖寬度和需要校準的加速度計的諧振頻率有如下關系:
式中:τ激勵加速度脈寬;f為脈寬為τ的激勵加速度信號能校準的最大諧振頻率。
一般實驗室的校準裝置,可產生的最小激勵加速度脈寬為20μs左右,通過式(3)可計算能校準的加速度計最大諧振頻率為70 kHz,對于復合封裝加速度計,最高階的芯片本振頻率高達400 kHz~500 kHz,要想將加速度計全部模態(tài)激發(fā)出來,所需最大激勵加速度脈寬為2μs~3μs,這在現有的校準技術和實驗條件下是難以實現的,因此本文通過動態(tài)參數辨識的方法,建立加速度計的多階動態(tài)模型,利用BP-PSO算法對加速度計的模型參數進行系統(tǒng)辨識。
BP神經網絡是1986年由D.E.和J.L.提出的一種多層前饋網絡的誤差反向傳播算法,該算法由輸入層、隱含層(一層或多層)和輸出層構成,其網絡拓撲結構如圖2所示,其中輸入層為待辨識參數θ,一方面對樣本進行前向傳播,另一方面通過對比模型輸出與期望輸出的誤差來進行反向饋通傳播,通過誤差一次次調整每一層的權重繼續(xù)進行前行傳播,通過對樣本的訓練一次次逼近輸出期望值。
圖2 BP神經網絡拓撲結構示意圖
為了提高BP神經網絡的泛化能力,采用基于全局誤差的BP神經網絡辨識,模型的穩(wěn)定性和準確性可以通過誤差序列的平均值M和標準差(即均方差σ)來進行描述:
雖然誤差平均值和標準差可以反映模型預測和實際數據的擬合程度,但是計算量較大,因此本文采用誤差的殘差平方和(即均方誤差)MSE(Mean Square Error)來進行描述[9]。
MSE越小表明系統(tǒng)辨識效果越好,這樣就將求極值轉化成一個二次規(guī)劃問題,為了方便計算,我們引入模型系統(tǒng)辨識的代價函數J,令
為使代價函數J最小,使用梯度下降法對參數進行迭代求解,梯度下降法是一種最速下降尋優(yōu)法,每一次的迭代只考慮下一步的方向,而忽略前面所積累的經驗[10]。除此之外,BP神經網絡的學習因子對辨識結果的影響也很大,當學習因子較小時,收斂速度太慢,久久得不到預期的結果,當學習因子較大時,又容易跳過最優(yōu)值,并來回震蕩,甚至會使迭代結果發(fā)散,致使辨識失敗,而且當初始參數選擇不當時,還容易陷入局部最優(yōu)值的困境,因此本論文在BP神經網絡算法的基礎上引入了PSO算法,從BP網絡的不足之處入手,來對算法進行改進。
PSO算法(Particle Swarm Optimization,粒子群優(yōu)化算法)是1995年由Eberhart和Kennedy兩位博士提出來的,如今已被應用到神經網絡訓練/模糊系統(tǒng)控制和人工智能等領域[11-12]。其核心思想為每個粒子在每次運動過程中在自己上一次的位置、自己經歷的最優(yōu)的位置p ibest以及所有粒子經歷過的最優(yōu)位置gbest三個因素的共同作用下調整自己的速度和方向,第i個粒子在k+1時刻的速度和位置為:
式中:ω為慣性權重系數,表征粒子在每一次移動時,上次的狀態(tài)所占的比重;c1,c2分別為個體學習因子和全局學習因子;r1,r2為分布在0~1之間的隨機數;p ibest(k)為第i個粒子在前k次的運動過程中最優(yōu)值(個體最優(yōu)值);gbest(k)為所有粒子在前k次的運動過程中的最優(yōu)值(全局最優(yōu)值)。
慣性權重ω是由shi等人在1998年提出來的[13-15]。并且提出了慣性權重線性遞減的粒子群算法,ω較大時算法有較強的全局搜索能力,ω較小時算法具有較強的局部搜索能力,為了使算法在全局和局部的搜索中達到最佳的平衡和加快收斂速度,定義變化的慣性權重為:
式中:ωmax和ωmin分別為慣性權重的最大值和最小值,k和K分別為當前迭代次數和最大迭代次數。
對于學習因子,經過多數學者的理論論證和實踐檢驗,當學習因子固定不變時,其收斂速度和迭代效果并不理想,紛紛提出各種學習因子隨迭代次數而改變的粒子群算法,都得到了較為滿意的效果[16-19]。經過前人的研究,個體學習因子c1逐漸減小,全局學習因子c2逐漸增大,會提高算法的收斂速度和迭代精度。
雖然改變學習因子會提高算法的計算速度和準確度,但線性改變學習因子的方法,也在一定程度上存在缺陷,理想的學習因子在初期和末期變化應該變化緩慢,為了更大程度地搜尋更為廣闊的位置以及持續(xù)以更快的速度進行局部探索,提高算法的精度,而在算法中期,學習因子應該快速變化,盡快從全局尋優(yōu)轉移到局部尋優(yōu)上,因此本文提出學習因子非線性變化的粒子群算法,學習因子可按照sigmoid函數或cos函數進行取值。
若按照sigmoid函數,學習因子隨迭代次數變化的表達式為:
式中:cmax、cmin分別為給定學習因子的最大、最小值,一般取[1,3];Δc=cmax-cmin;k為當前迭代次數;K為最大迭代次數。
若按照cos函數,學習因子隨迭代次數變化的表達式為:
經過數值仿真比較,本論文選用sigmoid函數作為學習因子的變化函數,改進的算法流程如下:
Step 1 隨機產生n組BP神經網絡各部分權重初始值ωi j、ωl并進行反向傳播訓練,根據圖2網絡結構將每一次的訓練結果^ωij、^ωl經過式(12)后得到θ作為PSO算法的參數初始值,其中θi為θ中第i個參數,則初始粒子群位置為x(n,d),d為參數的維度,設定歷史權重ω和學習因子c1、c2向量;
Step 2 將BP神經網絡中的代價函數J作為PSO算法的適應度函數,最優(yōu)值即為代價函數的最小值,代入各粒子的初始位置計算各粒子的適應度,初始化粒子群的個體最優(yōu)值pbest和全局最優(yōu)值gbest;
Step 3 通過公式更新粒子新的位置和速度信息,通過計算適應度函數更新個體最優(yōu)值pbest和全局最優(yōu)值gbest;
Step 4 判斷適應度函數J是否在精度要求范圍內或是否達到最大迭代次數,若是,則進入下一步,否則返回step3繼續(xù)迭代計算;
Step 5 輸出的全局最優(yōu)值gbest即為系統(tǒng)參數向量的辨識結果^θ,將參數結果作為各階系數即可轉化為加速度計模型的離散傳遞函數H′(z);
Step 6 通過零階保持器將離散傳遞函數H′(z)轉化為連續(xù)傳遞函數H(s),并令s=jw,即可求出系統(tǒng)的頻率響應函數H(jw);
Step 7 根據頻率響應函數H(jw)可作出幅頻響應曲線,并對結果進行分析,驗證其算法的準確性和可行性。
為了驗證上述算法對于高量程加速度計的參數動態(tài)辨識結果,利用MATLAB軟件構建了基于實際加速度加加速度計的多階動態(tài)模型以及激勵信號進行仿真。
激勵信號選用峰值為1μV,脈寬為100μs的半正弦加速度信號,持續(xù)時間段為600μs~700μs,其頻譜截止頻率為60.55 kHz,激勵信號表達式為:
為了使仿真更加貼近實際,對于激勵半正弦脈沖添加均值為0,方差為0.01的隨機干擾,下面通過仿真來驗證算法對加速度計模型參數的辨識效果。
假定加速度計為二階系統(tǒng)(諧振頻率為134.8 kHz),待辨識參數θ=[0.5,1.546×106,6.247×1011,1,1.026×105,7.08×1011],其連續(xù)時間傳遞函數為:
將連續(xù)時間傳遞函數通過零階保持器轉化為離散時間傳遞函數,采樣間隔為0.5μs,獲得其離散系統(tǒng)傳遞函數為:
通過算法辨識得到其以分母最高階系數為基準進行歸一化處理后離散傳遞函數為:
再變換為連續(xù)時間傳遞函數為:
辨識得到的參數向量=[0.5,1.546×106,6.247×1011,1,1.026×105,7.08×1011],與待辨識參數向量θ相比,所有參數相對誤差均為0%。通過算法獲得加速度計二階模型系統(tǒng)辨識的效果如圖3所示。
圖3 二階系統(tǒng)參數辨識數值仿真結果
假定加速度計為四階系統(tǒng)(兩個二階系統(tǒng)串聯,諧振頻率分別為132.4 kHz、446.3 kHz),其幅頻特性曲線將呈現兩階諧振頻率,其連續(xù)時間傳遞函數為:
將連續(xù)時間傳遞函數通過零階保持器轉化為離散時間傳遞函數,采樣間隔為0.5μs,獲得其離散系統(tǒng)傳遞函數為:
通過算法辨識得到其歸一化離散傳遞函數為:
再變換為連續(xù)時間傳遞函數為:
各參數的辨識誤差分別為1.40%、0.67%、0.05%、0.04%、0.12%、0%、0.71%、0.03%、0.02%、0.07。通過算法獲得加速度計四階模型系統(tǒng)辨識的效果如圖4所示。
圖4 四階系統(tǒng)參數辨識數值仿真結果
假定加速度計為六階系統(tǒng)(三個二階系統(tǒng)串聯,其諧振頻率分別為83.2 kHz、254.4 kHz、417.6 kHz),其幅頻特性曲線將呈現三階諧振頻率,其連續(xù)時間傳遞函數為:
將連續(xù)時間傳遞函數通過零階保持器轉化為離散時間傳遞函數,采樣間隔為0.5μs,獲得其離散系統(tǒng)傳遞函數為:
通過算法辨識得到其歸一化離散傳遞函數為:
再變換為連續(xù)時間傳遞函數為:
各參數的辨識誤差分別為2.40%、2.46%、1.41%、4.07%、1.06%、2.88%、1.27%、0%、0.28%、0.04%、0.59%、0.05%、0.63%、0.14%。通過算法獲得加速度計六階模型系統(tǒng)辨識的效果如圖5所示。
圖5 六階系統(tǒng)參數辨識數值仿真結果
由數值仿真結果可知,在輸入信號有干擾的情況下,算法辨識結果良好,參數辨識相對誤差都保持在5%以內,辨識結果時域和頻域曲線基本完全重合,加速度計模型的各階振型已全部辨識出來,工作頻帶與諧振頻域與預定模型參數完全一致,滿足動態(tài)校準的要求。
使用Hopkinson桿測試系統(tǒng)對中北大學研制的NCCJ-20型高量程加速度計(量程200 000gn,芯片本振頻率450 kHz~500 kHz)進行動態(tài)校準測試實驗。
Hopkinson桿測試系統(tǒng)示意圖如圖6所示,子彈在氣壓的作用下沖擊Hopkinson桿,桿末端的加速度計在激勵加速度作用下有信號輸出,利用差動式多普勒干涉儀對激勵信號進行復現,與加速度計的輸出信號通過數據采集裝置采集到上位機。
圖6 測試系統(tǒng)示意圖
在2 MHz的采樣頻率下通過系統(tǒng)辨識得到加速度計的歸一化離散傳遞函數為:
變換為連續(xù)時間傳遞函數為:
激勵加速度信號通過該模型的預測輸出波形如圖7所示。
圖7 加速度計時域辨識實驗結果
辨識結果模型的幅頻特性曲線和實驗數據FFT計算結果對比如圖8(a)所示,由于實驗過程中受到各種外在因素的影響,導致FFT的計算結果顯得比較雜亂,但比較關鍵的頻率點可以看出明顯的峰值,其部分峰值所對應的頻率點為加速度計的各階諧振頻率點。通過算法辨識出來加速度計模型三階振動模態(tài),分別是77.16 kHz、198.1 kHz、479.9 kHz,對應實驗FFT計算結果中的75.56 kHz、207.1 kHz、489.5 kHz,其相對誤差分別為2.12%,4.35%,1.96%。
圖8 加速度計頻域辨識實驗結果
為探究算法對加速度計工作頻帶的辨識結果,將圖8(a)中方框部分放大,如圖8(b)所示,在幅值誤差在5%(對數幅值約0.423 8 dB)時FFT計算帶寬為10.13 kHz,算法辨識帶寬為9.26 kHz,相對誤差為8.59%,在幅值誤差為10%(對數幅值約0.827 9 dB)時FFT計算帶寬為13.92 kHz,算法辨識帶寬為13.07 kHz,相對誤差為6.11%。算法辨識得到的加速度計諧振頻率和頻帶寬度可信度較大,結果足以滿足動態(tài)測試的要求。
本文通過改進后的BP-PSO算法對高量程多振動模態(tài)加速度計進行了系統(tǒng)辨識。首先對施加被隨機白噪聲污染的半正弦激勵加速度信號的加速度計多階模型進行了系統(tǒng)辨識,得到了良好的辨識效果,最后利用Hopkinson桿校準裝置產生脈寬20μs左右的激勵加速度脈沖校準了芯片本振頻率高達478.02 kHz的加速度計,此外也對加速度計的各階振動模態(tài)和工作頻帶進行了校準,加速度計三階諧振頻率相對誤差分別為2.12%、4.35%、1.96%,在5%和10%誤差范圍內工作頻帶的相對誤差分別為8.59%和6.11%,得到了不錯的動態(tài)校準效果。