论文部分内容阅读
随着卫星导航领域的迅猛发展,导航信号与我们息息相关,广泛应用于交通运输、水文监测、气象预报和应急救援等领域。开展空间信号质量评估有助于监测导航信号质量,提供高可靠和高可用的导航信号,而快速精准的信号质量评估可以迅速评估导航信号性能指标,提高导航服务能力。本文旨在研究GNSS空间信号质量评估的并行优化技术,提高信号质量评估效率,更好的为导航用户提供高质量信号服务。本文以Galileo E5信号质量评估流程为研究对象,选取信号捕获和信号跟踪两个主要模块进行并行方案研究,选取相关曲线生成算法模块进行并行方案验证。经过文献调研提出基于Parallel Computing Toolbox并行方案、基于Spark分布式并行方案和基于CUDA编程并行方案三种并行策略。首先分析信号捕获、信号跟踪和相关曲线生成算法,定位热点耗时代码逻辑。对于信号捕获,采用对比实验对三种并行方案进行设计与实现,实验结果显示基于CUDA编程的并行捕获方案单次捕获仅耗时0.5秒,优化后的热点代码逻辑耗时0.36秒,和原算法相比具有很好的加速效果。信号跟踪算法模块并行化提出基于Spark分布式并行跟踪方案和基于CUDA编程的并行跟踪方案,采用相同的实验数据对两种并行方案进行设计与实现,实验结果显示基于CUDA编程的并行跟踪方案加速比达到了 12.66,具有较好的加速效果。经过信号捕获和信号跟踪的并行化研究,基于CUDA编程的并行方案具有良好的执行效率,为了验证基于CUDA编程的并行方案对于信号质量评估的适用性,采用此方案对相关曲线生成算法模块进行并行化设计。从数据存储、并行流程、内核函数实现以及C-MEX文件设计等角度对基于CUDA编程的相关曲线生成进行设计与实现,采用相同的原始数据在原算法和并行方案上进行实验,通过实验,基于CUDA编程的并行相关曲线生成平均耗时0.26秒,单次相关曲线生成耗时0.026秒,基于CUDA编程的并行方案在相关曲线生成算法上加速效果明显。通过对基于CUDA编程并行相关曲线生成的验证,结合空间信号质量评估中涉及众多大型矩阵运算等特点,本文提出基于CUDA编程的并行优化方案。基于CUDA编程的并行方案具有良好的扩展性,提供通用的编程接口便于多个卫星同时进行评估,通过使用基于CUDA编程的并行方案对空间信号质量评估加速,提高了信号质量评估效率,为提供高质量导航信号提供可靠保障。