(辽宁省海域和海岛使用动态监视监测中心 辽宁沈阳110000)
(辽宁省海域和海岛使用动态监视监测中心 辽宁沈阳110000)
针对实现GPS精密定位必须要完全探测与修复周跳的要求,弥补商用随机软件采用屏幕扫描法周跳探测效果不佳的不足,系统研究了周跳探测算法,开发了基于Matlab平台的GNSS周跳探测与修复系统,实测数据验证表明系统处理效果较好。
GPS精密定位周跳探测与修复
系统的数据准备分为两部分进行:一是,TEQC软件对观测值数据的初步处理,包括接收机二进制文件的转换、GLONASS观测值的剔除、观测值类型的定制与顺序转换;二是,通过自编程序实现各卫星观测值的分离。
1.1 TEQC软件应用
数据编辑模块主要功能有以下几个方面:(1)Rinex文件字头块部分编辑;(2)Rinex文件的分割;(3)Rinex文件的合并;(4)卫星系统的选择及特定卫星的禁用。本文系统主要应用定制观测类型与卫星系统的选择及特定卫星的禁用功能。
部分接收机可以同时记录GPS和GLONASS的数据,而在数据处理过程中通常只需要GPS观测数据,那么需要将GLONASS观测数据剔除,在Matlab下调用TEQC命令执行该操作:
!teqc-Rsource.**o>GPS.**o
注意Matlab下调用如TEQC软件的可执行文件需在命令前加“!”。其中 source.**o表示初始观测值文件,GPS.**o表示剔除GLONASS观测数据后观测值文件。
TEQC虽然有强大的数据编辑功能,但不能实现各卫星观测值的分离,在周跳探测系统中需要单独对每颗卫星的观测值进行处理,因此还需要自编程序读取观测值文件。读取观测值文件过程中可以判断头文件中观测值顺序,然后读取,本系统借助TEQC软件的定制观测值类型与顺序的功能将观测值顺序更改为同一顺序:
!teqc-O.obsca+L1+p2+L2GPS.**o>GPS1.**o
1.2 时间标示转换
GPS时是GPS系统内部所采用的时间系统,其时间零点定义为处于1980年1月5日夜与1980年1月6日晨之间的子夜。GPS时在标示时间时所采用的最大时间单位为周,其标示时间的方法是从1980年1月6日0时开始起算的周数(WN-WeekNumber)加上从每周周六/周日子夜开始起算的秒数(TOW-TimeofWeek),在GPS导航电文中的时间信息就是采用这种时间标示法。
整个系统分为系统主界面以及单频、双频、三频观测值探测与修复周跳系统,对于不同采样率的观测值数据需要选择合适的方法,若观测值为30s采样间隔,选择多项式拟合法或高次差法探测周跳,系统就会提示探测结果会不准确,因此需选择合适的方法进行周跳探测。
本节以2015年3月某控制网A04点位观测值文件A04_0861. 10o为实例,观测值类型包含 C1、L1、L2、P2、D1、D2,以双频GF-DCPC周跳自动探测与修复系统为例说明系统基本框架(图中标注了具体的按钮功能)。
系统主要由观测文件读取、观测文件调整、卫星选择、观测值存储、周跳探测与修复、检测量绘制等模块组成。在数据处理过程中,双频观测值的粗差探测采用Blewitt方法中的粗差探测方法,在观测值出现粗差与间断处将数据划分弧段,删除小于一定观测值数的弧段,其它弧段作为有效弧段,分别在各弧段观测值进行周跳探测与修复。
图2中显示在该观测值中包含9颗卫星的观测值,观测历元数729个,采样间隔为10s,系统可以一键探测所有卫星观测值中的周跳,亦可探测选中卫星观测值的周跳,并将修复后的观测值保存到文件。图3中选取PRN5卫星观测值进行周跳探测实验,结果显示观测中包含一个粗差和一个观测值不连续历元,在粗差与不连续历元处将观测值分段,可得到3个数据弧段,由于第一弧段包含12个历元的观测值,小于设定阈值20历元,系统自动将该弧段删除,剩余有效弧段个数为2,“周跳列表”中显示,两个弧段均无周跳发生。图4绘制了第2弧段的周跳检测量,从第4幅图GF-DCPC检测量可以看出,值均在零值附近波动,说明探测结果准确。
本文基于Matlab实现了一套周跳探测与修复系统,调用TEQC软件部分功能,从数据准备、算法设计、系统框架、实例分析等多个方面对系统进行了介绍,实现了GPS载波相位中周跳的直观地、自主地探测与修复。
基于Matlab的GPS周跳探测与修复系统
■冯磊
P2[文献码]B
1000-405X(2016)-10-141-2