一种缩短GNSS接收装置首次定位时间的方法
技术领域
本发明涉及卫星导航信号处理技术领域,尤其涉及一种缩短GNSS接收装置首次定位时间的方法。
背景技术
全球导航卫星系统(Global Navigation Satellite System,GNSS)利用导航卫星进行定时、定位和测距,能在全世界范围内实现全天候、全方位连续为海上、陆地和空中的用户提供实时高精度的三维空间、速度和时间信息。目前,GNSS包含了美国的GPS、俄罗斯的GLONASS、欧盟的Galileo系统、中国的北斗导航系统,以GPS系统为例,该系统主要由三部分组成,即空间部分、地面控制部分和用户装置部分。空间部分由24颗卫星组成,分布在6个道平面上。地面控制部分由负责管理、协调整个地面控制系统的工作的主控站、在主控站的控制下,向卫星注入寻电文的地面天线、作为数据自动收集中心的监测站和通讯辅助系统组成。用户装置部分主要由GPS接收机和卫星天线组成。
信号捕获,又称信号的同步,是指从白噪声中检测出已知波形信号,是一个信号检测处理过程。用来捕获信号的最佳接收机是相关接收机,该相关接收机将输入信号与本地复现波形进行相关运算并将处理结果进行门限判决。在信号未捕获时只能采用试探方式进行相关处理,即遍历各种的码相位可能性直至找出相关峰。
为了捕获到卫星信号,需要同时复现卫星信号的码和载波,这其实是一个二维搜索过程。根据在码和多普勒域上捕获方法的不同,将卫星信号的捕获方案分为以下四种:伪码串行载波串行、伪码串行载波并行、伪码并行载波串行、伪码并行载波并行搜索方案。
目前,导航比特内二次码的加入是GNSS卫星信号改进趋势,北斗II中的非GEO卫星信号已经加入二次码,其他几个系统在未来的建设中也会陆续加入。比特内二次码的加入,对系统性能的改善有着重要的作用,但同时给接收机的设计带来了新的问题。传统的导航信号,比特内不存在二次编码,在捕获过程中使用一个比特的长度的相干积分是没有问题的,但是因为二次码的加入,在捕获过程中直接进行一个比特的相干积分反而会带来能量的损失。如果针对存在二次码的卫星信号只进行1毫秒的相干积分,的确可以回避二次码的能量损失,但本身的捕获灵敏度也会降低。
附图1所示的是不带二次码的GNSS卫星信号结构示意图,目前导航领域应用最为广泛的GPS的L1信号就属于不包含二次码的信号,而附图2所示的是带二次码的GNSS卫星信号结构示意图,如目前北斗II卫星信号则包含二次码。所以传统GPSL1接收机的设计方法,在北斗II接收机的设计中就会遇到困难。
101和201为卫星伪码,针对不同卫星,有不同的伪码。在这点上,是否带有二次码都不会有任何影响;
102和202为卫星信号的比特结构,对于不带二次码的卫星信号,在比特内的符号是一致的,如102示意的,所以可以在一个比特内作长时间相关积分;对于带有二次码的卫星信号,如202示意的,一个比特内的信号不再是一致的,它以1毫秒为单位又作了一次编码(二次码),所以在剥离二次码之前接收机是不能直接在一个比特内作超过1毫秒相关积分的,不然因为编码的符号相反,会抵消掉大部分能量,从而降低接收机灵敏度。
103和203为卫星信号的比特流,由导航比特组成,这和是否包含二次码无关。
明显的,随着二次码加入到GNSS卫星信号中,对接收机的设计,带来了新的问题。
另外,二次码加入到GNSS卫星信号,还会对GNSS接收装置的首次定位时间产生应先。GNSS接收装置的首次定位时间由三个部分组成:卫星信号捕获时间,比特同步时间,星历收集时间。
GNSS信号由循环播放的五个子帧组成,对于卫星首次定位而言,需要收集前三个子帧中包含的星历信息和导航比特边界。
而GNSS接收机的信号处理流程为:
1. 通过搜索伪码相位,找到信号的整毫秒边界;
2. 在整毫秒边界位置开始相干积分;
3. 在连续的整毫秒积分值的基础上进行比特同步,其目的是确定每个导航比特的起始边界;
4. 在导航比特边界位置开始进行相干积分,积分长度为一个导航比特长度(20毫秒),具体操作可以是从导航比特边界处作20个整毫秒累加,避免重复计算;
5. 根据20毫秒相干积分值的符号确定导航比特(正值对应0,负值对应1);
6. 收集前三个子帧的导航比特序列解析星历;
7. 定位解算。
经研究发现,对于含有二次码的GNSS卫星信号,在捕获该信号时,需要对二次码进行剥离,然后再对卫星信号进行跟踪解算,从而使得GNSS接收装置的首次定位时间变长。
同时也发现,二次码的剥离可帮助计算在卫星信号跟踪时候所需要的导航比特边界信息,从而使得在卫星信号跟踪和解算的时候,不需要额外再计算导航比特边界信息。本发明就是基于这样的思路,提供一种在剥离GNSS卫星信号二次码的同时,缩短GNSS装置首次定位时间的方法。
发明内容
本发明的目的是提供一种针对带有二次码的GNSS卫星信号的接收方法,通过对GNSS卫星信号的中二次码进行剥离,从而得到传统的卫星信号,以便采用原有的设计来实现信号的接收和处理。
本发明提供一种缩短GNSS接收装置首次定位时间的方法,所述方法包括:获取经过信号预处理的一个导航比特长度的数据;将所述数据与本地二次码进行匹配和剥离;匹配成功后输出导航比特边界信息,利用所述导航比特边界信息完成定位解算。
更进一步,所述匹配是通过将一个导航比特长度的数据与本地二次码一一对应相乘,然后将相乘值累加得到相乘累加值,用相乘累加值与预设阈值进行判断,超过预设阈值则匹配成功,否,则进行下一轮匹配。
更进一步,在所述下一轮匹配中,所述本地二次码序列整体往左或往右顺次移动1个码片。
更进一步,在所述下一轮匹配中,所述一个导航比特长度的数据的数据流整体往该数据流方向顺次移动1毫秒。
更进一步,所述匹配是通过将一个导航比特长度的数据与本地二次码一一对应相乘,然后将相乘值累加得到相乘累加值,存储相乘累加值后,一个导航比特长度的数据进行整体滑动后再与本地二次码一一对应相乘且累加,得到滑动一次后的相乘累加值,重复滑动得到相乘累加值,直到滑动次数等于一个二次码码片数为止,相乘累加值最大的为匹配成功。
更进一步,所述一个导航比特长度的数据进行整体滑动,是指所述一个导航比特长度的数据的数据流往该数据流方向顺次移动1毫秒。
更进一步,所述匹配是通过将一个导航比特长度的数据与本地二次码一一对应相乘,然后将相乘值累加得到相乘累加值,存储相乘累加值后,本地二次码整体滑动后与一个导航比特长度的数据一一对应相乘且累加,得到滑动一次后的相乘累加值,重复滑动得到相乘累加值,直到滑动次数等于一个二次码码片数为止,相乘累加值最大的为匹配成功。
更进一步,所述本地二次码整体滑动,是指所述本地二次码往左或往右顺次移动1个码片。
更进一步,当所述匹配成功时记录下所述导航比特边界信息。
更进一步,所述卫星导航信号为北斗2代卫星导航系统的卫星导航信号。
本发明还提供一种应用所述缩短GNSS接收装置首次定位时间方法的缩短GNSS接收装置首次定位时间的系统。
更进一步,所述匹配是通过将一个导航比特长度的数据与本地二次码一一对应相乘,然后将相乘值累加得到相乘累加值,用相乘累加值与预设阈值进行判断,超过预设阈值则匹配成功,否,则进行下一轮匹配。
更进一步,在所述下一轮匹配中,所述本地二次码序列整体往左或往右顺次移动1个码片。
更进一步,在所述下一轮匹配中,所述一个导航比特长度的数据的数据流整体往该数据流方向顺次移动1毫秒。
更进一步,所述匹配是通过将一个导航比特长度的数据与本地二次码一一对应相乘,然后将相乘值累加得到相乘累加值,存储相乘累加值后,一个导航比特长度的数据进行整体滑动后再与本地二次码一一对应相乘且累加,得到滑动一次后的相乘累加值,重复滑动得到相乘累加值,直到滑动次数等于一个二次码码片数为止,相乘累加值最大的为匹配成功。
更进一步,所述一个导航比特长度的数据进行整体滑动,是指所述一个导航比特长度的数据的数据流往该数据流方向顺次移动1毫秒。
更进一步,所述匹配是通过将一个导航比特长度的数据与本地二次码一一对应相乘,然后将相乘值累加得到相乘累加值,存储相乘累加值后,本地二次码整体滑动后与一个导航比特长度的数据一一对应相乘且累加,得到滑动一次后的相乘累加值,重复滑动得到相乘累加值,直到滑动次数等于一个二次码码片数为止,相乘累加值最大的为匹配成功。
更进一步,所述本地二次码整体滑动,是指所述本地二次码往左或往右顺次移动1个码片。
更进一步,当所述匹配成功时记录下所述导航比特边界信息。
更进一步,所述卫星导航信号为北斗2代卫星导航系统的卫星导航信号。
采用本发明的技术方案后,通过对GNSS卫星信号所带的二次码进行剥离,能够还原原始的卫星信号,使用本地二次码和信号间的滑动匹配,剥离二次码,达到一个导航比特长度内相干积分以提高捕获灵敏度的效果,同时,记录下导航比特边界信息,在跟踪和解算时省去了比特同步的时间消耗,缩短了首次定位的时间。
附图说明
图1是不带二次码的卫星信号结构示意图;
图2是带二次码的卫星信号结构示意图;
图3是本发明实施例总体设计框图;
图4是本发明实施例二次码剥离与导航比特边界推算示意图;
图5是本发明另一个实施例二次码剥离与导航比特边界推算示意图;
图6是本发明实施例流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是不带二次码的卫星信号结构示意图;图2是带二次码的卫星信号结构示意图;图3是本发明实施例总体设计框图;图4是本发明实施例二次码剥离与导航比特边界推算示意图;图5是本发明另一个实施例二次码剥离与导航比特边界推算示意图;图6是本发明实施例流程示意图。
在本发明实施例中,如附图3所示,306为GNSS卫星捕获单元,用于对GNSS卫星信号进行捕获,包括了301,302,303,304,305等单元模块,301为GNSS卫星的信号预处理单元,针对不同的捕获方法,预处理单元的实现方式不尽相同,例如:对于时域捕获,预处理单元是对信号在某一个载波频点和某一个伪码相位上进行解调和解扩处理,输出1毫秒的相关积分值;对频域捕获,预处理单元是对信号在某一个伪码相位上进行解扩,并累加为一个或者多个数据包(每个包可以对应一个FFT变换点),输出的数据总长度仍然为1毫秒。
302为滑动控制单元,对于某一类GNSS卫星信号,二次码是已知的,可以预设在本单元中(一般是一个20bit的二进制数,每个bit对应一个完整的伪码序列,即1毫秒的时间长度,参考图1,对于不存在二次码的卫星直接设置为0便可以兼容),以便进行二次码的滑动控制。
在本发明的另一个实施例中,滑动控制单元可以是控制本地二次码的生成,并根据信号预处理单元301输出数据的流动特性,使得本地二次码与数据流产生相对滑动的匹配。
303为二次码剥离单元,根据滑动控制单元302输出的本来需要匹配的二次码,对信号预处理单元301输出的数据包进行二次码剥离。
304为信号相干累加单元,剥离完二次码之后的信号,导航比特内的数据包就没有符号翻转,如图1中102所示,所以可以直接按照传统的方式累加。
305为能量检测单元,在本单元中会预设能量阀值,如果超过阀值表明捕获成功,如果没有超过阀值,返回301和302进行下一次匹配。阈值的设置,可以选取经验上认为能量较大的情况来判断,如,在本实施例中,可以选取18倍1毫秒积分的平均幅值作为阈值,如果信号相干累加单元304输出值大于18倍1毫秒积分的平均幅值,则匹配成功,否则,返回进行下一次滑动匹配。
在本发明的另一个实施例中,能量检测单元305可以不做阈值的限定,而是,选取信号相干累加单元历次滑动后相干累加结果中最大值作为匹配成功判断标准。
当卫星捕获单元306完成对GNSS卫星信号捕获后,输出两个信息,分别是整毫秒边界信息和导航比特边界位置信息;积分单元307为卫星信号的相干解扩解调积分单元,积分时间长度为1毫秒;导航比特调解单元308利用积分单元307输出的1毫秒相干积分值,以及卫星捕获单元306输出的导航比特边界信息,完成一个导航比特内的积分累加,并根据积分值的符号解调导航比特;星历收集单元309收集卫星星历,定位解算单元310利用星历收集单元309的卫星星历信息和卫星捕获单元306输出的导航比特边界信息完成定位解算。
为了更好的说明本发明的思路,附图4是本发明实施例二次码剥离与导航比特边界推算示意图。
402为经过预处理的数据流,401为数据流402中所包含的二次码。
404为数据流402的导航比特边界位置示意,在一个导航比特中包含了一个完整的二次码C(1)~C(20)。
403为一次相干积分时长为20毫秒的卫星捕获运算中,随机截取的20毫秒的数据流位置示意,截取得到数据包405,这段数据包405包含的二次码为403位置示意所截取401部分,即:C(11),C(12)……C(20),C(1)……C(10)。
405为随机截取数据包序列。
406为本地原始二次码,即0相位码,407,408,409分别为1相位,10相位,19相位二次码,其余相位以此类推。
对405进行二次码的剥离处理,是用二次码的20个相位分别和405进行匹配,匹配的依据是:通过对应相乘之后的相干积分幅度值的大小是否达到匹配成功的要求。
确定导航比特边界位置,假设匹配的二次码相位n,导航比特边界所在位置为,截取数据边界位置的第m毫秒后,其中m=(20-n)%20。
在附图4中,10相位二次码408为和405相匹配的二次码,相位值为10,导航比特边界和二次码零相位对应,所以本次捕获的整毫秒边界后的第10个毫秒边界为导航比特边界。
本发明另一个实施例中,如图5所示:
本实施例使用移位存储器存储数据包序列,本地二次码保持0相位不动,每次滑动数据包序列进行匹配。
501,502分别和401,402含义相同。
503为第一次截取的数据流,对应的截取数据包序列为506,506与本地二次码509匹配,匹配不成功。
完成一次匹配之后移位存储器进行一次整体移位,数据截取位置为504,对应截取的数据包序列为507。
最终匹配成功的位置为505,即导航比特边界,对应的截取数据序列为508,508中所包含的二次码为501中被505截取的部分,即0相位二次码,和本地二次码匹配。
此时所捕获的整毫秒边界正好也是导航比特边界。
两个实例中共同涉及到匹配是否成功的问题,在实例中为了方便描述本方案的实施细节,只是通常比较对应的二次码是否一致来判断(图4中405和408的二次码一致,图5中505和509二次码一致),但是在实际应用中是通过图3中304和305单元联合起来判断。
实际信号中因为各种噪声的存在,数据包里面不能像两个实例描述的可以列出二次码,信号相干累加单元304,作用是把剥离二次码之后的数据包累加起来,图4中405中包含的10个数据包和406中的10个二次码一一对应相乘完成剥离,然后把所有值累加起来,完成一次匹配,显然此次匹配得不到最大值,305则反馈302,此时302控制做一次二次码滑动(另一实施例中可以让数据流滑动),得到407.以此类推,直到滑动得到408时,405和408对应相乘可以消除所有负号,此时累加得到最大值(另一实施例中可以是与预设阈值比较),305则判断匹配成功。
附图6表示了本发明实施例的工作流程图,本流程图和附图3总体框架对应,信号预处理单元301进行信号预处理601,滑动控制单元302控制进行二次码滑动或者数据流相对二次码滑动602,二次码剥离单元303进行将本地二次码与数据流相乘,进行二次码剥离603,信号相干累加单元304对二次码剥离单元的相乘值累加604,并将值输出到能量检测单元305,进行能量检测605,可以采用跟预设阈值比较的方法,也可以采用遍历选取最大值的方法,否,则返回滑动控制单元302,进行下一轮匹配;是,则输出匹配信号,完成二次码剥离,并记录下整毫秒边界信息和导航比特边界位置信息。其中需要着重说明的是302中,是指二次码和以1毫秒为长度的信号数据之间的相对滑动,如果保持数据包不动,则二次码滑动一次,如果保持二次码不动,则数据包滑动一次,二者为等效操作。二次码成功剥离后,积分单元307进行整毫秒积分606;导航比特调解单元308利用积分单元307输出的1毫秒相干积分值,以及卫星捕获单元306输出的导航比特边界信息,完成一个导航比特内的积分累加,并根据积分值进行导航比特调解607;星历收集单元309进行星历收集608,定位解算单元310利用星历收集单元309的卫星星历信息和卫星捕获单元306输出的导航比特边界信息完成定位解算609。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。