董 静 宋洁文 王贝贝
(宁波市阿拉图数字科技有限公司,浙江 宁波 315100)
全球范围内,卫星导航系统的使用已经深入海、陆、空多个领域[1-2]。卫星导航系统具备实时定位的功能,在位置追踪问题中使用优势显著。如航海定位、车辆调度、无人机追踪等多种工程中,均离不开卫星导航系统。但卫星导航系统抗扰性较差,无线电对其存在干扰时,信号会存在噪声信息,定位精度便会受到负面影响,直接导致卫星导航定位误差变大,从而影响其应用效果[3]。为此,卫星导航定位精度优化存在必要性[4],查阅当下关于卫星导航定位精度优化方面的研究可知,针对卫星导航定位问题,何璇等人以点线特征、视觉角度为解决问题的切入点,完成室外卫星导航定位,此方法具备高效率的导航定位能力,但操作复杂,且视觉角度对视觉效果的要求较为严格,若卫星导航信号存在被遮挡情况,便会影响定位精度[5]。
周萌萌等[6]认为卡尔曼滤波算法对卫星信号的噪声信息,具备较好的过滤作用,属于抑制导航定位误差的核心技术,能够有效提高卫星导航定位精度。但已有的研究方法中,普通的卡尔曼滤波算法因信号的遮挡,会发生线性化误差,导致滤波结果差强人意。为此,本文研究一种基于改进卡尔曼滤波的卫星导航定位精度优化方法,此方法能够以信号遮挡信息滤波的方式,动态设置合理的滤波增益,从而降低卫星导航信号定位误差,优化卫星导航定位精度。
卫星导航定位信号存在遮挡问题时,其传播方式会出现非视距模式,此问题直接对载波相位、伪距的测量效果存在直接干扰,导致卫星导航定位精度变差[7-9]。
为优化卫星导航定位精度,需要提取存在遮挡信息的卫星导航定位信号[10-11],则本文创新性地利用改进的蛙跳算法优化支持向量机,然后基于改进的支持向量机进行导航信号分类,以二分类的方式,提取存在遮挡信息的卫星导航定位信号。支持向量机能够把存在遮挡信息的卫星导航定位信号映射至高维空间[12-14],设计用于分类的最佳超平面,完成卫星导航定位信号分类。利用支持向量机分类卫星导航定位信号,构建的最优超平面,公式为
式中,m为信号样本数量,i∈m,j∈m;γ*为拉格朗日乘子;xi为非线性映射因子;K(yi,yj)为第i个、第j个卫星导航定位信号样本yi、yj的核函数;c*为偏置。如果分类结果f(y)数值大于0,那么所分类的卫星导航定位信号样本y是无遮挡信息的卫星信号,如果f(y)数值小于0,那么所分类的信号样本y是存在遮挡信息的卫星信号。
支持向量机核函数K(yi,yj)设置的合理性,直接影响支持向量机的分类误差[15]。为此,本文改进蛙跳算法,对支持向量机的核函数进行最优化设置,最优化设置标准是支持向量机训练时,对卫星导航定位信号分类误差最小化。
常规的蛙跳算法收敛效率较低,且收敛误差较大[16-17],为此,文章在常规蛙跳算法的子群局部深度检索环节,使用高斯变异方法、混沌干扰方法进行改进,以此保证优化不会陷入局部最优状态,提高收敛效率和精度。
设置蛙群算法中青蛙个体就是K(yi,yj)的可行解,种群是K(yi,yj)的可行域,青蛙个体简称为K。在青蛙个体子群局部深度检索过程中,计算目前青蛙子群适应度均值,将此子群的全部适应度大于均值的个体可行解执行高斯变异处理进行搜索优化,小于均值的个体可行解执行混沌干扰进行搜索优化。其中,高斯变异处理优化计算公式为
式中,M(0,1)是正态分布随机数;m(K)是高斯变异结果。
混沌干扰优化计算公式为
式中,Y′是需执行混沌干扰的青蛙个体是混沌干扰后个体。
综上所述,完成蛙跳算法的改进,利用改进的蛙跳算法寻优设置支持向量机的核函数,操作步骤为:
(1)蛙群(核函数可行域)初始化,设置青蛙种群个体数目、个体维度数目、子群数目、子群局部检索迭代次数与整体迭代次数。
(2)运算代表核函数可行解的青蛙个体适应度O
式中,i∈M;f(y)、f(y)''依次是支持向量机分类结果、实际结果。
(3)将目前全部代表核函数可行解的青蛙个体适应度值从小到大排列,并把个体归类于自己的种群之中。
(4)将目前子群最差个体执行更新,运算目前子群适应度均值。适应度数值不小于适应度均值的可行解个体,需要执行高斯变异,若变异处理后个体适应度比变异前优,便将其作为最优个体。适应度不大于适应度均值的个体,需执行混沌干扰。多次执行此环节,当迭代次数为最大值便可停止,输出适应度最优的个体,此个体代表的核函数可行解即为最优解,将此解导进式(1),完成卫星导航定位信号分类,提取存在遮挡信息的卫星信号。
针对1.1小节提取的存在遮挡信息的卫星导航定位信号,本文使用基于改进卡尔曼滤波的卫星导航定位精度提升算法,去除定位信号中的无效定位信息,提取精准定位信息。
设置提取的卫星导航定位信号yt与卫星导航定位结果lk依次为
式中,yt-1、ϖt-1分别是卫星导航定位信号状态向量、遮挡信息影响下信号动态噪声状态向量;Gt、ut、ωt-1分别是滤波增益、遮挡信息影响下信号观测噪声、动态噪声。
通常情况下,动态噪声、观测噪声存在高斯分布状态,动态噪声、观测噪声的协方差W的变化直接体现卫星导航定位误差,为此,文章创新性地以动态估计W的方式,动态自适应调节无效定位信息滤波程度,从而优化卫星导航定位精度。
t时刻W的动态估计方法为
改进卡尔曼滤波算法的整体操作流程如图1所示。
图1 改进卡尔曼滤波算法的整体操作流程
则t时刻卫星导航定位精度优化时,滤波增益Gt调节方法是
式中,Pt、Wt依次是t时刻卫星导航定位时,动态噪声、观测噪声的协方差;右上标T代表转置。
结合式(8)的滤波增益Gt调节方法,将调节的滤波增益Gt导进式(6),全面去除卫星导航定位信号中的无效定位信息,便可获取精准的卫生导航定位结果,完成定位精度优化。
为分析本文方法对卫星导航定位精度的优化效果,以某地区终端管制地域作为实验目标,将2021 年某日航班某飞机的实测数据作为实验数据,实验数据详情如图2所示,矩形部分为遮挡信息。由图2可以看出,遮挡信息的存在,直接影响此飞机的自我定位结果,会降低卫星导航定位精度。
图2 实验所用卫星导航定位数据
本文方法使用基于改进支持向量机的导航定位信号分类算法,对导航信号进行分类,提取存在遮挡信息的导航信号,为直观体现本文方法对卫星导航定位信号的分类效果,给出支持向量机采用改进蛙跳算法前后,导航定位信号样本分类结果的分布详情图,详情如图3、图4 所示。对比图3 与图4 可知,本文方法对卫星导航定位信号分类之前,信号样本之间杂乱无章,存在遮挡信息的导航信号样本和无遮挡信息的导航信息样本之间,不存在明显的分界线,此时卫星导航定位精度便会受到负面影响。而本文方法对卫星导航定位信号分类后,卫星导航定位信号样本之间分类明确,证实本文方法对导航信号样本具备分类能力。
图3 分类前卫星导航信号样本分布详情
图4 分类后信号样本分布详情
卫星导航定位信号分类后,本文方法采用基于改进卡尔曼滤波的卫星导航定位精度提升算法,自适应调节滤波增益,以此去除卫星导航定位时遮挡信息的影响,改进卡尔曼滤波增益的调节结果如图5 所示。分析图5 可知,本文方法能够动态估计W,动态自适应调节滤波增益,保证滤波增益的调节数值大于W,从而优化卫星导航定位精度。
图5 改进卡尔曼滤波增益的调节结果
本文方法使用改进卡尔曼滤波算法前后卫星导航定位结果如图6 所示。由图6 可知,本文方法使用改进卡尔曼滤波算法前,卫星导航定位结果存在明显的偏差,而使用改进卡尔曼滤波算法后,卫星导航定位结果与图2高度匹配,证实本文方法使用改进卡尔曼滤波算法,可优化卫星导航定位精度。
图6 本文方法定位结果
为测试本文方法的使用优势,将本文方法与文献[5]方法、文献[6]方法进行对比,三种方法的实验条件完全一致,在此情况下,三种方法使用后,卫星导航定位结果的偏差值如图7 所示。如图7所示,本文方法使用后,卫星导航定位精度最高,定位结果中,X方向、Y方向、Z方向的偏差值仅有0.1 cm、0.1 cm、0.1 cm,而文献[5]方法、文献[6]方法使用后,卫星导航定位结果的偏差值均大于本文方法,由此证明,在同类方法中,本文方法对卫星导航定位精度的优化能力更突显。这是因为本文方法创新性地使用高斯变异方法、混沌干扰方法改进蛙跳算法,利用改进的蛙跳算法优化支持向量机,然后基于改进的支持向量机进行导航信号分类,为后续定位提供了更精准的分类信号。以动态估计动态噪声、观测噪声协方差的方式,自适应调节无效定位信息滤波程度,全面去除信号中的无效定位信息,因此获得更为精准的卫星导航定位结果。
图7 三种方法使用前后卫星导航定位结果偏差
将本文方法实际应用于某航空公司2022 年某日五架客机的卫星导航定位中,统计当日定位坐标三个方向上的误差结果,如表1所示。
表1 不同客机的定位误差结果 单位:cm
由表1 数据可知,将本文方法应用于实际定位场景中,5 架客机定位坐标三个方向的误差均小于0.13 cm,符合航空公式的定位要求,具有实际应用价值。
在户外环境中,卫星导航定位精度会经常受到多种静态、动态遮挡物所影响,以往的卡尔曼滤波算法只具备定位结果平滑能力,并不能去除遮挡偏差,以此问题为切入点,本文研究基于改进卡尔曼滤波的卫星导航定位精度优化方法,把卫星导航定位信号的观测噪声协方差作为参考,动态调节卫星导航定位信号遮挡信息的滤波增益,从而保证了信号纯度,提高了卫星导航定位精度。实验中,本文通过多种方法的对比验证了本文方法的可用价值。