徐世宇,何其偉
(1. 海軍工程大學 動力工程學院,湖北 武漢 430033;2. 海軍工程大學 艦船與海洋學院,湖北 武漢 430033)
振動主動控制技術在艦船低頻振動抑制方面有著明顯優(yōu)勢,2005 年Mathias Winberg 等[1]對瑞典游艇上2 臺柴油機進行振動主動控制,使得艙室噪聲在120 Hz以下有超過10 dB 的減弱。Filter -x least mean square (FxLMS)算法結(jié)構(gòu)簡單,控制精度高,是振動主動控制自適應算法的經(jīng)典算法。但在復雜的噪聲環(huán)境下,該算法的收斂性和穩(wěn)定性往往不能滿足實際要求,因此學者們對傳統(tǒng)的FxLMS 算法進行改進。其中次級通道在線辨識技術能夠?qū)Υ渭壨穮?shù)進行實時更新,保證了降噪算法的實時性和穩(wěn)定性,更符合實際控制中有時變特性的次級通道[2-3]。
在線辨識次級通道的主動控制系統(tǒng)中,保證對時變的次級通道快速精確辨識是該算法減小控制誤差的關鍵因素。提高次級通道辨識精度、減少初級通道和次級通道間的相互干擾是在線辨識次級通道算法優(yōu)化改進的重點方向[4-5]。
Eriksson[6]提出引入隨機白噪聲作為次級通道的參考信號,但引入的白噪聲信號會進入到控制通道中,對控制結(jié)果產(chǎn)生干擾,導致系統(tǒng)不穩(wěn)定甚至發(fā)散。
Eriksson 算法見圖1,P(z)為初級通道,指振源到目標控制點的傳遞函數(shù);S(z)為次級通道,指控制信號發(fā)生到目標控制點的傳遞函數(shù);x(n)為振源信號,作為初級通道的參考信號;e(n)為誤差信號;v(n)為引入的隨機白噪聲信號,作為次級通道的參考信號。
圖1 Eriksson 在線辨識次級通道算法框圖Fig. 1 Block diagram of Eriksson online identification secondary channel algorithm
由FXLMS 算法推算,可得控制通道權(quán)系數(shù)W(n)和次級通道辨識結(jié)果S′(n)系數(shù)迭代公式為:
式中:μw,μs為收斂步長。
附加隨機噪聲v(n)經(jīng)S′(n)的輸出為:
誤差信號e(n)中也會存在因引入的隨機白噪聲而產(chǎn)生的誤差,即
進一步推導有
式中:s(n)v(n)為在線辨識環(huán)節(jié)中引入的附加隨機噪聲流入控制通道后經(jīng)由次級通道后產(chǎn)生的誤差。當系統(tǒng)收斂后,W(n)逼近Wopt,前一項趨近于0,噪聲信號為誤差的主要來源。
對辨識通道誤差分析得
式中:d(n)-y′(n)為控制通道對辨識通道的影響,前一項在系統(tǒng)收斂后趨近于0。由上述可知,2 個通道間存在的相互影響直接關系到系統(tǒng)的控制效果。
為解決2 個通道間相互影響的問題,Bao 等[7]引入一個自適應濾波器用以產(chǎn)生有源控制的誤差信號,減小了該信號對建模濾波器的影響,但沒有消除建模信號對控制通道的影響。張明[8]、楊鐵軍[9-10]等在Bao 的基礎上附加第3 個維納濾波器,進一步擬合并消除建模通道中的控制信號,降低了通道間的相互影響,提高了整體性能,但由于附加的濾波器,算法框架及參數(shù)設置更為復雜,計算量也更大。Akhtar[11]提出在次級通道中采用時變的收斂步長算法,該方法的算法框架與原算法幾乎一致,減小了在線辨識算法中控制通道對辨識通道的干擾影響,但沒有解決辨識通道對控制通道的影響。Shakeel Ahmed[12]提出通過在線調(diào)節(jié)引入噪聲信號功率的方法減小控制誤差??刂瞥跗?,噪聲信號的輸出功率由次級通道的誤差信號功率決定;控制收斂后,噪聲信號的輸出功率由2 個次級通道的辨識濾波器誤差信號相關估計值決定。整體提高了控制精度,但采用了結(jié)構(gòu)更復雜的歸一化最小均方算法,穩(wěn)定性和收斂速度低于Akhtar 算法。
本文基于已有算法,在不增加算法結(jié)構(gòu)復雜程度基礎上,提出塊處理的變步長次級通道在線辨識主動控制算法,旨在減小在線辨識中2 個通道的相互影響,加快算法收斂速度,提高算法穩(wěn)定性。
前文通常根據(jù)參考信號x(n)或者振動期望信號e(n)及其功率變化作為變步長更新算法建模的誤差信號,但信號采集中的異常值會導致步長更新存在突變而影響算法的穩(wěn)定性和收斂性。
本文提出塊處理的思路,將參考信號存入一定長度的寄存器進行范數(shù)平均化,降低異常值的影響,提出改進的控制算法。算法框圖如圖2 所示。
圖2 本文算法框圖Fig. 2 algorithm block diagram of this paper
主動控制環(huán)節(jié)的步長根據(jù)系統(tǒng)狀態(tài)在線調(diào)整,進一步改善系統(tǒng)的收斂速度和穩(wěn)態(tài)誤差。參考信號功率增加會導致系統(tǒng)趨于發(fā)散,保持較小的步長有利于系統(tǒng)的穩(wěn)定。隨著控制進行,期望信號逐步減小,辨識誤差對系統(tǒng)影響變小,此時步長可適當增大以加快控制收斂速度;當系統(tǒng)收斂完畢處于穩(wěn)態(tài)后,適當減小步長,來得到更低的穩(wěn)態(tài)誤差。
以參考信號的歐幾里得范數(shù)為誤差信號進行評價,定義誤差因子為
根據(jù)定義的迭代步長變化特性,進行歸一化及參數(shù)調(diào)整,此時步長調(diào)整表達式為:
μw(n)與τ(n)關系如圖3 所示,可根據(jù)控制對象和控制策略對步長上下限和調(diào)整速度快慢進行優(yōu)化參數(shù)調(diào)整。
圖3 μw(n)與τ(n)函數(shù)關系圖Fig. 3 μw(n) and τ(n)function diagram
迭代步長調(diào)整策略為先上升后降低的2個過程。
其中,Pv(n) 和Pe(n)分別為參考信號v(n)和期望信號‖e(n)‖的功率估計函數(shù),并用指數(shù)平滑預測方法計算
其中,a為遺忘因子(0.9<a <1)。
在控制開始時,期望信號約等于輸入信號遠大于附加噪聲,ρ(n)為趨于0的小值;當控制通道逐漸收斂后,趨于0,ρ(n)逐漸增大到某一定值。由此可見ρ(n) 與呈負相關性,而f(n)為ΔS與加和,所以ρ(n)f(n)與 ΔS呈正相關性,可用ρ(n)f(n)近似估計辨識誤差,考慮到附加噪聲與期望信號能量比不確定的情況,需要限制步長上下限,步長調(diào)整表達式修改為
其中:μmin,μmax為 辨識步長的上下限。
第2 階段:當辨識通道辨識完成后,需要將辨識步長調(diào)整到較小值,進一步降低辨識誤差。當μs1(n)>?μmax時,采用第2 階段步長變化規(guī)律,并設置第2 階段初始步長μs2(n)=?μmax,該階段的步長調(diào)整表達式為:
其中:b,c為預設參數(shù)。
對Akhtar 算法和本文改進算法進行仿真實驗,采用主動控制算法中常用的權(quán)系數(shù)辨識誤差和控制系統(tǒng)的減振性能作為評價指標。
定義辨識通道辨識誤差為[11]:
定義系統(tǒng)減振標準為:
ΔS(n)的值越小,表征辨識精度越高,R(n)的值越小,表征系統(tǒng)的減振性能越好。
搭建單通道在線辨識主動振動控制模型,對Akhtar和本文所提算法進行驗證。初級通道和次級通道的傳遞函數(shù)由實際主動隔振實驗的數(shù)據(jù)分別轉(zhuǎn)化為600 階和200 階的FIR 濾波器系數(shù)而來,其幅值特性如圖4所示,控制通道和建模通道的建模FIR 濾波器長度均設置為200 階。
圖4 仿真模型幅值特性圖Fig. 4 Amplitude characteristic diagram of simulation model
其中,仿真采樣頻率設置為10kHz,辨識通道初始參數(shù)為0,相關參數(shù)設置如表1 所示。
設參考信號為頻率分別為60 Hz 與100 Hz 的正弦信號與高斯白噪聲的合成信號,信噪比為30 dB。辨識通道的建模信號為均值為0、方差為0.001 的高斯白噪聲。
仿真結(jié)果如圖5 所示。圖5(a) 和圖5(b)為本文算法與Akhtar 算法控制前與控制后在時域上的對比效果,可見2 種算法在本仿真模型中均能達到預期的控制目的。為定量分析2 種算法的優(yōu)劣,按上述評價標準分析仿真數(shù)據(jù)可得。
圖5 本文算法與Akhtar 算法仿真結(jié)果比較Fig. 5 Comparison of simulation results between this algorithm and Akhtar algorithm
圖5(c) 是在線建模辨識誤差 ΔS的比較,在迭代30 000 次左右時,Akhtar 算法辨識基本收斂,在辨識誤差ΔS=-64 dB處小幅波動;本文算法在迭代20 000次左右時,即可完成算法收斂,平均辨識誤差ΔS=-68 dB,辨識速度提升了50%,辨識精度提升了4%。圖5(d)表示振動控制系統(tǒng)的減振性能,可以發(fā)現(xiàn),整個控制階段中本文算法相比于Akhtar 算法,在減振量和算法收斂速度方面都有明顯的優(yōu)勢,控制收斂后,減振性能高5 dB。
圖5(f)為本文算法與Akhtar 算法在仿真中,辨識通道迭代步長μs的在線調(diào)整對比情況。圖5(e)表示本文算法在控制通道中迭代步長μω的在線調(diào)整情況。在控制初期,主動控制系統(tǒng)還未產(chǎn)生效果,誤差信號較大,2 種算法的迭代步長都保持較小,保證算法不會發(fā)散。隨著誤差信號在主動控制下逐步減小,辨識步長值都逐漸增大,以加快收斂速度。Akhtar 算法在迭代10 000 次后達到最大值,本文算法在迭代13 000 次時達到更大的最大值后,逐步減小步長,并于20 000 次時減小到最小值??刂仆ǖ赖牟介LAkhtar 算法保持在定值,本文算法按控制策略在控制初始階段由小增大,減小辨識通道對控制的影響,加快收斂速度,在控制逐步收斂后步長減小,降低穩(wěn)態(tài)誤差。
在實際條件下,次級通道往往會隨著時間不斷變化,為檢驗算法在次級通道變化情況下的控制情況,設置次級通道突變的仿真實驗,在迭代40 000 次時,次級通道發(fā)生突變,突變后的次級通道幅值特性如圖6 所示。
圖6 突變后次級通道幅值特性圖Fig. 6 Amplitude characteristic diagram of secondary channel after sudden change
圖7(a)和圖7(b)分別為次級通道發(fā)生突變,2 種算法的控制前后的時域?qū)Ρ葓D。圖7(c)和圖7(d)為建模辨識誤差和減振效果,可看出算法迭代到穩(wěn)定時,本文算法提前4 000 次左右,辨識精度整體高10 dB,減振性能高5 dB。圖7(e)和圖7(f)表示在考慮次級通道的時變特性后,本文算法能按照預定策略在線調(diào)整迭代步長,提高振動主動控制的整體性能。
圖7 次級通道突變仿真結(jié)果比較Fig. 7 Comparison of simulation results of secondary channel mutation
為了驗證本文提出算法的有效性,基于中科振聲公司自主研發(fā)的DSP 控制器,進行單層隔振平臺振動主動控制實驗。實驗基本原理如圖8 所示,由控制器中的信號發(fā)生模塊模擬并輸出振源信號,作為參考信號,經(jīng)功率放大器適配放大后傳給激振器產(chǎn)生初級振動。加速度傳感器位于上層平臺的目標控制區(qū),在采集到平臺的振動信號后,傳輸至控制器中的數(shù)據(jù)采集模塊進行A/D 轉(zhuǎn)換,作為誤差信號。輸出的控制信號經(jīng)輸出模塊D/A 轉(zhuǎn)換后到功率放大器及作動器,產(chǎn)生主動控制力作用于上層平臺,產(chǎn)生次級振動,與初級振動疊加實現(xiàn)對控制點的減振功能。上位機通過TPC/IP 通信線與控制器連接,將算法程序配置到下位控制器中。采用PCB 加速度傳感器,輸入輸出模塊均集成與DSP 控制器中,作動器和激振器采用中科振聲公司自主研發(fā)的主被動一體化電磁隔振器。
圖8 單層隔振平臺實驗示意圖Fig. 8 Schematic diagram of single-layer vibration isolation platform experiment
上層平臺由5 個隔振器支撐,由螺栓連接,平臺幾何中心1 個,四角各1 個,隔振器下方剛性連接在一塊鋼板上。中央的隔振器視為激振器,其余隔振器按控制策略視為主動隔振器或被動隔振器。加速度傳感器均設置在上層平臺對應的隔振器上方。
實驗開始由信號發(fā)生模塊產(chǎn)生頻率為60 Hz 和80 Hz,幅值為2 的雙頻疊加的正弦信號,激勵上層平臺產(chǎn)生初級振動。設置各自適應濾波器階數(shù)均為512階,初值為零,收斂步長參數(shù)調(diào)整至最佳值,控制步長變化范圍在0.000 1~0.001 之間,采樣頻率2 kHz,內(nèi)部控制算法產(chǎn)生的附加隨機白噪聲與正弦信號疊加作為輸入信號。為方便2 種算法的對比研究,設置通道4 采用Akhtar 算法,通道2 采用本文算法。
圖9(a)為控制收斂后,辨識通道的辨識結(jié)果。圖9(b)和圖9(c)分別為開啟控制5 s 后采用Akhtar 算法,和采用本文算法的誤差信號時域圖、頻域圖以及控制通道濾波器辨識結(jié)果圖。2 種算法均能有效減弱控制點的振動響應,頻譜中60 Hz 和80 Hz 的線譜均明顯下降,但Akhtar 算法還未完全收斂,濾波器系數(shù)還有較大波動,振動響應幅值較高;本文算法已到達穩(wěn)態(tài),振動響應幅值下降更大。
圖9 單層隔振平臺實驗結(jié)果Fig. 9 Experimental results of single-layer vibration isolation platform
針對在線辨識中2 個通道間的相互影響,輸入信號存在雜波的問題,本文在已有在線辨識主動控制算法基礎上,提出一種變步長次級通道在線建模的振動主動控制算法,通過范數(shù)化參考信號采集,同時引入能量因子對迭代步長進行在線調(diào)整。結(jié)合仿真和實驗對所提算法進行驗證,結(jié)果表明,本文算法相比于原算法,步長調(diào)節(jié)范圍跨度大,步長變化穩(wěn)定可控,控制收斂速度快,穩(wěn)態(tài)誤差小,穩(wěn)定性高。但本文算法為達到最佳控制效果需要設置較多參數(shù)值,當系統(tǒng)發(fā)生較大變化時,需要重新調(diào)整算法參數(shù),下一步需要對此進行深入研究。