APP下载

一种避免二次编码跳变影响的“北斗”弱信号捕获算法 *

2021-07-02李孟恒劳源基王中豪覃团发

电讯技术 2021年6期
关键词:比特信噪比北斗

李孟恒,劳源基,王中豪,覃团发

(广西大学 a.计算机与电子信息学院;b.广西多媒体通信与网络技术重点实验室,南宁 530004)

0 引 言

全球卫星导航系统(Global Navigation Satellite System,GNSS)能够为陆地、海洋、空中用户提供全球性、全天候、高精度的测距、授时与定速服务,是人类获取位置和时间信息的重要手段。GNSS在军事、经济与社会发展中发挥着不可或缺的重要作用,因此各主要大国都竞相发展独立自主的导航卫星系统[1-2],例如美国的GPS、俄罗斯的GLONASS系统以及欧盟的Galileo卫星导航系统等。

作为全球四大卫星导航系统之一,我国正在实施的自主发展、独立运行的“北斗”卫星导航系统与GPS、GLONASS、Galileo等世界其他卫星导航系统兼容共用,其目标是建成全球性、全天候的全球卫星系统,能够为各类用户提供高精度、高可靠的定位、导航、授时与短报文通信一体式服务。相较于其他卫星导航系统,我国的“北斗”系统具有许多先进的技术,比如混合星座布局、短报文通信和二次编码等等[3]。这些技术都为“北斗”系统在导航、授时等方面的应用打下了坚实的基础,使实际应用的优势更加明显。

“北斗”卫星导航系统的二次编码采用了Neumann-Hoffman(NH)码。用码率低、周期长的NH码调制一个码率高周期短的主码,得到了一个等效周期长且码率高的扩频码,使得在不增加捕获难度的情况下同一频点信号的互相关和自相关性能得到一定的改善。同时,由于加长了码的周期,因此降低了频谱谱线的间隔,使得窄带干扰的影响减少,提高了“北斗”系统窄带干扰检测水平和位同步的可靠性。但是它的使用也引入了一些干扰:由于NH码的加入,使得数据位每1 ms会发生一次比特翻转,比特翻转的存在破坏了扩频码的周期性,使得接收机自相关函数峰值降低,在频率轴上发生分裂,也使得传统相干积分算法的累积时间不能超过1 ms,大大限制了信号捕获灵敏度[4]。在复杂环境下,这种问题尤为突出。由于各方面的损耗,卫星信号会变得较为微弱,此时仅凭常规的捕获方法很难捕获到这些微弱信号。先前针对捕获微弱信号而提出的相干累积算法、非相干累积算法、差分相干算法[5]以及在此基础上提出的半比特交替算法[6]、最优路径算法[7]等算法由于积分时间不能大于1 ms而不能够很好地适用于“北斗”信号的捕获。因此,如何克服NH码所带来的跳变影响成为亟待解决的难题。文献[8]采用剥离NH码的方式来消除NH码的影响,但此方法运算量较大,且在弱信号情况下很难算出相关值从而进行剥离。文献[9]提出了一种补零算法,此方法相对有效,可以有效延长累加时间,但补零长度有限,过度加长补零长度会使单组的相关结果变小,最后难以获得明显的相关性。文献[10]提出了一种针对于比特跳变的检测跳变位置的方法,其将1 ms卫星信号分为前后两部分,通过比较两部分的相关值大小来确定跳变位于哪一部分,从而舍弃该部分,只对另外一部分进行相干累积。文献[11]提出了一种对于NH码信号观察的算法,通过对NH码的观察和概率统计,做到对NH码的比特跳变的规避。但该算法由于其处理过程较为复杂,因此并不适用于实时信号的捕获。

本文针对NH码的结构,提出一种基于码元排布顺序的改进相干累积捕获算法,通过分组来遍历并统计一个数据段的累加和,统计每一组累加和的相关值,并且采用一种改进的判决方法进行双重判决,最终确定其中最大相关值并完成捕获。此方法有效延长了积分长度,提高了弱信号捕获的灵敏度。

1 “北斗”信号模型和传统捕获算法

1.1 信号模型

自“北斗二代”起“北斗”导航系统实现了3个频段信号的播发,分别为B1(1 559.052~1 591.788 MHz)、B2(1 166.22~1 217.37 MHz)和B3(1 250.618~1 286.423 MHz)。这三个频段的信号均采用具有自主知识产权的调制技术进行载波信号的调制。由“北斗”系统空间信号控制文件[12]可知,“北斗”系统具有D1、D2、B-CNAV1、B-CNAV2、B-CNAV3等多种导航电文格式。其中在中轨道地球卫星(Medium Orbit Earth Satellite,MEO)和倾斜地球同步轨道(Inclined Geosynchronous Orbit,IGSO)的B1I信号上调制的D1导航电文的速率为50 b/s,并且调制有速率为1 kb/s的二次编码。

D1 导航电文上调制的NH 码共20位,周期为20 ms,即一位NH 码的码长为1 ms,对应一组完整的扩频码。其I、Q两支路的扩频码采用二进制相移键控(Binary Phase Shift Keying,BPSK)的方式调制在NH码上,然后将NH码和导航电文调制在载波上。其调制模型如图1所示。

图1 二次编码示意图

对于GNSS接收机来说,接收机的I、Q两支路接收到的中频信号分别为

cos[2π(fMF+fd)t+ΦI]+nI(t),

(1)

cos[2π(fMF+fd)t+ΦQ]+nQ(t)。

(2)

式中:AI、AQ是信号幅值,DI(t)、DQ(t)是数据码,NI(t)、NQ(t)为NH码,CI(t)、CQ(t)是用于调制信号的伪随机码,τ为信号码与搜索码间的相位差,fMF为本地振荡器产生载波的频率,fd为信号频率和搜索频率的频率差,ΦI、ΦQ为载波相位,nI(t)、nQ(t)为噪声信号。

1.2 传统捕获算法

捕获是利用伪噪声随机码的相关性,对卫星信号的来源、多普勒频移和码相位三方面进行三维搜索的一个过程。为了解决串行搜索的搜索效率低、捕获时间长的问题,研究人员提出了基于快速傅里叶变换(Fast Fourier Transform,FFT)的频率并行搜索算法和码并行搜索算法,其中码相位并行搜索算法由于其高效而受到广泛应用,其流程图如图2所示。

图2 码并行捕获算法流程图

由于卫星发送的信号功率较小,因此接收信号的信噪比通常会较低,这阻碍了信号的提取过程。而积分的作用相当于一个低通滤波器,可以消除信号中的高频信号成分和噪声,以提高信噪比。

信号比较微弱时,通常通过相干累积或非相干累积的方法来对信号进行捕获。假设在Tepoch的相干积分时间内接收了Nepoch个来自于I/Q支路的相关结果ip(n),将ip(n)累加得

(3)

SNRepoch=SNRinit+10lg(Nepoch) 。

(4)

式中:SNRepoch为积分后信噪比,SNRinit为初始信噪比,Nepoch为积分信号个数。经过相干积分之后,信号的信噪比增加了10lg(Nepoch)。

但若发生比特跳变,前后相关结果相反,积分后相互抵消,方法失效。

非相干累计算法的原理为

(5)

非相干累积为了消除NH码跳变带来的影响,采用先将相关值平方再进行累加的方法。但是在平方损失的同时也将噪声放大,即造成“平方损失”,最终结果对信噪比的提升并不明显,不能满足弱信号条件下对“北斗”卫星信号的捕获。

2 改进的弱信号捕获算法

2.1 改进的弱信号捕获算法

为了克服比特跳变对捕获性能的影响,本文提出一种基于码元排布顺序的改进相干累积捕获算法,通过分组来遍历并统计一个数据段的累加和相关值,并且采用一种改进的判决方法进行双重判决,最终确定其中最大相关值。比特跳变的影响主要存在于前后数据位发生跳变时,一旦发生跳变,那么前后相关操作的结果会呈现相反的状态。此时,若采用相干累积法,其前后的相关结果会发生抵消,从而使相干累积法失效。但是,如果累积时间内存在足够多的相同比特,即前后数据位发生较少的改变时,虽然其中依旧有跳变,但相关结果中发生的抵消效果有限,整体累加结果的信噪比也是增加的。通过对NH码的分析观察可知,NH码的内容为(0,0,0,0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0),若按照9位码一组进行取值,结果如表1所示。

表1 NH码取值情况

其中,取值列代表所有可取的取值组合,统计列代表组合中0和1的个数为(m,n),m为0的个数,n为1的个数。相同比特的相干累积的结果是叠加的,而跳变比特的结果是抵消的,因此0和1的个数相差越大,则相干累积的结果越明显。可以观察到,共20种可能组合中仅有1个(8,1),这种情况下只抵消掉了1个位的结果,其相关结果是比较明显且独一无二的。利用这个相关结果可以选取结果最优的相干累积组合以进行捕获,从而增强捕获灵敏度,同时能够确定NH码的大致相位,可以更快地进行NH码剥离从而二次提高捕获效率。另外,针对本文提出改进算法的特点,本文提出了一种改进的可以降低虚警概率的捕获判决策略,具体步骤如下:

Step1 产生40 ms的“北斗”B1I中频信号作为源信号,选取源信号前20 ms的某一处作为起点。为了节省计算资源,采取先累加后相关的方式,每1 ms数据进行一次累加,累加够9 ms数据后,记为组n,n的初始值为1。

Step2 将组n采用码并行捕获进行相关性检测,得到相关值并记为Rn。与此同时将末位1 ms数据淘汰,并接收累加新的1 ms数据,累加数据长度依旧为9 ms的数据,记为组n+1。同时重复Step 2,当n=20,停止统计。

Step3 在已统计的组中找出具有最大相关值的组以及其前相邻的两组(按相隔距离由近到远分为前1、前2)和后相邻两组(按相隔距离由近到远分为后1、后2),分别比较前相邻两组的大小与后相邻两组的相关大小,若满足(前1>前2且后1>后2)则进入最大值分组,若不满足则判定捕获失败。若满足条件并进入最大值分组后,求出本分组中最大相关结果与次大相关结果的比值进行二次判决,若比值大于一定门限则捕获成功,反之捕获失败。

Step4 捕获成功之后,不但可以确定码相位和多普勒频移值,而且可以确定接收信号的NH码相位,从而能够选择剥离NH码等后处理方法进行二次处理而再次提高处理效率。

2.2 算法实现机理

根据2.1节中表1所统计,最佳捕获数据序列为000000100。先假设起始点刚好处于跳变沿,最佳捕获序列的9 ms数据中含有8 ms数据0和1 ms数据1,符合表1中的结果。

若起始点未处于跳变沿,这里假设第1 ms数据的起始点在码相位为1 546处,将最佳捕获序列扩展为11位,则有10000001001。将第一个数据1的码相位1 546处作为起始点,那么第1 ms数据为数据1的后500个CA码+数据0的前1 546个CA码,第2 ms所取为数据0的后500个CA码+数据0的前1 546个CA码。以此类推,第9 ms为数据0的后500个CA码+数据0的前1 546个CA码。如图3所示,将每1 ms数据看作1~1 546位+1 547~2 046位的组合。

图3 码并行捕获算法流程图

其中令1 ms数据1的1~1 546位记为A1,1 547~2 046位记为A2,将1 ms数据0的1~1 546位记为B1,1 547~2 046位记为B2。将9 ms数据进行相干累加,可以看到9 ms数据的组成为(A2,B1)+(B2,B1)+(B2,B1)+(B2,B1)+(B2,B1)+(B2,B1)+(B2,A1)+(A2,B1)+(B2,B1),不考虑噪声的情况下等于(2×A2+7×B2,A1+8×B1),即9 ms数据中包含7 ms完整的数据0、1 ms完整的数据1和一个(A2,B1)组合。其中(A2,B1)的相关结果与A2和B1所占的比重相关,若A2比重大则与数据1成一定程度的正相关与数据0成一定程度的负相关,反之也是一样。由于一个扩频码周期内最多会发生一次比特跳变,由以上分析可知,若发生在扩频码周期的前半段,则从后往前取9 ms数据会更优,反之同理。因此(A2,B1)在选择上始终与数据0呈现不相关或正相关,仅当取值时刻发生在扩频码相位1 023时不相关,其余取值时刻均呈现正相关。因此本算法根据不同位置的起点,相干积分的累加时长在6~7 ms之间。

将20种可能的组合遍历完成后,获得最大相关值组,进行第一次判决。由于唯一的组合(8,1)两侧的组合均为(7,2),再远一组则均为(6,3),则最大相关值组及其前后各两组共5组的相关值大小应呈现“凸”字形。因此,采用改进的判决算法可以对捕获结果进行初步检验,可以一定程度上防止虚警事件的发生,也可以防止噪声因素对后面NH码剥离带来的相位误差。通过改进判决后再通过一次标准的捕获检验过程即可获得最终捕获结果。

3 算法性能仿真及分析

在Windows10环境下,借助Matlab平台仿真“北斗”卫星D1导航电文数据共40 ms,加入不同信噪比的高斯白噪声作为实验数据。依次对传统的相干捕获算法、非相干捕获算法、补零算法和改进算法进行了仿真和对比分析。

实际情况下,采用不同的射频处理设备得到的“北斗”中频信号的频率有所不同,通常在3~50 MHz不等。本文根据市场上的产品参数,选择“北斗”模块上较为常见的16.368 MHz晶振频率作为采样频率,选择“北斗”模块常用的中频信号输出频率4.092 MHz作为中频信号载波频率。结合“北斗”系统空间信号接口控制文件,设定了“北斗”信号的码速率。最后,在信号中加入了一些频率误差,并于前20 ms数据中随机选择了数据的起始点,相当于加入了码相位偏移。实验主要仿真参数配置如表2所示。

表2 仿真参数配置

由表2可知,40ms数据采样点总数为654 720,每个码元平均采样8次;多普勒频移共搜索41次,搜索范围为±20kHz。在-26dB的信噪比下,各算法的捕获结果如表3所示。

表3 各算法捕获结果

由表3可得,各算法的估计值基本一致,码相位估计值为采样点,由于每个码片采样8次,因此真实相干累积的捕获结果14 776为1 847的码片位置,其余算法的码相位捕获结果14 769对应扩频码1 846.125的码片位置。真实码相位为1 846,因此结果较为准确。表中的多普勒频偏i为频率步进的步数,可通过公式计算对应的估计值:

f=fw-(20-i)f_step。

(6)

可算得估计频率f为4 093 000Hz。真实载波频率为4 093 500Hz,步长f_step=1 000Hz,因此500Hz的误差在合理范围内,符合估算要求。

采用蒙特卡洛法仿真不同捕获算法在不同信噪比的噪声下的捕获情况,并进行算法性能对比,每种信噪比下模拟2 000次各种算法的捕获过程,每次都产生随机的高斯白噪声。统计捕获成功的次数,并作百分化处理作为最终的统计结果。根据本文提出的改进算法的特点,将除了改进算法外所有算法的累加次数均设为9次。另外,本仿真采取相同的捕获判决方式和相同的捕获门限。不同信噪比下捕获成功率如图4所示。

图4 不同信噪比下不同算法的捕获成功率

由对比结果可得,传统相干累积算法、非相干累积和补零算法在信噪比较大时虽然有不错的捕获效果,但随着信噪比降低效果会变得非常不理想。而本文算法则明显具有较好的捕获成功率,在-36dB的恶劣信噪比环境下依旧有着40%左右的捕获成功率;在弱信号情况下(-36~-34 dB),本算法在相同累积时间下比传统相干累积和非相干累积算法有近6 dB的增益,比补零算法有约1.7 dB的增益。

4 结束语

本文提出并仿真了基于码元排布顺序的改进相干累积捕获算法,该方法克服了“北斗”B1I信号受NH码影响造成的相干累积时间过短的问题,延长了积分累积长度,提高了卫星信号的捕获灵敏度;同时也在高斯白噪声模型下提出了一种双重判决方法降低了虚警概率。仿真结果表明,本文算法在低信噪比情况下有着较好的信号捕获灵敏度;同时,捕获成功之后,可以选择剥离NH码等相关处理方法进行二次处理并再次提高捕获效率。该算法提升了“北斗”接收机的捕获效能,对卫星信号捕获算法的相关研究具有一定的参考价值。但是,本文研究未考虑在接收时的多径、地面干扰等方面。因此,下一阶段的工作是建立多径和地面干扰模型,并进一步验证和分析算法性能。

猜你喜欢

比特信噪比北斗
北斗时钟盘
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
基于深度学习的无人机数据链信噪比估计算法
“北斗”离我们有多远
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元
首个北斗全球“厘米级”定位系统开建
中国的北斗 世界的北斗