扩展卡尔曼滤波方法在脉冲修正弹药技术上的应用研究
2024-01-05王雨
王雨
(西北机电工程研究所,陕西 咸阳 712099)
近年来,在无人机集群/蜂群攻击模式下,传统防空弹药表现出精度低、效费比低、持续作战能力差等缺点,难以适应作战需求。为克服上述不足,具有高精度和低成本优势的弹道修正弹药成为未来防空弹药的发展方向之一。
关于弹道修正技术,王中原等系统地对弹道修正技术发展和未来研究趋势进行了论述,从测量装置和控制机构两个方面总结了目前弹道修正弹技术的研究情况,并对卡尔曼滤波方法进行了简要介绍,分析了卡尔曼弹道滤波方法的优缺点[1]。在弹道修正技术研究中,根据修正执行机构的不同,弹道修正可分为脉冲修正和舵机修正两种方式。其中,脉冲修正弹药是在无控弹药基础上,由地面雷达或弹上设备实时测量弹丸和目标的弹道信息,输入给制导设备,按一定的制导控制律实时解算出修正指令,通过加装脉冲发动机作为执行机构,实时修正弹道使弹丸飞向目标。
在弹道测量过程中,由于测量设备往往会受到噪声干扰,实测弹道数据并不准确,直接使用测量数据进行指令解算就会带来很大误差甚至错误,因此必须进行实时去噪处理[2]。目前无控弹道数据的滤波方法研究较多,如文献[3-4]提出通过反向扩展卡尔曼滤波方法进行弹道外推,用于提高炮位侦查雷达对炮位估计的准确度;文献[5]通过建立卡尔曼弹道滤波模型进行弹道预报,用于一维弹道修正弹参数辨识及精度分析;文献[6]通过对比基于“当前”动态运动线性模型和非线性质点弹道模型的卡尔曼滤波方法对GPS测量数据的处理,分析了两种滤波模型的优缺点。
目前文献资料对无控弹道和一维或二维修正弹道的滤波方法研究,大多基于卡尔曼滤波理论,较多用于弹道外推、参数辨识和弹道预报,而从脉冲修正动作导致弹道变化的角度,建立可用于准确反映脉冲修正后弹道变化的滤波方法,用于弹道制导和控制的研究较少。对于脉冲修正弹药来说,脉冲点火时产生脉冲推力,原有弹道模型发生变化,若滤波模型中没有考虑系统状态方程的实时变化,将使滤波结果不准确,对实时弹道修正产生较大误差。笔者在此背景下,针对弹道数据实时处理问题,以扩展卡尔曼滤波算法为基础,结合外弹道理论,研究了脉冲修正弹无控弹道和有控弹道的滤波方法,建立了相应的数学模型,通过外弹道仿真,对模型的正确性进行了验证。
1 弹道滤波方法
对弹道测量数据的处理,目前工程上使用较多的是最小二乘滤波、最大似然估计和卡尔曼滤波。卡尔曼滤波作为一种数据处理方法,是线性无偏最小方差准则下的最优估计,对于状态方程已知的系统,具有计算精度高,计算量适中的优点,同时具有实时数据处理能力,计算过程中只依赖上一个点的状态数据,需用数据点少,计算速度快,在火箭、导弹、炮弹弹道、飞行状态、卫星轨道观测、目标检测及跟踪等实际工程中应用比较广泛[7],因此,笔者使用卡尔曼滤波作为弹道数据处理的基本方法。
1.1 卡尔曼滤波及扩展卡尔曼滤波算法
卡尔曼滤波是一种以均方误差最小为准则的最优化自回归数据处理算法,适用于线性系统,由于弹丸运动模型是非线性的,因此弹丸弹道数据滤波实质是非线性滤波问题[8],因此,对于非线性系统,不能直接使用卡尔曼滤波,往往是通过泰勒级数展开,取线性部分[9],从而将非线性问题转化为线性化问题来处理,称为扩展卡尔曼滤波。非线性系统的扩展卡尔曼滤波方程如下[10]:
状态预测估计方程:
(1)
量测方程:
(2)
式中,h为量测函数,将状态变量转换为量测变量。该式将预测的状态变量通过量测函数转换为预测的观测值,相当于经过了坐标转换。
预报误差方差预测方程:
(3)
式中:φk-1为从k-1时刻到k时刻的状态转移矩阵;Pk-1为k-1时刻的协方差矩阵;Rk-1为k-1时刻模型噪声。该式根据k-1时刻的协方差阵和模型噪声,获得k时刻的协方差阵。
滤波增益方程:
(4)
式中:Qk为k时刻量测噪声;Hk为k时刻的量测矩阵;Kk为k时刻的卡尔曼增益。该式根据k时刻的协方差阵和雷达测量噪声,计算卡尔曼增益。
状态估计方程:
(5)
滤波误差方差迭代方程:
Pk=(I-KkHk)Pk/(k-1),
(6)
式中,Pk是k时刻的协方差阵。该式对k时刻的协方差阵进行更新。以上公式的具体计算方法可参考文献[11]。
根据扩展卡尔曼滤波方程中各参数可知,滤波模型可由弹丸弹道模型和雷达量测模型[12]推导而来。
1.2 弹道模型
弹道模型是对弹丸空间运动状态的数学描述,通过多个方程组描述弹丸飞行过程中弹道参数变化。考虑到计算量,弹道模型不能太复杂,本文涉及的是低旋尾翼脉冲修正弹,可使用三自由度质点弹道模型。
在弹道过程中,弹丸根据修正指令进行有限次修正,雷达以固定周期Δt输出弹丸弹道数据。某个采样周期内,若弹丸进行了修正,则记弹丸处于脉冲状态,否则记为无控状态,如图1所示。t0时刻,雷达开始稳定跟踪弹丸,弹丸以无控状态飞行;t1时刻,弹丸进行脉冲修正;t2时刻,脉冲状态结束,进入下一个采样周期。在t1~t2时间段内,脉冲推力改变了系统状态方程,使飞行状态参数发生变化,为准确反映弹丸飞行过程中发生的点火修正动作以及弹丸的实际飞行过程,应针对图1中的无控和脉冲状态分别建立无控和有控(即脉冲)两种状态下的弹道模型。
1.2.1 无控状态的弹道模型
根据弹丸运动方程,无控状态的弹道模型为
(7)
式中:C为弹道系数,由表示弹丸形状的量i(弹形系数)、弹丸口径d和弹丸质量m组成,反映了弹丸的组合特点;H(z)为空气密度函数,反映了大气对弹丸飞行的影响,与弹丸的飞行高度有关;G(v)为空气阻力函数,表示弹丸相对空气的运动速度v对弹丸运动的影响;vx、vy、vz是速度v在发射坐标系的分量。以上参数可通过经验公式计算,详细计算方法可见参考文献[13]。
1.2.2 有控状态的弹道模型
脉冲点火时,推力作用于弹丸质心,不改变弹体姿态,只在弹丸横向产生加速度,因此,只需在无控状态弹道方程中加入脉冲加速度,有控状态的弹道方程为
(8)
式中:aFx,aFy,aFz为脉冲推力产生的加速度在发射系下的分量;其他参数含义与式(7)相同。
1.3 量测模型
雷达测量参数为雷达坐标系下弹丸的斜距、高低角和方位角,与直角坐标系下弹丸坐标之间关系可表达为
(9)
式中:x,y,z为弹丸坐标在发射坐标系下的分量;r为目标斜距离。
2 扩展卡尔曼滤波工程数学模型
在确定了弹丸在无控状态和有控状态的弹道模型后,根据不同弹道模型可推导出相应的扩展卡尔曼滤波模型,即无控状态滤波模型和有控状态滤波模型。
2.1 无控状态滤波模型
根据扩展卡尔曼滤波方程,动力矩阵f为状态变量参数对时间的一阶导,状态转移矩阵φK-1与动力矩阵f有如下关系:
(10)
f=[vx,vy,vz,-CH(z)G(v)vx,
-CH(z)G(v)vy-g,
-CH(z)G(v)vz,0],
(11)
(12)
(13)
式中:E为单位矩阵;Δt为数据采样时间;X为状态变量矩阵;动力矩阵f为状态变量矩阵X对时间的导数,可由弹道方程得出,其中参数的定义与弹道方程中一致。
滤波初值包括状态变量初值和状态变量协方差初值。滤波初值的选取影响滤波收敛速度,应选择较为准确的初值[14]。根据多次射击试验结果,雷达建立稳定跟踪时,测量数据仍与真实值差距较大,因此适当调大初始协方差矩阵,使滤波更快收敛。状态变量初值可由雷达测得的2个数据点A、B,从雷达极坐标系转换到发射坐标系后,作差商进行计算:
(14)
式中:(xa,ya,za)、(xb,yb,zb)为数据点A、B经坐标转换后在发射直角坐标系下的坐标;C为弹道系数;Δt为数据采样时间。
量测矩阵H为量测函数h对状态变量X的一阶偏导:
(15)
(16)
(17)
式中,hij为量测函数对状态变量X的一阶偏导。
至此,无控状态的滤波工程数学模型中所有未知量均已确定。已知雷达稳定跟踪后测得的数据点,取两数据点A、B计算得到初值后,即可通过无控滤波模型对雷达测量数据进行滤波。
2.2 有控滤波数学模型
在一个采样周期内,由于点火持续作用时间Δt1较短,因此脉冲发动机点火结束后,弹丸又进入无控飞行状态,持续时间Δt2。按弹丸的飞行状态,弹丸弹道过程如图2所示。可以看出,在发生脉冲点火的采样周期内,包含了点火和无控两个阶段,在点火阶段弹丸受到脉冲推力,点火结束后弹丸转入无控飞行,两个阶段中的系统状态方程不同,相应的滤波模型也不同,可将脉冲滤波模型分成点火和无控两个阶段来研究。
当处于点火时,点火持续时间为Δt1,脉冲推力使滤波方程中的动力矩阵f发生变化,动力矩阵f为
f=[vx,vy,vz,-CH(z)G(v)vx+aFx,
-CH(z)G(v)vy-g+aFy,
-CH(z)G(v)vz+aFz,0],
(18)
式中:aFx,aFy,aFz为脉冲推力产生的加速度在发射坐标系下的分量;其他参数含义与式(2)相同。根据动力矩阵f,可得到Δt2后的状态转移矩阵、预报误差方差矩阵和一步预测方程。
当点火结束后,弹丸进入无控飞行阶段,持续时间为Δt2,滤波方程中的动力矩阵f重新变化,状态转移矩阵、预报误差方差矩阵和一步预测方程相应发生变化。根据动力矩阵式(11),可得到Δt2后的状态转移矩阵、预报误差方差矩阵和一步预测方程。
根据Δt1和Δt2时间段内的滤波模型,以t1时刻的系统状态为初值,即可对t1时刻的雷达测量数据进行滤波。
3 滤波模型仿真验证
3.1 无控状态的滤波模型验证
多项式拟合是数据事后处理的常用方法,其基本原理是最小二乘法,以加权离差平方和为目标函数。在拟合中,拟合函数由若干基函数加权和构成,通过使用不同的基函数,并根据最小二乘法计算函数族的最优系数,得到拟合函数。对多项式拟合的准确度,可通过拟合优度进行判断,拟合优度值越高,拟合性越好,表明自变量对因变量的解释越充分[15]。拟合优度的计算公式为
(19)
对某次靶场试验外弹道测试数据分析发现,方位角测量数据波动较大,为检验滤波模型的处理效果,故选取波动较大的方位角测量数据作为原始数据,首先通过多项式拟合对测试数据进行处理,调整多项式阶数和加权系数,从残差平方和ESSE、均方根误差ERMSE、拟合优度R2等拟合指标综合考虑,选择出合适的拟合多项式作为真值,然后通过无控状态的滤波模型对测试数据进行处理,结果与真值比较,验证无控状态滤波模型正确性。
对方位角测量数据进行拟合时,采用三次多项式进行拟合,形式为
f(x)=p1x3+p2x2+p3x+p4,
(20)
式中,p1、p2、p3、p4为多项式拟合系数。
在数值计算软件中对方位角测量数据进行多项式拟合,使用自带函数polyfit,得到拟合系数p1、p2、p3、p4分别为-0.040 38、0.094 68、-0.376 5和102.2,拟合指标ESSE、R2和ERMSE分别为0.044 05、0.999 8和0.006 149。根据拟合指标,残差平方和ESSE越接近0,拟合优度R2约接近1,说明拟合效果越好。
对弹丸的方位角测试数据进行多项式拟合和滤波处理,结果如图3所示。从图3中的方位角测量数据变化情况可以看出,由于雷达不可避免受随机干扰影响,测量数据会有一定波动,通过多项式拟合和滤波处理后,数据波动降低。
进一步对两种处理结果作差比较,分析滤波结果与多项式拟合结果的差别,结果如图4所示。
图4中,滤波与多项式拟合结果相差最大约0.04°,从结果上说明滤波取得了和事后多项式拟合处理相近的效果,并且在数据上误差较小,表明无控弹道滤波原理及方法正确。
3.2 有控滤波模型验证
对有控滤波模型进行验证,首先要有脉冲修正弹道的雷达测量数据。由于目前尚未进行脉冲有控弹药的外弹道试验,还没有相应的脉冲修正外弹道数据,因此将通过半实物仿真方法获得的脉冲有控弹药弹道数据作为弹道真值。具体方法是:根据脉冲发动机试验参数、弹丸设计参数和脉冲修正控制算法,在实验室制导控制仪上,对脉冲修正的弹道过程和闭环工作流程进行模拟验证,获得脉冲修正弹道数据,作为弹道真值。对真值加入高斯白噪声,模拟雷达对弹丸飞行弹道的测量结果,然后通过有控滤波模型对雷达模拟数据进行滤波,将滤波结果与真值对比,验证有控滤波模型。
通过半实物仿真对脉冲修正弹道进行模拟,获得的修正弹道数据作为弹道真值。为使半实物仿真更加接近真实试验环境,笔者使用已有的靶场试验气象测试数据作为气象数据输入,根据试验场条件,目标初始斜距5 km,高低角30°,方位角30°。火控解算出射击诸元:射角36°,方位角30°,弹飞时间13 s,火控解算误差0.1 m。火炮击发后,目标发生机动;弹丸进入启控段后,共进行了5次点火修正。脉冲点火的时刻和角度如表1所示。经仿真,弹丸修正弹道曲线和未修正弹道曲线如图5所示。
表1 脉冲点火时刻和角度
根据半实物仿真结果,在点火时刻(6.65 s、6.67 s、6.69 s、6.71 s、6.73 s)使用有控弹道滤波模型,对模拟雷达测量数据进行滤波,方位角数据的滤波结果如图6所示,高低角数据的滤波结果如图7所示。
从图6中看出,在对方位角滤波过程中,初期经过短时间振荡后,滤波逐渐稳定,数据波动现象得到改善。从图中7看出,在对高低角滤波时,与方位角滤波变化基本类似,在滤波初期经过短时间振荡后,滤波逐渐稳定,数据波动改善明显。
经滤波后,雷达模拟测量数据波动减小。为了进一步检验有控滤波模型的滤波精度,以半实物仿真得到的修正弹道数据为真值,重点分析在点火时刻的滤波结果与修正弹道之间的误差,如表2所示。
表2 有控滤波模型的滤波结果与真值之间的误差
从表2中数据可以看出,斜距上的误差呈下降趋势,从-13.8 m逐渐减低至-0.8 m,表明误差呈收敛趋势,滤波过程逐渐平稳;高低角上的误差最大约-0.009°,方位角上的误差最大约0.08°,均在2 mard以内,表明有控滤波模型可以良好地反映出点火修正动作,符合弹丸飞行时实际弹道修正过程。
3.3 滤波模型对比
为了说明有控滤波模型在脉冲修正弹道数据处理中的意义,笔者设置了对比仿真:使用无控弹道滤波模型对修正弹道数据进行滤波,在点火时刻,无控弹道滤波模型的滤波结果与修正弹道之间的误差如表3所示。
表3 无控滤波模型的滤波结果与真值之间的误差
将表3中数据与表2数据进行对比,可知使用无控弹道滤波模型对雷达模拟测量数据滤波后,斜距误差最大约-21 m,高低角约0.05°,方位角约0.1°,比有控弹道滤波模型的滤波结果偏差高约一倍,说明无控弹道滤波模型不能反映出脉冲点火动作,不能识别出脉冲点火对弹道的修正效果;有控滤波模型可以检测出脉冲点火对弹道的影响,滤波后的弹道更接近实际弹道,可为后续弹道控制提供准确的弹道数据,有利于提高弹道修正精度,减小弹目偏差。
4 结束语
针对修正弹飞行过程中,由于测量设备存在噪声,弹道修正时脉冲点火动作时间短、弹道变化不显著,导致雷达设备在测量弹道时,难以准确获得弹丸飞行弹道数据,尤其是不能即时捕捉脉冲点火后弹道的变化,从而影响对弹道的实时控制问题,笔者从弹道数据滤波入手,基于卡尔曼滤波方法和外弹道模型,研究了无控状态和有控状态的弹道滤波模型。通过仿真验证,无控状态的滤波模型可以较好地改善弹道测量数据的波动情况,滤波结果与多项式拟合相近,具有较高精度;有控状态的滤波模型能真实反映脉冲点火动作,捕捉点火后的弹道变化,可为弹道实时控制提供数据输入,所研究的工作可为脉冲修正弹药的工程化研制提供理论支撑。