一种并行化信号质量评估方法技术

技术编号:25519792 阅读:27 留言:0更新日期:2020-09-04 17:10
本发明专利技术涉及一种并行化信号质量评估方法,包括多线程、循环并行化和并行化向量、矩阵运算,循环并行化采用CUDA stream实现导航信号捕获及加速,进行捕获处理操作时,循环之间相互独立,依靠流来并发执行,程序通过流来管理并发操作;在外层捕获统计次数的循环中,采用超参数优化强化学习搜索最优参数算法;并行化向量、矩阵运算采用规约求和算法;多线程开启多个支路并行化进行跟踪及IQ基带支路的加速,CUDA中不同支路通过不同的线程可以并发执行各自的跟踪;在捕获、跟踪和IQ基带支路中,对于在每次循环中一直不变的变量,将该变量提取到循环外单独计算。本发明专利技术的优点是,运行效率高,满足GNSS信号质量评估对数据处理的实时性、可靠性以及高吞吐量的需求。

【技术实现步骤摘要】
一种并行化信号质量评估方法
本专利技术属于卫星导航信号评估
,具体涉及一种并行化信号质量评估方法。
技术介绍
全球卫星导航系统(GNSS)提供全球范围内的定位、导航、授时(PNT)服务,其应用已经渗透到国防建设、国土资源、测绘农林、交通旅游等各个领域,涉及到人类日常生活、生命安全等多个方面。卫星导航信号是GNSS中唯一同时在空间段、地面段和用户段之间建立联系的核心纽带,导航信号质量的优劣直接影响到系统的服务和用户体验,导航信号分析结果的实时性在国防及地质灾害等方面的需求极其重要。因此为了保障卫星导航系统能够提供高效快速可靠的PNT服务,在确保导航信号精确性和准确性前提下,高效的信号接收处理可以实现对突发事件的快速响应,从而能够及时为用户提供预警,避免造成用户不可估量的损失。目前国内外对于GNSS数据处理工作的并行化研究主要集中在大地测量、地球动力与测绘学科等领域,包括瑞士伯尔尼大学研发的Bernese软件,在数据处理过程中使用多线程并行进行加速,旨在为导航信号处理提供高精度支持;郭东晓等对于iGMAS电离层数据处理提出的基于分网并行解算策略的并行计算策略;武汉大学聂琳娟等对OpenMP、MPI等并行技术在卫星重力测量数据处理中的应用研究和比较;武汉大学的科研人员对于大规模的导航数据提出了分布式处理的解决方案。中国科学院国家授时中心在北斗全球系统建设、运行和服务中发挥了重大作用,在卫星信号监测过程中多次协助排查了多颗卫星的信号多径、载波泄露、功率谱不对称等异常现象,协助解决了信号设计、在轨参数注入和载荷设计调整等多项技术问题。在多项北斗卫星导航系统测试评估项目的参与过程中,分析处理了大量基于40米天线的高采样率射频采集数据。卫星数目多、数据量大等问题均成为提升处理速度的掣肘。
技术实现思路
本专利技术的目的是解决上述问题,提供一种并行化信号质量评估方法,其运行效率高,能够满足GNSS信号质量评估对数据处理的实时性、可靠性以及高吞吐量的需求。为实现上述目的,本专利技术提供如下技术方案:一种并行化信号质量评估方法,包括多线程、循环并行化和并行化向量、矩阵运算,所述循环并行化采用CUDAstream实现导航信号捕获及加速,进行捕获处理操作时,循环之间相互独立,依靠流来并发执行,程序通过流来管理并发操作;在外层捕获统计次数的循环中,采用超参数优化强化学习搜索最优参数算法;所述并行化向量、矩阵运算采用规约求和算法;所述多线程开启多个支路并行化进行信号跟踪及IQ基带支路的加速,CUDA中不同支路通过不同的线程可以并发执行各自的跟踪;在捕获、跟踪和IQ基带支路中,对于在每次循环中一直不变的变量,将该变量提取到循环外单独计算。进一步的,所述CUDAstream捕获导航信号的流程为:S1:为流、设备变量、主机变量类的相关变量分配空间并初始化,同时读取信号数据;S2:如果当前信号大于等于总信号数(下标从0开始),则输出捕获结果,程序结束;如果当前信号小于总信号数(下标从0开始),则进入第一阶段,调用相关内核函数,计算最大相关峰值、第二大峰值以及两峰之比;S3:第一阶段结束后,若两峰之比小于等于捕获门限,则继续比较当前信号是否小于总信号数(下标从0开始);若两峰之比大于捕获门限,则进入精细搜索,调用相关内核函数,计算载波频率、码相位。进一步的,所述CUDAstream单个支路跟踪导航信号的流程为:步骤一:确定当前支路代号,对当前支路进行跟踪;步骤二:判断是否读完面板上给出的数据长度的信号数据,并对每毫秒的信号数据进行计算;步骤三:将当前支路的跟踪结果存入文件。进一步的,所述步骤二中信号数据进行计算过程为:1)循环变量i为当前毫秒数,每次循环读取数据量为numOfReadin的信号数据到GPU;2)GPU将信号数据送入到内核函数进行求均值、产生伪码、点乘计算;3)从GPU中读取得到的三路伪码E、P、L,CPU根据三路伪码计算载波环鉴相、环路滤波、码环鉴相、环路滤波参数,并调整载波频率产生下一毫秒的数据量NumOfReadin;4)存储当前毫秒的跟踪结果。进一步的,单个支路IQ基带支路的评估步骤为:a.确定当前支路代号,对当前支路进行评估;b.判断是否读完面板上给出的相关数据长度的信号数据,并对每10毫秒、1次累加的信号数据进行计算;c.根据基带结果Ir、采样率和捕获结果计算最后的评估结果,将当前支路的评估结果存入文件。进一步的,所述步骤b对于信号数据的计算过程为:①循环变量i为当前累加次数,每次循环读取数据量为numOfReadin的信号数据到GPU;②GPU将信号数据送入到内核函数,并根据跟踪结果进行求均值、点乘计算;③从GPU中读取得到的载波根据载波和子载波码片速率/点数,即分辨率计算理想低通滤波器的单位脉冲响应、基带信号等参数;④调整载波频率产生下每10毫秒、1次累加的数据量NumOfReadin。进一步的,所述规约求和算法采用交替策略,该算法包含两个阶段,且两个阶段调用同一个内核;所述第一阶段内核执行NumBlocks个并行规约,其中NumBlocks是指线程块数,得到一个中间结果数组;所述第二个阶段通过调用一个线程块对这个中间数组进行规约,从而得到最终结果。进一步的,所述流表示一个GPU操作队列,并且该队列中的操作将以指定的顺序执行。进一步的,所述流为GPU的一个任务,且上述任务可并行执行,每个流上的计算都是基于SIMT模式的并行计算。进一步的,通过将每次循环内所操作的指令和数据发配到不同的流上来实现循环的并行化,每个流都是异步流水线,不阻塞主机端的代码的执行,全部操作都在流上异步执行;在外层捕获统计次数的循环中,将stream的大小确定为4进行并行计算。若stream的值太小,循环次数不会减少太多,程序的运行时间也比较长;若stream的值太大,GPU显存不够;所以将stream的大小确定为4,在规定计算范围内,设备变量所占用的空间达到最小,消耗的时间也最短。也就是将整个循环次数减少4倍,从而极大缩短了程序运行时间。与现有技术相比,本专利技术的有益效果在于:GPU是拥有高并行度计算和高存储器带宽的多核处理器,而CUDA作为一种基于新的并行编程模型和指令集架构的通用计算框架,它能够很好的利用GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务;线程可以完成一定的任务,与其他线程共享变量及部分环境,多线程技术使程序的响应速度更快,提高CPU的利用率。通过对质量评估系统采用CUDA和多线程方法基于GPU和CPU对数据进行并行加速,缩短数据处理时间,提高运行效率,时间性能可达到优化前的10倍以上,内存占用可缩短为优化前的一半左右。因此,采用CUDA和多线程方法进行并行加速后,GNSS质量评估系统能够准确、实时地进行计算处理,提供相关数据,可以满足GNSS信号质量评估对数据处理的实时性、可本文档来自技高网
...

【技术保护点】
1.一种并行化信号质量评估方法,其特征在于,包括多线程、循环并行化和并行化向量、矩阵运算,所述循环并行化采用CUDA stream实现导航信号捕获及加速;进行捕获处理操作时,循环之间相互独立,依靠流来并发执行,程序通过流来管理并发操作;在外层捕获统计次数的循环中,采用超参数优化强化学习搜索最优参数算法;所述并行化向量、矩阵运算采用规约求和算法;所述多线程开启多个支路并行化进行信号跟踪及IQ基带支路的加速,CUDA中不同支路通过不同的线程可以并发执行各自的跟踪;/n在捕获、跟踪和IQ基带支路中,对于在每次循环中一直不变的变量,将该变量提取到循环外单独计算。/n

【技术特征摘要】
1.一种并行化信号质量评估方法,其特征在于,包括多线程、循环并行化和并行化向量、矩阵运算,所述循环并行化采用CUDAstream实现导航信号捕获及加速;进行捕获处理操作时,循环之间相互独立,依靠流来并发执行,程序通过流来管理并发操作;在外层捕获统计次数的循环中,采用超参数优化强化学习搜索最优参数算法;所述并行化向量、矩阵运算采用规约求和算法;所述多线程开启多个支路并行化进行信号跟踪及IQ基带支路的加速,CUDA中不同支路通过不同的线程可以并发执行各自的跟踪;
在捕获、跟踪和IQ基带支路中,对于在每次循环中一直不变的变量,将该变量提取到循环外单独计算。


2.根据权利要求1所述的一种并行化信号质量评估方法,其特征在于,所述CUDAstream捕获导航信号的流程为:
S1:为流、设备变量、主机变量类的相关变量分配空间并初始化,同时读取信号数据;
S2:如果当前信号大于等于总信号数,则输出捕获结果,程序结束;如果当前信号小于总信号数,则进入第一阶段,调用相关内核函数,计算最大相关峰值、第二大峰值以及两峰之比;
S3:第一阶段结束后,若两峰之比小于等于捕获门限,则继续比较当前信号是否小于总信号数;若两峰之比大于捕获门限,则进入精细搜索,调用相关内核函数,计算载波频率、码相位。


3.根据权利要求1所述的一种并行化信号质量评估方法,其特征在于,所述CUDAstream单个支路跟踪导航信号的流程为:
步骤一:确定当前支路代号,对当前支路进行跟踪;
步骤二:判断是否读完面板上给出的数据长度的信号数据,并对每毫秒的信号数据进行计算;
步骤三:将当前支路的跟踪结果存入文件。


4.根据权利要求3所述的一种并行化信号质量评估方法,其特征在于,所述步骤二中信号数据进行计算过程为:
1)循环变量i为当前毫秒数,numOfReadin为跟踪环每个循环读入的点数,每次循环读取数据量为numOfReadin的信号数据到GPU;
2)GPU将信号数据送入到内核函数进行求均值、产生伪码、点乘计算;
3)从GPU中读取得到的三路伪码E、P、L,CPU根据三路伪码计算载波环鉴相、环路滤波、码环鉴相、环路滤波参数,并调整载波频率产生下...

【专利技术属性】
技术研发人员:石慧慧饶永南卢晓春王雪贺成艳张馥臣
申请(专利权)人:中国科学院国家授时中心
类型:发明
国别省市:陕西;61

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

1