基于改进电文编排格式提高导航定位精度和效率的方法

文档序号:1503732 发布日期:2020-02-07 浏览:42次 >En<

阅读说明:本技术 基于改进电文编排格式提高导航定位精度和效率的方法 (Method for improving navigation positioning precision and efficiency based on improved text formatting ) 是由 李怀建 徐荣景 杜小菁 武新波 于 2019-11-14 设计创作,主要内容包括:本发明公开的基于改进电文编排格式提高导航定位精度和效率的方法,属于卫星导航领域。本发明实现方法如下:根据导航电文参数在电文中存储类型将所有电文参数按照类型划分为内部参数不同的五种电文参数函数;利用电文参数编码函数将上述五种电文参数函数写入字中,以初步生成完整电文中10个电文字;通过对函数进行组合编排,即通过改进电文编排格式保证导航电文编辑过程中的结构清晰,使得电文参数填写过程中的高准确性,进而减小卫星播发电文内容出错概率,降低接收机接收到卫星信息的错误概率,提高接收机的定位精度;降低电文参数校对难度,提高电文参数的易修改性。(The invention discloses a method for improving navigation positioning precision and efficiency based on improved text formatting, and belongs to the field of satellite navigation. The realization method of the invention is as follows: dividing all message parameters into five message parameter functions with different internal parameters according to types according to the storage types of the navigation message parameters in the messages; writing the five message parameter functions into words by using a message parameter coding function so as to preliminarily generate 10 electronic characters in a complete message; by combining and arranging the functions, namely, by improving the text arrangement format, the clear structure in the navigation text editing process is ensured, so that the high accuracy in the text parameter filling process is realized, the error probability of the contents of the broadcast and transmitted texts of the satellite is reduced, the error probability of the receiver receiving the satellite information is reduced, and the positioning precision of the receiver is improved; the difficulty of correcting the telegraph text parameters is reduced, and the easy modification of the telegraph text parameters is improved.)

基于改进电文编排格式提高导航定位精度和效率的方法

技术领域

本发明涉及一种北斗卫星导航系统的导航电文仿真格式编排方法,尤其涉及一种基于改进电文编排格式提高导航定位精度和效率的方法,属于卫星导航领域。

背景技术

导航电文是由导航卫星播发给用户的描述导航卫星运行状态参数的电文,包括系统时间、星历、历书、卫星时钟的修正参数、导航卫星健康状况和电离层延时模型参数等内容。导航电文的参数给用户提供了时间信息,利用导航电文参数可以计算用户的位置坐标和速度。卫星将导航电文以帧与子帧的结构形式编排成数据流。每颗卫星一帧接着一帧地发送导航电文,而在发送每帧电文时,卫星又以一子帧接着一子帧的形式进行。

以GPS播发的导航电文为例,每帧电文长1500bit,计30s,依次由5个子帧组成。每个子帧长300bit,计6s,依次由10个字组成。每个字长30bit,其最高位比特先被发送,而每一子帧中的每一个字又均以6比特的奇偶校验码结束每一子帧的前面两个字分别为遥测字(TLW)和交接字(HOW),其后八个字(即第3至第10字)则组成数据块。不同子帧内的数据块各不相同。

目前所有导航电文编排方式均是依次编辑每个参数的数值后直接填入导航电文字,这样极易出错,且参数较为混乱不易修改。

发明内容

现有技术中电文编排方式存在下述技术问题:结构混乱、电文参数不易修改,参数导入过程易出错,进而卫星导航系统定位存在下述问题:(1)卫星播发电文内容出错,使得接收机接收到错误的卫星信息,造成接收机的定位精度较差甚至无法定位;(2)电文参数校对困难,检查参数时效率低。本发明公开的基于改进电文编排格式提高导航定位精度和效率的方法要解决的问题是:通过构造函数的形式将所有电文参数按照类型划分,通过对函数进行组合编排,即通过改进电文编排格式保证导航电文编辑过程中的结构清晰,使得电文参数填写过程中的高准确性,进而减小卫星播发电文内容出错概率,降低接收机接收到卫星信息的错误概率,提高接收机的定位精度;降低电文参数校对难度,提高电文参数的易修改性。

本发明的目的是通过下述技术方案实现的。

本发明公开的基于改进电文编排格式提高导航定位精度和效率的方法,首先根据导航电文参数在电文中存储类型将所有电文参数按照类型划分为内部参数不同的五种电文参数函数。利用电文参数编码函数将上述五种电文参数函数写入字中,以初步生成完整电文中10个电文字。接着根据电文参数编码函数,构造电文字编码函数对10个字分别进行编码、校验和交织,得到精确的10个导航电文字,并将得到的精确的10个导航电文字重新存入电文字中。通过电文字编码函数构造电文字节编码函数去掉每个字中的前两位,将电文字编码函数交织、校验后得到的10个电文字连接成连续的40个字节。通过上述操作改进电文编排格式实现卫星导航系统电文的合理编排,将电文参数函数将所有的导航电文参数按照类型划分,使得电文参数结构清晰,避免电文结构混乱,并通过指定每个导航电文的起始位和长度便于后续的电文校对和修改。

本发明公开的基于改进电文编排格式提高导航定位精度和效率的方法,包括如下步骤:

步骤一:根据导航电文参数在电文中存储类型将所有电文参数按照类型划分,根据划分的类型构造内部参数不同的五种电文参数函数,通过构造的五种电文参数函数表达所有类型的电文参数。

卫星导航系统的电文参数具有以下存储类型及特性:

①各参数在导航电文中占据的比特数不同;

②导航电文主帧中存在跨子帧的部分参数。

根据导航电文参数在电文中的存储类型将所有电文参数按照类型划分,根据划分的类型构造内部参数不同的五种电文参数函数:

第一种描述电文参数函数中的参数有参数起始位置、参数长度、参数比例因子和参数值;第二种针对跨子帧函数参数有参数第一部分起始位、参数第一部分长度、参数第二部分长度、参数总长、参数比例因子和参数值;第三种针对同一子帧但分两段表示的函数参数有参数第一部分起始位、参数第一部分长度、参数第二部分起始位置、参数第二部分长度、参数比例因子和参数值;第四种针对含两段参数且分布在不同子帧的参数,函数中具体参数有第一部分起始位置、第一部分长度、第二部分起始位置、第二部分长度、参数总长度、比例因子和参数值;第五种针对在同一子帧中分三段表示的电文参数,其函数参数有第一部分起始位、第一部分长度、第二部分起始位、第二部分长度、第三部分起始位、第三部分长度、比例因子和参数值,所有电文参数只需填上相应的函数参数值即能够用这五个函数表示出来,即通过构造的五种电文参数函数表达所有类型的电文参数。

步骤二:利用电文参数编码函数将上述五种电文参数函数写入字中,以初步生成完整电文中10个电文字。

利用电文参数函数将导航电文参数写入字中,首先定义双精度浮点型参数为doubleValue,所述参数doubleValue表达用于电文参数的实际值,所述实际值由参数值与比例因子的乘积表达。然后通过判断参数doubleValue的大小将其值赋给long long型的参数temp以进行四舍五入,之后将参数temp的值赋给定义的无符号整型参数value0。然后进行参数函数的分解,首先,由于针对不跨子帧的参数,由于参数value0为无符号整型,占16位,而不跨子帧的电文参数只有参数长度,所以通过对参数长度左移1位然后减一得到数据位全为1其它位全为0的二进制数,将此二进制数与value0按位与后得到的无符号整型value1即为取出的数据位;当参数跨子帧时,需先判断参数的头部和尾部,将 value0右移第二段的长度(由参数总长度减去参数第一段长度)按位与上数据位全为1其它位全为0的二进制数,从而得到取出参数头部的数据位。参数尾部的取法与第一种不跨子帧参数数据位取法相同;第三种情况为参数分为两段但不跨子帧,数据位取法与第一种不跨子帧且只有一段参数数据位取法相同,顺序取出第一部分的数据位和第二部分的数据位即可;当参数跨子帧并且在某一子帧中有两段时,类似于第二种参数和第三种参数的融合,需先在某一子帧中找到子帧的头部和尾部数据位后取出,再取出第二部分的数据位,当参数分为三段且不跨子帧时,与第三种参数类似,分别取出第一、二、三部分的数据位。最后分别将参数的第一、二、三段分别编入电文字中,得到完整的10个导航电文字。

步骤三:根据步骤二得到的电文参数编码函数,构造电文字编码函数对10 个字分别进行编码、校验和交织,得到精确的10个导航电文字,并将得到的精确的10个导航电文字重新存入电文字中。

根据步骤二得到的电文参数编码函数,得到每个电文参数的具体值和在电文中的位置后需将所有参数整合到字中。由于每个子帧有10个字,而每个 word有30bit,首先命名电文字编码函数,此函数中先动态生成10个32位的电文字缓存,其中低30位为有效的电文信息,高两位为无效位,然后调用步骤二的电文参数编码函数对电文字进行编码,即将所有的参数顺序存入电文字编码函数中预先动态生成的电文字缓存中,此时得到10个完整的导航电文字,然后分别对10个完整的导航电文字进行校验和交织。最后将交织后的电文重新存入电文字中。

作为优选,针对北斗2导航系统,分别对10个完整的导航电文字进行校验和交织具体实现方法如下:

由于北斗2的导航电文数据码采用BCH码加交织方式进行校验,且第一字的前11位导航电文数据位不校验,仅对后11bit计算4bit的BCH校验位,所以先定义32位的bitset用于处理位集合dataBits,然后将第一个字全部导入,从第八位开始进行11次的移位运算,得到BCH校验后的结果重新存入第一字中,紧接着利用11次移位运算计算2~10字的BCH码,最后将BCH码填入第2~10 字。

接着利用交织函数对电文字进行交织,由于电文的交织方法为信息位与校验位是分开交织的,且第一个电文字不进行交织,函数中利用循环的方式对电文字索引,将除第一字外其余字中22bit信息位按顺序分为两个11bit组,然后通过循环将两组信息位以交错的方式得到22bit的交织结果,而剩余8bit的 BCH校验位按顺序分为4bit的两组,同样以信息位的交错方式得到8bit的交织结果。最后将交织后的电文重新存入电文字中。

步骤四:根据步骤三得到的电文字编码函数,构造电文字节编码函数去掉每个字中的前两位,将步骤三交织、校验后得到的10个电文字连接成连续的 40个字节。

根据步骤三得到的电文字编码函数,得到编码好的的10个电文字后,利用电文函数,去掉每个电文缓存字中的高两位无效位,将10个电文字连接成连续的40个字节。函数中先定义整型word数组,利用电文字函数将编码好的电文字传入整形数组中(每个电文字有30bit,而一个整型变量为32bit),然后定义字符型变量encode[](每个char型占1个字节即8bit,40个字节共320bit),接着通过10次循环以移位的方式将每个字依次填入encode[]中。在移位时通过将数值8赋值给整型变量charBlankBitNum用于判断当前字中剩余位数,移位的方式是依次将某个字中30比特每次右移8位,然后与字节通过按位或运算得到 8个有效位;而当判断出每个字中剩余位数小于8时,将剩下的几位存入字节中。最后得到连续的40个字节的电文。

步骤五:通过步骤一到步骤四改进电文编排格式实现卫星导航系统电文的合理编排,步骤一中的电文参数函数将所有的导航电文参数按照类型划分,使得电文参数结构清晰,避免电文结构混乱,并通过指定每个导航电文的起始位和长度便于后续的电文校对和修改,此外,通过步骤二构建参数编码函数、步骤三构建电文字函数、步骤四构建电文函数,实现按字划分导航参数对所有参数按步骤分批处理,进一步便于后续的电文校对和修改,提高电文编排的效率。

步骤六:在步骤五的基础上,由于步骤五使得电文参数结构清晰,避免电文结构混乱,因此,通过构造函数的形式将所有电文参数按照类型划分,通过对函数进行组合编排,即通过改进电文编排格式保证导航电文编辑过程整体高效率性与易修改性,使得电文参数结构清晰,进而减小卫星播发电文内容出错概率,降低接收机接收到卫星信息的错误概率,提高接收机的定位精度。由于步骤五使得电文参数结构清晰,降低电文参数校对难度,提高检查参数时的效率。

有益效果:

1、本发明公开的基于改进电文编排格式提高导航定位精度和效率的方法,通过步骤一到步骤四改进电文编排格式实现卫星导航系统电文的合理编排,步骤一中的函数将所有的导航电文参数按照类型划分,使得电文参数结构清晰,避免电文结构混乱,并通过指定每个导航电文的起始位和长度便于后续的电文校对和修改。此外,通过步骤二构建参数编码函数、步骤三构建电文字函数、步骤四构建电文函数,利用极少的循环将所有的电文参数写入子帧中,使得电文结构清晰,参数修改十分便捷,实现按字划分导航参数对所有参数按步骤分批处理,进一步便于后续的电文校对和修改,提高电文编排的效率。

2、本发明公开的基于改进电文编排格式提高导航定位精度和效率的方法,通过步骤一到步骤四改进电文编排格式实现卫星导航系统电文的合理编排,步骤一中的函数将所有的导航电文参数按照类型划分,使得电文参数结构清晰,避免电文结构混乱,并通过指定每个导航电文的起始位和长度便于后续的电文校对和修改,此外,通过步骤二构建电文参数编码函数函数、步骤三构建电文字编码函数函数、步骤四构建电文字节编码函数函数,实现按字划分导航参数对所有参数按步骤分批处理,进一步便于后续的电文校对和修改,提高电文编排的效率。

附图说明

图1为本发明公开的基于改进电文编排格式提高导航定位精度和效率的方法的程序架构图。

图2为北斗2的B1信号中D1导航电文主帧1的第1子帧部分电文编排样例图。

具体实施方式

为了更好的说明本发明的目的和优点,下面结合附图和实例对发明内容做进一步说明。

为了验证方法的可行性,选择北斗2的B1信号中D1导航电文主帧1的第 1子帧部分作为电文编排样例,对其进行导航电文的编排,D1导航电文第1子帧共300bit,其信息格式如图2示。

步骤一:根据导航电文参数在电文中存储类型将所有电文参数按照类型划分。

卫星导航系统的电文参数具有以下存储类型及特性:

①各参数在导航电文中占据的比特数不同;

②导航电文主帧中存在跨子帧的部分参数。

根据导航电文参数在电文中的存储类型将所有电文参数按照类型划分,根据划分的类型构造内部参数不同的三种电文参数函数:

以D1导航电文中具有代表性的3个参数举例:其中子帧1中的参数 AODC只有1部分且占据5bit,起始位为第44位。参数toc在第一子帧中分为两部分,第一部分起始位为第74位占据9bit,第二部分起始位为第91位占据 8bit。根据划分的类型构造内部参数不同的电文参数函数,将参数写入电文参数函数中,令电文参数函数名为CBd2NavMessParam()。

令AODC的值为0.99999,比例因子为1,那么参数AODC在电文参数函数中的表示方法为:

CBd2NavMessParam(44,5,1,0.99999)

其中44位参数AODC的起始位,5为参数所占的bit数,1为参数的比例因子,0.99999为参数值。

令toc的值为1600,比例因子为8,那么该参数在电文参数函数中的表示为:

CBd2NavMessParam(74,9,91,8,8,200)

其中74为参数第一部分起始位,9为第一部分长度,91为参数第二部分起始位,第一个8为第二部分长度,第二个8为参数的比例因子,200为参数值除以比例因子得到的值。

步骤二:利用电文参数编码函数将上述电文参数函数写入字中,以初步生成完整电文中10个电文字。

利用电文参数函数将导航电文参数写入字中,首先定义双精度浮点型参数为doubleValue,所述参数doubleValue表达用于电文参数的实际值, doubleValue表达参数AODC时,doubleValue为0.99999,所述实际值由参数值与比例因子的乘积表达。然后通过判断参数doubleValue的大小将其值赋给long long型的参数temp以进行四舍五入,此时参数temp的值为1,之后将参数 temp的值赋给定义的无符号整型参数value0。然后进行参数函数的分解,首先,由于针对不跨子帧的参数,由于参数value0为无符号整型,占16位,而不跨子帧的电文参数只有参数长度,所以通过对参数长度左移1位然后减一得到数据位全为1其它位全为0的二进制数,将此二进制数与value0按位与后得到的无符号整型value1即为取出的数据位;当参数跨子帧时,需先判断参数的头部和尾部,将value0右移第二段的长度(由参数总长度减去参数第一段长度)按位与上数据位全为1其它位全为0的二进制数,从而得到取出参数头部的数据位。参数尾部的取法与第一种不跨子帧参数数据位取法相同;第三种情况为参数分为两段但不跨子帧,数据位取法与第一种不跨子帧且只有一段参数数据位取法相同,顺序取出第一部分的数据位和第二部分的数据位即可;当参数跨子帧并且在某一子帧中有两段时,类似于第二种参数和第三种参数的融合,需先在某一子帧中找到子帧的头部和尾部数据位后取出,再取出第二部分的数据位,当参数分为三段且不跨子帧时,与第三种参数类似,分别取出第一、二、三部分的数据位。最后分别将参数的第一、二、三段分别编入电文字中。通过此方法将所有电文参数函数组合得到10个初步的导航电文字。

步骤三:根据步骤二得到的电文参数编码函数,构造电文字编码函数对10 个字分别进行编码、校验和交织,得到精确的10个导航电文字,并将得到的精确的10个导航电文字重新存入电文字中。

根据步骤二得到的电文参数编码函数,得到每个电文参数的具体值和在电文中的位置后需将所有参数整合到字中。由于每个子帧有10个字,而每个 word有30bit,首先命名电文字编码函数,此函数中先动态生成10个32位的电文字缓存,其中低30位为有效的电文信息,高两位为无效位,然后调用步骤二的电文参数编码函数对电文字进行编码,即将所有的参数顺序存入电文字编码函数中预先动态生成的电文字缓存中,此时得到10个完整的导航电文字,然后分别对10个完整的导航电文字进行校验和交织。最后将交织后的电文重新存入电文字中。

由于北斗2的导航电文数据码采用BCH码加交织方式进行校验,且第一字的前11位导航电文数据位不校验,仅对后11bit计算4bit的BCH校验位,所以先定义32位的bitset用于处理位集合dataBits,然后将第一个字全部导入,从第八位开始进行11次的移位运算,得到BCH校验后的结果重新存入第一字中,紧接着利用11次移位运算计算2~10字的BCH码,最后将BCH码填入第2~10 字。

接着利用交织函数对电文字进行交织,由于电文的交织方法为信息位与校验位是分开交织的,且第一个电文字不进行交织,函数中利用循环的方式对电文字索引,将除第一字外其余字中22bit信息位按顺序分为两个11bit组,然后通过循环将两组信息位以交错的方式得到22bit的交织结果,而剩余8bit的 BCH校验位按顺序分为4bit的两组,同样以信息位的交错方式得到8bit的交织结果。最后将交织后的电文重新存入电文字中。

步骤四:根据步骤三得到的电文字编码函数,构造电文字节编码函数去掉每个字中的前两位,将步骤三交织、校验后得到的10个电文字连接成连续的 40个字节。

根据步骤三得到的电文字编码函数,得到编码好的的10个电文字后,利用电文函数,去掉每个电文缓存字中的高两位无效位,将10个电文字连接成连续的40个字节。函数中先定义整型word数组,利用电文字函数将编码好的电文字传入整形数组中(每个电文字有30bit,而一个整型变量为32bit),然后定义字符型变量encode[](每个char型占1个字节即8bit,40个字节共320bit),接着通过10次循环以移位的方式将每个字依次填入encode[]中。在移位时通过将数值8赋值给整型变量charBlankBitNum用于判断当前字中剩余位数,移位的方式是依次将某个字中30比特每次右移8位,然后与字节通过按位或运算得到 8个有效位;而当判断出每个字中剩余位数小于8时,将剩下的几位存入字节中。最后得到连续的40个字节的电文。

步骤五:通过步骤一到步骤四改进电文编排格式实现卫星导航系统电文的合理编排,步骤一中的电文参数函数将所有的导航电文参数按照类型划分,使得电文参数结构清晰,避免电文结构混乱,并通过指定每个导航电文的起始位和长度便于后续的电文校对和修改,此外,通过步骤二构建参数编码函数、步骤三构建电文字函数、步骤四构建电文函数,实现按字划分导航参数对所有参数按步骤分批处理,进一步便于后续的电文校对和修改,提高电文编排的效率。

步骤六:在步骤五的基础上,由于步骤五使得电文参数结构清晰,避免电文结构混乱,因此,通过构造函数的形式将所有电文参数按照类型划分,通过对函数进行组合编排,即通过改进电文编排格式保证导航电文编辑过程整体高效率性与易修改性,使得电文参数结构清晰,进而减小卫星播发电文内容出错概率,降低接收机接收到卫星信息的错误概率,提高接收机的定位精度。由于步骤五使得电文参数结构清晰,降低电文参数校对难度,提高检查参数时的效率。

根据上述6个函数得到的导航电文编排,体现了本发明的有益效果1,本发明所公开的方法能为导航电文编排格式合理性方面的应用提供有力的支持,具有广泛的应用前景与效益。

以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例,用于解释本发明,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种湖流轨迹追踪系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类