一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法技术

技术编号:38229198 阅读:11 留言:0更新日期:2023-07-25 17:58
本发明专利技术公开了一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法,包括以下步骤:第一步骤:在CPU中预测当前历元的接收机状态先验值;第二步骤:在CPU中计算各跟踪通道本地参考信号的同步参数,并将这些参数送至GPU;第三步骤:利用GPU多线程方式并行生成各跟踪通道超前、即时和滞后码对应的本地参考信号;第四步骤:利用GPU多线程块方式和多流技术并行执行所有相关器,得到各相关值并送入CPU。本发明专利技术使用效果好,本方案采用CPU+GPU异构计算的方式,同时利用了GPU多线程、多流和多线程块技术,能够大幅度提高GNSS矢量接收机的运行效率,为其工程实时运行奠定基础。工程实时运行奠定基础。工程实时运行奠定基础。

【技术实现步骤摘要】
一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法


[0001]本专利技术涉及卫星导航高性能接收机
,具体为一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法。

技术介绍

[0002]全球卫星导航系统能为其覆盖范围内的用户提供高精度的三维位置、速度和时间信息,目前已经成为了全球无缝隙连续导航的首选技术之一。传统的基于标量跟踪环路的接收机因结构简单、易实现等优点被广泛应用。然而随着GNSS应用越来越广泛,用户接收机也将面临着密集城区和室内等复杂环境,此时STL的导航性能会严重下降甚至无法工作。
[0003]基于矢量跟踪环路的接收机,简称矢量接收机,其跟踪环路的参数来自于导航解的反馈,实现了各跟踪通道之间的信息共享,这使得其可以用其他质量较好的信号来辅助质量较差的信号,因此矢量接收机可以提高复杂环境下的导航性能。然而,矢量接收机跟踪环路对导航解的依赖也使其运算量大大增加,使其难以被推广应用。

技术实现思路

[0004]本专利技术的目的在于提供一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法,以解决上述
技术介绍
中提出的问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法,包括以下步骤:
[0006]第一步骤:在CPU中预测当前历元的接收机状态先验值;
[0007]第二步骤:在CPU中计算各跟踪通道本地参考信号的同步参数,并将这些参数送至GPU;
[0008]第三步骤:利用GPU多线程方式并行生成各跟踪通道超前、即时和滞后码对应的本地参考信号;
[0009]第四步骤:利用GPU多线程块方式和多流技术并行执行所有相关器,得到各相关值并送入CPU;
[0010]第五步骤:执行矢量接收机的码/载波鉴别,得到矢量接收机的观测量,最后将观测量送入扩展卡尔曼滤波器得到导航解。
[0011]优选的,所述第一步骤中,所述的在CPU中预测当前历元的接收机状态先验值的方法是:
[0012]令表示接收机的状态矢量,其中p
k
为三维位置矢量,为三维速度矢量,δt
k
为钟差,为钟漂,下标k表示第k个历元,在已有接收机运动模型先验信息的条件下,可以用k

1时刻接收机的导航解来预测k时刻接收机的状态矢量其中上标

和+分别表示状态先验值和后验更新值。
[0013]优选的,所述第二步骤中在CPU中计算各跟踪通道本地参考信号的同步参数,并将这些参数送至GPU的方法是:
[0014]首先,从星历中解算出当前各卫星的三维位置矢量和三维速度矢量其中上标i=1,2,

,L表示第i颗卫星对应的参数,L表示可见卫星数量。然后计算得到各卫星与接收机之间的方向向量据此计算出各跟踪通道本地参考信号的码相位和载波频率可以表示为:
[0015][0016][0017]其中表示在Δt时刻内卫星的位移矢量,c为光速,f
L1
=1575.42MHz为卫星信号载波频率。最后,在GPU上申请一定字节的线性内存,将中频信号x(n)、各跟踪通道的码相位和载波频率等同步参数从CPU内存拷贝到GPU内存中。
[0018]优选的,所述第三步骤中利用GPU多线程方式并行生成各跟踪通道超前、即时和滞后码对应的本地参考信号的方法是:
[0019]根据卫星信号采样点数N在GPU中分配若干个线程,利用步骤2)得到的各跟踪通道的码相位和载波频率等同步参数,各线程并行生成本地码信号和本地载波信号。从而得到L个卫星跟踪通道的超前、即时和滞后码三个支路的本地参考信号
[0020]优选的,所述第四步骤中利用GPU多线程块方式和多流技术并行执行所有相关器,得到各相关值并送入CPU的方法是:
[0021]采用GPU多线程块方式完成超前、即时和滞后三个支路的相关运算,这需要在GPU中分配三个线程块,各线程块并行执行一个跟踪通道的超前、即时和滞后三个支路对应的本地参考信号s
E,k
(n),s
P,k
(n),s
L,k
(n)和卫星信号x(n)之间的相关运算,从而得到一个跟踪通道的相关值A
E,k
,Λ
P,k
,Λ
L,k

[0022]同时利用CUDA流技术并行执行不同跟踪通道的相关值计算,这需要构建与可见卫星数量L相同的异步、独立的CUDA流,每个CUDA流执行一个跟踪通道的超前、即时和滞后三个支路的相关器,L个CUDA流并行完成所有跟踪通道相关值的计算,从而得到所有跟踪通道的相关值的相关值并将所有相关值从GPU内存传送到CPU内存中。
[0023]优选的,所述第五步骤中执行矢量接收机的码/载波鉴别,得到矢量接收机的观测量,最后将观测量送入扩展卡尔曼滤波器得到导航解的方法是:
[0024]将第四步骤中得到的各跟踪通道的相关值通过矢量接收机的码/载波鉴别器输出码相位误差值和载波频率误差值据此计算出矢量接收机的观测量Z
k
,最后将观测量Z
k
送入扩展卡尔曼滤波器得到导航解
[0025]与现有技术相比,本专利技术的有益效果是:
[0026]1、本专利技术通过CPU+GPU异构计算的方式,同时利用了GPU多线程、多流和多线程块技术来并行计算各个卫星跟踪通道的超前、即时、滞后三个支路的相关值,能够大幅度提高GNSS矢量接收机的运行效。
附图说明
[0027]图1为本专利技术提供的基于CPU+GPU异构的并行GNSS矢量接收机实现方案的流程图。
[0028]图2为本专利技术方法在CPU和GPU中的任务分配情况。
[0029]图3为基于CPU+GPU异构的并行GNSS矢量接收机的跟踪结果:
[0030]其中图3(a)为基于CPU+GPU异构的并行GNSS矢量接收机的(I,Q)散点图。
[0031]图3(b)对比了基于CPU+GPU异构的并行GNSS矢量接收机的超前码,即时码和滞后码的相关结果。
[0032]图4给出了现有矢量接收机和基于CPU+GPU异构的并行GNSS矢量接收机的定位结果:
[0033]其中图4(a)为经纬高(LLA)坐标系下两种方法定位结果比较。
[0034]图4(b)为两种方法的相对定位误差结果。
[0035]图5为现有矢量接收机和基于CPU+GPU异构的并行GNSS矢量接收机运行时间比较表格图。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0037]请参阅图1

5,本专利技术提供一种技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法,包括以下步骤,其特征在于:第一步骤:在CPU中预测当前历元的接收机状态先验值;第二步骤:在CPU中计算各跟踪通道本地参考信号的同步参数,并将这些参数送至GPU;第三步骤:利用GPU多线程方式并行生成各跟踪通道超前、即时和滞后码对应的本地参考信号;第四步骤:利用GPU多线程块方式和多流技术并行执行所有相关器,得到各相关值并送入CPU;第五步骤:执行矢量接收机的码/载波鉴别,得到矢量接收机的观测量,最后将观测量送入扩展卡尔曼滤波器得到导航解。2.根据权利要求1所述的一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法,其特征在于:所述第一步骤中,所述的在CPU中预测当前历元的接收机状态先验值的方法是:令表示接收机的状态矢量,其中p
k
为三维位置矢量,为三维速度矢量,δt
k
为钟差,为钟漂,下标k表示第k个历元,在已有接收机运动模型先验信息的条件下,可以用k

1时刻接收机的导航解来预测k时刻接收机的状态矢量其中上标

和+分别表示状态先验值和后验更新值。3.根据权利要求1所述的一种基于CPU+GPU异构的并行GNSS矢量接收机实现方法,其特征在于:所述第二步骤中在CPU中计算各跟踪通道本地参考信号的同步参数,并将这些参数送至GPU的方法是:首先,从星历中解算出当前各卫星的三维位置矢量和三维速度矢量其中上标i=1,2,

,L表示第i颗卫星对应的参数,L表示可见卫星数量。然后计算得到各卫星与接收机之间的方向向量据此计算出各跟踪通道本地参考信号的码相位和载波频率可以表示为:表示为:其中表示在Δt时刻内卫星的位移矢量,c为光速,f
L1
=1575.42MHz为卫星信号载波频率。最后,在GPU上申请一定字节的线性内存,将中频信号x(n)、各跟踪通道的码相位和载波频率等同步参数从CPU内存拷贝到GPU内存中。4.根据权利要求1所述的一种基于CPU+GPU异构的并...

【专利技术属性】
技术研发人员:贾琼琼李伟鹏吴仁彪
申请(专利权)人:中国民航大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1