一种针对卫星导航系统二次编码的弱信号捕获方法与流程

文档序号:11914573阅读:364来源:国知局

本发明属于卫星导航技术领域,特别涉及了一种针对卫星导航系统二次编码的弱信号捕获方法。



背景技术:

卫星导航信号的捕获是接收机基带信号处理的第一步,根据是否有辅助条件,卫星信号的弱信号捕获分为辅助式和无辅助式,辅助式捕获通过外部增强信息来提高卫星捕获的能力,这些信息可以来自地面站、惯性器件等。无辅助式捕获不借助外部信息实现弱信号的捕获,通常需要长的相干积分时间和多的非相干积分次数,具有更强的自主性和独立性。一般来说,捕获相同载噪比的卫星信号,无辅助式要比辅助式需要更复杂的算法,所需计算量和捕获时间也相应长得多。因此,减少捕获算法的复杂度、计算量和捕获时间是无辅助式接收机的一个发展方向。

卫星信号体制的二次编码在北斗、Galileo等全球导航系统以及GPS的现代化中得到了普遍应用。二次编码通过延长扩频码的整体周期来改善相关性,可以使接收机快速实现数据同步,降低频谱谱线的间隔,进一步抑制窄带干扰。GPS现代化中,L1C信号二次编码长为1800,周期为18s,码速率为100bps,L5C信号的数据通道和导频通道分别采用长度为10和20的NH码两种二次编码长度。伽利略系统在不同频点的不同通道采用了不同周期和不同码长的二次编码。

二次编码的加入使得卫星导航信号的比特跳变更加频繁,对弱信号的捕获制造了更大的难度,不仅要准确的检测出多普勒频移和测距码相位,还需要知道二次编码的码相位。传统的长时间的相干积分计算量大,运算时间长,对软硬件提出了很高的要求。



技术实现要素:

为了解决上述背景技术提出的技术问题,本发明旨在提供一种针对卫星导航系统二次编码的弱信号捕获方法,基于双块补零算法,能同时对多普勒频移和码相位进行并行搜索,提升运算速度。

为了实现上述技术目的,本发明的技术方案为:

一种针对卫星导航系统二次编码的弱信号捕获方法,包括以下步骤:

(1)将长度均为TI+Tbit的卫星基带信号和本地测距码通过双块补零算法进行圆周相关运算,得到(Nb+Nstep)×Nms维的相关运算矩阵Mc;其中,TI为基带信号的原始长度,Tbit为1个导航数据位,Nb为长度为TI的信号进行分块的数量,Nstep为1个导航数据位Tbit对应的分块的数量,Nms为每毫秒包含的采样点数;

(2)生成导航数据位和二次编码的调制码,调制码的长度为Nb;对于长度为TI的基带信号,存在的导航数据位的个数为Ndb,则导航数据位所有可能的组合的个数为即生成的调制码的个数为

(3)将步骤(2)得到的调制码与步骤(1)得到的相关运算矩阵Mc的第1列的从起始点开始的Nb个点进行相关运算,将相关运算后的Nb个点进行离散傅里叶变换;然后从相关运算矩阵Mc的第1列的起始点下移1个二次编码的码相位对应的点数,找到相关运算矩阵Mc的第1列的新起始点,将调制码与相关运算矩阵Mc的第1列从该新起始点开始的Nb个点再次进行相关运算,将相关运算后的Nb个点进行离散傅里叶变换;重复前述过程NNH次,共得到Nb×NNH个经过离散傅里叶变换的点数据,其中,NNH为二次编码的长度;

(4)将步骤(2)得到的每一个调制码与相关运算矩阵Mc每一列都进行步骤(3)的操作,则一共需要进行次的离散傅里叶变换,得到个点数据;

(5)计算步骤(4)得到的所有点数据的能量,若能量最大值超过给定的捕获阈值,则捕获成功,对应的多普勒频移、测距码的码相位、导航数据位组合以及二次编码的码相位也分别得到。

进一步地,步骤(1)依序包括基带信号和测距码的分块操作、基带信号的双块操作、测距码的补零操作、基带信号与测距码的块内相关操作和移块操作。

进一步地,所述基带信号和测距码的分块操作的过程为,将长度为TI+Tbit的基带信号分成Nb+Nstep个块,每个块包含Sb个采样点;本地生成同样长度的测距码,同样分成Nb+Nstep块,每个块包含Sb个采样点。

进一步地,所述基带信号的双块操作的过程为,将基带信号第i个块与第i+1个块组合成新的块,得到基带信号的新的Nb+Nstep个块,每个块包含2Sb个采样点;i=1,2,…,Nb+Nstep-1。

进一步地,所述测距码的补零操作的过程为,将测距码的每个块后面补上相同长度的零,形成新的Nb+Nstep个块,每个块含2Sb个点。

进一步地,所述基带信号与测距码的块内相关操作和移块操作的过程为,

将基带信号与测距码对应的两个块分别做2Sb点的离散傅里叶变换,得到两个2Sb点数据;将测距码的2Sb点数据取共轭再与基带信号2Sb点数据进行点对点相乘,得到1个2Sb点数据,对这2Sb点数据进行反傅里叶变换,保留变换后的前Sb个点,将后Sb个点舍弃;对基带信号和测距码的所有块均进行前述操作,共得到(Nb+Nstep)×Sb个点,这(Nb+Nstep)×Sb构成相关运算矩阵Mc的前Sb列;

测距码统一循环左移1个块,然后将基带信号与循环左移后的测距码进行上述相关运算,得到的数据依次构成相关运算矩阵Mc的其中Sb列;信号共左移Ns-1次,最终得到(Nb+Nstep)×Nms维的相关运算矩阵Mc;其中,Ns为每毫秒包含的块数,Nms为每毫秒包含的采样点数。

采用上述技术方案带来的有益效果:

现有基于双块补零算法的弱信号捕获方法不适用于采用二次编码的信号,本发明在相关运算矩阵转化为相干积分矩阵的过程中,建立二次编码与导航数据位的组合码序列集合,采用滑块相关的算法对各种可能的导航数据位组合和二次编码的码相位进行遍历,实现对弱信号的有效监测和捕获。

附图说明

图1是本发明的方法流程图。

具体实施方式

以下将结合附图,对本发明的技术方案进行详细说明。

如图1所示,一种针对卫星导航系统二次编码的弱信号捕获方法,步骤如下:

步骤1:将长度均为TI+Tbit的卫星基带信号和本地测距码通过双块补零算法进行圆周相关运算,得到(Nb+Nstep)×Nms维的相关运算矩阵Mc;其中,TI为基带信号的原始长度,Tbit为1个导航数据位,Nb为长度为TI的信号进行分块的数量,Nstep为1个导航数据位Tbit对应的分块的数量,Nms为每毫秒包含的采样点数。

上述过程依序包括如下几个部分:

基带信号和测距码的分块操作、基带信号的双块操作、测距码的补零操作、基带信号与测距码的块内相关操作和移块操作。

基带信号和测距码的分块操作过程为,将长度为TI+Tbit的基带信号分成Nb+Nstep个块,每个块包含Sb个采样点;本地生成同样长度的测距码,同样分成Nb+Nstep块,每个块包含Sb个采样点。

基带信号的双块操作的过程为,将基带信号第i个块与第i+1个块组合成新的块,得到基带信号的新的Nb+Nstep个块,每个块包含2Sb个采样点;i=1,2,…,Nb+Nstep-1。

测距码的补零操作的过程为,将测距码的每个块后面补上相同长度的零,形成新的Nb+Nstep个块,每个块含2Sb个点。

基带信号与测距码的块内相关操作和移块操作的过程为,

将基带信号与测距码对应的两个块分别做2Sb点的离散傅里叶变换,得到两个2Sb点数据;将测距码的2Sb点数据取共轭再与基带信号2Sb点数据进行点对点相乘,得到1个2Sb点数据,对这2Sb点数据进行反傅里叶变换,保留变换后的前Sb个点,将后Sb个点舍弃;对基带信号和测距码的所有块均进行前述操作,共得到(Nb+Nstep)×Sb个点,这(Nb+Nstep)×Sb构成相关运算矩阵Mc的前Sb列;

测距码统一循环左移1个块,然后将基带信号与循环左移后的测距码进行上述相关运算,得到的数据依次构成相关运算矩阵Mc的其中Sb列;信号共左移Ns-1次,最终得到(Nb+Nstep)×Nms维的相关运算矩阵Mc;其中,Ns为每毫秒包含的块数,Nms为每毫秒包含的采样点数。

步骤2:利用二次编码的序列固定,且周期为一个导航数据位宽度的特点,将二次编码调制在导航数据码,生成长度为Nb的导航数据位和二次编码的调制码;对于长度为TI的基带信号,存在的导航数据位的个数为Ndb,则导航数据位所有可能的组合的个数为即生成的调制码的个数为

步骤3:步骤2得到的调制码与步骤1得到的相关运算矩阵Mc的第1列的从起始点开始的Nb个点进行相关运算,将相关运算后的Nb个点进行离散傅里叶变换;然后从相关运算矩阵Mc的第1列的起始点下移1个二次编码的码相位对应的点数,找到相关运算矩阵Mc的第1列的新起始点,将调制码与相关运算矩阵Mc的第1列从该新起始点开始的Nb个点再次进行相关运算,将相关运算后的Nb个点进行离散傅里叶变换;重复前述过程NNH次,共得到Nb×NNH个经过离散傅里叶变换的点数据,其中,NNH为二次编码的长度。

步骤4:将步骤2得到的每一个调制码与相关运算矩阵Mc每一列都进行步骤3的操作,则一共需要进行次的离散傅里叶变换,得到个点数据。Nb代表Nb个多普勒频移搜索点,Nms代表Nms个测距码的码相位,NNH代表NNH个二次编码的码相位,代表所有可能的导航数据位组合。

步骤5:计算步骤4得到的所有点数据的能量,若能量最大值超过给定的捕获阈值,则捕获成功,对应的多普勒频移、测距码的码相位、导航数据位组合以及二次编码的码相位也分别得到。

基于双块补零(Double Block Zero Padding,DBZP)的捕获方法的特点可以归结为三点:无外界信息辅助,双频域快速傅里叶变换和相干积分时间的分割处理。其核心思想是对基带信号和本地测距码进行分块处理,将长的傅里叶变换分割为短的傅里叶变换。

DBZP算法中,分块操作的数量和移块操作的数量是有严格的意义的,并不能任意选定。下面就从功能实现角度对分块、移块、双块和补零等具体操作的实现机理进行梳理。

首先研究DBZP捕获方法中载波频率的分辨率。最终的捕获结果是通过对矩阵Mc每一列进行傅里叶变换得到的,其中列对应的是码相位,载波频率的确定与并行码相位相似,是与傅里叶变换的数据长度和采样频率确定的。分块后,数据的采样率f′s下降为原先采样率的数据点数N'为块的总数,即Nb,载波频率的分辨率:

由此可得,基于DBZP的捕获方法的频率分辨率与整段基带信号进行并行频率空间搜索的分辨率是相同的。

在DBZP算法中,多普勒频移搜索数量与分块的数量相同。下面从频率分辨率的角度给出证明。从上述载波频率分辨率的推导出发,假设多普勒搜索频率范围为(fmin,fmax),则分块的数量由以下公式得到:

显然上式也是多普勒频移所要搜索的频率点的数量。

根据上述推导的块的数量,可以推导块内的数据点数。块内的数据点数为:

由此可知,DBZP算法中,块的数量和块内数据点的数量是由采样率、相干积分时间和多普勒搜索频率范围共同决定的。

分块之后测距码的完整性被打破,所以需要通过移块的操作使测距码和基带信号可以充分进行相关。由于测距码具有周期性,不需要对所有块进行移块操作,只要完成测距码的一个周期即可。测距码一个周期需要的移块次数为:

因此,移块操作的次数是由频率搜索范围直接决定的。

DBZP算法的基础在于双块和补零两个操作,这也是双块补零算法名字的直观表述。双块和补零两个操作的目的在于完成并行码相位搜索的功能。“双块”的操作是因为测距码被分割之后失去了周期性,在进行块内操作时,灵活地采用滑块思想,保证本地测距码能够与基带信号块中的第一个子块的每一个采样点为起点充分进行相关运算;“补零”的目的在于方便以离散傅里叶变换的形式完成上述块内的并行码相位搜索,同时又不会因为循环相关影响相关运算结果。

下文以北斗D1导航电文为例进行说明。

北斗D1导航电文中调制的二次编码是指在速率为50bps的D1导航电文上调制了一个Neumann-Hoffman码(即NH码)。该NH码周期为一个导航信息位的宽度,NH码1比特宽度则与扩频码周期相同。D1导航电文一个信息位宽度为20毫秒,扩频码周期为1毫秒,因此采用20比特的NH码,码序列为(0,0,0,0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0)。码速率为1kbps,码宽为1毫秒,与导航信息码和扩频码同步调制。

如果参与相干积分的数据长度为TI,包含Ndb个导航数据位,则可能的导航数据位组合为个。例如相干积分时间为80ms,则包含4个数据导航位,可能的导航数据位组合为8个,每个导航数据位的长度为20ms,分别是

北斗D1导航电文上面调制的二次编码是在50Hz的D1导航电文上调制码速率为1kbps的NH码,该NH码周期为一个导航数据位的宽度,NH码1比特则与测距码周期相同。用于遍历导航数据位组合的序列是导航数据位与NH码的组合码。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1