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