CN108073455A - 一种基于gpu的卫星导航信号并行模拟方法 - Google Patents

一种基于gpu的卫星导航信号并行模拟方法 Download PDF

Info

Publication number
CN108073455A
CN108073455A CN201611009712.5A CN201611009712A CN108073455A CN 108073455 A CN108073455 A CN 108073455A CN 201611009712 A CN201611009712 A CN 201611009712A CN 108073455 A CN108073455 A CN 108073455A
Authority
CN
China
Prior art keywords
gpu
signal
satellite navigation
satellite
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611009712.5A
Other languages
English (en)
Other versions
CN108073455B (zh
Inventor
宋茂忠
熊骏
杜蒙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201611009712.5A priority Critical patent/CN108073455B/zh
Publication of CN108073455A publication Critical patent/CN108073455A/zh
Application granted granted Critical
Publication of CN108073455B publication Critical patent/CN108073455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/23Testing, monitoring, correcting or calibrating of receiver elements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

本发明公开了一种基于GPU的卫星导航信号并行模拟方法,以解决卫星导航技术领域的测试信号产生过程中计算速度慢的问题,这种方法采用CPU+GPU的混合异构计算模式,引入GPU作为信号合成的加速部件,配合CPU共同完成程序运行。其中CPU负责用户数据读取、可见星判断、模型计算等功能,GPU负责高采样率下传播时延计算、查表计算、信号相乘与累加等功能。在内存优化上,扩频码和导航电文使用纹理内存,三阶变化率参数和稀疏采样传播时延使用常量内存,加速了程序的内存访问速度。最终,提高了卫星导航信号模拟的速度。

Description

一种基于GPU的卫星导航信号并行模拟方法
技术领域
本发明涉及一种基于GPU加速的卫星信号模拟源实现方法,属于卫星导航与测试领域。
背景技术
随着卫星导航技术的日益普及和广泛应用,对相关的产品研制测试评估的提出了更高要求,卫星导航信号模拟源已经成为重要的测量设备。传统卫星导航信号模拟方法主要有两种:一种是纯硬件组合的卫星导航模拟源,这种模拟源性能稳定,但是成本高,不易于维护和升级;另一种是上位机软件与播放硬件组合的模拟源,具有低成本、易升级、可便携的优点。对于第二种模拟源方案,其大致实现流程为:上位机软件生成中频信号文件,播放硬件读取该文件并将中频信号上变频至射频信号,最终通过天线播放。其中,中频信号文件生成是卫星导航信号模拟源的核心技术,在该过程中需要庞大的运算量来生成信号,这给CPU带来了极大的运行负担,大大降低了模拟源的使用效率,导致传统上位机软件在信号采样率、处理速度、计算精度等方面难以满足复杂的应用需求。
自GPU发布以来,一直保持着高速发展的状态,目前,GPU可以提供数十倍甚至上百倍于CPU的浮点计算性能。因此,GPU在很多工程领域获得了应用,它能够大幅度提升工程计算的效率。本发明利用GPU的大规模并行计算能力,实现了高效率的卫星导航信号模拟方法,提升了卫星导航信号生成速度和效率。
发明内容
发明目的:本发明提供了一种高效率的卫星导航信号模拟方法,使用GPU对模拟运算进行加速,降低了卫星导航模拟源成本;同时提升了卫星导航信号生成速度和采样率。
技术方案:采用CPU+GPU的混合异构计算模式,引入GPU作为信号合成的加速部件,配合CPU共同完成程序运行。其中CPU负责程序总体调度和包含复杂逻辑的算法运算,GPU负责可并行化的大规模数据计算,根据硬件特性予以适当优化,步骤如下:
(1)CPU读取起始参数和初始化信息,包含模拟信号时长、模拟坐标、导航电文等数据;
(2)以模拟坐标作为站心坐标系原点,排除仰角低于10°的卫星,并生成可见星扩频码;
(3)根据可见星排除结果,在CPU上计算每颗可见星的数据,生成稀疏采样时刻的信号传输时延和三阶变化率参数;
(4)在GPU上开辟输入参数的空间,并将步骤(2)、(3)得到的数据从内存传入GPU显存,稀疏采样时刻信号传播时延和三阶变化率参数存入常量内存,可见星扩频码和导航电文存入二维纹理内存;
(5)设计GPU线程,步骤(6)(7)(8)的核函数均采用此线程结构。即:N个并行线程块组成,每个线程块均为2维,每个线程块由N_CH×M个线程组成;
(6)调用核函数,结合稀疏采样时刻信号传输时延和三阶变化率参数,完成所有信号采用时刻的传输时延计算;
(7)根据步骤(6)的计算结果确定信号的码相位和载波多普勒,并生成模拟中频信号存在GPU显存中;
(8)将多颗星的模拟中频信号相加,合成为一个信号,经过量化后将数据回传本地内存;
(9)CPU将数据写入文件并通过主函数判断信号是否生成完毕,如果没有,回到步骤(4)继续循环;如果完成,则程序结束,并释放GPU上开辟的内存空间。
有益效果:
(1)信号参数计算,查表运算与信号调制均采用多通道并行计算,能够同时完成多颗星的数据运算,充分利用了GPU运算性能,同时对不同的计算参数采用不同的内存访问方式,降低了内存访问延迟,使基于GPU的卫星导航信号模拟算法相比传统算法的平均加速比达到20倍以上;
(2)可模拟单点、动态、高动态卫星导航信号,且信号参数可调,能够适用于多种仿真环境的需求;
附图说明
图1本发明的系统架构图。
图2本发明的CPU-GPU数据通信模型。
图3本发明的线程设计模型。
图4本发明的程序执行流程。
图5本发明的码相位计算流程。
图6本发明的测试系统图。
图7本发明的验证结果图。
具体实施方式
为了阐明本发明的技术方案及技术目的,下面结合附图及具体实施方式对本发明做进一步的介绍。
图1为本发明的系统框图,采用CPU+GPU的混合计算结构,CPU完成用户设置的参数读取和信号模型计算,GPU完成信号合成计算。
硬件配置如下:
CPU:Intel(R)Core(R)CPU i5 4200m@2.5G
GPU:NVidia GeForce GT740M
软件配置如下:
操作系统:Window7 64位
编程环境:Microsoft Visual Studio 2013
SDK:NVidia CUDA 7.5
根据以上软件和硬件配置,设置信号采样率为16.369MHz,信号中频为3.996875MHz,使用C编译的传统卫星导航信号模拟方法,生成5分钟北斗卫星导航系统B1频点信号所需时间为80.13分钟;而采用CUDA7.5编译的基于GPU的卫星导航信号模拟方法,所需时间仅为3.83分钟,加速比达到20.92。
图4为本发明的程序执行流程图,其实现步骤如下:
1.用户参数读取模块包含:用户坐标信息、导航电文信息、最低可见星仰角、对流层修正使能、电离层修正使能和噪声修正参数。
用户参数读取模块工作流程为:
(1)读取用户坐标信息,静态坐标为经度纬度高度,动态坐标来自KML文件或者定位接收机输出的NMEA数据;
(2)导航电文信息来自RINEX文件;
(3)最低可见仰角为卫星最低的可见角度,一般设定为10°;
(4)对流层修正使能、电离层修正使能分别为这两种误差修正的开关参数,噪声修正参数的单位为分贝(DB)。
2.信号模型计算包含:可见星判断、信号误差模拟、稀疏采样时刻信号传播时延计算、三阶变化率参数计算。
信号模型计算模块工作流程为:
(1)根据输入的用户坐标和导航电文信息,计算模拟时刻的卫星位置(计算方法以不同的卫星导航系统的接口控制文件为准),以用户坐标为站心坐标系原点,计算所有卫星的仰角,排除不可见卫星,并生成可见星的扩频码;
(2)根据输入的修正参数,模拟信号误差,计算稀疏采样时刻的信号传播时延τi
τi=τd+δtu-δts+I+T (1)
其中,δtu为接收机钟差、δts为卫星钟差、I为电离层延迟和T为对流层延迟;
(3)计算信号的三阶变化率参数υτ、ατ、ατ
其中,Δt为稀疏采样间隔时长,其值在低动态情况下设定为0.1s,高动态情况下设定为0.01s,τ0、τ1、τ2、τ3为τi在相邻Δt时刻的值。
3.信号合成模块在GPU执行,CPU-GPU数据通信模型见图2,其输入参数包含:稀疏采样时刻信号传播时延、三阶变化率参数、可见星扩频码、导航电文。
信号合成模块的工作流程为:
(1)在GPU上开辟显存空间,将CPU生成的数据传输到开辟的显存内,可见星扩频码和导航电文均存入二维纹理内存,扩频码对应纹理的维数为N_CH×NC/A,NC/A为一个周期扩频码码元个数,N_CH为模拟的卫星通道个数,导航电文对应纹理维数为
N_CH×(Tsum*RB),Tsum为模拟信号总时长,RB为导航电文的传码率,稀疏采样时刻传播时延和三阶变化参数均存入常量内存;
为GPU计算的核函数设计线程结构,以下步骤(2)(3)(4)(5)在计算时均采用此结构,由N个并行线程块组成,每个线程块为2维,由N_CH×M个线程组成,N_CH*M<1024,N的值由采样率fs和计算周期3Δt决定N=3fs*Δt/(N_CH*M),其结构如图3;
(2)GPU核函数通过三阶变化率参数计算任意采样时刻的传输时延τsample,每3Δt为一个计算周期
其中,Nt是3Δt内均匀采样的时间序列,t0为3Δt的起始时间点,Tc为采样间隔,n为3Δt内的信号采样点个数,τsample为3Δt内任意采样时刻的信号时延;
(3)根据τsample的值,使用查表模块确定信号的码相位,同时计算载波多普勒。要确定信号发射时刻tT的码相位,可以将其拆分成三个部分,如图5:发射时刻前一个周内秒SOW1、发射时刻距离SOW1的毫秒整数N和发射时刻在一个周期扩频码元NC/A内的码相位chip。
要确定信号发射时刻tT的载波多普勒,可由信号传输时延τsample乘以卫星射频信号频率求取。
(4)根据步骤(3)确认码相位和载波多普勒后,将所有通道内的扩频码、导航电文和载波相乘,生成N_CH个通道的中频信号数据;
(5)并将所有通道的信号累加得到最终信号;
(6)对步骤(5)得到的最终信号进行量化,将量化得到的数据回传本地内存,然后写入文件,并且判断信号是否生成完毕。如果信号生成没有完成,则重复步骤(2)(3)(4)(5)(6),如果模拟完成则释放显存并结束程序。
为了说明本发明的实用性与进步性,通过硬件接收机对该信号模拟方法进行测试。测试系统图如图6所示,使用AV1443矢量信号播放器和Novatel OEM 615接收机对生成的文件进行测试,首先将数据由电脑发送给AV1443矢量信号播放器,然后AV1443加载根据本发明得到的北斗信号文件,并通过射频播放出来,最后使用OEM 615接收机对射频信号进行接收机测试,结果如图7。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,本发明要求保护范围由所附的权利要求书、说明书及其等效物界定。

Claims (2)

1.一种基于GPU的卫星导航信号并行模拟方法,其特征在于采用GPU的多维并行结构实现了多颗卫星导航信号的并行模拟,其核心信号传播时延计算,信号调制,信号累加三大模均采用二维线程,由N个并行线程块组成,N的值由采样率和计算周期决定,每个线程块为2维,线程块由N_CH×M个线程组成,N_CH为模拟的卫星通道个数,M为线程块长度。
2.一种基于GPU的卫星导航信号并行模拟方法,其特征在于扩频码和导航电文生成模块产生的数据均存入二维纹理内存,扩频码对应纹理的维数由模拟的卫星通道个数和一个周期扩频码码元长度决定,导航电文对应纹理维数由模拟的卫星通道个数、模拟信号时长和导航电文传码率决定,稀疏采样时刻传播时延计算模块和三阶变化参数计算模块产生的数据均存入常量内存。
CN201611009712.5A 2016-11-11 2016-11-11 一种基于gpu的卫星导航信号并行模拟方法 Active CN108073455B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611009712.5A CN108073455B (zh) 2016-11-11 2016-11-11 一种基于gpu的卫星导航信号并行模拟方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611009712.5A CN108073455B (zh) 2016-11-11 2016-11-11 一种基于gpu的卫星导航信号并行模拟方法

Publications (2)

Publication Number Publication Date
CN108073455A true CN108073455A (zh) 2018-05-25
CN108073455B CN108073455B (zh) 2021-08-03

Family

ID=62163189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611009712.5A Active CN108073455B (zh) 2016-11-11 2016-11-11 一种基于gpu的卫星导航信号并行模拟方法

Country Status (1)

Country Link
CN (1) CN108073455B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471138A (zh) * 2019-01-11 2019-03-15 西安雷擎电子科技有限公司 一种多模卫星导航信号的合成方法
CN110764081A (zh) * 2019-11-05 2020-02-07 北京理工大学 一种精密跟踪测量雷达信号的处理系统
CN110824508A (zh) * 2019-11-27 2020-02-21 中国科学院微小卫星创新研究院 一种可重构的导航卫星模拟器
CN111239774A (zh) * 2020-02-11 2020-06-05 中国人民解放军93216部队 一种卫星导航数字信号生成方法及服务器
CN115309555A (zh) * 2022-08-08 2022-11-08 西安中科天塔科技股份有限公司 一种用于卫星的并行计算方法及系统、存储介质、设备
CN115343731A (zh) * 2021-05-14 2022-11-15 中移雄安信息通信科技有限公司 卫星导航信号生成方法及装置
CN116719006A (zh) * 2023-08-11 2023-09-08 西安电子科技大学 基于多核异构架构的星载无源定位方法及设备
CN116859422A (zh) * 2023-07-18 2023-10-10 湖南六九零六信息科技股份有限公司 一种基于异构融合并行集群架构的卫星高精度定位增强系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110312320A1 (en) * 2010-06-16 2011-12-22 Qualcomm Incorporated Satellite-assisted positioning in hybrid terrestrial-satellite communication systems
CN103278829A (zh) * 2013-05-06 2013-09-04 东南大学 一种基于gpu的并行导航卫星信号跟踪方法及其系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110312320A1 (en) * 2010-06-16 2011-12-22 Qualcomm Incorporated Satellite-assisted positioning in hybrid terrestrial-satellite communication systems
CN103278829A (zh) * 2013-05-06 2013-09-04 东南大学 一种基于gpu的并行导航卫星信号跟踪方法及其系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109471138A (zh) * 2019-01-11 2019-03-15 西安雷擎电子科技有限公司 一种多模卫星导航信号的合成方法
CN109471138B (zh) * 2019-01-11 2023-01-31 西安雷擎电子科技有限公司 一种多模卫星导航信号的合成方法
CN110764081A (zh) * 2019-11-05 2020-02-07 北京理工大学 一种精密跟踪测量雷达信号的处理系统
CN110824508A (zh) * 2019-11-27 2020-02-21 中国科学院微小卫星创新研究院 一种可重构的导航卫星模拟器
CN111239774A (zh) * 2020-02-11 2020-06-05 中国人民解放军93216部队 一种卫星导航数字信号生成方法及服务器
CN111239774B (zh) * 2020-02-11 2021-11-19 中国人民解放军93216部队 一种卫星导航数字信号生成方法及服务器
CN115343731A (zh) * 2021-05-14 2022-11-15 中移雄安信息通信科技有限公司 卫星导航信号生成方法及装置
CN115309555A (zh) * 2022-08-08 2022-11-08 西安中科天塔科技股份有限公司 一种用于卫星的并行计算方法及系统、存储介质、设备
CN115309555B (zh) * 2022-08-08 2024-03-15 西安中科天塔科技股份有限公司 一种用于卫星的并行计算方法及系统、存储介质、设备
CN116859422A (zh) * 2023-07-18 2023-10-10 湖南六九零六信息科技股份有限公司 一种基于异构融合并行集群架构的卫星高精度定位增强系统及方法
CN116859422B (zh) * 2023-07-18 2024-01-26 湖南六九零六信息科技股份有限公司 一种基于异构融合并行集群架构的卫星高精度定位增强系统及方法
CN116719006A (zh) * 2023-08-11 2023-09-08 西安电子科技大学 基于多核异构架构的星载无源定位方法及设备
CN116719006B (zh) * 2023-08-11 2023-10-20 西安电子科技大学 基于多核异构架构的星载无源定位方法及设备

Also Published As

Publication number Publication date
CN108073455B (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
CN108073455A (zh) 一种基于gpu的卫星导航信号并行模拟方法
Anderson Localization and sampling error correction in ensemble Kalman filter data assimilation
Düben et al. Benchmark tests for numerical weather forecasts on inexact hardware
CN102176029B (zh) 一种gps直达与多径信号模拟器及模拟方法
CN102147473B (zh) 一种同频多系统卫星导航信号生成系统
CN103278829A (zh) 一种基于gpu的并行导航卫星信号跟踪方法及其系统
CN106526624A (zh) 一种卫星导航信号模拟器及其模拟方法
CN102841362A (zh) 三模卫星信号模拟方法及模拟器
CN102288974A (zh) 一种卫星导航掩星信号生成系统
CN111239774B (zh) 一种卫星导航数字信号生成方法及服务器
CN206421030U (zh) 一种卫星导航信号模拟器
Wen et al. Design and implementation of real-time SAR echo simulator for natural scene
CN106443723A (zh) 一种基于gpu的高动态扩频信号实时仿真生成方法
CN102122986B (zh) 基于卫星星时重构的通用仿真卫星广播信号合成器
MX2011001796A (es) Ejecucion de procesador simulado utilizando supeditar ramificacion.
CN202110287U (zh) 一种gps直达与多径信号模拟器
CN102841364A (zh) Gps测速实现方法及gps测速仪
CN107145332B (zh) 一种OpenCL内核程序中随机数产生方法及装置
CN113312024B (zh) 一种期权定价计算硬件加速器、加速卡及计算机设备
Bartunkova et al. Broadband multi-frequency GNSS signal simulation with GPU
CN115685108A (zh) 脉冲伪码体制引信体目标模拟系统及其方法
Bo et al. Real-time software GNSS signal simulator accelerated by CUDA
Bartunkova et al. Massive parallel algorithms for software GNSS signal simulation using GPU
CN113504551A (zh) 基于gpu+cpu+fpga的卫星导航信号模拟器及信号模拟方法
CN202794533U (zh) Gps模拟器与接收机闭环测试系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant