华 亮
(湛江市测绘大队,广东 湛江 524002)
在GPS的精密单点定位以及相对定位中,都需要根据卫星星历、钟差文件计算每一时刻的卫星坐标,不同情况下对卫星星历及钟差的采样间隔要求不同。导航卫星通常采用的原子钟为铷钟或者铯钟,其存在频移、频漂、频漂率等物理性质,卫星钟频率漂移引起的卫星钟时间与GPS标准时之间的差值称为卫星钟差。GPS通过地面监控站对卫星监侧,确定卫星钟的偏差。卫星钟差对于定位的影响分为两项,一项是会引起卫星坐标计算的误差,另一项是引起卫星与接收机距离的误差,如果定位精度需要厘米级时,则卫星钟差精度需要达到纳秒级,因此钟差对定位精度影响非常重要。在实际定位中,接收机的数据采样间隔为30S、15S甚至更高的1S等高频采样,为了计算每个采样时刻的位置,则必须对IGS提供的精密钟差产品进行插值或者拟合获取适应于接收机采样率的钟差数据。
在数据处理中,常用的插值方法较多,如Lagrange插值、Newton多项式插值、Hermite插值、样条函数插值、切比雪夫多项式插值、三角函数插值等。在GPS数据处理中,常用的则为Lagrange多项式插值。
B样条函数作为一类基本的样条函数,其方法通用、逼近性能好,所以在数据处理中广泛应用。文献[3]将B样条函数用于了局部重力场的逼近。文献[4]将B样条函数平滑用于航空矢量重力测量中,对GPS相位差分直接计算的加速度进行了处理。本文将B样条函数应用于GPS精密钟差的插值计算并给出了具体的计算方案,且对IGS公布的精密钟差数据进行处理,与CODE公布的5S间隔数据进行了比较,最后对插值的精度进行了分析。
本文处理的数据是钟差数据的时间序列( ti,yi)(i=1,2,....,n)。对 历 元 ti作 分 划,其 中 c=min(ti),d=max(ti)则分划△:c=t0<t1<....<tN=d。
加入新节点将分划△扩展为:
通常,m次B样条函数能够由递推公式计算得到:
而且m次样条函数S可以通过B样条基函数表示为:
它包含有{N+m}个待定系数 a-m,a-m+1,....,aN-1。
选择m次样条函数S()x作为拟合函数,根据最小二乘原理,可以利用下式求解待定系数。
得到正规方程组:
根据上文求出(2)式中的N+m个系数,则即可得到插值的多项式。
从上述推导过程可知,B样条函数的阶次m以及分划长度N将可以产生不同的插值效果,本文将结合实际数据进行讨论与分析。
目前,IGS相关机构提供的精密钟差数据间隔为5min、30S,每个文件从当天0点0分0秒开始至23时55分0秒结束,文件提供了所有卫星的钟差数据,并给出了用于计算卫星钟差的地面接收机的钟差数据。在数据处理时,本文的策略是首先是选定某一颗卫星一天的数据进行处理,讨论B样条函数的参数变化对插值精度的影响,之后则随机选取较长时间段的钟差数据进行插值,验证该方法的普遍性。
本文采用的精密钟差数据来自AIUB(AstronomicalInstituteoftheUniversityofBern)的CODE数据中心,时间为2013年03月28日PRN3卫星的5min、30SGPS钟差数据,利用Maltab编写了B样条函数插值方法的计算程序插值得到了5s间隔的数据,分别分析B样条函数的次m、划分长度N这两个参数的取值方式,并与CODE提供的5s钟差结果进行了比较,精度比较结果见图1。
图1 不同参数下30s和5min数据内插钟差精度图
由图1可知,在选取不同参数计算钟差的插值时,两组数据内插的5s钟差,其精度的变化趋势是一致的,30s数据的精度优于5min的结果,在选用的参数范围内,其精度均优于1ns。
为了便于分析,表1给出了B样条插值结果与精密卫星钟差比较的统计表,从表中可以看出,当阶次采用3或4时,精度最高,可达到0.16ns的精度,这时对应的节点分划长度则是数据长度减去阶数,从结果来看,采用30s间隔的数据获取的插值结果普遍优于5min间隔的数据。
表1 B样条内插与精密星历比较(单位:ns)
30s间隔 5min间隔参数阶中误差最大值 平均值 中误差 最大值 平均值9 0.2788 0.1027 0.2237 0.3796 0.1694 0.2565 10 0.2810 0.1038 0.2983 0.3904 0.1788 0.2874 11 0.2840 0.1571 0.5610 0.4129 0.1739 0.2938 12 0.2859 0.1638 0.7649 0.4177 0.1890 0.2986
上述的分析仅是针对PRN3卫星的一天的结果进行了分析,为了验证B样条方法的普遍有效性,本文采用3阶B样条函数,随机选取了2013年03月15日到2013年03月24日的卫星钟差数据,将其内插得到了30s、5s的钟差数据,并与相关机构提供的结果进行了比较。表2给出了内插得到的30s、5s数据的精度统计表。从表2可知,采用B样条方法计算的结果精度稳定,均为0.16ns左右,可以满足目前定位的需要。
表2 B样条方法内插精度统计(单位:ns)
本文采用B样条函数插值法内插了CODE提供PRN3卫星的5min,30s的精密钟差数据,插值得到了5s间隔的钟差数据并与其提供的结果进行了比对和分析,得出以下结论:
(1)在阶数较小时,插值误差较大,随着参数值的增大,插值的精度得到了提高,但是随着阶数的提高,插值的精度反而不断降低,通常选择3或者4阶即可满足要求。
(2)通过对随机选择的多天数据的比较可以看出,利用B样条函数插值法,在选取适当的参数值时,卫星钟差的插值精度可以0.15ns,完全满足精密单点定位、定轨坐标计算对卫星钟差的精度需求,该插值方法在精密卫星钟差数据插值中具有一定的应用前景。
[1]张志涌.精通MATLABR2011a[M].北京:北京航空航天大学出版社,2011.
[2]刘大杰,陶本藻.实用测量数据处理方法[M].北京,测绘出版社,2000,39 ~48.
[3]郭建锋,归庆明,杨元喜.局部重力场的非均匀B样条最小二乘逼近[J],测绘学报,2000,29(3),189 ~202.