一种基于GPU的导航软件接收机的相关器实现方法技术

技术编号:13838072 阅读:71 留言:0更新日期:2016-10-16 00:52
本发明专利技术提供了一种基于GPU的导航软件接收机的相关器实现方法,包括:步骤1,从多个卫星通道接收输入数据,所述输入数据包括通道扩频码和通道载波剥离后的中频数据;步骤2,以二维的线程网格运行相关计算的核函数,进行多通道多时间点的同步相关计算,所述线程网格的X维上的线程块对应处理同一卫星通道的输入数据,且每个所述线程块处理H/M个毫秒的数据,从而实现对同一通道输入数据上M个时间点上数据的同步相关计算,其中,所述H为同一卫星通道的输入数据的毫秒长度,同一X维上所述线程块的个数为所述M,所述Y维上的线程块与不同的卫星通道对应,从而实现对多通道输入数据的同步相关计算;步骤3,获得同步相关计算的结果。

【技术实现步骤摘要】

本专利技术涉及卫星导航
,具体地,涉及一种基于GPU的导航软件接收机的相关器实现方法
技术介绍
目前,主流的GNSS接收机用专用集成电路(ASIC,Application Specific Integrated Circuit)实现,导航芯片大规模应用于导航终端,但是,随着全球卫星导航系统(GNSS,Global Navigation Satellite System)系统的升级和各种区域导航系统的建设(如QZSS),越来越多的导航信号格式被引入,而这些信号与原有系统不兼容,需要开发新的信号处理算法。而基于ASIC实现的导航接收机灵活性差,旧的接收机无法兼容新的信号,因而,软件接收机被提出。软件接收机由于其可复用性以及良好的可扩展性,成为导航算法测试和验证的理想平台,成为近年来的研究热点。然而,软件接收机由于只有通用处理器,缺乏硬件接收机中大量的硬件计算单元,因而其计算能力不强,尤其对于采样率高达数十MHz乃至上百MHz的中频数据,其处理速度远远达不到实时处理的要求。接收机的计算能力的提升是目前亟待解决的问题。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于GPU的导航软件接收机的相关器实现方法。根据本专利技术提供的一种基于GPU的导航软件接收机的相关器实现方法,其特征在于,包括:步骤1,从多个卫星通道接收输入数据,所述输入数据包括通道扩频码和通道载波剥离后的中频数据;步骤2,以二维的线程网格运行相关计算的核函数,进行多通道多时间点的同步相关计算,所述线程网格的X维上的线程块对应处理同一卫星通道的输入数据,且每个所述线程块处理H/M个毫秒的数据,从而实现对同一通道输入数据上M个时间点上数据的同步相关计算,其中,所述H为同一卫星通道的输入数据的毫秒长度,同一X维上所述
线程块的个数为所述M,所述Y维上的线程块与不同的卫星通道对应,从而实现对多通道输入数据的同步相关计算;步骤3,获得同步相关计算的结果。作为一种优化方案,所述线程块进一步包括2n个线程,每个线程处理连续相连的多个数据点。作为一种优化方案,所述线程块进一步包括2n个线程,每个线程处理固定间隔的多个数据点。作为一种优化方案,所述线程块配置为处理H/M个毫秒的数据进一步包括:步骤21,线程块内对待处理的H/M个毫秒内的所述通道扩频码和所述通道载波剥离后的中频数据进行相干积分;步骤22,线程内对相干积分后的数据进行内部累加,每个线程获得一累加结果;步骤23,同一线程块所包含的线程之间对所述累加结果进行规约求和获得1个时间点上数据的相关计算结果。作为一种优化方案,所述步骤23中的规约求和过程进一步包括:步骤231,对同一线程块中线程的所述累加结果取依次相邻成对,对每一对进行一次求和,步骤232,对上一次求和的结果再次取依次相邻成对,对每一对再次进行一次求和,步骤233,若本次求和结果数量大于1,则回到步骤232,若仅得到一个求和结果则作为本线程块的相关计算结果。作为一种优化方案,所述线程块的个数与同一卫星通道的输入数据的毫秒长度相等,每个所述线程块处理1个毫秒的数据。作为一种优化方案,所述核函数包括: C o r r ( n ) = Σ i = 1 N c ( n * N + i ) * d ( n * N + i ) * p ( n * N + i ) , ]]>其中,Corr(n)表示一个线程块对应的相关计算结果,N表示1ms内的数据点数,p(n)表示通道扩频码,c(*)*d(*)表示通道载波剥离后的中频数据。与现有技术相比,本专利技术具有如下的有益效果:本实施例中,将从多个卫星通道接收的数据进行同时处理,提高了计算能力。通过
X维的线程块将每一个通道的数据划分为多个时间点,每个时间点上的数据由一个线程块执行处理,且每个线程块中又包含多个线程,通过多个线程块的同时处理实现多个时间点上数据的同步处理,进一步地提高了计算能力。同时采用“相邻线程计算相邻的点”的线程内部计算,以及线程间累加时采用规约求和策略和共享存储器,再一步提高了计算能力。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:图1是可选的一种基于GPU的导航软件接收机的模块原理示意图;图2是可选的一种基于GPU的导航软件接收机相关器实现方法的建立流程示意图;图3是可选的一种基于GPU的导航软件接收机相关器的核函数功能示意图;图4是可选的一种基于GPU的导航软件接收机相关器实现方法的核函数的Grid结构设计图;图5是可选的一种基于GPU的导航软件接收机相关器实现方法的核函数的thread计算方法示意图;图6是可选的一种基于GPU的导航软件接收机相关器实现方法的规约求和的计算原理图;图7是可选的一种基于GPU的导航软件接收机相关器实现方法的每个block内部的计算过程示意图。具体实施方式下文结合附图以具体实施例的方式对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,还可以使用其他的实施例,或者对本文列举的实施例进行结构和功能上的修改,而不会脱离本专利技术的范围和实质。近年来,图形处理单元(GPU,Graphics Processing Unit)的计算能力不断增强,而接收机中尤其是接收机跟踪模块中又包含大量的相关操作,如图1,GPU适合用于对接收机进行加速。因而本专利技术考虑用GPU来加速软件接收机的计算,尤其是对相关操作计算的加速。综上所述,本专利技术解决的问题是如何对相关操作进行GPU加速,以满足导航软件接收机对中频数据的实时处理能力。本专利技术提供一种基于GPU的导航软件接收机相关器实现方法,具体地,是对导航软件接收机中的相关操作进行GPU加速,以满足导航软件接收机对中频数据的实时处理能力。在本专利技术提供的一种基于GPU的导航软件接收机的相关器实现方法的实施例中,如图1所示,包括:步骤1,从多个卫星通道接收输入数据,所述输入数据包括通道扩频码和通道载波剥离后的中频数据;步骤2,以二维的线程网格运行相关计算的核函数,进行多通道多时间点的同步相关计算,所述线程网格的X维上的线程块对应处理同一卫星通道的输入数据,且每个所述线程块处理H/M个毫秒的数据,从而实现对同一通道输入数据上M个时间点上数据的同步相关计算,其中,所述H为同一卫星通道的输入数据的毫秒长度,同一X维上所述线程块的个数为所述M,所述Y维上的线程块与不同的卫星通道对本文档来自技高网
...

【技术保护点】
一种基于GPU的导航软件接收机的相关器实现方法,其特征在于,包括:步骤1,从多个卫星通道接收输入数据,所述输入数据包括通道扩频码和通道载波剥离后的中频数据;步骤2,以二维的线程网格运行相关计算的核函数,进行多通道多时间点的同步相关计算,所述线程网格的X维上的线程块对应处理同一卫星通道的输入数据,且每个所述线程块处理H/M个毫秒的数据,从而实现对同一通道输入数据上M个时间点上数据的同步相关计算,其中,所述H为同一卫星通道的输入数据的毫秒长度,同一X维上所述线程块的个数为所述M,所述Y维上的线程块与不同的卫星通道对应,从而实现对多通道输入数据的同步相关计算;步骤3,获得同步相关计算的结果。

【技术特征摘要】
1.一种基于GPU的导航软件接收机的相关器实现方法,其特征在于,包括:步骤1,从多个卫星通道接收输入数据,所述输入数据包括通道扩频码和通道载波剥离后的中频数据;步骤2,以二维的线程网格运行相关计算的核函数,进行多通道多时间点的同步相关计算,所述线程网格的X维上的线程块对应处理同一卫星通道的输入数据,且每个所述线程块处理H/M个毫秒的数据,从而实现对同一通道输入数据上M个时间点上数据的同步相关计算,其中,所述H为同一卫星通道的输入数据的毫秒长度,同一X维上所述线程块的个数为所述M,所述Y维上的线程块与不同的卫星通道对应,从而实现对多通道输入数据的同步相关计算;步骤3,获得同步相关计算的结果。2.根据权利要求1所述的一种基于GPU的导航软件接收机的相关器实现方法,其特征在于,所述线程块进一步包括2n个线程,每个线程处理连续相连的多个数据点。3.根据权利要求1所述的一种基于GPU的导航软件接收机的相关器实现方法,其特征在于,所述线程块进一步包括2n个线程,每个线程处理固定间隔的多个数据点。4.根据权利要求1-3任一所述的一种基于GPU的导航软件接收机的相关器实现方法,其特征在于,所述线程块配置为处理H/M个毫秒的数据进一步包括:步骤21,线程块内对待...

【专利技术属性】
技术研发人员:陈新郜锦雷王玉泽刘佩林郁文贤
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

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

1