韩志凤,刘建业,李荣冰,王 翌
(南京航空航天大学导航研究中心,南京211106)
随着我国北斗卫星导航系统的建设和发展,北斗卫星导航系统的应用领域越来越广泛,已经渗透到人们生活的方方面面[1],在复杂环境中应用的发展势头迅猛[2-3](如城市、峡谷、森林,以及大型建筑物的内部或地下车库等室内场所)。在这些环境中,卫星信号强度存在较大的衰减,传统的卫星导航接收机设计已不能满足常规的导航定位需求[4]。因此,针对弱信号的高灵敏度接收机设计已经成为国内外专家研究的热点。
延长相干积分时间是高灵敏度接收机常用的提高信噪比的方法[5],但是积分时间的延长往往受到数据比特跳变的限制[6]。在当前第二代北斗卫星导航系统中,卫星信号二次编码调制了速率为1kbps的NH码,能够提高抗窄带干扰的能力,并改善卫星信号间的互相关特性[7]。但是,数据比特符号跳变频率被提高,也给接收机的各个环节设计带来了一定的影响[8],特别是信号捕获模块。
NH码的存在使得每1ms的随机采样信号都可能存在数据比特符号跳变,导致传统的1ms相干积分产生不同程度的衰减。如果数据比特符号跳变恰好位于1ms数据的中间,在前后值抵消之后,1ms的相干积分值为0,导致信号捕获结果极易出错[9]。
在北斗接收机捕获模块设计中,往往采用连续重复多次的搜索策略。根据对NH码的分析,每6ms数据中至少存在1次无数据比特符号跳变的情况,因此可连续获得6个1ms相干积分值,选取拥有最大峰值的结果作为捕获结果。在这种方法中,单次搜索需要6ms数据,但有效积分时间为1ms,效率较低,且不适合用于弱信号捕获。
补零算法也常常被用在有二次调制的信号捕获算法中。在本地1ms伪码之后补充1ms零值,与输入的2ms卫星信号进行相关,取前1ms的相关结果进行峰值判断和码相位估计[10]。此方法可有效屏蔽NH码相位的影响,但有效累积时间仍为1ms,不能满足弱信号捕获的要求。
有论文提出将NH码与伪码结合形成长序列NH-PRN组合码,对长组合码进行搜索,获得伪码相位和NH码相位。此方法可获得20ms的积分效果,但是频率搜索带宽较小,运算量和搜索时间非常可观。
本文针对NH码相位频繁跳变限制积分时间的问题,提出了一种北斗弱信号捕获算法,将补零算法与差分相干积分算法相结合,消除了NH码相位的影响,提高了信噪比。
北斗卫星导航系统的空间星座由5颗地球静止轨道卫星(GEO)、27颗中圆地球轨道卫星(MEO)和3颗倾斜地球同步轨道卫星(IGSO)组成。
MEO/IGSO卫星的B1I和B2I信号播发D1导航电文,速率为50bps,并调制了 20bit的速率为1kbps的NH码,码宽为1ms,如图1所示。GEO卫星的 B1I和 B2I信号播发 D2导航电文,速率为500bps[11]。
因此,相对于GPS信号,北斗信号中包含频繁的数据比特跳变和NH码相位变化,数据比特符号跳变频率被提高到1kbps。在每1ms随机采样信号中都可能存在数据比特符号跳变,导致传统的1ms相干积分产生衰减,可采用补零算法消除NH码的影响。
补零算法采用并行码相位的搜索方式,具体包括:
1)将2ms输入信号与本地载波进行频率维度的相关,频率搜索间隔可为500Hz;
2)生成1ms本地伪码序列,在其后补充1ms的零值;
3)将步骤1中的结果与步骤2中的结果进行相关,可利用FFT/IFFT进行并行的码相位搜索;
4)取步骤3中相关结果的前1ms部分进行峰值检测,获得码相位和载波频率估计值。
图2为补零算法的原理示意图,本地码序列包含1ms伪码和1ms零值,与2ms输入信号进行相关运算,相关结果中最高峰值的位置代表2个序列完全对齐,峰值出现在相关结果的前半个1ms中。零值的存在使得本地伪码更好地与输入信号中完整的1ms数据对齐,避免了NH码相位跳变的影响。
补零算法有效避免了NH码相位的影响,但是有效积分时间仅为1ms,不适于弱信号的捕获。
补零算法虽然能够避免NH码相位的影响,但是无法满足弱信号捕获的需求,因此需要通过增加积分时间的方式提高信噪比。常用的相干积分算法受到数据比特符号跳变和NH码相位的限制,非相干积分算法能够削弱数据比特符号跳变影响,但是存在平方损耗。
差分相干积分算法是在相干积分的基础上,将前1ms相干积分的结果与当前1ms相干积分的结果进行共轭相乘。如果前后2个相干积分跨越了数据比特符号跳变,则差分运算乘积为负号,否则为正号。
相干积分结果表示为:
差分相干积分乘积可表示为:
在北斗信号中,存在NH码的普遍跳变。因此在差分相干积分方法中,常用的将相邻2ms相干积分结果共轭相乘的形式并不能适用于北斗信号。
基于以上对北斗信号结构特点及相关算法的分析,分别对补零算法和差分相干积分算法进行改进,并将改进后的补零算法与差分相干积分算法结合,解决北斗弱信号的捕获问题。
2.2.1 改进补零算法
补零算法通过对本地码序列进行补零,使得本地码序列更好地与输入信号对齐,可有效消除数据比特符号跳变的影响。对输入信号连续地采用补零算法获得连续的相关结果。
1)第1次相关运算:采用第1ms和第2ms的输入信号与本地的2ms码序列相关,保存前半部分1ms的相关结果;
2)第2次相关运算:采用第2ms和第3ms的输入信号与本地的2ms码序列相关,保存前半部分1ms的相关结果;
3)以此类推,如图3所示。
由于每次将输入信号移动1ms,获得的多次相关结果是连续的。但是,相关结果的符号是由数据比特符号和NH码相位共同决定的。
2.2.2 改进差分相干积分算法
在改进补零算法的基础上,对相关结果先进行差分相干积分运算,再进行峰值检测。将差分相关运算中的延迟时间由1ms延长为20ms(即数据比特周期),差分结果可表示为:
进行共轭相乘的2个相关值必然属于2个数据比特,如果2个数据比特符号一致,则差分乘积为正,否则为负。由图4可以看出,差分相干积分结果不再受NH码相位的影响,仅与是否存在数据比特符号跳变有关。
由于北斗信号B1I和B2I播发的D1导航电文比特长度持续时间为20ms,可以将差分相干积分时间长度设定为10ms,连续获得2个差分相干积分结果,则必定有1个结果不跨越数据比特,对其进行峰值检测,可获得码相位和载波频率的估计值。
与直接进行相干积分算法相比,差分相干积分算法的优点在于频率搜索带宽仍然可以按照1ms的相关频率搜索带宽进行设置,频率搜索带宽大,因而搜索次数大大减少,运算量和搜索时间降低。
改进的补零算法和改进的差分相干积分算法消除了NH码相位的影响,并实现了积分时间的延长,能够有效地提高信噪比,实现弱信号的捕获。具体流程为:
1)将2ms输入信号与本地载波进行混频,对结果进行FFT变换;
2)在1ms本地伪码后补充1ms零值,并对序列进行FFT变换;
3)将步骤1中的结果与步骤2中的结果进行共轭相乘,对结果进行IFFT变换,保存前1ms值;
4)将输入信号向后移动1ms,重复步骤1、步骤2和步骤3,重复次数为20次;
5)对保存的相关结果进行延迟时间为20ms的差分相干积分,积分时间为10ms,共获得2组差分相干积分结果;
6)对2组差分相干积分结果进行峰值检测,取峰值较高的一组结果作为捕获结果。
Monte Carlo仿真的结构如图5所示,包括仿真中频北斗信号生成和软件接收机2部分。中频信号仿真按照预设航迹和星历生成中频数据,在每次Monte Carlo仿真循环过程中按照设定的载噪比参数加入Gauss白噪声,中频频率为4.1304MHz,采样频率为16.3676MHz。
按照上述流程,编程实现算法功能,设置信号载噪比为30dBHz,设置差分相干积分的延迟时间为20ms,差分相干积分时间为10ms。图6(a)和图6(b)是连续2组差分相干积分的结果。
可以看出,图6(b)中的峰值要高于图6(a)。因此,图6(a)段数据据判断是跨越了数据比特符号跳变,从峰值位置可以得知码相位估计值为4258个采样点,载波频率为第11个搜索频带。
选择北斗接收机中常用的6ms反复搜索算法与本文提出的基于改进补零和改进差分相干积分的弱信号捕获算法,进行仿真对比分析。采用Monte Carlo仿真算法,设置载噪比为20dBHz~38dBHz,每次仿真循环次数为1000次,对检测结果进行概率统计,结果如图7所示。
可以看出,由于在北斗接收机中常用的6ms反复搜索算法的有效积分时间为1ms,其捕获灵敏度不高,在载噪比为31dBHz时,仅有51%的成功率。本文提出的基于改进补零和改进差分相干积分的弱信号捕获算法的有效积分时间为10ms,在载噪比为21dBHz时的成功率为65%,在载噪比为22dBHz时的成功率为94%,其捕获灵敏度比传统算法提高了约10dB。
本文针对北斗信号NH码相位跳变频繁限制积分时间的问题,提出了一种基于改进补零算法和改进差分相干积分算法的弱信号捕获算法,有效地消除了NH码相位的影响,延长了有效积分时间,实现了对北斗弱信号的捕获。
采用Monte Carlo仿真对算法性能进行全面的测试分析,分析结果表明,相比传统的反复搜索算法,采用本文提出的弱信号的捕获算法的捕获灵敏度提高了约10dB。此方法适用于弱信号条件下的北斗信号捕获。