基于GPU+CPU+FPGA的卫星导航信号模拟器及信号模拟方法

文档序号:26947761发布日期:2021-10-15 13:29阅读:222来源:国知局
基于GPU+CPU+FPGA的卫星导航信号模拟器及信号模拟方法

本发明属于卫星导航技术领域,具体涉及一种基于GPU+CPU+FPGA的卫星导航信号模拟器及信号模拟方法。

背景技术

卫星导航信号模拟器可以完全控制模拟的卫星信号和环境条件,可产生多种场景,实现多种类型测试,如接收机性能测试、闭环实时仿真等。

常见的卫星导航信号模拟器有基于GPU的软件模拟器和基于DSP和FPGA的硬件模拟器。软件模拟器信号精度很高,但是信号产生速度受制于计算机的处理速度,不能实时完成信号生成;而硬件模拟器仿真场景所有的信息伪码调制及中频信号产生都由硬件完成,能保证信号的实时产生与发送,但是仿真设置不灵活,受硬件资源限制,如星历库等大数据信息只能存放一小段时间内的。本发明结合GPU的高精度快速并行计算性能和FPGA的并行数字信号合成功能,发明一种基于GPU+CPU+FPGA的软硬件结合的新架构的卫星导航信号模拟器,并给出了具体的信号模拟方法。



技术实现要素:

本发明的目的是提供一种基于GPU+CPU+FPGA的卫星导航信号模拟器,用于快速实时生成导航场景中的卫星导航信号。

本发明的另一目的是提供一种基于GPU+CPU+FPGA的卫星导航信号模拟器的信号模拟方法。

本发明所采用的第一种技术方案是,基于CPU+GPU+FPGA的卫星导航信号模拟器,包括仿真控制计算机,仿真控制计算机依次与USB3.0模块、中频模块、射频模块、发射模块连接,同时仿真控制计算机还连接人机交互模块;仿真计算机中包括CPU模块、GPU模块;中频模块中包括FPGA模块、数模转换模块和时钟模块;其中,时钟模块的输出还与射频模块的时钟输入相连接;仿真计算机属于上位机部分;中频模块和射频模块在下位机机箱中;上位机和下位机通过USB3.0模块进行通信,发射模块与待测设备通过有线或者无线方式连接。

CPU模块用于进行初始化设置、与GPU模块数据通信、与FPGA模块通信及数据显示功能。

初始化信息包括:载体的位置、速度、仿真时间、运动轨迹;导航卫星频点选择;导航信号传播路径上电离层、对流层选择;卫星星历信息;与GPU模块通信指的是将初始化载体数据信息传输到GPU模块并接收GPU模块计算结果;与FPGA模块通信是指将从GPU模块获得的部分数据通过USB3.0模块传入FPGA模块中,同时接收FPGA模块的传输成功信号;数据显示功能包括可见星分布、卫星俯仰角、方位角、伪距等的实时显示,每秒刷新一次。

GPU模块用于计算卫星发射时刻、信号传播时延、伪距、俯仰角、方位角等信息;进行可见星判断,计算各可见卫星电文、载波频率、载波相位、码频率、码相位等导航信息控制字;将显示所需的数据及导航信息控制字一起返回到CPU中。

USB3.0模块完成上位机与下位机的快速通信。

FPGA模块接收上位机下传的导航信息控制字,实现载波、伪码、电文的产生和调制,生成高精度数字中频信号并加和、经数模转换模块,得到模拟的中频导航卫星信号;时钟模块在无外部时钟输入时,通过自身恒温晶振提供高稳定的基准时钟;射频模块完成中频到射频的上变频处理;并对射频信号进行功率放大和程序功率控制;发射模块将信号通过天线辅射出去。

待测设备为卫星导航接收机;所述待测设备为移动站卫星导航接收机。

本发明的第二种技术方案为,

基于CPU+GPU+FPGA的卫星导航信号模拟器的信号模拟方法,采用如上所述的基于CPU+GPU+FPGA的卫星导航信号模拟器,具体按照以下步骤实施:

步骤1、在CPU中用户通过人机交互单元设置载体的位置、速度和姿态信息;要模拟的卫星导航信号频点;电离层、对流层信息;根据仿真时间信息从星历库中获得当前时间星历数据;

步骤2、根据步骤1获得的仿真参数信息,完成GPU初始化设置;启动GPU中的线程进行并行计算,计算各种控制字、导航电文数据包以及各通道卫星信号信息,并打包返回到CPU中;CPU将通道信息实时显示在仿真界面,并将控制字通过USB3.0发送到FPGA中频信号生成模块中;

步骤3、接收步骤2中的数据包信息,合成数字中频信号,经高速数模转换后,生成模拟中频信号;

步骤4、对步骤3中的模拟中频信号进行滤波、混频、放大、功率控制后,上变频至卫星导航射频信号,通过发射模块辐射出去。

步骤2具体如下:

步骤2.1、GPU中数据初始化,根据CPU中传输的卫星导航信号频点及卫星信号数量,分配内存及线程,将CPU中传入的信息对应到相应的线程中;

步骤2.2、启动GPU并行计算线程,计算各卫星的位置、速度、发射时刻及伪距信息,每一次启动新的并行线程之前,确保之前的并行线程中的所有线程都已计算完成;

步骤2.3、判断卫星可见信息,当卫星相对载体的俯仰角大于5°时,该卫星为可见卫星;对于可见卫星,根据卫星信号发射时刻实时生成二进制导航电文,计算载波频率、载波相位、码频率、码相位、伪码周期等导航信息控制字,计算完成后将卫星信息及导航信息控制字一起返回到CPU中;

步骤2.4在固定时间间隔的FPGA中断信号控制下,通过USB3.0将步骤2.3中获得的导航信息控制字打包发送至下位机中;当时间到达1s时,刷新界面数据。

步骤3具体如下:

步骤3.1、中频信号单元接收步骤3中的导航信息控制字,当收到结束标志后,对数据进行拆分重组,在同一时刻刷新至各通道信号生成模块;

步骤3.2、通道信号生成模块根据获得的参数信息,在时钟信号的控制下生成卫星数字中频信号;

步骤3.3、通过高速数模转换,将数字中频信号转换为模拟中频信号。

本发明的有益效果是,

基于CPU+GPU+FPGA的卫星导航信号模拟器,根据设置载体的位置、速度、仿真时间,仿真控制计算机实时解算对应的卫星伪距、位置、相对载体的俯仰角、方位角信息,完成可见星判断并生成导航信息控制字,在有序的仿真周期和流程的控制下,经FPGA模块、数模转换模块、射频模块和发射模块,生成所在仿真场景能接收到的卫星导航信号。卫星导航信号模拟器可支持BD2、GPS、BD3星座等联合模拟,也支持单一星座模拟,频点可任意选择、任意开关,并支持单通道的开关控制。

附图说明

图1是本发明基于CPU+GPU+FPGA的卫星导航信号模拟器的结构示意图;

图2是基于CPU+GPU+FPGA的卫星导航信号模拟器的信号模拟方法步骤2的仿真计算流程图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明基于CPU+GPU+FPGA的卫星导航信号模拟器,结构如图1所示,包括仿真控制计算机,仿真控制计算机依次与USB3.0模块、中频模块、射频模块、发射模块连接,同时仿真控制计算机还连接人机交互模块。仿真计算机中包括CPU模块、GPU模块;中频模块中包括FPGA模块、数模转换模块和时钟模块。其中,时钟模块的10MHz输出还与射频模块的10MHz时钟输入相连接。仿真计算机属于上位机部分。中频模块和射频模块在下位机机箱中。上位机和下位机通过USB3.0模块进行通信,发射模块与待测设备通过有线或者无线方式连接。

CPU模块用于进行初始化设置、与GPU模块数据通信、与FPGA模块通信及数据显示功能,初始化信息包括:载体的位置、速度、仿真时间、运动轨迹;导航卫星频点选择;导航信号传播路径上电离层、对流层选择;卫星星历信息。与GPU模块通信指的是将初始化载体数据信息传输到GPU模块并接收GPU模块计算结果。与FPGA模块通信是指将从GPU模块获得的部分数据通过USB3.0模块传入FPGA模块中,同时接收FPGA模块的传输成功信号。数据显示功能包括可见星分布、卫星俯仰角、方位角、伪距等的实时显示,每秒刷新一次;

GPU模块用于计算卫星发射时刻、信号传播时延、伪距、俯仰角、方位角等信息;进行可见星判断,计算各可见卫星电文、载波频率、载波相位、码频率、码相位等导航信息控制字;将显示所需的数据及导航信息控制字一起返回到CPU中;

USB3.0模块完成上位机与下位机的快速通信。

FPGA模块接收上位机下传的导航信息控制字,实现载波、伪码、电文的产生和调制,生成高精度数字中频信号并加和、经数模转换模块,得到模拟的中频导航卫星信号;

时钟模块在无外部时钟输入时,通过自身恒温晶振提供高稳定的基准时钟;

射频模块完成中频到射频的上变频处理;并对射频信号进行功率放大和程序功率控制。

发射模块将信号通过天线辅射出去。

待测设备为卫星导航接收机

待测设备为移动站卫星导航接收机

基于CPU+GPU+FPGA的卫星导航信号模拟器的信号模拟方法,具体按照以下步骤实施:

步骤1、在CPU中用户通过人机交互模块设置载体的位置、速度和姿态信息;要模拟的卫星导航信号频点;电离层、对流层信息;根据仿真时间信息从星历库中获得当前时间星历数据;

步骤2、根据步骤1获得的仿真参数信息,完成GPU初始化设置;启动GPU中的线程进行并行计算,计算各种控制字、导航电文数据包以及各通道卫星信号信息,并打包返回到CPU中;CPU将通道信息实时显示在仿真界面,并将控制字通过USB3.0发送到FPGA中频信号生成模块中,具体如下:

步骤2.1、GPU中数据初始化,根据CPU中传输的卫星导航信号频点及卫星信号数量,分配内存及线程,将CPU中传入的信息对应到相应的线程中;

步骤2.2、启动GPU并行计算线程,计算各卫星的位置、速度、发射时刻及伪距信息,每一次启动新的并行线程之前,确保之前的并行线程中的所有线程都已计算完成;

步骤2.3、判断卫星可见信息,当卫星相对载体的俯仰角大于5°时,该卫星为可见卫星;对于可见卫星,根据卫星信号发射时刻实时生成二进制导航电文,计算载波频率、载波相位、码频率、码相位、伪码周期等导航信息控制字,计算完成后将卫星信息及导航信息控制字一起返回到CPU中。

步骤2.4在固定时间间隔的FPGA中断信号控制下,通过USB3.0将步骤2.3中获得的导航信息控制字打包发送至下位机中;当时间到达1s时,刷新界面数据;

步骤3、接收步骤2中的数据包信息,合成数字中频信号,经高速数模转换后,生成模拟中频信号,具体如下:

步骤3.1、中频信号单元接收步骤3中的导航信息控制字,当收到结束标志后,对数据进行拆分重组,在同一时刻刷新至各通道信号生成模块;

步骤3.2、通道信号生成模块根据获得的参数信息,在时钟信号的控制下生成卫星数字中频信号;

步骤3.3、通过高速数模转换,将数字中频信号转换为模拟中频信号;

步骤4、对步骤3中的模拟中频信号进行滤波、混频、放大、功率控制后,上变频至卫星导航射频信号,通过发射模块辐射出去。

本发明开发一种多星座、多频点的卫星导航信号模拟器,产生近乎真实的射频卫星导航信号,能够根据用户指定的仿真场景,包括载体动态特性、仿真时间、星历(用户给定或根据时间从星历数据库中获得)、传播误差模型和环境干扰情况等,模拟产生该场景下的卫星导航信号;可对导航接收设备进行精确的常规测试和性能评估,降低或完全节省进行现场测试的高昂费用;可用于多种卫星制导系统协同仿真中,具有闭环实时仿真功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1