一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Elman神经网络的轨道预测算法的制作方法

2022-03-16 02:53:11 来源:中国专利 TAG:

一种基于elman神经网络的轨道预测算法
技术领域
1.本发明涉及一种基于elman神经网络的轨道预测算法,属于轨道预测技术领域。


背景技术:

2.弹道导弹的运动轨道是一个复杂的物理模型,涉及到理论力学、地球重力学、空气动力学、结构力学、导弹弹道学及现代数学等多个领域。在弹道导弹目标的监视、探测和跟踪过程中,需进行高精度弹道计算,对弹道目标进行弹道预测。
3.弹道导弹目标的运动过程非常复杂,尤其是在出入过程中,受到稠密大气的影响,弹道导弹目标的运动呈现高度的非线性,微小的初值误差及模型误差也会给弹道预报带来较大误差。此外,在弹道预测中,初值误差和模型误差会随时间传播并显著累积。因此,以往为了实现高精度的弹道预测,需从高精度动力学模型、高精度非线性平滑/滤波和高精度外推预报三个方面,提升预测初值精度、降低预测传播误差和提升实时处理运算效率,以进行高精度实时弹道预测,但此类模型的建立十分复杂,需考虑参数较多,初值优化难度大。


技术实现要素:

4.本发明所要解决的技术问题是克服现有技术的缺陷,提供一种基于elman神经网络的轨道预测算法及其存储介质,具体设计一种适用于弹道导弹在被动段运动时,基于侦察的情报信息,对弹道导弹的轨道坐标进行实时预测的算法。
5.为达到上述目的,本发明提供一种基于elman神经网络的轨道预测算法,包括:
6.将待预测的弹道导弹的轨道坐标输入elman神经网络预测模型,输出预测的轨道坐标;
7.构建elman神经网络预测模型,包括:
8.构建elman神经网络模型;
9.将获取的侦察数据代入elman神经网络模型进行迭代训练直到符合条件,输出最终的elman神经网络预测模型。
10.优先地,条件为条件一和条件二中的一个:
11.条件一,迭代次数达到设定的次数;
12.条件二,将测试数据代入elman神经网络预测模型中,获得预测输出的弹道导弹的轨道坐标;将预测输出的弹道导弹的轨道坐标和对应时间的测试数据中弹道导弹的轨道坐标之间的误差与设定的阈值进行比较,若误差在设定的阈值范围内则表示elman神经网络预测模型合格,否则重新迭代训练elman神经网络模型。
13.优先地,构建elman神经网络模型:
14.y(k)=g(w3·
x(k))
15.x(k)=f(w1·
xc(k)) w2(u(k-1))
16.xc(k)=x(k-1),
17.式中,y(k)为预测输出的弹道导弹的轨道坐标集合,m表示预测输出的弹道导弹的
轨道坐标点数;x(k)为输入elman神经网络模型的中间层节点单元向量,n为中间层节点数;u(k-1)为输入elman神经网络模型的r维轨道坐标集合,r表示x(k)中弹道导弹的轨道坐标点数;xc(k)为n维反馈状态向量;w3为中间层到输出层连接权值;w2为输入层到中间层连接权值;w1为承接层到中间层的连接权值;g(*)是中间层输出的线性组合;f(*)为中间层神经元的传递函数。
18.优先地,将获取的侦察数据代入elman神经网络模型进行多次迭代训练,每完成一次迭代,更新一次w1、w2与w3的值,包括:
19.elman神经网络模型采用bp算法进行权值修正,bp算法的学习指标函数采用误差平方和函数:
[0020][0021]
式中,为实际上弹道导弹目标的轨道坐标向量,yk(w)为与对应的elman神经网络模型输出的y(k);
[0022]
基于下式获得更新后的w1、w2与w3:
[0023]
wi=w
iold
dw
[0024][0025]
式中i=1,2,3,w
iold
为w1、w2与w3的初始值;dw为每次迭代的调整值,基于梯度下降法的策略,往负梯度的方向进行调整;其中η为学习率,取值范围为[0,1];
[0026]
将更新后的w1、w2与w3代入elman神经网络模型中迭代训练。
[0027]
优先地,在构建elman神经网络模型之前,对侦察数据进行归一化处理,包括:
[0028]
利用最小-最大规范化方法对侦察数据中弹道导弹的x轴坐标进行线性变换:
[0029][0030]
其中,min
x
为侦查数据中弹道导弹的x轴坐标的最小值,max
x
为侦查数据中弹道导弹的x轴坐标的最大值,x’为线性变换后的x轴坐标,x为侦查数据中弹道导弹的x轴坐标;
[0031]
利用最小-最大规范化方法对侦察数据中弹道导弹的y轴坐标进行线性变换:
[0032][0033]
其中,miny为侦查数据中弹道导弹的y轴坐标的最小值,maxy为侦查数据中弹道导弹的y轴坐标的最大值,y’为线性变换后的y轴坐标,y为侦查数据中弹道导弹的y轴坐标;
[0034]
利用最小-最大规范化方法对侦察数据中弹道导弹的z轴坐标进行线性变换:
[0035][0036]
其中,minz为侦查数据中弹道导弹的z轴坐标的最小值,maxz为侦查数据中弹道导弹的z轴坐标的最大值,z’为线性变换后的z轴坐标,z为侦查数据中弹道导弹的z轴坐标。
[0037]
优先地,条件一中,迭代次数达到设定的次数一千次;
[0038]
条件二中,预测输出的弹道导弹的轨道坐标和侦察数据对应的实际弹道导弹的轨道坐标之间的误差平方和e(w)达到指定精度。
[0039]
优先地,f(*)采用s函数。
[0040]
优先地,在对侦察数据进行归一化处理之前,对侦查数据进行异常值剔除和缺失值补充;侦查数据和测试数据均为预先采集的弹道导弹的轨道坐标集合,轨道坐标集合是按照固定时间间隔依次采集,缺失值补充是采用轨道坐标集合中缺失坐标所在位置的前后轨道坐标求平均值获得。
[0041]
计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述所述方法的步骤。
[0042]
本发明所达到的有益效果:
[0043]
本发明利用elman神经网络能够以任意精度逼近任意非线性映射的特点,可以不考虑外部噪声如重力和空气阻力等对系统影响的具体形式,本发明构建了elman神经网络模型,基于侦察数据,对弹道导弹的轨道进行预测分析;基于迭代次数或者误差精度,完成elman神经网络预测模型的构建,预测的弹道导弹的轨道坐标更加精确。
附图说明
[0044]
图1是本发明的算法流程图;
[0045]
图2是本发明中elman神经网络的结构图;
[0046]
图3是本发明中经过预处理的侦查数据的轨道示意图;
[0047]
图4是本发明中弹道导弹目标的实际轨道x轴和预测轨道坐标x轴的对比图;
[0048]
图5是本发明中弹道导弹目标的实际轨道y轴和预测轨道坐标y轴的对比图;
[0049]
图6是本发明中弹道导弹目标的实际轨道z轴和预测轨道坐标z轴的对比图;
[0050]
图7是本发明中elman神经网络预测误差示意图;
[0051]
图8是本发明中弹道导弹的飞行示意图。
具体实施方式
[0052]
以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0053]
一种基于elman神经网络的轨道预测算法,包括:
[0054]
将待预测的弹道导弹的轨道坐标输入elman神经网络预测模型,输出预测的轨道坐标;
[0055]
构建elman神经网络预测模型,包括:
[0056]
构建elman神经网络模型;
[0057]
将获取的侦察数据代入elman神经网络模型进行迭代训练直到符合条件,输出最终的elman神经网络预测模型。
[0058]
进一步地,本实施例中条件为条件一和条件二中的一个:
[0059]
条件一,迭代次数达到设定的次数;
[0060]
条件二,将测试数据代入elman神经网络预测模型中,获得预测输出的弹道导弹的
轨道坐标;将预测输出的弹道导弹的轨道坐标和对应时间的测试数据中弹道导弹的轨道坐标之间的误差与设定的阈值进行比较,若误差在设定的阈值范围内则表示elman神经网络预测模型合格,否则重新迭代训练elman神经网络模型。
[0061]
进一步地,本实施例中构建elman神经网络模型:
[0062]
y(k)=g(w3·
x(k))
[0063]
x(k)=f(w1·
xc(k)) w2(u(k-1))
[0064]
xc(k)=x(k-1),
[0065]
式中,y(k)为预测输出的弹道导弹的轨道坐标集合,m表示预测输出的弹道导弹的轨道坐标点数;x(k)为输入elman神经网络模型的中间层节点单元向量,n为中间层节点数;u(k-1)为输入elman神经网络模型的r维轨道坐标集合,r表示x(k)中弹道导弹的轨道坐标点数;xc(k)为n维反馈状态向量;w3为中间层到输出层连接权值;w2为输入层到中间层连接权值;w1为承接层到中间层的连接权值;g(*)是中间层输出的线性组合;f(*)为中间层神经元的传递函数。
[0066]
进一步地,本实施例中将获取的侦察数据代入elman神经网络模型进行多次迭代训练,每完成一次迭代,更新一次w1、w2与w3的值,包括:
[0067]
elman神经网络模型采用bp算法进行权值修正,bp算法的学习指标函数采用误差平方和函数:
[0068][0069]
式中,为实际上弹道导弹目标的轨道坐标向量,yk(w)为与对应的elman神经网络模型输出的y(k);
[0070]
基于下式获得更新后的w1、w2与w3:
[0071]
wi=w
iold
dw
[0072][0073]
式中i=1,2,3,w
iold
为w1、w2与w3的初始值;dw为每次迭代的调整值,基于梯度下降法的策略,往负梯度的方向进行调整;其中η为学习率,取值范围为[0,1];
[0074]
将更新后的w1、w2与w3代入elman神经网络模型中迭代训练。
[0075]
进一步地,本实施例中在构建elman神经网络模型之前,对侦察数据进行归一化处理,包括:利用最小-最大规范化方法对侦察数据中弹道导弹的x轴坐标进行线性变换:
[0076][0077]
其中,min
x
为侦查数据中弹道导弹的x轴坐标的最小值,max
x
为侦查数据中弹道导弹的x轴坐标的最大值,x’为线性变换后的x轴坐标,x为侦查数据中弹道导弹的x轴坐标;
[0078]
利用最小-最大规范化方法对侦察数据中弹道导弹的y轴坐标进行线性变换:
[0079]
[0080]
其中,miny为侦查数据中弹道导弹的y轴坐标的最小值,maxy为侦查数据中弹道导弹的y轴坐标的最大值,y’为线性变换后的y轴坐标,y为侦查数据中弹道导弹的y轴坐标;
[0081]
利用最小-最大规范化方法对侦察数据中弹道导弹的z轴坐标进行线性变换:
[0082][0083]
其中,minz为侦查数据中弹道导弹的z轴坐标的最小值,maxz为侦查数据中弹道导弹的z轴坐标的最大值,z’为线性变换后的z轴坐标,z为侦查数据中弹道导弹的z轴坐标。
[0084]
进一步地,本实施例中条件一中,迭代次数达到设定的次数一千次;
[0085]
条件二中,预测输出的弹道导弹的轨道坐标和侦察数据对应的实际弹道导弹的轨道坐标之间的误差平方和e(w)达到指定精度。
[0086]
进一步地,本实施例中f(*)采用s函数。
[0087]
进一步地,本实施例中在对侦察数据进行归一化处理之前,对侦查数据进行异常值剔除和缺失值补充;
[0088]
侦查数据和测试数据均为预先采集的弹道导弹的轨道坐标集合,轨道坐标集合是按照固定时间间隔依次采集,缺失值补充是采用轨道坐标集合中缺失坐标所在位置的前后轨道坐标求平均值获得。
[0089]
计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述所述方法的步骤。
[0090]
1、雷达数据预处理
[0091]
由于战场试验环境的复杂性,雷达采集到的侦察数据准确性与完整性较差,因此需要对侦察数据进行异常值剔除和缺失值补充操作。缺失值补充可以选择缺失值的邻近数据的均值来替代。异常值剔除在现有技术中可采用的方式有很多,本实施例不再详细阐述具体过程。
[0092]
侦查数据和测试数据均为预先采集的弹道导弹的轨道坐标集合,可以是被动段中起始段的弹道导弹的轨道坐标 被动段中末尾段的弹道导弹的轨道坐标,为了达到更好的神经网络训练效果,还需要对侦察数据进行归一化处理,运用最小-最大规范化方法对侦察数据进行线性变换。设min
x
、max
x
分别为导弹x轴数据的最小值和最大值。最小-最大规范化通过计算
[0093][0094]
将x轴上的数据映射到[0,1]区间,其中x为原始数据x轴数据,x’为归一化后数据,其他轴坐标同样处理即可。
[0095]
2、神经网络构建
[0096]
在网络训练前,需要对elman神经网络参数进行设定。elman神经网络一般分为四层:输入层、隐含层(中间层)、承接层和输出层。如图2所示,
[0097]
输入层、隐含层和输出层的连接类似于前馈式网络,输入层仅起信号传输作用,输出层起线性加权作用。隐含层的传递函数可采用线性或非线性函数。承接层又称上下文层或状态层,它用来记忆隐含层单元前一时刻的输出值并返回给网络的输入,可以认为是一
个一步延时算子。
[0098]
elman神经网络的非线性状态空间表达式为
[0099]
y(k)=g(w3·
x(k))
[0100]
x(k)=f(w1·
xc(k)) w2(u(k-1))
[0101]
xc(k)=x(k-1)
[0102]
式中,y(k)为m维输出结点向量,即预测时间段的轨道坐标集合,在本发明中为m
×
3的矩阵,其中m表示输出预测时间段中坐标点的数目,3表示坐标点的空间维度;x(k)为n维中间层结点单元向量,即输入时间段的轨道坐标集合,在本发明中为n
×
3的矩阵,其中n表示输入时间段中坐标点的数目,3表示坐标点的空间维度;u(k-1)为r维输入向量;xc(k)为n维反馈状态向量;w3为中间层到输出层连接权值;w2为输入层到中间层连接权值;w1为承接层到中间层的连接权值;g(*)为输出神经元的传递函数,是中间层输出的线性组合;f(*)为中间层神经元的传递函数,常采用s函数。
[0103]
elman神经网络采用bp算法进行权值修正,bp算法的学习指标函数采用误差平方和函数:
[0104][0105]
式中,为实际上弹道导弹目标的位置坐标向量,yk(w)为与相对应的elman神经网络输出的y(k)。
[0106]
3、神经网络训练
[0107]
设定隐含层层数及隐含层节点数,将归一化处理后的侦察数据代入elman神经网络,进行循环迭代训练,并直至达到训练要求(如循环执行elman神经网络一千次或误差达到指定精度),获得神经网络模型。
[0108]
4、结果生成
[0109]
选择未训练的侦察数据,按照n*3的矩阵的规定格式,代入到训练好的神经网络模型中,产生预测结果,并与原始的导弹运动轨道在同一时间段内的位置坐标数据集进行比对误差分析,对三维坐标的x、y、z轴的数据进行比对,并分别求出其差值或标准差。
[0110]
为验证算法可行性,进行如下仿真。
[0111]
输入变量为一组以地心坐标系的三维变量,已将侦察数据进行归一化处理,使其坐标范围为[0,1]区间,其轨道如3所示,
[0112]
设定elman神经网络的隐含层数为5,隐含层节点数分别为7、11、14、18和30,因导弹运动轨道总数据规模为9000*3(9000组三维数据),因此选取数据集中第1000个数据点为输入训练数据起始点,选取数据集中第3000个数据点为输入训练数据终点,选取数据集中第2000个数据点为输出训练数据起始点,选取数据集中第4000个数据点输出训练数据终点,将数据输入elman神经网络进行训练,整个网络迭代了1000次,结果误差精度小于1e-4;
[0113]
保存训练好的神经网络,选取数据集中第3000个数据点为输入数据起点,数据集中第3000个数据点为输入数据终点,来对数据集中第3000个数据点为输出数据起点,数据集中第3000个数据点为输出数据终点的轨道位置进行预测分析,仿真效果如图4所示,图4、图5和图6为弹道导弹目标的实际轨道x轴与预测轨道坐标x轴、弹道导弹目标的实际轨道y
轴与预测轨道坐标y轴和弹道导弹目标的实际轨道z轴与预测轨道坐标z轴示意图。
[0114]
可以看出,训练后的elman神经网络模型能对导弹的轨道进行较好的预测,从误差图可以分析,越靠近训练区间的点,预测效果越好,也符合elman神经网络的时间序列特性,对越靠近训练集的时序数据预测效果越好,反之越差。
[0115]
综上,可以得出结论,elman神经网络模型可以对弹道导弹的运动模型进行非线性的函数逼近,不需要考虑动力学、空气动力学、地球重力学等相关参数对导弹的影响,以训练好的网络模型对弹道导弹的运动进行实时预测,并且在靠近训练区间越近时,可以达到较好的预测结果。
[0116]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献