基于CUDA的GPS信号C/A码快速捕获探析

2017-09-20 14:22贾兴刚许向阳刘丹丹
科学家 2017年15期

贾兴刚 许向阳 刘丹丹

摘 要 为了实现PC平台上GPS软件接收机C/A码信号的快速搜索,本文提出了一种由CUDA快速捕获GPS信号的方法。该方法以数据分块和频率补偿信号捕获算法为基础,通过CUDA代码的编写,在GPU上并行计算实现信号的捕获。最后,将本方法与传统的捕获方法進行比较。

关键词 CUDA;捕获;数据分块;软件接收机

中图分类号 TN92 文献标识码 A 文章编号 2095-6363(2017)15-0087-01

GPS扩频信号的快速捕获技术一直是卫星信号处理研究的热点。CUDA是利用图形处理单元实现通用计算的编程模型,能够使用大量的处理单元进行并行计算。本文在数据分块和频率补偿信号捕获算法基础上,提出一种利用CUDA实现GPS信号C/A码快速捕获的方法。仿真结果表明:冷启动条件下,搜索完全部GPS卫星只需1.602s,捕获时间减少了。

1 数据分块和频率补偿信号捕获原理

数据分块和频率补偿的信号补偿算法是将Lms的采样数据分块,每块包含1ms的数据,通过载波相位调整后的数据块累加使信号强度提高,将中频数据采样按横块和竖块重新排列,对竖块数据进行FFT,对横快数据进行FFT码相位并行捕获。

对一个L×N的输入数据块捕获,数据分块和频率补偿的信号捕获总的FFT运算量为10×2×L个N点FFT加上N个L点FFT,如果直接对L×N的输入数据进行FFT,总的计算量为20×L个L×N点的FFT。当L>1时,通过几种不同的L长度两种方法的运算量对比,先分块处理然后进行FFT捕获,利用FFT快速算法减少计算量从而达到快速捕获的目的。

2 基于CUDA的快速捕获

CUDA将并行计算从大型集群扩展到普通显卡,使用户只需要配置英伟达显卡的电脑就可以运行较大规模的并行处理程序。GPU执行FFT的并行计算速度超过了CPU执行FFT的速度,使用基于数据分块频率补偿与cuFFT相结合的的信号捕获算法,可以实现更快的捕获。

设定FFT点数为8192,输入数据FFT的运算组数(Batch)为10,本地信号FFT的Batch为30,采用300个线程实现频域相乘的操作。FFT的最大操作元素个数为8192×10×30=2457600。捕获N号卫星的操作步骤如下:

Step1分配主机内存空间。

Step2分配设备内存空间。

Step3传入卫星信号。

Step4对信号分块。

Step5对输入信号进行cuFFT变换。

Step6对本地伪码进行cuFFT变换。

Step7根据频率步进值调整伪码cuFFT顺序,将输入信号的FFT结果和本地伪码信号FFT结果共轭做乘法。

Step8对结果做cuIFFT逆变换得到一个矩阵,对这个矩阵中的数判断最大值是否超过阈值。

Step9如果超过阈值,则捕获成功,横向是多普勒频移信息,纵向是伪码相位信息。如果不是则返回第一步继续。

3 性能测试

在VS2010下利用C语言和CUDA编程语言分别实现捕获算法。一种是基于FFT的码相位并行搜索算法,使用的FFT是做了适量修改后的FFTW软件包;另一种方法是本文提出的基于CUDA的快速捕获方法。

仿真环境设置:硬件平台为:英特尔i7-7700 3.60GHz,显卡NVIDIA GeForce GTX 1060,3GB显存,GPU的核心频率是1.76GHz,1152个流处理器。测试过程中使用的时间函数是VS2010自带的clock()函数。仿真环境不同测试的结果可能不同。

准备一组静态测试的中频数据。基本参数为:90s的BeiDou和GPS双模中频数据文件。采样频率为16.367 6MHz,理论中频为4.130 4MHz,2比特量化,高比特为符号位,低比特为幅度位。程序中设计只捕获GPS信号,两种方法捕获结果如表1所示。

由表1可见,两种方法检测到的参数几乎相同,检测性能没有影响,但改进方法的计算速度提高了。

4 结论

本文针对GPS软件接收机C/A码信号快速捕获的问题,以数据分块和频率补偿的信号补偿算法为基础,提出了一种CUDA运算数据分块和频率补偿算法快速捕获GPS信号的方法。在PC平台下将本方法和传统码相位捕获方法进行了比较,结果表明,在保证捕获性能的前提下,捕获时间减少了。该方法对其他扩频信号的快速捕获具有一定的参考价值。

参考文献

[1]L Xu,NI Ziedan. Correlation acceleration in GNSS software receivers using a CUDA-enabled GPU .Gps Solutions,2016:1-12.

[2]程俊仁,刘光斌,张博.基于CUDA的GPS信号快速捕获[J].宇航学报,2010,31(10):2407-2410.

[3]鲁郁.北斗/GPS双模软件接收机原理与实现技术[M].北京:电子工业出版社,2016.endprint