一种基于GPU的卫星导航软件接收机制造技术

技术编号:6845614 阅读:730 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种基于GPU的卫星导航软件接收机,包括依次连接的天线、射频模块和中频数字信号采集模块,中频数字信号采集模块通过通用串行总线连接有PC机,PC机上安装有CPU和GPU,并采用CPU和GPU协同工作的方式,利用CUDA的技术架构完成卫星信号的捕获、跟踪和解算。本实用新型专利技术采用GPU的并行处理能力,利用GPU的多个并行流处理单元来实现卫星导航软件接收机的中频数字信号的捕获与跟踪中的大量运算,大大缩短了运算时间。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术属于卫星导航接收机
,具体涉及一种基于GPU的卫星导航软件接收机
技术介绍
卫星导航接收机是一种基于卫星导航系统开发的具有导航定位功能的终端设备,该系统能根据接收到的卫星导航信号实时确定载体的位置和运动状态。由于其工作过程中,中频数字信号采样频率较高,为满足实时性要求,完成卫星导航接收机主要功能的中频数字信号处理模块,通常采用硬件系统实现,如常用现场可编程门阵列 FPGA(Field-Programmable Gate Array)和数字信号处理器 DSP (Digital Signal Processing)等硬件系统实现。卫星导航软件接收机是把中频数字信号处理模块的功能在普通计算机(即PC机) 上实现。卫星导航软件接收机编程方便、设计灵活,且不需要专门设计的中频数字信号处理硬件系统,特别适用于卫星导航接收机的算法研究,但由于基于PC机的软件系统很难实现对大量高速中频采样数据的实时处理要求,因此基于普通PC机的卫星导航软件接收机一般很难实现对信号的实时处理。图形处理器GPU(Graphic Processing Unit)是计算机中用于图形处理的核心处理器,其包含大量的核心处理单元,可同时完成大量并行处理。近年随着GPU硬件技术的发展和软件开发平台的完善,GPU不仅在图形图像处理中得应用,并已在并行计算、复杂计算等领域得到了广泛应用。
技术实现思路
本技术的目的是提供一种基于GPU的卫星导航软件接收机,解决现有卫星导航软件接收机难以满足实时性要求的问题,构建一种新型的可实时处理的卫星导航软件接收机系统。本技术所采用的技术方案是,一种基于GPU的卫星导航软件接收机,包括依次连接的天线、射频模块和中频数字信号采集模块,天线用于接收卫星信号,射频模块用于完成卫星信号的低噪声放大和滤波,中频数字信号采集模块用于完成卫星信号的AGC放大、下变频与AD采样,中频数字信号采集模块通过通用串行总线连接有PC机,PC机上安装有CPU和GPU,并采用CPU和GPU协同工作的方式,利用CUDA的技术架构完成卫星信号的捕获、跟踪和解算。PC机采用具有PCI-E插槽的通用硬件配置,GPU采用NVIDIAGeForce9800GT芯片。PC机采用具有PCI-E插槽的通用硬件配置,GPU采用NVIDIA GTX260芯片。本技术基于GPU的卫星导航软件接收机,其优点在于采用GPU的并行处理能力,利用GPU的多个并行流处理单元来实现卫星导航软件接收机的中频数字信号的捕获与跟踪中的大量运算,大大缩短了运算时间。附图说明图1是现有技术的卫星导航接收机的结构示意图;图2是本技术基于GPU的卫星导航软件接收机的结构示意图;图3是本技术基于GPU的卫星导航软件接收机的时域滑动相关捕获的原理图;图4是本技术基于GPU的卫星导航软件接收机的卫星信号跟踪的原理图;其中,1.天线,2.射频模块,3.中频数字信号采集模块,4.中频数字信号处理模块,5. PC机,6.载波跟踪环,7.伪码跟踪环。具体实施方式以下结合附图和具体实施方式对本技术进行详细说明。如图1所示为现有的卫星导航接收机,其包括天线1、射频模块2、中频数字信号采集模块3和中频数字信号处理模块4。其中,天线1完成卫星信号的接收,射频模块2完成卫星信号的低噪声放大和滤波,中频数字信号采集模块3完成卫星信号的AGC(Automatic Gain Control)放大、下变频及AD采样,中频数字信号处理模块4完成卫星导航接收机的主要功能,包括对信号的捕获、跟踪和解算。如图2所示为本技术基于GPU的卫星导航软件接收机,包括依次连接的天线 1、射频模块2和中频数字信号采集模块3,天线1用于接收卫星信号,射频模块2用于完成卫星信号的低噪声放大和滤波,中频数字信号采集模块3用于完成卫星信号的AGC放大、下变频及AD采样,中频数字信号采集模块3通过通用串行总线(即USB)连接有PC机5,PC 机5上安装有CPU和GPU,PC机5采用CPU和GPU协同工作的方式,利用CUDA的技术架构完成卫星信号的捕获、跟踪和解算。现在的显示芯片GPU已经具有高度的可程序化能力,由于GPU通常具有相当高的内存带宽,以及大量的执行单元,因此开始有利用GPU来帮助进行一些计算工作的想法,即 GPGPU0 CUDA即是NVIDIA的GPGPU模型。CUDA使用C语言为基础,可以直接以C语言写出在GPU上执行的程序,而不需要去学习特定的GPU的指令或是特殊的结构。在CUDA的架构下,一个程序分为两个部份host端和device端。host端是指在 CPU上执行的部份;而device端,又称为〃 kernel",则是在GPU上执行的部份。通常host 端程序会将数据准备好后,复制到GPU的内存中,再由GPU执行device端程序,完成后再由 host端程序将结果从GPU中取回。综上,GPU具有大量并行计算的特性,适合同时进行大量相同的运算工作。因此,最适合利用CUDA处理的问题,是可以大量并行化的问题,并有效利用GPU上的大量执行单元。使用GPU来进行运算工作,和使用CPU相比,主要有如下好处1、GPU通常具有更大的内存带宽。例如,NVIDIA GeForce 8800GTX具有超过50GB/s的内存带宽,而目前高阶 CPU的内存带宽则在10GB/s左右。2、GPU具有更大量的执行单元。例如NVIDIA GeForce 8800GTX具有128个〃 stream processors",频率为1. !35GHz。CPU频率通常较高,但是执行单元的数目则要少得多。3、和高阶CPU相比,GPU的价格较为低廉。例如目前一张Gei^rce 8800GT包括512MB内存的价格,和一颗2. 4GHz四核心CPU的价格相近。如图3所示,本技术进行卫星信号的捕获采用时域滑动相关捕获方法,时域滑动相关捕获方法包括以下步骤步骤1、将从中频数字信号采集模块3接收到的数字化中频信号分别与本地产生的同相和正交两路载波信号相乘,以完成两个支路信号的解调;步骤2、将步骤1得到的两路支路信号分别乘以本地产生的C/A码信号,以完成两个支路信号的解扩;步骤3、将步骤2得到的两路支路信号分别进行累加和平方,再将累加和平方后的两路支路信号相加后输出;步骤4、将步骤3得到的输出信号与预先设定的门限值进行比较,以确定信号是否捕获成功;如果检测捕获未成功,采取相应调节控制机制,返回步骤2或步骤3 ;如果检测捕获成功,将捕获得到的的数字化中频信号输出。其中,上述时域滑动相关捕获过程中步骤2和步骤3在GPU中实现。时域滑动相关捕获过程不仅要搜索伪码相位,而且还要搜索载波多普勒频移,它是一个二维的搜索过程。多普勒频移的搜索范围是士 ΙΟΚΗζ,按半个码片进行搜索,码相位的搜索范围为2046个不同的码相位,假设选定的频率步进量为500Hz,这样,总的搜索次数为10000x22046x(-+1)=2046x41=83886500如果信号的采样频率是5. 714MHz的话,对一颗卫星信号进行捕获就得做83886乘以5714次的点点相乘相加运算,因此对于CPU来说做一次32颗卫星的盲捕所要进行的计算量是非常大的,耗时长。本文档来自技高网...

【技术保护点】
1.一种基于GPU的卫星导航软件接收机,包括依次连接的天线(1)、射频模块(2)和中频数字信号采集模块(3),所述天线(1)用于接收卫星信号,所述射频模块(2)用于完成卫星信号的低噪声放大和滤波,所述中频数字信号采集模块(3)用于完成卫星信号的AGC放大、下变频与AD采样,其特征在于,所述中频数字信号采集模块(3)通过通用串行总线连接有PC机(5),所述PC机(5)上安装有CPU和GPU,并采用CPU和GPU协同工作的方式,利用CUDA的技术架构完成卫星信号的捕获、跟踪和解算。

【技术特征摘要】

【专利技术属性】
技术研发人员:席晓莉刘江凡陈鹏刘虎
申请(专利权)人:西安理工大学
类型:实用新型
国别省市:87

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

1