一种GNSS信号位同步方法
技术领域
[0001] 本发明涉及GNSS信号处理技术领域,具体的说是一种GNSS信号位同步方法。
背景技术
当GNSS接收机在捕获、跟踪GNSS卫星信号后,需要获取该卫星的伪距测量值和卫星星历参数,进而实现定位功能。获取伪距测量值基本上等价于确定接收信号的发射时间,而信号发射时间的一部分信息隐含在接收到的卫星导航电文数据比特中;卫星星历参数更是直接由导航电文数据帧解析得到。为了正确解调出导航电文,接收机必定需要完成位同步处理,即从接收信号中找到导航电文数据比特的边缘。
GNSS导航电文的比特宽度等于若干个测距码周期。通过捕获,能够从接收信号中找到测距码的边缘,在此基础上再找到导航电文的比特边缘,实现位同步功能。
现代GNSS信号体制中,很多信号的测距码采用分层码结构,由主码和子码异或构成。子码的码片宽度等于主码的周期,子码码片起始时刻与主码第一个码片的起始时刻对齐,时序关系如图1所示。对于这种分层码结构,导航电文的比特宽度即等于子码周期,捕获搜索到的测距码边缘也即为子码的边缘。
采用分层码结构,可以提高信号对窄波干扰的抵抗能力,降低互相关干扰。但是,由于引入了子码,所以在进行位同步时,需要匹配子码序列。由于某些子码序列设计的特殊性,当导航电文比特翻转率不高时,匹配子码序列可能不是在比特边缘,从而降低了位同步的正确率。
发明内容
针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种GNSS信号位同步方法,特别针对具有子码的信号体制,可显著提高位同步正确率。
本发明为实现上述目的所采用的技术方案是:一种GNSS信号位同步方法,包括以下步骤:
捕获GNSS信号,获取测距码边缘T0,依次启动多个跟踪通道;
分别累计各个跟踪通道解调积分值的绝对值;
待各个跟踪通道解调积分值累计完毕后,选择累计值最大的那个通道继续跟踪,复位其他通道。
所述依次启动多个跟踪通道,包括以下步骤:
设定变量i的初始值为0;
将变量i与1比特内子码个数N做比较;
如果i<N,则计算时间Ti=T0+i*W,其中W为子码宽度,配置在时间Ti启动跟踪,使用锁相环,从Ti开始解调比特;令i=i+1,返回将变量i与1比特内子码个数N做比较步骤;
如果i>=N,则结束启动。
单个跟踪通道的累计步骤为:
判断累计的比特个数是否大于200;
如果是,则结束累计;
否则,继续累计该跟踪通道的解调积分值的绝对值。
本发明具有以下优点及有益效果:
1、本发明覆盖了导航电文比特内每个子码的边缘,且与子码序列的实际值无关,对于设计特殊的子码序列也能达到很好的效果。
2、本发明对于导航电文出现连续0或1的情况,不会出现明显的位同步错误。
3、本发明计算量小,适合软件实现。
附图说明
图1为主码、子码时序关系示意图;
图2为本发明方法的整体流程图;
图3为本发明方法中的启动多路跟踪流程图;
图4为本发明方法中的单个跟踪通道累计解调积分值流程图;
图5为本发明方法中的通道选择流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
如图2所示,一种GNSS信号位同步方法在捕获完成后,启动多个跟踪通道,每个通道从导航电文比特内不同的子码边缘开始解调,对于不是比特边缘的通道,由于解调时匹配子码不正确,其解调积分值的绝对值会减小。考虑到导航电文比特中会出现多个比特不翻转的情况(例如保留比特可能连续为0或连续为1),所以选择多个连续的比特解调积分值的绝对值进行累计。最终,解调积分累计值最大的那个通道,即为子码匹配正确的通道,从而也是完成了正确位同步的通道。
该方法覆盖了导航电文比特内每个子码的边缘,且与子码序列的实际值无关,对于设计特殊的子码序列也能达到很好的效果。
本发明方法的具体执行步骤如下:
(1)捕获成功后,依次启动多个跟踪通道,流程如图3所示:设定变量i的初始值为0;将变量i与1比特内子码个数N做比较;如果i<N,则计算时间Ti=T0+i*W,其中W为子码宽度,配置在时间Ti启动跟踪,使用锁相环(PLL),从Ti开始解调比特;令i=i+1,返回将变量i与1比特内子码个数N做比较步骤;如果i>=N,则结束启动。
(2)多路跟踪启动后,分别累计各跟踪通道解调积分值的绝对值,单个跟踪通道累计的流程如图4所示:判断累计的比特个数是否大于200;如果是,则结束累计;否则,继续累计该跟踪通道的解调积分制的绝对值。GNSS信号的比特可能出现连续的0或1,此时即使位同步错误,解调积分值的绝对值也较大。所以要累计多个比特的解调积分值,避免连续的0或1导致的错误。
(3)待各个跟踪通道解调积分值累计完毕后,选择累计值最大的那个通道继续跟踪,复位其他通道。其流程如图5所示。