一种gnss模拟器中的导航电文结构可配置方法

文档序号:5946052阅读:168来源:国知局
专利名称:一种gnss模拟器中的导航电文结构可配置方法
技术领域
本发明属于卫星导航领域,具体涉及一种全球卫星导航系统(GNSS)模拟器中用于支持导航电文设计的导航电文结构可配置方法。
背景技术
GNSS模拟器通过动态模拟导航卫星星座和卫星信号接收机载体的运动轨迹,实时计算出接收机的位置,并结合卫星的实时位置判断卫星可见性,计算卫星信号功率、伪距、多普勒、载波相位等接收机实时观测量,以此实现对导航电文数据的扩频码调制和载波调 制,模拟产生实际应用场景中接收机接收到的卫星导航信号,成为卫星信号接收机研制开发与测试验证中的仿真信号源。相比直接利用真实卫星信号,GNSS模拟器能够提供精确可控、可复现的仿真环境以及非正常情况的测试条件,使接收机的研发效率得以保证。随着美国GPS系统现代化和俄罗斯GL0NASS系统改进升级,以及欧洲Galileo系统和我国北斗卫星导航系统的建设(上述全球卫星导航系统可通称GNSS系统),GNSS模拟器持续受到工业及军事部门的关注。国外已研制出多种型号的GNSS模拟器,如,美国CAST公司的GPS模拟器、英国Spirent公司的GSS系列模拟器、德国IFEN公司的GNSS模拟器,但大都功能固定,所能模拟的导航卫星系统、信号频点与结构、载体动态等严格受限。模拟导航电文是GNSS模拟器的重要环节之一,生成用户设置的仿真时段内所选导航系统模式下各可见卫星的导航电文数据比特流,与模拟器产生的相应载波及扩频码进行调制,构成完整的卫星导航模拟信号。在常规的GNSS模拟器中,导航电文生成基于固定的电文帧结构,仅电文参数内容和/或数据比特可以修改,也包括对电文数据正确性的校验。但在需要GNSS模拟器支持导航电文设计研究的条件下,这种固定电文帧结构的模式显然不再适用。

发明内容
本发明针对常规的GNSS模拟器中,导航电文生成基于固定的电文帧结构,而固定电文帧结构的模式不适用支持基于GNSS模拟器的导航电文设计研究的现状,提出一种GNSS模拟器中的导航电文结构可配置方法。本发明提出一种GNSS模拟器中的导航电文结构可配置方法,具体通过以下步骤来实现步骤一电文结构预配置。具体是预配置电文结构中各电文参数的结构信息,将其作为GNSS模拟器的初始默认电文结构,保存在文件/数据库中;所述的电文参数的结构信息包括电文主帧的总长度、电文参数名称、参数起始位置和长度;所述的初始默认电文结构通过电文格式正确性校验,并能直接被GNSS模拟器调用。步骤二 判断用户是否选择更改电文结构,若否,执行步骤三,若是,通过GNSS模拟器的电文结构配置界面实现电文结构更改,然后执行步骤三。用户通过GNSS模拟器的电文结构配置界面对电文结构进行更改,更改包括改变任意电文参数的位置和长度,其中位置的改变包含两类将一个电文参数插入到另一个电文参数之前,将两个电文参数的位置进行交换;更改完成后,GNSS模拟器对用户配置后的电文结构的格式进行正确性校验,将通过校验的电文结构写入文件/数据库中。步骤三电文结构使用。在GNSS模拟器启动仿真运行时,读取文件/数据库中的电文结构信息,获取电文参数数据,并对电文参数数据进行正确性校验,判断具体参数数据取值的有效性,若校验不正确,给出错误反馈信息,暂停GNSS模拟器运行;若校验正确,则GNSS模拟器生成与仿真时刻对应的导航电文比特流。 本发明提供的方法具有以下优点和积极效果(I)本发明方法将电文参数的位置和长度在帧结构的框架内实现依据用户设置的更改,解决了常规GNSS模拟器中对于特定的导航系统以及模式特定的卫星模拟信号电文帧结构固定的问题,GNSS模拟器将按照用户配置后的电文格式,生成相应的导航电文比特流,将标准GNSS模拟器扩展为导航电文设计研究的软件工具,用以支持基于GNSS模拟器的导航电文设计研究。(2)相对于现有技术中GNSS模拟器一般将电文结构保存在软件底层的数组中,用户无法对模拟器底层的数组进行操作的问题,本发明方法用文件或数据库保存导航电文的结构信息,支持用户对电文参数在帧结构中位置及长度的便捷修改。(3)本发明方法包括对用户配置的电文格式正确性校验,将通过校验的电文帧结构通过用户界面显示,保证了电文结构的准确性,有效支持电文设计研究。


图I为本发明的导航电文结构可配置方法的流程示意图;图2为本发明的导航电文结构配置的示例图,其中,(a)为实施例中配置前的电文结构,(b)为实施例中位置插入和长度配置后的电文结构,(c)为实施例中位置交换配置后的电文结构。
具体实施例方式下面结合附图和具体实施例对本发明的技术方案进行详细说明。本发明提供一种GNSS模拟器中的导航电文结构可配置方法,如图I所示,具体通过以下步骤实现步骤一电文结构预配置。为电文结构设置预配置信息,预配置信息是指电文参数的结构信息,包括电文主帧的总长度,电文参数名称、参数起始位置和长度,将电文参数的结构信息保存在文件或数据库中。参数起始位置就是指电文参数在电文帧结构中的起始位置。参数长度是指参数数据基于相应的比例因子转换得到比特字段所占长度。所保存的电文参数的结构信息事先都经过了电文格式正确性校验,可直接被GNSS模拟器调用。本步骤中的预配置信息将作为GNSS模拟器的初始默认电文结构,该默认电文结构可通过GNSS模拟器的电文结构配置界面进行显示。现有GNSS模拟器将电文结构保存在软件底层的数组中,用户无法对软件底层的数组进行操作,即不能修改电文结构。本发明方法中用文件或者数据库保存电文参数的结构信息,则用户能够方便修改电文结构。步骤二 判断用户是否选择更改电文结构,若否,执行步骤三,若是,通过GNSS模拟器的电文结构配置界面实现电文结构更改,然后执行步骤三。更改包括改变任意电文参数的位置和长度,更改完成后,GNSS模拟器对用户配置后的电文格式进行正确性校验,将通过校验的电文结构写入文件/数据库。步骤二具体分为如下步骤。步骤2. I :电文结构更改。如果用户选择更改电文结构,则通过GNSS模拟器的电文结构配置界面更改电文参数的结构信息。目前的固定电文帧结构,电文参数的数目、位置及长度均不变,而本发明方法中的更改可涉及电文参数的位置和长度的改变,解决了固定电文帧结构不能支持基于GNSS模拟器的导航电文设计研究的问题。其中,位置的更改包含两类将一个电文参数插入到另一个电文参数之前;将两个电文参数的位置进行交换。电文参数位置的变化导致与该电文参数的原位置与新位置之间的全部电文参数的起始位置都发生改变,而电文参数长度的改变导致该电文参数之后的所有的电文参数的起始位置发生改变。为此,电文结构更改处理方法的关键在于确定受到变更影响的电文参数的新起始位置,具体划分为三种情况来确定位置插入、位置交换和长度改变。(a)位置插入。对参数进行位置插入的同时参数长度也可改变;在电文结构中原来不存在的参数,也可通过插入操作引入到电文中。在电文参数j的当前位置之前插入电文参数i。如果电文参数i为已有的参数,则它的新起始位置为position_i_new = PositionJ-Iengthj-Iiii其中,position_i_new表示电文参数i的新起始位置,position_j表示电文参数j的起始位置,length_i表示电文参数i的比特长度,Hii为分组校验码长度的倍数(包括O倍的情况),Ini的取值根据position_j-length_i的值来确定判断position_j_length_i的值是否跨越分组校验码区,若否,电文参数i的新起始位置保持在电文参数j所在字,则Hii取O ;若是,确定该值跨越分组校验码区的个数电文参数i的新起始位置缩减至电文参数j所在字之前的第A个字,则Hii取(rj分组校验码长度)。本发明方法中所述的跨越分组校验码区的个数为一个整数,根据所判断的值越过或落入分组校验码区的个数得到,落入的情况被视为跨越一个完整的分组校验码区。下面所提到的跨越分组校验码区的个数均是采用该方法得到。而电文参数i新起始位置至原起始位置之间的全部参数的起始位置也发生相应改变,这些电文参数新的起始位置为position_n_new = position_n_org-length_i_mni其中,η表示受插入更改影响的任意电文参数,position_n_new表示电文参数η的新起始位置,position_n_org表示电文参数η的原起始位置,mni为分组校验码长度的倍数(包括O倍的情况),mni的取值根据position_n_org-length_i的值来确定判断position_n_org-length_i的值是否跨越分组校验码区以及所跨越分组校验码区的个数,若否,电文参数η的新起始位置保持在原所在字,则mni取O ;若是,跨越rni个分组校验码区,电文参数
η的新起始位置缩减至原所在字之前的第rni个字,则mni取(rni*分组校验码长度)。如果电文参数i为新的参数,贝U它的新起始位置为position_i_new = position_jo而电文参数i新起始位置之后的全部参数的起始位置也发生相应改变,这些参数新的起始位置为position_n_new = position_n_org+length_i+m2ni其中,m2ni为分组校验码长度的倍数(包括O倍的情况),其取值根据positionorg+length_i的值来确定判断position_n_org+length_i是否跨越分组校验码区以及所跨越分组校验码区个数,若否,参数η的新起始位置保持在原所在字,则m2ni取O ;若是,确定跨越的分组校验码区的个数rni,电文参数η的新起始位置溢出到原所在字之后的第rni个字,则m2ni取(rni*分 组校验码长度)。(b)位置交换,电文参数i和j交换位置,交换位置后,电文参数i和j新的起始位置 position_i_new 和 position_j_new 分别为position_i_new = position_j_org+length_j-length_i +Inijposition_j_new = position_i_org其中,i表示交换中原位置在先的参数,j表示交换中原位置在后的参数,position_j_org表示电文参数j的原起始位置,length_i表示电文参数i的比特长度,IengthJ表示参数j的比特长度。Hiij为分组校验码长度的倍数(包括O倍的情况),Hiij的取值根据 position_j_org+length_j-length_i 的值来确定判断 position_j_org+length_j-length_i的值是否跨越分组校验码区以及所跨越分组校验码区个数,若否,电文参数i的新起始位置保持在参数j原所在字,则取O ;若是,且跨越个分组校验码区,Hiij =rij*分组校验码长度,若length_j ( length_i,则电文参数i的新起始位置缩减到电文参数j原所在字之前的h个字,取-Hiij,若length_j > length_i,取+Hiij,电文参数i的新起始位置溢出到参数j原所在字之后的个字。两个交换参数之间的全部电文参数的起始位置也发生相应改变,这些电文参数新的起始位置为position_n_new = position_n_org+length_j_length_i ±mniJ-其中,η表示受交换更改影响的任意参数,position_n_new表示参数η的新起始位置,position_n_org表示参数η的原起始位置。mnij为分组校验码长度的倍数,其取值根据 position_n_org+length_j_length_i 的值来石角定判断 position_n_org+length_j-length_i是否跨越分组校验码区,若否,参数η的新起始位置保持在原起始位置所在字,则mnu取O ;若是,确定所跨越的分组校验码区个数rnu,mniJ = rnu*分组校验码长度,若length_j ( length_i,则电文参数η的新起始位置缩减到原所在字之前的rnij个字,取若length_j > length_i,取+Hiij,电文参数η的新起始位置溢出到原所在字之后的rnij个子。(c)对于长度改变,将电文参数i的长度进行改变,则被修改的电文参数i之后的各电文参数的新的起始位置根据下式确定position—n—new = position—n_org_length_i_org+length_i—new土min其中,i表示长度发生改变的参数,n表示受到参数长度更改影响的任意参数,position_n_new表示参数η的新起始位置,position_n_org表示参数η的原起始位置,length_i_org表示参数i的原比特长度,length_i_new表示参数i新的比特长度。min为分组校验码长度的倍数(包括O倍的情况),其取值根据position_n_org-length_i_org+length_i_new 的值来石角定判断 position_n_org_length_i_org+length_i_new 是否跨越分组校验码区,若否,参数η的新起始位置保持原所在字,则min取O ;若是,确定跨越分组校验码区个数rin,min = rin*校验码长度。若length_i_org彡length_i_new,取_min,则电文参数η的新起始位置缩减到原所在字之前的rin个字;如果length_i_org < length_i_new,取+min,电文参数η的新起始位置溢出到原所在字之后的rin个字。步骤22:电文结构校验。电文结构修改完成后用户确认,系统对经过用户配置的电文结构进行正确性校验,并显示校验结果。电文结构的正确性校验就是判断电文结构更改后是否保持预配置所定义的电文主帧的总长度。作为分组编码单位的字长度一旦确定,则电文结构更改时,在当前字范围内缩减的参数比特将跨越分组校验码区移至当前字之前的字范围内,或者在当前字范围内溢出的参数比特将跨越分组校验码区移至当前字之后的字范围内。步骤2. 3 :结构参数保存。将通过校验的电文结构信息写入相应的文件/数据库。步骤三电文结构使用。如图I所示,在GNSS模拟器启动仿真运行时,读取文件/数据库中的电文结构信息,获取电文参数数据,并对电文参数数据进行正确性校验,判断具体参数数据取值的有效性,若校验不正确,给出错误反馈信息,暂停GNSS模拟器运行,若校验正确,则GNSS模拟器生成与仿真时刻对应的导航电文比特流,然后GNSS模拟器进行其它仿真处理,例如,生成载体运动轨迹、产生导航信号,然后结束仿真。实施例利用本发明提供的导航电文结构可配置方法,以产生如图2所示的导航电文结构配置结果为例,并以GPS NAV电文结构示例,说明具体实现步骤。对于GPS NAV电文,分组校验码长度为6比特;字的长度为30比度,并以分组校验码为结束标识;10个字构成一个子帧,子帧长度为300比特;5个子帧构成一个主帧,主帧长度为1500比特。步骤一电文结构预配置。将电文参数的结构信息,包括电文主帧的总长度,电文参数名称、参数起始位置和长度,保存在文件/数据库中。电文结构事先经过电文格式正确性校验,可直接被GNSS模拟器调用。本发明实施例中,电文主帧的总长度为1500比特。电文参数结构信息的具体描述方式可以是XML文件、TXT文件或数据库等任意一种方式。以XML文件为例,图2的(a)中用户配置前的电文结构的XML文本描述,如表I所
/Jn ο表I配置前电文主帧结构的XML文本描述
权利要求
1.一种GNSS模拟器中的导航电文结构可配置方法,其特征在于,包括如下步骤 步骤一电文结构预配置,具体是预配置电文结构中各电文参数的结构信息,将其作为GNSS模拟器的初始默认电文结构,保存在文件/数据库中;所述的电文参数的结构信息包括电文主帧的总长度、电文参数名称、参数起始位置和长度;所述的初始默认电文结构通过电文格式正确性校验,并能直接被GNSS模拟器调用; 步骤二 判断用户是否选择更改电文结构,若否,执行步骤三,若是,通过GNSS模拟器的电文结构配置界面更改电文结构,然后执行步骤三;更改电文结构包括改变任意电文参数的位置和长度,其中位置的改变包含两类将一个电文参数插入到另一个电文参数之前,将两个电文参数的位置进行交换;更改完成后,GNSS模拟器对更改后的电文结构的格式进行正确性校验,将通过校验的电文结构写入文件/数据库中; 步骤三电文结构使用,GNSS模拟器启动仿真运行时,读取文件/数据库中的电文结构信息,获取电文参数数据,并对电文参数数据进行正确性校验,判断具体参数数据取值的有效性,若校验不正确,给出错误反馈信息,暂停GNSS模拟器运行;若校验正确,则GNSS模拟器生成与仿真时刻对应的导航电文比特流。
2.根据权利要求I所述的导航电文结构可配置方法,其特征在于,所述的步骤二具体包括如下步骤 步骤2. I :更改电文结构,确定受到更改影响的电文参数的新起始位置,分为三种情况位置插入、位置交换和长度改变; (a)位置插入在电文参数j的当前位置之前插入电文参数i,如果电文参数i为已有的电文参数,则电文参数i的新起始位置position_i_new为position」—new = position_j-length_i-mi 其中,position_j表示电文参数j的起始位置,length_i表示电文参数i的比特长度,Ini为分组校验码长度的倍数,根据position_j-length_i的值来确定判断position_j-length_i的值是否跨越分组校验码区,若否,Hii取0,电文参数i的新起始位置保持在电文参数j所在字;若是,且跨越A个分组校验码区,则Hii取(ri*分组校验码长度),电文参数i的新起始位置缩减至电文参数j所在字之前的第^个字; 电文参数i的原起始位置至新起始位置之间的全部电文参数的起始位置发生改变,设n表示受更改影响的任意电文参数,则电文参数n的新的起始位置position_n_new为position—n—new = position—n_org-length_i_mni 其中,position_n_org表示电文参数n的原起始位置,mni为分组校验码长度的倍数,mni 的取值根据 position_n_org-length_i 的值来确定判断 position_n_org_length_i 的值是否跨越分组校验码区,若否,mni取0,电文参数n的新起始位置保持在原所在字;若是,确定跨越分组校验码区的个数rni,mni取(rni*分组校验码长度),电文参数n的新起始位置缩减至原所在字之前的第rni个字; 如果电文参数i为新的参数,贝1J它的新起始位置为position_i_new = position_j ;而电文参数i新起始位置之后的全部参数的起始位置发生改变,设n表示受更改影响的任意电文参数,则电文参数n的新的起始位置position_n_new为position—n—new = position—n_org+length_i+m2ni 其中,m2ni为分组校验码长度的倍数,m2ni的取值根据position_n_org+length_i的值来确定判断position_n_org+length_i的值是否跨越分组校验码区,若否,m2ni取0,参数n的新起始位置保持在原所在字;若是,确定跨越的分组校验码区的个数1^,!1^取(rni*分组校验码长度),电文参数n的新起始位置溢出到原所在字之后的第rni个字; (b)电文参数i和j交换位置,交换位置后,电文参数i和j新的起始位置position_i_new 和 position_j_new 分别为position_i_new = position j_org+length_j-length_i +Inijposition_j_new = position_i_org 其中,i表示交换中原位置在先的电文参数,j表示交换中原位置在后的电文参数,position_j_org表示电文参数j的原起始位置,IengthJ表示参数j的比特长度,Hiij为分组校验码长度的倍数,Hiij的取值根据position_j_org+length_j-length_i的值来确定判 断position_j_org+length_j-length_i的值是否跨越分组校验码区,若否,Inij取0,电文参数i的新起始位置保持在参数j原所在字;若是,确定所跨越分组校验码区的个数Aj,Hiij取Crij*分组校验码长度),若length_j ( length_i,取-Hiij,电文参数i的新起始位置缩减到电文参数j原所在字之前的b个字,若length_j > length_i,取+Hiij,电文参数i的新起始位置溢出到电文参数j原所在字之后的个字; 两个交换参数之间的全部电文参数的起始位置也发生相应改变,设n表示受更改影响的任意电文参数,则电文参数n的新的起始位置position_n_new为position—n—new = position—n_org+length_j-length_i 土mnij其中,分组校验码长度的倍数mnij的值根据position_n_org+length_j-length_i的值来确定判断position_n_org+length_j-length_i的值是否跨越分组校验码区,若否,mniJ取0,电文参数n的新起始位置保持在原起始位置所在字;若是,确定所跨越的分组校验码区个数rnij, mniJ取(rnij*分组校验码长度),若length_j ( length_i,取电文参数n的新起始位置缩减到原所在字之前的rnij个字,若length_j > length_i ,取+Hiij,电文参数n的新起始位置溢出到原所在字之后的rnu个字; (c)对于长度改变,将电文参数i的长度进行改变,则被修改的电文参数i之后的各电文参数的新的起始位置发生改变,设n表示受更改影响的任意电文参数,则电文参数n的新的起始位置position_n_new为position_n_new = position_n_org_length_i_org+length_i_new±min其中,length_i_org表示电文参数i的原比特长度,length_i_new表示电文参数i新的比特长度,分组校验码长度的倍数min的取值根据position_n_org-length_i_org+length_i_new 的值来石角定判断 position_n_org_length_i_org+length_i_new 的值是否跨越分组校验码区,若否,min取0,电文参数n的新起始位置保持原所在字;若是,确定确定跨越分组校验码区个数rin, min取(rin*校验码长度);若length_i_org彡length_i_new,取-min,则电文参数n的新起始位置缩减到原所在字之前的rin个字;如果length_i_org < length_i_new,取+min,电文参数n的新起始位置溢出到原所在字之后的rin个字;步骤22 :对修改完成后的电文结构进行正确性校验,并显示校验结果;所述的电文结构的正确性校验是判断更改后的电文结构是否保持预配置所定义的电文主帧的总长度;步骤2. 3 :将通过校验的电文结构信息写入相应的文件/数据库中。
全文摘要
本发明提供了一种GNSS模拟器中的导航电文结构可配置方法,将电文参数的结构信息,包括电文主帧的总长度、电文参数名称、参数起始位置和长度,保存在文件/数据库中,首先电文结构预配置,然后,用户根据需要更改电文结构,可改变任意电文参数的位置和长度,在更改完成后,模拟器对用户配置后的电文格式进行正确性校验并存储,最后通过GNSS模拟器读取电文结构信息进行仿真,生成与仿真时刻对应的电文比特流。本发明方法解决了常规GNSS模拟器中对于特定的导航系统以及模式特定的卫星模拟信号电文帧结构固定的问题,支持用户对电文参数在电文帧结构中位置及长度的便捷修改,有效支持基于GNSS模拟器的导航电文设计研究。
文档编号G01S19/23GK102629281SQ20121010741
公开日2012年8月8日 申请日期2012年4月12日 优先权日2011年4月14日
发明者寇艳红, 李锐, 王陆潇, 赵昀, 黄智刚 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1