一种基于GPU向量运算的多相关器计算方法转让专利

申请号 : CN201611150038.2

文献号 : CN106772459B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 牟卫华倪少杰王飞雪孙广富欧钢刘文祥庞晶刘小汇高毅

申请人 : 中国人民解放军国防科学技术大学

摘要 :

本发明提出一种基于GPU向量运算的多相关器计算方法,解决现有技术中扩频信号软件多相关器运算时间长的问题。通过建立一种基于矩阵向量运算的扩频信号并行多相关器计算模型,将输入信号向量和本地参考信号矩阵批处理,利用GPU中大量的浮点运算单元以及矩阵向量乘法并行计算相关值,提高了信号多相关运算的实时性,能够实现扩频信号软件多相关器实时计算,对卫星导航扩频信号完好性监测以及多径抑制有着重大意义。

权利要求 :

1.一种基于GPU向量运算的多相关器计算方法,其特征在于,包括以下步骤:

1)根据伪距ρ确定输入信号采样数据流的起始点,将输入信号向量化,将接下来的N个采样数据点定义为输入信号向量S,S=[s(0) s(1) … s(N-1)]T;

2)根据信号载波多普勒频率fd、载波相位 由公式(1)计算生成相干积分时间内的本地载波多普勒信号向量C,计算输入信号向量S与本地载波多普勒信号向量C的哈达马积,将输入信号向量S中的分量与载波多普勒信号向量C中的分量对应相乘,得到剥离载波的基带复信号向量X;

其中:T为信号采样周期,N为相干积分时间内的采样点数;

3)根据扩频信号伪码频率fP、伪码初始相位ρ0以及相关器数目M,其中M为奇数,由公式(3)生成M个本地参考伪码向量,M个本地参考伪码向量间的码相位间隔δ为2/(M-1)fP,这M个本地参考伪码向量组成本地多相位参考伪码矩阵YMP;

其中,PN(n)为伪码序列;

4)基于图形处理单元的基础线性代数子程序库或基于英特尔数学核心函数库,通过矩阵向量乘法并行计算基带复信号向量X与本地多相位参考伪码矩阵YMP的乘积,得到M个相关值组成的多相关值向量为RMP;

说明书 :

一种基于GPU向量运算的多相关器计算方法

技术领域

[0001] 本发明涉及卫星导航扩频信号接收处理领域,特别是卫星导航信号完好性监测与多径抑制中多相关器计算方法。

背景技术

[0002] 在卫星导航信号完好性监测、多径抑制以及GNSS-R遥感等应用中,需要在一个通道中实现高分辨率多相关器,几十个通道的相关运算对运算资源提出很高的要求。多相关器设计技术是接收机关键技术之一。
[0003] GPU中有数以百计的浮点运算单元。近几年,基于GPU的通用计算技术开始应用于工程计算领域。相关专家和研究机构对GPU通用计算在导航信号接收领域的应用进行了部分研究,通过GPU中大量的运算单元并行计算,相比基于CPU的相关运算速度进一步提升。目前多核多处理器并行结构计算机已成为桌面计算机主流产品,大部分软件接收机算法基于单核处理器的串行运算,如何挖掘算法并行性,充分利用处理器资源是需要解决的核心问题。

发明内容

[0004] 本发明的目的在于提出一种基于GPU向量运算的多相关器计算方法,解决现有技术中扩频信号软件多相关器运算时间长的问题。
[0005] 信号接收通道中的核心部件为相关器,主要完成基带信号与本地参考信号的相关运算。在多核处理器或GPU实现软件相关器时,为了充分利用众多处理器内核的运算资源,数据处理方式采用批处理方式,将所处理的数据向量化。使用向量空间的概念来分析导航信号相关接收能带来诸多方便。
[0006] 一种基于GPU向量运算的多相关器计算方法,包括以下步骤:
[0007] 1)根据伪距ρ确定输入信号采样数据流的起始点,将输入信号向量化,将接下来的N个采样数据点定义为输入信号向量S,S=[s(0) s(1) … s(N-1)]T;
[0008] 2)根据信号载波多普勒频率fd、载波相位 由公式(1)计算生成相干积分时间内的本地载波多普勒信号向量C,计算输入信号向量S与本地载波多普勒信号向量C的哈达马积,将输入信号向量S中的分量与载波多普勒信号向量C中的分量对应相乘,得到剥离载波的基带复信号向量X;
[0009]
[0010]
[0011] 其中:T为信号采样周期,N为相干积分时间内的采样点数;
[0012] 3)根据扩频信号伪码频率fP、伪码初始相位ρ0以及相关器数目M(其中M为奇数),由公式(3)生成M个本地参考伪码向量,M个本地参考伪码向量间的码相位间隔δ为2/(M-1)fP,这M个本地参考伪码向量组成本地多相位参考伪码矩阵YMP;
[0013]
[0014] 其中,PN(n)为伪码序列,其根据需要接收的信号类型和GPS/GLONASS/BDS/Galileo导航系统信号接口控制文件(ICD),选择不同的伪码序列。
[0015] 4)基于NVIDIA公司图形处理单元(GPU)的基础线性代数子程序库(CUBLAS)或基于英特尔数学核心函数库(MKL),通过矩阵向量乘法并行计算基带复信号向量X与本地多相位参考伪码矩阵YMP的乘积,得到M个相关值组成的多相关值向量为RMP。
[0016]
[0017] 特别地,当M为3时,即一种基于GPU向量运算的三相关器计算方法,其中的步骤(1)和(2)与上述相同,在第(3)步中,根据扩频信号伪码频率fP、伪码初始相位ρ0以及相关间隔δ,由公式(3)生成3个本地参考伪码向量,这3个本地参考伪码向量组成本地3相位参考伪码矩阵YEPL;
[0018] 在第(4)步中,基于NVIDIA公司图形处理单元(GPU)的基础线性代数子程序库(CUBLAS)或基于英特尔数学核心函数库(MKL),通过矩阵向量乘法并行计算基带复信号向量X与本地3相位参考伪码矩阵YEPL的乘积,得到3个相关值组成的相关值向量R。
[0019]
[0020] 本发明具有以下明显优点:
[0021] 1、本发明引入向量概念对导航扩频信号相关接收处理过程进行分析,使用向量空间的概念来分析导航信号相关接收带来了诸多方便。
[0022] 2、本发明建立了一种基于矩阵向量运算的扩频信号并行多相关器计算模型,将输入信号向量和本地参考信号矩阵批处理,利用GPU中大量的浮点运算单元以及矩阵向量乘法并行计算相关值,提高了信号多相关运算的实时性,能够实现扩频信号软件多相关器实时计算。
[0023] 3、本发明通过软件并行计算扩频信号多个不同伪码延迟相关值的方法,相比在FPGA中实现的方法,接收通道全部算法采用PC软件编程实现,对于新体制信号的验证,修改灵活方便,可广泛应用于扩频信号实时软件接收机相关接收通道以及信号完好性监测设备中。

附图说明

[0024] 图1为本发明的原理框图;
[0025] 图2为本发明M为3时的原理框图;

具体实施方式

[0026] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0027] 参照图1,本发明一种基于GPU向量运算的多相关器计算方法,包括以下步骤:
[0028] 1)根据伪距ρ确定输入信号采样数据流的起始点,将输入信号向量化,将接下来的N个采样数据点定义为输入信号向量S,S=[s(0) s(1) … s(N-1)]T;
[0029] 2)根据信号载波多普勒频率fd、载波相位 由公式(1)计算生成相干积分时间内的本地载波多普勒信号向量C,计算输入信号向量S与本地载波多普勒信号向量C的哈达马积,将输入信号向量S中的分量与载波多普勒信号向量C中的分量对应相乘,得到剥离载波的基带复信号向量X;
[0030]
[0031]
[0032] 其中:T为信号采样周期,N为相干积分时间内的采样点数;
[0033] 3)根据扩频信号伪码频率fP、伪码初始相位ρ0以及相关器数目M(其中M为奇数),由公式(3)生成M个本地参考伪码向量,M个本地参考伪码向量间的码相位间隔δ为2/(M-1)fP,这M个本地参考伪码向量组成本地多相位参考伪码矩阵YMP;
[0034]
[0035] 其中,PN(n)根据需要接收的信号类型和GPS/GLONASS/BDS/Galileo导航系统信号接口控制文件(ICD),选择不同的伪码序列。
[0036] 4)基于NVIDIA公司图形处理单元(GPU)的基础线性代数子程序库(CUBLAS)或基于英特尔数学核心函数库(MKL),通过矩阵向量乘法并行计算基带复信号向量X与本地多相位参考伪码矩阵YMP的乘积,得到M个相关值组成的多相关值向量为RMP。
[0037]
[0038] 参照图2,当M为3时,即一种基于GPU向量运算的三相关器计算方法,其中的步骤(1)和(2)与上述相同,在第(3)步中,根据扩频信号伪码频率fP、伪码初始相位ρ0以及相关间隔δ,由公式(3)生成3个本地参考伪码向量,,这3个本地参考伪码向量组成本地3相位参考伪码矩阵YEPL;
[0039] 在第(4)步中,基于NVIDIA公司图形处理单元(GPU)的基础线性代数子程序库(CUBLAS)或基于英特尔数学核心函数库(MKL),通过矩阵向量乘法并行计算基带复信号向量X与本地3相位参考伪码矩阵YEPL的乘积,得到3个相关值组成的相关值向量R。
[0040]
[0041] 以上包含了本发明优选实施例的说明,这是为了详细说明本发明的技术特征,并不是想要将发明内容限制在实施例所描述的具体形式中,依据本发明内容主旨进行的其他修改和变型也受本专利保护。本发明内容的主旨是由权利要求书所界定,而非由实施例的具体描述所界定。