高 米,赵 昀
(北京航空航天大学电子信息工程学院,北京100191)
现今,全球导航卫星系统(GNSS)[1]正处于蓬勃发展的阶段,世界各国都在加紧研制各种卫星导航系统。除了GPS系统,我国的北斗卫星导航系统(Compass)、欧盟的Galileo系统以及俄罗斯的Glonass系统也处于积极建设或改造升级阶段。在此背景下,导航电文设计已成为GNSS系统研究和发展的重要主题。
下面主要研究GNSS电文分析软件的设计与实现[2],该软件能够展示各导航系统现有电文的结构和参数,支持用户通过电文自定义配置进行新的电文设计,并能够对与电文设计有关的首次定位时间、解调门限和精度等导航用户性能实现分析评估。
本文研究的GNSS电文分析软件能对各系统不同频点的电文[3]进行展示和性能分析,还能支持用户实现电文自定义配置,总体功能架构及数据流图如图1所示。
图1 GNSS电文软件总体功能架构及数据流
GNSS电文分析软件的总体功能框架主要包括电文展示和性能分析2部分,用户通过人机交互用户配置与图形界面输入参数与命令,并通过数据与图形显示输出界面输出结果。电文展示部分包括已有电文显示和用户自定义配置2部分;性能分析部分主要涉及首次定位时间、解调门限及精度的分析计算。
GNSS电文软件基于PC平台应用VC++编程实现,其用户主界面设计参见文献[4]。界面包括用户配置选项,并进一步划分为已有电文和自定义电文的用户配置。自定义电文的用户配置包括结构自定义配置和参数自定义配置。此外,用户界面包括电文结构及参数显示区,用户可以选择已有电文或将自定义配置产生的电文通过这个区域展示。
已有电文的展示涉及如何存储电文的结构和参数信息,如何根据用户的选择读取所需电文的信息,以及如何将读取的电文信息绘制到用户界面。
对于已有电文的展示,由于电文的结构及参数都是已经固定的,所以只需事先将其存储,在用户选择时进行读取即可。导航电文的存储主要包括电文结构的存储和电文参数的存储,结构存储主要有主帧个数、子帧个数和长度以及同步头和校验位的位置和长度等,参数的存储包括参数的名称、长度、起始位置和比例因子。
考虑到电文超帧包含主帧、主帧包含子帧、子帧可能进一步包含字,以及具体参数的层层关联关系,采用XML文件对电文结构与参数进行存储。XML文件的基本语法是由元素、属性和实体构成的[5]。电文存储中使用的语法是元素,元素是所存储数据的标记;元素还可以包含其他元素,呈现出树状的数据结构。使用XML文件存储电文时首先创建名为name、length、location和 scale元素去标记电文参数的名称、长度、起始位置和比例因子,再用主帧元素去包含这4个参数元素,最后用超帧元素去包含主帧元素来完成对完整电文的存储。
首先建立4个二维矩阵,分别用于存储电文参数的名称、长度、起始位置和比例因子,其中,矩阵的第1维代表参数所在第几主帧;矩阵的第二维代表该参数是该主帧上的第几个参数。电文参数的名称、长度、起始位置和比例因子信息分别存储在4个相似的矩阵中,同一参数的名称、长度、起始位置和比例因子在4个矩阵中所存储的位置对应序号相同。如要获取第i主帧的第j个参数的信息,分别读取4个矩阵中第i行第j列数据即可。
读取时程序根据用户所选导航系统和频点的电文去搜索对应的超帧元素,找到之后遍历该元素下所包含的全部主帧元素及各主帧所包含的参数的名称、长度、起始位置和比例因子元素,并存入对应的二维矩阵中。
根据之前存储的信息进行绘制,每次根据用户选择的主帧序号绘制一个主帧。基于VC++的电文绘制主要是将长度与起始位置等参数转化为坐标,并根据坐标进行图形函数的调用。
首先绘制电文整体结构,根据所选主帧的长度参数计算起始坐标和结束坐标,调用矩形函数绘制电文的整体框架,然后再根据同步头及校验位参数的长度和起始位置计算同步头和校验位的坐标,并根据坐标对电文框架进行隔断,标注同步头和校验位。之后在上面添加电文参数,具体寻找起始位置的方法与同步头和校验位的方法相同,根据之前存储起始位置的二维矩阵找到参数的起始位置,根据存储参数长度的二维矩阵确定参数的结束位置,并根据存储的参数名称进行参数标注。
为了支持电文研究者设计出新的电文,GNSS电文分析软件还提供了电文自定义配置的功能。
GNSS电文发展到现在,已经形成了多套各具特点的电文,除了不同的参数种类,电文结构也各具特点[6],比如固定帧(如 GPS NAV)、数据块[7](如GPS CNAV)和混合帧结构(如GPS CNAV-2)。最初的GPS NAV具有“超帧—主帧—子帧—字—参数”的结构模式。在NAV之后的GPS电文在结构上取消了“字”的概念,最底层的结构单位是“子帧”级别的,而且不同子帧的长度也不一定相等。
为了满足用户不同的设计需求,需要设计出一种可由用户任意配置,至少涵盖所有现行GNSS电文形式的自定义配置方案。
通过分析现行GNSS电文形式,得出一种较为简便可行的电文自定义配置方案:认为所有子帧都是由字构成的,GPS NAV的子帧是由多个字构成的,而其他电文的子帧则是由一个字构成的;所有电文都有同步头,只是有的同步头的长度为0。这样所有形式的电文可以通过一个统一的流程配置出来,其具体步骤如下:
①配置电文包含的主帧个数,主帧的长度为各子帧长度之和,在后面的步骤中确定。
②配置每个主帧包含的子帧个数,子帧长度为其包含的各字的长度之和,在后面的步骤中确定。
③配置每个子帧中包含的字个数,这里的输入为每个子帧的字个数,是一个数组。不同子帧可以包含不同的字个数。字个数可以为1,若为1,则此时子帧与字平级,表明电文结构中子帧为最小单位。
④对每个字进行具体配置,要求用户定义字的长度、同步头长度和校验位长度。同步头长度可以为0,对应于GPS CNAV-2电文没有同步头的情况。完成此步配置后系统会计算出前面提到的子帧长度与主帧长度,每个子帧包含的字的长度之和为子帧长度,每个主帧包含的子帧长度之和为主帧长度。
⑤用户自定义结构配置完成后,进行参数配置。用户需要选择参数种类(星历、星钟和电离层等),然后选择具体参数并对其长度进行配置,最后为其分配所在位置。所在位置按照主帧进行分配,可以选择只在一个主帧上,或者重复出现在多个主帧上,并计算参数的起始位置。每配置一个参数,都重复步骤⑤。
电文的设计影响首次定位时间、解调门限和精度等导航用户性能[8]。本软件能够给出上述性能的分析评估结果。
这里所说的首次定位时间是指在接收机捕获到卫星信号以后,从开始接收导航电文至接收到定位解算所需的完整数据集所历经的时间[9]。一般来说,定位计算所需的数据包括卫星星历和卫星钟改正数据[10]等数据。首次定位时间除了与电文的信息速率有关外,还与星历和星钟参数长度及其在电文结构中的分布有关。
软件中根据用户选择的电文类型,进行相应的分析计算,并给出结果。GPS CNAV电文的首次定位时间计算结果如图2所示,并与GPS NAV电文进行了比较。
图2 首次定位时间计算结果
解调门限与误比特率、信息速率、载波相位跟踪误差和电文编码有关。
在软件中根据用户输入的载波相位误差和误比特率以及编码方式的选择,计算出相应的解调门限。以如下设置为例,误比特率为10-6,载波相位跟踪误差为10°,则 GPS NAV与 Galileo F/NAV的解调门限计算结果如图3所示。
图3 解调门限计算结果
文中的精度分析仅涉及与电文表示有关的星历及星钟参数[11]截断误差。
星历及星钟参数截断误差与相应参数的电文比特数和比例因子有关[12]。电文中播发的参数是受限于被分配的比特数而截断相应原始数据的结果。基于截断后的直接贡献于用户定位的每个电文参数进行卫星位置计算,得出受截断误差影响的卫星位置。此外,由电文原始数据得出的基准卫星位置。根据设置的用户位置和基准卫星位置,得出伪距测量值,进而得到受截断误差影响并考虑由用户与卫星相对位置决定的几何精度因子(GDOP)的用户定位误差。
依据上述方法得出的用户定位误差示例如图4所示。
图4 用户定位误差计算结果
导航电文的设计关系到卫星导航系统的性能。本文给出了一种GNSS电文分析方法的软件实现,同时提供了电文存储以及电文自定义配置等具体软件功能的实现方案。通过将软件向用户输出的首次定位时间、解调门限和精度等性能分析结果与对应的理论分析结果[4]进行比较,反映了电文分析软件设计正确。
[1] 寇艳红.GPS原理与应用[M].北京:电子工业出版社,2007.
[2] 陈金平,王梦丽,钱曙光.现代化GNSS导航电文设计分析[J].电子信息学报,2011(1):215-221.
[3] 陈 南,杨 力,丁 群.Galileo开放服务导航电文特点分析[J].测绘科学技术学报,2008,25(5):329 -335.
[4] 张 蓓,赵 昀,高 米.GNSS导航电文对接收机用户的性能影响分析[J].无线电工程,2013,43(5):35 -38.
[5] 彭 涛,孙连英.XML技术与应用[M].北京:清华大学出版社,2012.
[6] 陈 南,高 扬,陈建鹏.从GPS SS/US接口规定文件看导航电文设计的新发展[J].导航,2006(4):9 -11.
[7] 陈 南,贾小林,崔先强.GPS民用导航电文CNAV的特点[J].全球定位系统,2006,3l(1):1 -6.
[8] 陈 南.卫星导航系统导航电文结构的性能评估[J].武汉大学学报信息科学版,2008,33(5):512-515.
[9] ZHANG Wen-tao.New GNSS Navigation Messages to Facilitate Fast TTFF and High Sensitivity[M].Global Positioning System:Theory and Practice,2001,12(4):23-33.
[10]陈 南.卫星导航系统导航信号与导航电文设计中的时间要素[J].测绘科学与工程,2006,26(2):4 -7.
[11]高玉平.GPS导航电文中时间参数的变化特点[J].陕西天文台台刊,2000,23(2):136 -142.
[12]崔先强,陈 南,贾晓林.GPS星历参数比例因子的确定研究[J].全球定位系统,2007,3(5):86-93.