1. 引言
捕获是在卫星导航接收机信号处理中极为重要的步骤之一,只有成功捕获到了信号,之后进一步的操作才更有意义,同时由于跟踪环路的跟踪范围有限,捕获精度的提高也能直接影响到跟踪效率。
在城市峡谷、隧道、高楼内等环境下,信号强度较弱,一般的接收机和捕获算法往往不能正常捕获到卫星信号,影响导航系统的正常运行。在信号较强的开放环境下,信噪比在−25 dB以上,而在环境的变化、信号方向仰角的减小或是多径干扰等影响下,信噪比的降低一般在5~15 dB,普通的接收机已基本无法正常工作,影响定位精度。
对于弱信号的捕获,通常通过相干积分与非相干积分延长积分时间的方式,提高信噪比增益,但与此同时也会带来数据信息跳变影响相干增益以及平方损耗影响非相干增益的问题。故通常接收机采用的的捕获算法有半比特交替算法、全比特法、最大似然比特同步算法、圆周相关法等 [1] [2] [3],上述这些算法主要目的都在于消除导航数据位每一比特信号可能存在跳变的影响,尽可能地增加相干累积时间,以及减少平方损耗,提高信噪比,从而顺利捕获到信号。
在本文中首先通过相干积分、非相干积分的原理与增益情况,分析了半比特交替算法原理,并结合半比特交替法与差分相干提出改进的半比特差分算法,然后结合半比特差分算法与DBZP算法的特点,得出DBZP-半比特差分捕获算法,并且通过仿真对半比特交替算法与改进的半比特差分算法进行比较 [4] [5]。
2. 弱信号的捕获算法
对于无法捕获到的弱信号,通常进行相干积分与非相干积分,通过把相邻C/A码周期的相关值累加或平方后累加,从而提高信噪比增益,以更好地检测出弱信号。在半比特交替算法中,相干积分与非相干积分都得到了合理的运用,对弱信号捕获有明显的增益,但是由于存在非相干积分的平方损耗问题,以及对信号信息的利用率只有一半,使得捕获效率下降。
2.1. 半比特交替算法
对于通常的卫星信号,导航数据位每20 ms为一比特,可能出现一次跳变,限制了相干积分长度。取N段20 ms的信号数据,对每段信号按长度10 ms分为两块,共分为n = 2N块,如图1:
Figure 1. Schematic diagram of half-bit alternate algorithm
图1. 半比特交替算法示意图
每块内进行10 ms的相干积分,相关结果记为Vn,然后对奇数块
和偶数块
分别进行非相干累加,得到:
(1)
显然,跳变点必然都存在于奇数块组或偶数块组中,而没有跳变点的组,非相干积分结果有明显峰值,从而实现捕获。对于200 ms的信号,N = 10,相干积分获得的信噪比增益为:
(2)
非相干获得的信噪比增益为:
(3)
其中L(N)为平方损耗。
(4)
(5)
其中
为虚警概率,
为检测概率。
由式(4)和(5)可知,平方损耗取决于虚警概率和检测概率,且会随着N的增大而增大,所以信噪比的改善效果并不佳。
虽然半比特交替算法避免了比特跳变,但由于平方损耗以及需要两倍长度的信号,影响信噪比增益和捕获的实时性 [6] [7]。
2.2. 差分相干积分
为了解决非相干积分算法的平方损耗问题,提出了差分相干积分算法,将相邻两段相干积分结果进行共轭相乘,并将N次差分相乘结果累加:
(6)
当相邻两个积分段在同一数据位内时,即可消除数据位正负的影响,所以累加前不用平方,同时由于不同积分段噪声相互独立,相乘后均值依然为0,避免了平方损耗的出现 [8] [9]。故增益与相干积分理论上可以达到接近的水平:
(7)
3. 改进的捕获算法流程
在半比特交替算法中,当积分时间较长时,非相干积分带来的平方损耗也会明显增加,甚至基本抵消了非相干积分的信噪比增益,因此利用差分算法结合半比特交替算法,避免了非相干累积,解决了平方损耗,具体流程如下:
在接收机端以1 ms为延迟,取10组足够长的数据,每组数据按10 ms进行分块,块内进行相干积分,将第m组第n块相关结果标记为
,每组的奇数块与相邻块的相关结果进行共轭相乘,最后再将相乘的结果求和后取模值,进行门限判决。如图2:
Figure 2. Schematic diagram of half-bit differential algorithm
图2. 半比特差分算法示意图
各组判决时的相关值为:
(8)
在10组中存在一组数据,跳变沿在分块沿往后1 ms内,在捕获过程中,本地码相位对齐时,跳变沿与分块沿也同时对齐,相关值明显高于其他组,从而捕获到信号。这样就消除了比特跳变的影响,同时差分相干的两块数据处于同一数据位之内,共轭相乘后消除了数据位的正负值影响,这样相乘结果也就不用平方而可以直接相加,避免了平方损耗的影响,再有半比特差分算法并没有舍弃掉奇数块或偶数块的信号,充分利用了所有的信号数据,信噪比增益也有明显增加。
为了在保证捕获灵敏度的同时提高捕获速度,在半比特差分算法的块内相干积分求得相关结果Vm,n的过程中,采用基于DBZP的并行码相位捕获,并在DBZP模块后额外添加FFT模块作为频率搜索模块,对同一码相位的M块相关结果进行M点FFT运算,实现码相位与频率同时进行二维快速搜索,减少计算量。原理流程图为(图3~5):
Figure 4. “Double Block”, “Zero Padding”
图4. “双块”、“补零”
在DBZP中,分块的数量和块移位的次数有着严格的意义,并不能任意选定。
分块的数量决定了最后对同码相位的FFT运算点数,也就决定了所能求得的多普勒频率的搜索范围。假设每块中采样点数为Sb,分块后相关使得数据的采样率fs降低为fs/Sb,而每块所含的数据点数N从Sb降为1,因此分辨率fs/N依然保持不变,为了保证搜索范围包含整个多普勒频移范围,分块数量M应满足:
(9)
而块移位操作,是由于分块操作时使得每块内的测距码不完整,循环卷积只能获得块长对应长度的码相位相关值,需要通过移位使得每块的卷积长度满足测距码的一个周期,故块移位次数Z应满足:
(10)
块内采用DBZP算法进行相关运算,有效的提高捕获效率和捕获性能,结合半比特差分算法,更高效可靠地完成弱信号的捕获。
4. 仿真结果及分析
仿真采用北斗卫星导航系统信号,分为两种导航电文,一种是由IGSO/MEO卫星播发的D1导航电文,另一种是GEO卫星播发的D2导航电文,均采用QPSK调制,载波频率为1561.098 MHz,采用码长为2046,码速率为2.046 MHz的C/A码扩频。
其中D1导航电文的比特周期为20 ms,数据率为50 bps;D2导航电文的比特周期为2 ms,数据率为500 bps。
这里采用北斗B1I信号,其多普勒频移范围为±10 KHz,故移位次数Z为21次;频率分辨率定为500 Hz,故分块数量为41块。用DBZP-半比特差分算法和传统半比特交替算法对200 ms的D1导航电文进行捕获,图6、图7为两种方法对载噪比为25 dB∙Hz的北斗B1I信号的捕获效果。
Figure 6. Half-bit alternate algorithm (25 dB∙Hz)
图6. 半比特交替(25 dB∙Hz)
Figure 7. Half-bit alternate differential (25 dB∙Hz)
图7. 半比特差分(25 dB∙Hz)
在载噪比为25 dB∙Hz时,两种方法均可捕获到信号,但半比特交替算法捕获效果明显不如DBZP-半比特差分算法,对噪声抑制效果不明显。
图8、图9为两种方法对载噪比为20 dB∙Hz的信号的捕获效果。
Figure 8. Half-bit alternate algorithm (20 dB∙Hz)
图8. 半比特交替(20 dB∙Hz)
Figure 9. Half-bit alternate differential (20 dB∙Hz)
图9. 半比特差分(20 dB∙Hz)
在载噪比为20 dB∙Hz时,半比特交替算法无法正常捕获到信号,而DBZP-半比特差分算法依然可以较顺利地捕获信号。
两种算法的检测概率随载噪比的变化曲线如图10所示。DBZP-半比特差分算法优化了6~7 dB左右。
Figure 10. Schematic diagram of carrier-to-noise ratio-detection probability
图10. 载噪比–检测概率示意图
5. 结束语
本文提出了一种基于DBZP-半比特差分的捕获算法,在半比特分块与差分运算的基础上,再结合DBZP算法与FFT运算模块,减少了捕获运算量,在增加捕获增益的同时提高捕获速度。通过算法分析及仿真,验证了该算法的可行性与有效性,可顺利捕获到载噪比为20 dB∙Hz的信号,且在GPS与北斗等卫星系统中都能有很好的应用。
基金项目
国家自然科学基金(61801516)。