一种基于改进FXRLS的主动控制算法研究
2022-03-12黎思廷刘树勇杨理华
黎思廷 刘树勇 杨理华
(海军工程大学动力工程学院1) 武汉 430000) (海军潜艇学院2) 青岛 266000)
0 引 言
振动主动控制技术是机电设备减振降噪研究的热点问题.其中主动控制算法研究是主动控制研究的核心内容之一.控制算法描述了控制器输入与输出之间传递关系,在硬件满足控制要求的前提下,控制算法对其收敛精度起决定性作用[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算法.对该算法进行了理论分析并进行了仿真研究.设计并搭建主动控制平台,开展了实验研究,验证了算法的有效性.
1 改进的FXRLS算法
1.1 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次运算.
1.2 FT-FXRLS算法
在主动控制中,因为有次级通道的存在,不能直接使用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.1 主动控制系统建模
振动主动控制系统模型见图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)
以上便是主动控制系统控制主通道和次级通道的动力学分析,该分析为算法的性能仿真奠定基础.
2.2 仿真分析
分别以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算法控制仿真
3 主动控制实验研究
3.1 实验设备
以一个激振器所构成的模拟激振源,模拟旋转机电设备的振动.通过加速度传感器采集振动信号,作为输入的参考信号.下层台架则布置一个电磁作动器为主动控制的执行机构,用以输出控制力信号.同时在台架上布置一个加速度传感器,用以测量误差信号,然后传递给控制器计算出输出信号给予作动器.试验台架实物见图4.
图4 隔振台架实物图
3.2 次级通道辨识
利用编写好的离线辨识程序对系统进行离线辨识.通过Labview程序输出频率为20~200 Hz的白噪声作为离线辨识信号,利用LMS辨识算法对其进行离线辨识,其控制算法的步长为5×104.由控制器产生上述正弦波传递到作动器.其电流为2.5 A,辨识的横向滤波器为200阶,采样频率为1 kHz.
依据对作动器的分析,可利用白噪声对该作动器进行辨识,见图5.由图5可知,辨识信号基本上趋于收敛,证明其有着较好的辨识效果.将辨识得到的模型可以用于下节的主动控制系统之中.
图5 次级通道辨识
3.3 主动控制实验
将次级通道估计放入控制系统中,进行主动控制试验.将激振器激励信号设置为频率为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算法.
4 结 束 语
针对FXLMS计算速度较快,而FXRLS算法在收敛性、稳态误差性都优于前者,但其计算复杂度较大的特点,文中利用快速横向滤波器原理对FXRLS算法进行改进,提出了FT-FXRLS算法.对该算法进行了理论推导和仿真分析,并搭建实验台架对其进行主动控制实验.FT-FXRLS算法结合了FXLMS算法和FXRLS算法的优点,有效提高了算法性能.