黎思廷 劉樹勇 楊理華
(海軍工程大學動力工程學院1) 武漢 430000) (海軍潛艇學院2) 青島 266000)
振動主動控制技術是機電設備減振降噪研究的熱點問題.其中主動控制算法研究是主動控制研究的核心內容之一.控制算法描述了控制器輸入與輸出之間傳遞關系,在硬件滿足控制要求的前提下,控制算法對其收斂精度起決定性作用[1].目前,對FXLMS和FXRLS等自適應濾波算法的研究相對比較深入,其中FXRLS算法在收斂速度和控制性能方面優于FXLMS算法,但其計算量相對較大,因此可基于快速算法原理對FXRLS算法進行改進,將FXRLS算法計算復雜度從o(N2)降到o(N),使其計算量與濾波器的長度成正比,減小了其計算量[2].
快速算法研究分為格型算法和快速橫向濾波算法.其中格型算法的穩定性相對較強,但其計算量相對較大.快速橫向算法可以較大程度的降低計算量,算法由四個橫向濾波器組成,即前向預測器、后向預測器、聯合過程估計器以及輔助濾波器.Cioffi等[3]首先提出了該算法結構,開創了快速橫向濾波算法領域的先河.Lev等[4]對快速橫向濾波算法與格型算法進行了對比研究,并設計了實驗驗證其算法的優劣性.Slock等[5]利用模分解方法對多通道的快速橫向濾波算法進行研究,研究表明該方法可以明顯減小通道間耦合,提高算法性能.與此同時,針對該算法穩定性不強的問題加入了求助變量這一概念,增強了算法的穩定性.Slock等[6-7]還將該算法與塊狀欠定協方差相結合,提出了基于塊狀欠定協方差的快速橫向遞歸最小二乘算法.周凌波等[8]對該算法的各項參數影響進行了研究.吳姍等[9-10]對基于自適應橫向濾波器的快速算法做了系統推導和總結,并以噪聲抵消為例證明了其算法的效果.劉曉慶[11]將該快速算法應用到齒輪故障信號的降噪研究之中,研究表明該算法有著較好的降噪性能.劉錦春等[12]將反饋FXRLS算法應用到主動控制之中,提高了控制效率.
文中利用快速橫向濾波算法對FXRLS算法進行改進,推導出一種FT-FXRLS算法.對該算法進行了理論分析并進行了仿真研究.設計并搭建主動控制平臺,開展了實驗研究,驗證了算法的有效性.
基于自適應濾波的FXLMS算法和FXRLS算法是主動控制中最常用的算法.其中FXRLS算法相對于FXLMS算法,其收斂速度更快,穩態誤差較小,在寬帶信號的控制方面有較好的效果.設目標函數為
(1)
式中:e(n)為誤差信號;λ為遺忘因子.其誤差信號為
e(n)=d(n)+y(n)·s(n)
(2)
其輸出信號為
y(n)=XT(n)W(n)
(3)
將式(2)與式(3)聯立得
(4)
式中:Xs(n)為濾波-X信號,Xs(n)=X(n)·s(n).
將式(4)代入式(1)可得
(5)
對式(6)取梯度,并令其梯度為0,可得
(6)
令
(7)
(8)
則可得:
W(n)=-P/R
(9)
根據wood bury求逆公式,可得:
R-1(n)=
(10)
令
C(n)=R-1(n)
(11)
(12)
即可得
(13)
P(n)=λP(n-1)+d(n)Xs(n)
(14)
即式(10)可表示為
W(n)=W(n-1)-
(15)
令e(n|n-1)為最佳權系數下的誤差信號,可得
(16)
W(n)=W(n-1)-g(n)e(n|n-1)
(17)
FXRLS算法相對FXLMS算法而言,在收斂速度和穩態誤差方面有著較好效果,但其在計算量方面較大.若以長度為L濾波器為例,一次權矢量迭代,FXRLS算法比FXLMS算法多約3L2+L次運算.
在主動控制中,因為有次級通道的存在,不能直接使用FTRLS算法,因此需要進行算法轉換,得出適用于主動控制FT-FXRLS算法.FT-FXRLS算法在FTRLS算法的基礎上考慮次級通道的存在,更加適用于主動控制的情況.
該算法的結構見圖1.
圖1 FT-FXRLS算法結構圖
u(n)=XT(n)W(n)
(18)
y(n)=u(n)·s(n)
(19)
令
Xs(n)=X(n)·s(n)
(20)
Xs(n)為濾波-X信號,可得將濾波器各項參數初始化,可得:
(21)
W(0)=a(0)=b(0)=g(0)=0
(22)
rM(0)=1
(23)
εf(0)=εb(0)=N
(24)
式中:N為正小數.
前向預測濾波器推導.
ef(n|n-1)=X(n)-XT(n-1)a(n-1)
(25)
ef(n|n)=rM(n-1)ef(n|n-1)
(26)
gf(n)=gf(n-1)+ef(n|n)ef(n|n-1)
(27)
a(n)=a(n-1)+ef(n|n-1)g(n)
(28)
(29)
(30)
后向預測濾波器參數:
eb(n|n-1)=h(n-M)-XT(n)b(n-1)
(31)
rM(n)=[1-k(n)eb(n|n-1)]-1rM+1(n)
(32)
eb(n|n)=rM(n)eb(n|n-1)
(33)
εb(n)=εb(n-1)+eb(n|n)eb(n|n-1)
(34)
(35)
b(n)=b(n-1)+eb(n|n-1)g(n)
(36)
FT-FXRLS算法迭代.
(37)
W(n)=W(n-1)+e(n|n-1)g(n)
(38)
以上便為FT-FXRLS算法的推導過程.FT-FXRLS算法通過對四個濾波器進行協調組合,利用時間關系來更新其濾波器參數,實現其計算的快速更新.其算法有效結合了FXLMS算法和FXRLS算法的優點,有著更好的控制性能.
振動主動控制系統模型見圖2.該模型由激振器、傳感器、控制器、作動器以及振動臺架所組成.其中,振動臺架起到支撐和傳導的作用.具體工作原理為:激振器產生外部激勵,該激勵被上層的傳感器所采集,轉化為電信號輸入控制器之中.控制器通過設計好的控制算法進行運算,然后將運算完成的結果以電信號的形式進行功率放大后傳輸給作動器,作動器產生相對應的控制力進行抵消.與此同時,中層傳感器采集到控制之后的信號,再次輸入控制器并進行持續迭代控制.
圖2 主動控制系統的結構模型
根據牛頓運動定律,其動力學方程為
(39)
(40)
經推導,可得位移x與主動控制力f和激勵力f0間的傳遞函數,具體為
X/F=(C1S+K1)/[(M1M2S4+(M1C1+M1C2+M2C1)S3+(M1K2+M2K1+C1C2)S2+(C1K2+C2K1)S+K1K2)]
(41)
X/F0=(M1S2)/[(M1M2S4+(M1C1+M1C2+M2C1)S3+(M1K2+M2K1+C1C2)S2+(C1K2+C2K1)S+K1K2)]
(42)
利用拉氏變換來描述主通道P(Z)和次級通道S(Z),則可得:
P(Z)=(C1S3+K1S2)/[(M1M2S4+(M1C1+M1C2+M2C1)S3+(M1K2+M2K1+C1C2)S2+(C1K2+C2K1)S+K1K2)]
(43)
S(Z)=M1S4/[(M1M2S4+(M1C1+M1C2+M2C1)S3+(M1K2+M2K1+C1C2)S2+(C1K2+C2K1)S+K1K2)]
(44)
以上便是主動控制系統控制主通道和次級通道的動力學分析,該分析為算法的性能仿真奠定基礎.
分別以38 Hz的單頻正弦信號和36和41 Hz的雙頻正弦信號為激勵信號,以300階的濾波器﹑0.99的遺忘因子為參數,以中層被控模塊的加速度為指標,以FXRLS算法和FT-FXRLS算法為控制律,進行振動主動控制仿真,見表1.
表1 主動控制模型的參數值
圖3為雙頻激勵下的FXRLS算法和FT-FXRLS算法控制仿真圖.在雙頻激勵下,其振動加速度降低值分別為41.5和42.6 dB.因此,可以證明FT-FXRLS算法有著較好的控制效果.由仿真結果可得,FT-FXRLS算法的控制性能優于FXRLS算法.通過理論分析可知,FT-FXRLS算法通過協調組合前向預測濾波器,后向預測濾波器,輔助濾波器和FT-FXRLS控制器的計算,來實現其優化功能.該算法收斂速度快,計算精度高,計算量適中等優點,但其數值性能可能不太穩定.其仿真結果表明,FT-FXRLS算法在收斂速度,控制效果等方面都有著更好的性能,與理論分析相吻合.
圖3 雙頻激勵下的FT-FXRLS算法控制仿真
以一個激振器所構成的模擬激振源,模擬旋轉機電設備的振動.通過加速度傳感器采集振動信號,作為輸入的參考信號.下層臺架則布置一個電磁作動器為主動控制的執行機構,用以輸出控制力信號.同時在臺架上布置一個加速度傳感器,用以測量誤差信號,然后傳遞給控制器計算出輸出信號給予作動器.試驗臺架實物見圖4.
圖4 隔振臺架實物圖
利用編寫好的離線辨識程序對系統進行離線辨識.通過Labview程序輸出頻率為20~200 Hz的白噪聲作為離線辨識信號,利用LMS辨識算法對其進行離線辨識,其控制算法的步長為5×104.由控制器產生上述正弦波傳遞到作動器.其電流為2.5 A,辨識的橫向濾波器為200階,采樣頻率為1 kHz.
依據對作動器的分析,可利用白噪聲對該作動器進行辨識,見圖5.由圖5可知,辨識信號基本上趨于收斂,證明其有著較好的辨識效果.將辨識得到的模型可以用于下節的主動控制系統之中.
圖5 次級通道辨識
將次級通道估計放入控制系統中,進行主動控制試驗.將激振器激勵信號設置為頻率為30,37,60,110 Hz正弦激勵,疊加30~60 Hz幅值為0.1的白噪聲,采樣頻率設為1 kHz.圖6為FXRLS算法和FT-FXRLS算法的時域圖和功率譜圖.
圖6 時域圖和功率譜圖
由圖6可知,FXRLS算法在30,37,60,110 Hz的衰減量分別為36.6,37.8,5.4,1.8 dB.FT-FXRLS算法在30,37,60,110 Hz的衰減量分別為39.1,42.1,28.3,23.3 dB.與理論分析和仿真分析相比,符合理論推導和仿真分析的結果,驗證了算法的有效性.FT-FXRLS算法具有較好的性能,在各項控制指標方面都優于FXRLS算法.
針對FXLMS計算速度較快,而FXRLS算法在收斂性、穩態誤差性都優于前者,但其計算復雜度較大的特點,文中利用快速橫向濾波器原理對FXRLS算法進行改進,提出了FT-FXRLS算法.對該算法進行了理論推導和仿真分析,并搭建實驗臺架對其進行主動控制實驗.FT-FXRLS算法結合了FXLMS算法和FXRLS算法的優點,有效提高了算法性能.