摘 要:不管是在GPS动态定位还是在GPS静态定位解算中,都需要以卫星导航数据和接收机观测数据作为基础数据,由于各个GPS主板生厂商所生产的接收机的原始数据格式不尽统一,而且大多数的厂商都只是提供了针对自己厂商的接收机的配套数据处理软件,为了将不同型号接收机进行联合作业和数据的统一处理,対各个接收机的数据格式进行统一也就显得很有必要(本文原刊于煤矿开采杂志2014年5月)。
关键字:GPS原始数据;NovAtel OEM6;Renix;串口通信
1 引言
全球定位系统主要由 GPS 卫星星座(空间部分)、地面控制部分(监测网络)和用户(接收机)三部分组成。在这三部分中 GPS 卫星是其中最主要的组成部分,它只发射信号,而用户机部分则只接收信号。GPS信号接收机的任务是能够捕获到按一定卫星高度截止角所选择的待测卫星的信号,并跟踪这些卫星的运行,对所接收到的GPS信号进行变换、放大和处理,以便测量出GPS信号从卫星到接收机天线的传播时间,解译出GPS卫星所发出的导航电文,实时的计算出测站的三维坐标,三维速度和时间[1]。而Renix格式文件是GPS测量领域中一种广为使用的数据格式,绝大部分的数据处理软件均支持这种格式。在GPS应用广泛的今天,无论何种GPS接收机,将其特有的数据格式转换为RINEX格式对于GPS数据的通用性、可分析性都有着重要而实际的意义。在这样的背景下,本文以NovAtel OEM6主板为例,介绍了NovAtel OEM6板卡与计算机通讯接口的设计及NovAtel OEM6主板原始数据向标准的RINEX数据格式的转换方法及程序实现过程。
2 GPS原始数据的介绍
GPS原始数据格式随接收机主板的不同而异。NovAtel公司是目前精密全球导航卫星系统(GNSS)及其子系统领域中,在GPS接收机、GNSS天线生产领域一直是GPS行业的技术领先者和革新者,公司最新的接收机-OEM6系列,提供了高质量的GNSS性能和许多关键特性,包括GLONASS量测和定位、GPS现代化、API功能、集成L-波段。NovAtel公司还提供单频板和双频GPS+Galileo双系统接收机。这项技术对用户来说非常重要,因为同时跟踪更多的卫星可增加定位和导航解算的可靠性和可用性,这样即使是在部分卫星信号被遮挡的情况下,接收机也可以获取更多的卫星信息,从而使得定位解算结果更为精确有效。本文的接收机原始数据就是通过该公司的OEM6系列主板所获取的。
1. Renix格式介绍
Renix格式是纯ASCII码文本文件,共包含4种文件:
观测数据文件:ssssdddf.yyo
导航文件:ssssdddf.yyn
气象数据文件:ssssdddf.yym
GLONASS数据文件:ssssdddf.yyg
其中ssss---4个字母的测站名;ddd---第一组数据的年积日;f---当天的观测序号;yy---年份。
观测数据文件主要记录有伪距观测值、相位观测值和积分多普勒值、观测值对应的历元时间等。伪距是由卫星发射的测距码信号到达 GPS 接收机的接收传播时间乘以光速所得出的量测距离。相位是在L1和L2频率上(实际上是在差拍频率上)的整周内的小数值。根据不同的需要,多普勒值可分别记录为D1 和D2,以Hz为单位[2]。GPS导航电文是用户用来定位和导航的数据基础,主要包括卫星的轨道参数、卫星钟参数等,具体的参数内容如表2-1所示。GLONASS导航文件主要含有卫星的编号、某一时刻下的坐标、速度、加速度等信息,用以确定卫星轨道的坐标[3]。
2. GPS原始数据的获取
一般的,GPS接收机需要预先通过向接收机发送交互式指令请求数据,只有在设置指令成功的前提下,GPS接收机才会正常工作并接收指定的GPS信号。一般在GPS定位解算中,用户必不可少的数据类型主要是观测数据文件(o文件)和导航数据文件(n、g文件),因此在本文中,我们主要是以获取原始观测数据和导航数据(包括GPS和GLONASS卫星)两种数据为例进行详细论述,所以对应的指令包括“RANGEA”和“RAWEPHEMA”,“GLOEPHEMERISA”三种类型,其中“RANGEA”指令类型对应的是原始观测数据,“RAWEPHEMA”对应的是原始GPS卫星导航数据,“GLOEPHEMERISA”对应的是原始GLONASS卫星导航数据。具体的交互式指令可以通过NovAtel OEM6用户参考手册文档获取,命令的发送可以通过专业串口调试工具或者自己设计的通讯程序完成。在数据接收的过程中,需要注意的是接收机与计算机串口设置的一致性,其中包括通信端口、波特率、数据位、停止位、奇偶校验位等信息。
NovAtel-OEM芯片输出的数据格式有三种,分别为ASCII格式、Abbreviated ASCII格式和Binary格式。由于该产品系列的数据信息类型非常多,在我们给接收机发送指令前就需要确定我们用于定位所需要的信息类型,一般我们只需要卫星的原始观测量信息和导航文件信息。本次试验中我们采用的是ASCII格式的原始数据(“#RANGE”和“#RAWEPHEM”指令信息)文件,其基本结构如下表2-2、图2-3所示:
3 NovAtel OEM6与计算机串口通讯程序设计
本实验采用9针RS-232串口封装。通常RS-232接口以9针接脚(DB-9)或是25针接脚(DB-25)的形态出现,一般个人台式计算机上会有两个RS-232串口,分别成为COM1和COM2。本次试验我们用的是笔记本电脑,由于笔记本电脑没有RS-232串口,于是采用串口转USB线进行测试。
通过使用.NET平台的Serial Port控件可以实现本地计算机的串口通讯设计。其基本效果以及串口通讯参数设置如下图3-1 所示:
4 数据解码方法
GPS原始数据解码为Renix格式的步骤主要为:首先判断读取的指令类型,如果是“RANGE”类型,则可以参考NovAtel OEM6用户参考手册文档了解该指令所对应的的各个参数的含义,并对照Renix观测数据文件格式进行逐一转换;如果是“RAWEPHEMA”类型,就需要先在ICD-GPS-200[4]中查找变量的定义,进而求出变量值,求出变量值后还要根据尺度因子进行换算,最后根据Renix导航文件数据格式的单位要求进行单位转换。
不过在数据解码的过程中,需要注意以下几个问题:
1.数据的存储顺序
在GPS导航电文中,第1,,2,3子帧数据是以字节形式存储的,对于某些特殊的参数(如第1子帧的IODC参数),其数据位为10bit,但其分开存储在第1子帧的第3和第8个字上,如图3-2所示:
其在还原时需要按照高位在前、低位在后的顺序将所有数据位的数字进行合并。
2.校验位的计算方法
通过这种校验方式,可以确保用户接收到的(或传输)的数据是有效的,需要注意的是在该板卡的导航电文中的每个字后都有校验位,因此其每一帧导航电文一共有300bit,有些厂商设计的接收机的导航电文是240bit。
3.数据的符号位
在导航电文中,需要注意的是每个参数的字节数据转为二进制后,如果该参数在ICD-GPS-200[5]中的子帧参数表里面用*标注,这就是说该变量是用以2为模的补码形式来表示的数(最高的bit位是符号位),即:如果它大于0,那么因为正数的补码就是其本身,可以直接求出;但如果它小于0(最高位为1),情况就完全不同,比如1111 1001≠一0111 1001,而等于一(00000110+1)=一0000 0111。要快速求出一个补码表示的负数的真值,方法为:对于n位二进制数,X真=X补一2n。[6]
5 程序设计
本程序设计与实验需要开发两个模块,分别为原始数据解码和原始数据转换为Renix模块,对应的流程图分别如下图5-1,5-2所示。
接收机接收信息后会做出相应的反馈,如返回OK字符串并开始对GPS信号进行接收和处理,通过选择保存按钮可以将原始GPS数据文件保存在本地计算机上,然后启动设计好的Renix格式转换程序,进行了观测文件辅助信息和导航文件辅助信息设置,设置原始GPS数据文件为刚刚生成的数据文件其他输出文件后,便可以得到如下图所示的Renix2.10数据文件,如图6-1,6-2,6-3所示:
通过参考标准Renix2.10格式说明可以知道此次转换数据符合要求,为了确定转换结果的可靠性,我们再次借用NovAtel OEM6接收机数据处理软件对原始数据进行转换和对比,发现结果非常吻合,从而说明,文中所述的原始数据解码方法行之有效。
值得注意的是,在这次解码过程中,观测数据的头文件中的部分参数未给出结果(如测站近似坐标),这是因为要获取测站的近似坐标需要再发送特殊的指令如“log com1 GPGGA ONTIME 1”得到,这部分内容不再本文讨论范围内。
7 结论
综上所述,利用Visual C#可以实现NovAtel OEM6板与计算机通讯程序和原始数据向标准通用的RINEX数据格式的转换,通过实验也验证了程序的可靠性。该方法对不同类型的GPS-OEM接收机的通讯设计和原始数据处理具有实际应用与指导意义(本文原刊于煤矿开采杂志2014年5月)。
参考文献
[1]刘庆元,余文坤,扬哲,谢文清,刘民选. GPS-OEM板原始数据向RINEX格式转换程序设计[J]. 矿山测量,2009,05:31-33+36.
[2]陈桂珍,戴建军. GPS-OEM原始数据向Rinex格式转换的方法[J]. 测绘技术装备,2006,04:26-27.
[3]http://wenku.baidu.com/view/f0f9cf7302768e9951e738f1.html
[4]ARINC Research Corporation.Interface Control Document(ICD)-GPS-2OO[S],1993
[5]NovAtel Incorporation.OEMV Family Firmware Reference Manual[S]
[6]继灿,李华贵.新编16—32位微型计算机原理及应用[M].北京:清华大学出版社,1997.