基于坐标旋转法的最差用户位置算法研究
2019-12-10王尔申曲萍萍黄煜峰房启志赵为平
王尔申,曲萍萍,黄煜峰,房启志,庞 涛, 赵为平
(沈阳航空航天大学 a.电子信息工程学院;b.辽宁省通用航空重点实验室,沈阳 110136)
随着卫星导航系统的发展,导航系统的完好性受到越来越多的关注[1]。基本导航服务性能中,完好性是关键的性能指标之一。卫星导航系统的完好性可以有效保障用户在使用导航系统时的安全性和可靠性[2-3]。完好性中的WUL表示空间信号的轨道误差在卫星覆盖域内所导致的伪距误差最大的位置,它可以为空间信号精度(SISA)和完好性标志(IF)提供重要的完好性信息,WUL用来表示卫星SISE中的轨道误差在卫星服务区域内所导致的用户误差最大的位置[4-5]。WUL的计算对用户测距误差的计算,以及为导航系统更好地提供完好性服务具有重要的意义[6]。
已有文献提出的WUL算法可以分为格网搜索法和临界圆法两类[9-10]。其中,网格搜索法的原理相对简单,通过将卫星覆盖范围划分网格单元的方法,计算并搜索出在其覆盖区域内由卫星轨道误差所导致的用户伪距误差最大的点[11];临界圆法首先要通过卫星的仰角确定其可视域,再根据球面几何原理得到WUL点的坐标[12]。相关的研究结果表明格网搜索法比较直观简单,但算法耗时和精度与网间距的选择密切相关,并且运算效率较低[13-14]。临界圆法具有较高精度,但其算法的复杂度较高,且算法具有较多的迭代搜索次数。
针对传统算法存在的复杂度较高和迭代次数较多的问题,采用了基于坐标旋转公式的临界圆法改进算法,简称为旋转坐标法。通过该方法可以减少方位角修正产生的搜索次数,而方位角修正是影响计算效率的主要因素,因此改进的方法能够有效提高计算效率。最后将传统的临界圆法计算得到的点作为真实值,对两种计算方法进行了仿真对比,采用GPS数据进行仿真验证。仿真结果表明,改进的算法能够减少搜索次数,并具有较高的精度。
1 改进的临界圆法基本原理
1.1 坐标旋转公式
传统的临界圆法在计算过程中产生误差,使得到的WUL点与地心到卫星的矢量和轨道误差矢量不在同一个平面内,因此需要在球模型下对方位角进行修正来使WUL点与两个矢量位于同一个平面上,而方位角修正会产生较多的迭代搜索次数[2]。
针对传统临界圆算法的缺点,引入了坐标旋转公式来改进球模型下的最坏用户位置坐标的计算。坐标旋转法基于罗德里格旋转公式,罗德里格旋转公式是计算三维空间中,一个向量绕旋转轴旋转给定角度以后得到的新向量的计算公式,被广泛应用于空间解析几何和计算机图形学等领域。
通过坐标旋转法得到的WUL点,与地心到卫星的矢量和轨道误差矢量在同一个平面上,省略了方位角修正产生的迭代次数,能够有效提高计算效率。
坐标旋转方法的基本原理如图1所示。
图1 罗德里格旋转公式原理示意图
(1)
(2)
(3)
则旋转后的向量表示为:
(4)
(5)
此时得到的点即为球模型下的最坏用户位置点。
1.2 基于球模型下的WUL点计算步骤
改进的临界圆法运用1.1节中的公式对球模型下的WUL点进行计算。首先将地球看成规则的球体,如图2所示。
图2 法向量
具体的计算步骤如下:
(1)通过OF和OA的单位矢量,确定法向量和旋转角度;
(2)将OF绕法向量旋转一定角度,得到球模型下的WUL点;
(3)将球模型下的WUL点转换到椭球模型下;
(4)对椭球模型下的点进行距离修正和边界修正,将修正后的角度带入到步骤(1)中重新计算,直到满足精度要求。
对于传统的计算方法,在得到A、F的坐标后,通过计算得到AF的方位角,进而得到WUL点,而由于在对方位角计算过程中产生的误差,会使得到的WUL点和A、F点不在同一个平面上,在对AF方位角进行修正过程中会产生大量的迭代,从而影响计算效率。
1.3 基于球模型下的坐标旋转方向
在确定旋转轴后,需要确定坐标旋转的方向,具体方法如图3所示。根据γ的不同主要分为两种情况:γ>90°和γ≤90°。
图3 旋转方向确定
1.4 基于椭球模型的WUL坐标转换和修正
由于地球并非规则球体,因此要将1.1节中得到的球模型下的坐标转换到椭球模型下:球模型的WUL记为WULs,椭球模型下的坐标记为WULest,曲率半径为:
(6)
其中Re是地球长半轴,f是扁率,φW是球模型下的纬度,λW为经度。
ROW为地球中心到WULest点的距离为:
ROW=RN
(7)
则ECEF坐标系下的WUL坐标为:
(8)
得到WUL点后,需要对其进行距离修正。
当投影点在卫星可视域外时,需要修正如下:
Δθ=θ-θ0
(9)
β=β+Δθ
(10)
把修正后的中心角β代入球形模型公式进行迭代,直到满足精度要求。
修正坐标点后,还需要对WUL点的边界进行确定,具体方法如下:
(1)如果投影点在卫星可视域外,即α>α0。WULs在卫星可视域边界上,在这种情况下,Δα将不能用来进行距离修正。可以使用截止高度角来调整β进行修正。如果θ<θ0,投影点在可视域外,此时需要进行边界修正,直到满足精度。如果θ>θ0,投影点在可视域内,采用传统临界圆法,修正结果即为WULs点。
(2)如果投影点在卫星可视域内,即α≤α0。WULs在卫星可视域内。如果θ<θ0,投影点在可视域外,如果θ>θ0。则该点即为WULs点;如果θ<θ0,则投影点在可视域外,需要做边界修正,将θ0限制在可视域边界上。
2 算法仿真验证与结果
2.1 坐标旋转法仿真结果
使用IGS下载的2017年6月11日两小时的GPS广播星历和精密星历来进行仿真验证。IGS提供间隔15min的精密星历,而导航星历的间隔为30s,因此需要对精密星历进行内插,得到与广播星历对应时间的卫星位置和钟差数据。选取10阶滑动式拉格朗日插值法对精密星历进行分段内插,取待插节点的前后各5组数据作为插值区间。
在仿真中,当α≤α0(α0≈0.24°)时,旋转得到的WUL与真实值有较大的误差,由坐标旋转法得到的位置与真实值相差大于3°,有时会超过10°。有研究表明当计算位置与真实位置夹角超过3°时对空间信号误差的影响会达到米级[7];而在仿真中发现,当α>α0时,得出的结果误差小于0.1032°,对完好性的影响较小。文中采用临界圆法和坐标旋转法相结合进行运算。在绝大多数数情况下,WUL所在位置均为α>α0[11],因此采用两种方法结合能够提高算法的运算效率。即当α>α0时采用坐标旋转法来提高算法的运算效率;而当α≤α0时,选择传统临界圆计算方法;图4为临界圆算法的迭代角度误差变化。
图4 角度误差
从图4中可以看到,在迭代21次后收敛到设定的误差门限值内,而对于传统算法,其迭代次数平均大于24次。改进方法迭代1次,因此改进的方法能够减少迭代次数。
如图5、6所示为PRN9的WUL纬度和经度计算结果。
由图5和图6可以看出,两种方法计算的经度和纬度基本完全重合。
2.2 坐标旋转法仿真误差
对传统临界圆法和坐标旋转法进行仿真,得到对应PRN9的经度和纬度误差分别如图7和图8所示,仿真时段内所有点均为,即所有仿真位置均为改进的计算方法的计算结果。
图5 PRN9 纬度
图6 PRN9 经度
从图7和图8看到,仿真结果中纬度误差绝对值最大值为0.103 2°,经度误差绝对值最大值为0.0287°。有研究结果表明:在目前米级的定轨精度条件下,WUL所允许的方向误差只要不超过3°就可以满足GPS C/A码的需求,能够满足绝大多数导航用户的需求[11],验证了改进的算法在运算精度上的可行性。而通过坐标旋转法得到的点避免了由于不共面而产生的方位角修正,减少了搜索次数;通过仿真数据统计得出,临界圆法查找平均25次找到WUL点,改进的算法需要查找1次,因此改进的算法能够有效减少迭代次数。表1为将传统临界圆法得到的数据作为真值,与新的算法结果进行对比选出的部分数据,改进的方法具有较高的精度。
图7 纬度误差
图8 经度误差
表1 两种方法计算结果对比 (°)
3 结论
文中通过使用坐标旋转法,使旋转后的点位于星下点和轨道误差矢量组成的同一个平面上,减少了传统算法中对方位角修正而产生的迭代次数,降低了算法的复杂度。使用IGS提供的GPS广播星历和精密星历进行仿真验证,仿真结果表明:相比于传统的临界圆算法,所提出的方法误差绝对值小于,这种误差对投影到WUL方向的空间信号误差的影响很小,所提出的计算方法具有较高的精度,能够有效降低运算量。