技术领域、
本发明涉及的是一种imm卫星定位导航方法,尤其涉及一种神经网络优化的imm卫星定位导航方法。
背景技术:
随着全球卫星导航系统(globalnavigationsatellitesystem,gnss)的不断发展和广泛应用,卫星导航定位在相关产业所占的市场份额越来越大,对卫星导航的定位精度要求越来越高。gnss定位解算中,为减少误差与噪声对定位结果的影响,相关学者先后引入了最小二乘算法、α-β滤波算法、卡尔曼滤波算法等。卡尔曼滤波以其良好的滤波性能广泛应用于gnss定位算法中。以往的学者多在滤波器的改进上进行了大量努力,针对实际运用的非线性滤波器,例如扩展卡尔曼滤波、容积卡尔曼滤波以及无迹卡尔曼滤波等。模型的建立对滤波来讲至关重要,传统的卡尔曼滤波器大多以单一的改进来提高滤波的精度,但是实际载体的运动状态总是多变的,而且高机动的运动状态普遍存在。为此有必要在gnss定位算法中引入交互式多模型算法。
1984年,blom和shalom在广义伪贝叶斯算法的基础上基于kalman滤波器提出了一种具有马尔可夫切换系数的多模型滤波器,其中多个模型并行工作,模型之间基于一个马尔可夫链进行切换,目标状态是多个滤波器交互作用的结果即交互式多模型(imm)算法。标准的imm算法是将常用的匀速与匀加速模型交互得到状态估计,由于模型的不断出新又有改进的imm算法。最为常见的模型有恒定速度模型(constantvelocity,cv)、恒定加速度模型(constantacceleration,ca)与恒定转率模型(constantturnrate,ct)。
根据不同的问题需求,越来越多的运动模型被提出。1970年r.a.singer提出了singer模型,这是一种均值为零的一阶事件相关的机动加速度运动模型。当前统计模型(currentstatistical,cs)是由周宏仁在1983年所提出的新的运动模型了,该模型是一种具有自适应非零均值加速度的singer模型,其分布随均值变化而变化,方差由均值决定。
根据imm算法的原理,imm算法的某一历元时刻只会有限的趋近于某一模型的定位结果,其定位结果并不会同时优于交互的所有模型。交互式多模型滤波(imm)算法是解决机动载体运动模型不确定的定位问题的次优算法,仍需进一步研究。
技术实现要素:
本发明目的在于解决单一模型无法有效拟合实际运动的问题和存在高机动运动载体卫星定位精度偏低的问题。针对上述现有技术的不足,本发明设计了一种rbf径向基神经网络优化的imm卫星定位导航方法。
本发明提出的设计方案为:一种神经网络优化的imm卫星定位导航方法,该方法基于交互式多模型滤波框架和卫星定位导航算法,先使用恒速(cv)模型与当前统计(cs)模型进行交互式滤波得到接收机的三维位置、速度及加速度信息,然后利用rbf径向基神经网络对滤波结果进行优化,并将优化得到的估计作为定位结果,具体步骤如下:
步骤1)导入可观测卫星的观测量以及相应的星历数据;
步骤2)根据卫星的观测量以及相应的星历数据计算卫星位置和速度;
步骤3)根据载体动态条件,设定交互式多模型中有两个用于交互的模型,第一个是匀速直线运动模型m(1),第二个是当前统计模型m(2),依次对两种运动模型设定模型参数;
步骤4)初始化马尔科夫模型转移概率、模型综合状态估计量、模型综合状态协方差矩阵、各模型残差、各模型残差协方差矩阵;
步骤5)在交互式多模型算法中,对模型条件进行初始化,包括对各模型混合概率、各模型滤波初始状态、各模型滤波初始状态协方差矩阵的初始化;
步骤6)基于神经网络的滤波误差补偿算法,建立了基于rbf神经网络的滤波误差补偿模型,得到各模型补偿后的状态估计
步骤7)将所述混合状态估计和协方差,输入到相应的滤波器计算,得到对应的状态估计值
步骤8)更新滤波器的模型的概率;
步骤9)基于模型概率对每个滤波器的输出结果进行加权合并,得到总的状态估计
1)根据前一次滤波值
2)根据前次得到的滤波误差方差阵
3)计算卡尔曼增益k(k+1);
4)计算滤波估计
5)计算滤波误差方差阵
6)将4)中得到的状态估计
跟现有技术相比,本发明有益效果为:
本发明针对高机动载体,建立了基于rbf神经网络的滤波误差补偿模型,利用神经网络的非线性映射能力来预测滤波误差从而对滤波结果进行补偿,通过这种方式对交互式多模型的预测结果进行修正,使预测结果能够更加贴近接收机载体运动状态的真实值。
附图说明
图1.imm-ekf算法流程图。
图2.基于rbf神经网络修正的扩展卡尔曼流程图。
图3为整体设计方案流程图。
具体实施方式
以下结合附图和实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明基于交互式多模型定位算法,首先设计匀速模型和当前统计模型参数,构建模型,在交互式多模型滤波框架下进行交互得到接收机载体的位置、速度以及加速度信息;建立基于rbf神经网络的滤波误差补偿模型,利用神经网络的非线性映射能力来预测滤波误差从而对滤波结果进行补偿,通过这种方式对交互式多模型的预测结果进行修正,将修正的滤波结果作为定位结果。
当前统计模型的状态方程为:
其中
其中,
a为自相关时间常数,
imm-ekf算法流程如下:
1、算法参数初始化。为了验证imm-ekf对机动目标的状态估计效果,imm算法中包含cv和cs两个运动模型,分别定义为模型1和模型2。设定马尔科夫模型转移概率矩阵。
2、输入交互。根据给定的转移概率和模型概率计算模型预测概率和混合概率,从而利用上一时刻两个模型的滤波状态估计计算得到模型1和模型2的混合状态估计
3、模型并行滤波。通过滤波估计下一时刻模型1和模型2的状态估计
4、更新模型概率。
5、输出综合。利用更新后的模型概率作为权重因子,与两个模型的滤波状态输出作加权组合,得到最后综合的目标状态估计
imm-ekf整体算法结构如图1所示。
神经网络优化的卡尔曼滤波算法流程如下:
1、根据前一次滤波值
2、根据前次得到的滤波误差方差阵
3、计算卡尔曼增益k(k+1);
4、计算滤波估计
5、计算滤波误差方差阵
6、将4中得到的状态估计
基于rbf神经网络的混合卡尔曼滤波算法结构如图2所示。
本发明针对飞行器运动状态多变且易出现加速度突变的情况,提出了一种神经网络优化的imm卫星定位导航算法,以期实现对机动飞行器的卫星定位,提高imm算法的准确性。
一种神经网络优化的imm卫星定位导航方法,该方法基于交互式多模型滤波框架和卫星定位导航算法,先使用恒速(cv)模型与当前统计(cs)模型进行交互式滤波得到接收机的三维位置、速度及加速度信息,然后利用rbf径向基神经网络对滤波结果进行优化,并将优化得到的估计作为定位结果,具体步骤如下:
步骤1)导入可观测卫星的观测量以及相应的星历数据;
步骤2)根据卫星的观测量以及相应的星历数据计算卫星位置和速度;
步骤3)根据载体动态条件,设定交互式多模型中有两个用于交互的模型,第一个是匀速直线运动模型m(1),第二个是当前统计模型m(2),依次对两种运动模型设定模型参数;
步骤4)初始化马尔科夫模型转移概率、模型综合状态估计量、模型综合状态协方差矩阵、各模型残差、各模型残差协方差矩阵;
步骤5)在交互式多模型算法中,对模型条件进行初始化,包括对各模型混合概率、各模型滤波初始状态、各模型滤波初始状态协方差矩阵的初始化;
步骤6)基于神经网络的滤波误差补偿算法,建立了基于rbf神经网络的滤波误差补偿模型,得到各模型补偿后的状态估计
步骤7)将所述混合状态估计和协方差,输入到相应的滤波器计算,得到对应的状态估计值
步骤8)更新滤波器的模型的概率;
步骤9)基于模型概率对每个滤波器的输出结果进行加权合并,得到总的状态估计
本发明应用范围:军事和民用领域对高机动飞行器卫星定位中。
根据imm算法的原理,imm算法的某一历元时刻只会有限的趋近于某一模型的定位结果,其定位结果并不会同时优于交互的所有模型。即imm仍无法有效解决机动状态下变加速的定位精度低的问题。为了解决上述问题,本发明引入rbf径向基神经网络用以修正卡尔曼滤波算法。
神经网络辅助卡尔曼滤波算法是一个利用神经网络来完成目标机动辨识的过程,因此可以将rbf神经网络的误差反向传播机理引入卡尔曼滤波器当中,利用rbf神经网络的非线性映射能力来学习滤波误差,以训练好的网络输出作为滤波结果的校正量,这样的混合滤波器可以极大提升系统的机动目标跟踪能力。
本发明公开了一种神经网络优化的imm卫星定位导航方法,针对imm仍无法有效解决机动状态下变加速的定位精度低的问题,本发明引入rbf径向基神经网络用以修正卡尔曼滤波算法。建立运动模型和观测模型,采用基于交互式多模型算法(imm)的扩展卡尔曼滤波器对高机动载体进行卫星定位导航,在imm算法中将加速度自适应调整的当前统计模型与cv模型相结合,改善交互式多模型的算法精度;并利用rbf神经网络的非线性映射能力来学习滤波误差,以训练好的网络输出作为滤波结果的校正量,这样的混合滤波器可以极大提升系统的机动目标跟踪能力。
综上所述,以上提出的高机动条件下的运动模型和观测模型、将当前统计模型与cv模型相结合的交互式多模型卫星定位算法均为本发明的保护范围。