张昀超,周明涛,甄 杰
(中国测绘科学研究院,北京 100830)
在室外定位领域,基于全球卫星导航系统(global navigation satellite system,GNSS)的位置服务已广泛应用于各行各业,与位置信息相关的数据传输格式标准,如:美国国家海洋电子协会(National Marine Electronics Association,NMEA)的NMEA 0183协议,国际海运事业无线电技术委员会(Radio Technical Commission for Maritime services,RTCM)第104专业委员会(Special Committee 104,SC-104)的RTCM SC-104协议,已经得到社会的广泛采用。然而据统计,人们每天平均85%的时间在室内活动,当前社会经济生活各领域对于大型购物中心、医院、机场、矿山等复杂室内及地下空间与位置信息相关的商业信息服务,安全管理,应急响应等需求日益迫切,室内定位正在成为位置服务领域的研究热点。由于室外导航卫星信号受建筑物的遮挡,无法在室内空间进行定位,必须寻找适用于室内的导航定位方法。目前基于无线电信号的室内定位技术主要有无线保真(wireless fidelity,WiFi),超宽带(ultra-wideband,UWB),红外,蓝牙,超声波,射频识别(radio frequency identification,RFID)技术和小区识别码(Cell,Cell-ID)等,但是由于无线电信号在室内的多径及非视距传播(non line of sight,NLOS)遮挡效应,信号衰减严重,使其定位精度及覆盖范围受到很大限制。基于微惯导等终端集成定位传感器的室内导航定位技术研究正在逐渐深入。国外的室内位置服务系统解决方案主要有苹果公司基于蓝牙4.0的iBeacon解决方案,高通公司基于Gimbal传感器和基于WiFi的RTT解决方案等。三星、索尼、高通等19家通信企业组成了全球室内定位联盟(In-Location Alliance),致力于提供“高精准、低功耗、可移动性、易部署性以及使用性”的室内定位装置和解决方案,相关国际技术标准正在制定中。国内百度、高德、四维、智慧图等公司也在研发基于WiFi、蓝牙的室内定位产品。
由于室内定位技术是一个刚刚兴起的热点技术,而且室内定位环境的复杂性,室内无线定位信号及定位传感器功能的局限性,目前还没有一种室内定位技术能够像室外卫星导航定位技术那样一统天下,在今后相当长时间内都可能是多种室内定位技术手段并存或者进行组合定位的局面。室内定位目前尚未形成完整技术体系,相关的室内位置信息传输标准尚未建立,急需进行相关的研究与探索。
NMEA 0183和RTCM SC-104是目前室外GNSS导航定位领域国际通用的数据传输格式,二者因使用目的不同,编码方式及适用场合完全不同。NMEA 0183通常用于导航设备终端,以美国信息交换标准代码(American standard code for information interchange,ASCII)码字符形式直接输出定位结果,便于使用者查看。RTCM SC-104则用于传输二进制形式的基准站坐标,原始观测数据、差分改正值等相关差分信息,传输的信息主要用于差分全球卫星导航系统(differential global navigation satellite systems,DGNSS)的高精度定位解算,并不直接输出定位结果。高精度定位终端通过DGNSS解算出的高精度定位结果仍然需要通过NMEA 0183进行终端显示与输出。天宝(Trimble)、诺瓦泰(NovAtel)等公司还有各自制定的专用DGNSS数据格式,如Trimble 的CMR(compact measurement record)等,这些专用格式彼此互不兼容。此外,需要特别说明的是Ntrip(networked transport of RTCM via internet protocol)是通过互联网进行RTCM SC-104差分数据网络传输的应用层协议。它不是一个位置信息电文格式标准,而是为了RTCM差分电文信息在网络上传输制定的专用网络传输协议。
NMEA 0183协议最初是美国国家海洋电子协会为全球定位系统(global positioning system,GPS)海用电子设备制定的标准[1]。它是一套定义GNSS接收机定位输出的标准信息,有几种不同的格式,每种都是独立相关的ASCII格式,逗点隔开数据流,数据流长度从30-100字符不等,通常以每秒间隔选择输出,最常用的格式为“GGA”,它包含了定位时间、纬度、经度、高度、定位所用的卫星数、精度衰减因子(dilution of precision,DOP)值、差分状态和校正时段等,其他的有速度、跟踪、日期等。该协议采用ASCII码,其串行通信默认参数为:波特率=4 800 bps,数据位=8 bits,开始位=1 bit,停止位=1 bit,无奇偶校验。帧格式形如:$aaccc,ddd,ddd,…,ddd*hh
表1 NMEA 0183数据格式
NMEA 0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。
NMEA 0183协议是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。
RTCM SC-104差分电文格式标准是国际海事无线电技术委员会第104专业委员会制定的全球通用DGNSS电文格式协议[2]。它用于在解算中心、基准站和用户站之间传输二进制差分数据。RTCM SC-104陆续公布了多种差分数据格式,V2.0仅用于差分全球定位系统(differential global positioning system,DGPS);V2.1添加了载波相位数据和实时动态差分法(real-time kinematic,RTK)修正数据;V2.2包括了俄罗斯的格洛纳斯卫星导航系统(global navigation satellite system,GLONASS)数据和相关信息;V2.3增加天线数据类型和地址解析协议(address resolution protocol,ARP)信息;V3.0增加了用于传输网络差分改正数的电文,支持网络RTK。目前最新公布版本为V3.2(2013-02-01),V2.3和V3.0是现在使用最广的版本。RTCM SC-104 V3.0典型电文格式如下:
表2 RTCM SC-104电文格式
RTCM SC-104引导字为D3,是一个固定的8比特位序列。接着的6个比特位是保留的,设置成0。移动用户接收机应该忽略这些比特并且不能认为它们总是被设置为0。可变长度电文是实际传输数据的内容,根据内容不同长度会有所变化,但不超过1023个字节。如果数据链接需要短电文以保持一个连续的数据流,那么可变长度数据电文应该被设置为0,提供一个长度为48位的填充电文。24位的循环冗余校验码(cyclic redundancy check,CRC)提供针对突发性错误的保护,可以检测出所有的单个位错、几乎所有的双个位错,传输可靠性很高。CRC对连续字节的操作开始于引导字,直到可变长度电文域的结尾。
RTCM SC-104包含多种信息类型,主要有观测类型,基准坐标类型,网络RTK改正类型及其它辅助类型。其中观测类型根据传输卫星系统可分为GPS和GLONASS[3-4],根据传输数据内容又可分为单L1,L1+L2等多种类型,RTCM SC-104协议文件中给出了几种信息类型组合,用户可根据实际需求选择合适的组合。
表3 数据格式对比
因为计算机的设备端口需要提供ASCII码字符进行显示,所以NMEA 0183协议直接输出ASCII格式的定位数据,使用户直接通过显示或接收端口就可以看到直观的定位结果。它具有编码结构简单,可读性好等优点,适于信息量小的文本数据传输。NMEA 0183协议已成为所有的GPS接收机最通用的定位数据输出格式。但是因为输出的每个字符和数字都用8位的ASCII码表示,并且没有进行有效的数据压缩编码,其数据生成量较大,传输效率低,不适合大数据量的传输。如果网络RTK的原始观测数据通过NMEA 0183方式传输,产生的传输数据量将是RTCM SC-104的5倍以上,这将大大降低数据传输效率和实时性。
相对于NMEA 0183,RTCM SC-104使用了压缩二进制格式,网络传输更为有效。以使用频度最高的原始观测值输出为例,电文编码在保证必要精度的前提下对数据进行了最大范围的压缩,如:L1伪距原始观测值用24位表示,既满足精度,又减少了数据的使用量。其它L1载波相位,L2伪距和L2载波相位都分别用自身与L1伪距原始观测值的差值表示,这样分别只用20位,8位,20位就足够了,极大压缩了数据的生成量。基准站天线基准点中的XYZ坐标值也分别采用38位表示,相对与计算机中常用的双精度64位节省接近一半的数据使用量。特别是在多星系统[3-6]下,压缩的二进制数据格式能减轻网络负担,在野外网络环境差的情况下,低的数据速率对提高连续工作时间,增加电台之间的传输距离颇有益处,同时减少传输时间也提高了定位实时性。目前微处理器的运算能力能够很好地解决编码复杂性问题。
NMEA 0183由于可直接输出定位信息,兼容性好,基本上所有的GNSS接收机都能输出NMEA 0183格式的数据,适用于导航设备的最终定位结果输出。而RTCM SC-104使用了压缩的二进制格式,数据结构短小而复杂,效率高,可以传输较大数据量以及进行网络传输,目前只有需要差分定位的高精度GNSS接收机才支持该格式,适用于高精度定位领域。
图1 网络RTK数据传输格式及流程
如图1所示[7-9],基准站通过网络传输RTCM SC-104格式的原始数据到解算中心,当有移动站请求RTK服务时,先对用户进行身份验证,通过后会等待用户用NMEA 0183格式发送的概略坐标,解算中心根据收到的概略坐标,选择合适的基准站(3个左右),虚拟出一个坐标位于用户站附近的基准站,通常RTK的误差随着移动站与基准站之间的距离增加而增加,一个移动站附近的基准站能最大限度的提高RTK精度。解算中心持续发送虚拟基准站坐标位置和解算后基于此坐标的原始观测值到移动站,收到数据的移动站可以用常规RTK方式进行数据改正和解算,最终以NMEA 0183格式输出精密的位置坐标。
目前室内定位技术尚不完善,由室内定位传感器与WiFi等无线信号融合的多源组合导航定位技术是未来室内定位主要研究方向之一。除了移动端基于各种集成定位传感器及无线定位信号的自定位外,集成于移动端的微惯性陀螺等各种辅助定位传感器、WiFi等产生大量与定位相关的原始观测数据,传输给系统位置服务中心进行处理和解算,可获得比移动端自定位更高精度的室内定位结果。室内定位传感器输出的大量原始观测数据可参考RTCM SC-104传输格式进行传输,最终的室内定位结果输出可参考NMEA 0183。根据室内定位方法的不同,传输数据的不同,可适当对上述定位传输协议进行修改和自定义扩充。
表4以传输某基准站观测到的GPS 12颗卫星的L1,L2伪距、载波相位原始观测值为例,对比了类似NMEA 0183格式,某二进制数据传输格式及RTCM SC-104 3.0格式的产生数据量大小(注:1字节(Byte)=8位(bits))。
从表4 可以看出,12颗卫星L1,L2 原始观测数据分别通过RTCM SC-104电文格式传输、某二进制数据传输、仿NMEA 0183 ASCII码传输,数据传输效率比是5∶2.5∶1。可见,相比NMEA 0183格式,RTCM协议传输效率高5倍。可见对大数据量的实时信息传输必须考虑数据编码效率。
表4 三种数据传输格式对比
本文对通用的室外卫星定位数据传输协议进行了总结和对比,对传输大量原始观测数据的几种电文格式进行了对比,提出了室内定位数据传输格式的构想,并指出编码效率是大数据量信息传输必须考虑的因素。
[1] NMEA 0183,NMEA 0183 Standard for Interfacing Marine Electronic Devices,Version 3.01 [S].
[2] RTCM 10403.1(RTCM Paper 177-2006-SC104-STD),RTCM standard 10403.1 for differential GNSS[S].
[3] SJ/T 11417-2010,GPS接口控制文件[S].
[4] SJ/T 11418-2010,GLONASS接口控制文件[S].
[5] 中国卫星导航系统管理办公室.北斗卫星导航系统公开服务性能规范(1.0 版)[EB/OL].(2013-12-01)[2014-08-12].http://www.beidou.gov.cn/attach/2013/12/26/20131226fe8b20aad5f34091a6f8a84b08b1c4b1.pdf.
[6] The European Union.Galileo卫星导航系统ICD信号接口控制文件 Galileo OS SIS ICD(Open Service Signal-In-Space Interface Control)[EB/OL].(2010-09-01)[2014-08-12].http://ec.europa.eu/enterprise/policies/satnav/galileo/files/galileo-os-sis-icd-issue1-revision1_en.pdf.
[7] CH/T 2008-2005,全球导航卫星系统连续运行参考站网建设规范[S].
[8] GB/T 19391-2003,全球定位系统(GPS)术语及定义[S].
[9] 导航与位置服务科技专项总体专家组,地球观测与导航技术领域导航主题专家组.XH/T 1101-2013,羲和系统技术规范GNSS基准站实时数据传输格式(1.0 版)[EB/OL].(2013-09-01)[2014-08-12].http://www.nrscc.gov.cn/nrscc/upload/2013/2d04bb66ee5c40b2b228310ee883d73a1380438729921.pdf.