基于GPU和IMU的卫星导航软件接收机及其导航方法转让专利

申请号 : CN201510714114.7

文献号 : CN105242287B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 丁祥余卫平苏航宇陈旭迪程千涛

申请人 : 福建星海通信科技有限公司

摘要 :

本发明提供一种基于GPU和IMU的卫星导航软件接收机,包括天线模块、射频前端模块、中频数字信号采集模块以及数据处理模块,数据处理模块包括图形处理器、中央处理器以及惯性导航单元,通过天线模块接收卫星导航信号,再通过射频前端模块对接收到的卫星导航信号进行低噪声放大和滤波处理,然后再由中频数字信号采集模块对接收到的卫星导航信号进行采样,得到中频采样数据,再将该中频采样数据传输给数据处理模块,并由惯性导航单元提供辅助数据来缩小频率捕获范围,由中央处理器和图形处理器完成卫星导航信号的捕获、跟踪和解算。本发明还提供一种基于GPU和IMU的卫星导航软件接收机的导航方法,减少了捕获所需运算时间,提高捕获速度。

权利要求 :

1.一种基于GPU和IMU的卫星导航软件接收机的导航方法,其特征在于:所述方法具体包括如下步骤:步骤1、根据接收机当前的时钟初步确定P码相位搜索范围,并由移位寄存器生成本地P码;

步骤2、通过惯性导航单元输出的速度信息估计多普勒频移量的大小fv,同时,通过所述惯性导航单元输出的加速度信息估计多普勒频移量的漂移程度fv';

步骤3、中央处理器读入所述惯性导航单元输出的速度信息和加速度信息,根据所述本地P码、所述多普勒频移量的大小fv及所述多普勒频移量的漂移程度fv'估计当前历元卫星导航信号的P码频率搜索范围[fv-fv',fv+fv'],进而调整粗捕获过程中载波NCO和本地P码发生器的P码相位搜索范围[p1,p2];

步骤4、通过天线模块接收卫星导航信号,再通过射频前端模块对接收到的卫星导航信号进行低噪声放大和滤波处理,然后再由中频数字信号采集模块对接收到的卫星导航信号进行采样,得到中频采样数据,根据P码的特性将所述中频采样数据的长度进行放大后,计算所述中频采样数据的FFT结果,并取其共轭记为序列s;

步骤5、将所述P码相位搜索范围[p1,p2]分成N段,得到每段P码相位数据,根据P码的特性将所述P码相位数据的长度进行放大后,通过图形处理器进行并行计算,得出每段所述P码相位数据的FFT结果,依次记为序列r1~rN;

步骤6、通过所述图形处理器进行并行计算,将所述序列r1~rN分别与所述序列s相乘,然后将每个结果分别做IFFT,求出全部结果序列的模值,找出所有模值中的最大值;

步骤7、根据所述最大值从卫星导航信号中解读出导航信息数据,再根据该导航信息数据并通过所述中央处理器进行定位解算,得出接收机的当前位置。

2.如权利要求1所述的一种基于GPU和IMU的卫星导航软件接收机的导航方法,其特征在于:所述步骤4中将所述中频采样数据的长度进行放大,其放大的倍数为原来长度的2倍。

3.如权利要求1所述的一种基于GPU和IMU的卫星导航软件接收机的导航方法,其特征在于:所述步骤5中将所述P码相位数据的长度进行放大,其放大的倍数为原来长度的2倍。

说明书 :

基于GPU和IMU的卫星导航软件接收机及其导航方法

技术领域

[0001] 本发明涉及卫星导航信号捕获与卫星导航软件接收机技术领域,尤其涉及一种基于GPU和IMU的卫星导航软件接收机及其导航方法。

背景技术

[0002] 卫星导航接收机是接收卫星导航系统的卫星导航信号并确定地面空间位置的仪器。导航卫星发送的导航定位信号,是一种可供用户共享的信息资源。对于陆地、海洋和空间的广大用户,只要拥有能够接收、跟踪、变换和测量卫星导航信号的接收设备,即卫星导航接收机,即可确定当前的位置。
[0003] 卫星导航软件接收机利用通用处理器,对信号进行处理和计算。相比于传统的硬件接收机,软件接收机可采用可编程的、开放式平台,使得程序的加载非常方便,同时还可以升级、研究新的算法,具有更高的灵活性,在基本硬件平台不变的情况下方便实现复杂度更高的算法。
[0004] 惯性导航单元(IMU)利用惯性元件(加速度计)来测量运载体本身的加速度,经过积分和运算得到速度和位置。普通的商用惯性导航单元信号输出频率可达800~1000Hz。
[0005] 与C/A码(是GPS卫星发出的一种伪随机码,用于粗测距和捕获GPS卫星)相同,P码也是伪随机码,是和C/A码对应的精测码,但是周期长达266天9小时,分配给全部卫星,每颗卫星的P码周期为7天,一个周期的码长度为6.187×1012bit,相比C/A码具有更高的扩频增益、更强的抗干扰与防欺骗能力,可以有效提高卫星导航接收机防欺骗和抗干扰能力,并获得精度更高的导航定位信息。
[0006] 图形处理器(GPU),是一种专门在个人电脑、工作站和一些移动设备(如平板电脑、智能手机等)上进行2D/3D图像运算工作的微处理器。由于GPU相比于通用的CPU处理器具有高吞吐量、拥有数百个硬件处理单 元且每个处理单元深度多线程以及具有高memory带宽,所以现在的GPU已经不再局限于2D/3D图形处理,在浮点运算、并行计算等部分计算方面,GPU可以提供数十倍乃至于上百倍于CPU的性能。
[0007] 现在,卫星导航软件接收机已经是一个比较热门的导航接收机技术。虽然软件接收机具有灵活方便,可编程化的特点,但是相比于硬件接收机,一直有着难以突破的定位精度问题。传统软件接收机导航信号捕获方法是利用C/A码捕获后从星历中获取精确的时间计数信息,在缩短P码相位的搜索空间的基础上,实现P码的捕获,最终实现定位。但是,C/A码抗干扰性差,受到干扰无法捕获时,便无法实现P码捕获,因此,尽管P码具有更好的抗干扰性,但在干扰环境下基于P码进行定位导航的接收机依赖于C/A码捕获性能,为解决这个问题,必须采用P码直接捕获技术。然而,由于P码周期长、码速率高的特性,导致捕获过程中码相关计算量过大,难以实现卫星导航扩频信号的快速捕获。对于高速移动的设备,软件接收机的CPU计算处理速度也相对过慢,无法满足导航定位所需的实时性要求,最终影响定位精度。现在较多的处理方式是通过GPU替代CPU计算,但仍存在GPU处理速度上限问题,若单纯提高GPU速度,也会增加芯片成本代价。
[0008] 本发明就是基于以上技术特点,对现有卫星导航软件接收机进行优化,提高软件接收机的定位精度。

发明内容

[0009] 本发明要解决的技术问题之一,在于提供一种基于GPU和IMU的卫星导航软件接收机,加入了GPU和IMU,通过IMU辅助、采用GPU进行大量数据的并行处理极大地提高了信号分析处理速度,减少了捕获跟踪P码所需运算时间,提高卫星导航信号P码的捕获速度,在保证满足导航实时性要求的前提下强化接收机的防欺骗和抗干扰能力。
[0010] 本发明的问题之一,是这样实现的:一种基于GPU和IMU的卫星导航软件接收机,包括天线模块、射频前端模块、中频数字信号采集模块以及数据处理模块,所述数据处理模块包括图形处理器、中央处理器以及惯性导航 单元,通过所述天线模块接收卫星导航信号,再通过所述射频前端模块对接收到的卫星导航信号进行低噪声放大和滤波处理,然后再由所述中频数字信号采集模块对接收到的卫星导航信号进行采样,得到中频采样数据,再将该中频采样数据传输给所述数据处理模块,并由所述惯性导航单元提供辅助数据来缩小频率捕获范围,由所述中央处理器和所述图形处理器完成卫星导航信号的捕获、跟踪和解算。
[0011] 本发明要解决的技术问题之二,在于提供一种基于GPU和IMU的卫星导航软件接收机的导航方法,加入了GPU和IMU,通过IMU辅助、采用GPU进行大量数据的并行处理极大地提高了信号分析处理速度,减少了捕获跟踪P码所需运算时间,提高卫星导航信号P码的捕获速度,在保证满足导航实时性要求的前提下强化接收机的防欺骗和抗干扰能力。
[0012] 本发明的问题之二,是这样实现的:一种基于GPU和IMU的卫星导航软件接收机的导航方法,所述方法需提供上述的一种基于GPU和IMU辅助的卫星导航软件接收机,所述方法具体包括如下步骤:
[0013] 步骤1、根据接收机当前的时钟初步确定P码相位搜索范围,并由移位寄存器生成本地P码;
[0014] 步骤2、通过所述惯性导航单元输出的速度信息估计多普勒频移量的大小fv,同时,通过所述惯性导航单元输出的加速度信息估计多普勒频移量的漂移程度f′v;
[0015] 步骤3、所述中央处理器读入所述惯性导航单元输出的速度信息和加速度信息,根据所述本地P码、所述多普勒频移量的大小fv及所述多普勒频移量的漂移程度f′v估计当前历元卫星导航信号的P码频率搜索范围[fv-f′v,fv+f′v],进而调整粗捕获过程中载波NCO和本地P码发生器的P码相位搜索范围[p1,p2];
[0016] 步骤4、通过所述天线模块接收卫星导航信号,再通过所述射频前端模块对接收到的卫星导航信号进行低噪声放大和滤波处理,然后再由所述中频数字信号采集模块对接收到的卫星导航信号进行采样,得到中频采样数据,根据P码的特性将所述中频采样数据的长度进行放大后,计算所述中频采样 数据的FFT结果,并取其共轭记为序列s;
[0017] 步骤5、将所述P码相位搜索范围[p1,p2]分成N段,得到每段P码相位数据,根据P码的特性将所述P码相位数据的长度进行放大后,通过所述图形处理器进行并行计算,得出每段所述P码相位数据的FFT结果,依次记为序列r1~rN;
[0018] 步骤6、通过所述图形处理器进行并行计算,将所述序列r1~rN分别与所述序列s相乘,然后将每个结果分别做IFFT,求出全部结果序列的模值,找出所有模值中的最大值;
[0019] 步骤7、根据所述最大值从卫星导航信号中解读出导航信息数据,再根据该导航信息数据并通过所述中央处理器进行定位解算,得出接收机的当前位置。
[0020] 进一步地,所述步骤4中将所述中频采样数据的长度进行放大,其放大的倍数为原来长度的2倍。
[0021] 进一步地,所述步骤5中将所述P码相位数据的长度进行放大,其放大的倍数为原来长度的2倍。
[0022] 本发明具有如下优点:
[0023] 1、加入惯性导航单元(IMU)获取接收机对于地面的速度,与从星历读取的卫星速度进行矢量相加,更准确地计算出接收机与卫星的相对速度,从而辅助接收机锁定和跟踪卫星导航信号;
[0024] 2、采用P码直接捕获技术增强接收机防欺骗和抗干扰能力,并获得精度更高的导航定位信息;
[0025] 3、采用GPU代替CPU分析处理P码数字中频信号,利用GPU强大的并行处理能力,进行快速傅里叶变换(FFT)与快速傅里叶逆变换(IFFT),极大缩短了解析信号的时间,满足导航定位实时性需求。

附图说明

[0026] 下面参照附图结合实施例对本发明作进一步的说明。
[0027] 图1为本发明一种基于GPU和IMU的卫星导航软件接收机的结构示意图。
[0028] 图2为本发明一种基于GPU和IMU的卫星导航软件接收机的导航方法执行流程图。

具体实施方式

[0029] 请参阅图1所示,本发明的一种基于GPU和IMU的卫星导航软件接收机,包括天线模块、射频前端模块、中频数字信号采集模块以及数据处理模块,所述数据处理模块包括图形处理器、中央处理器以及惯性导航单元,通过所述天线模块接收卫星导航信号,再通过所述射频前端模块对接收到的卫星导航信号进行低噪声放大和滤波处理,然后再由所述中频数字信号采集模块对接收到的卫星导航信号进行采样,得到中频采样数据,再将该中频采样数据传输给所述数据处理模块,并由所述惯性导航单元提供辅助数据来缩小频率捕获范围,由所述中央处理器和所述图形处理器完成卫星导航信号的捕获、跟踪和解算。
[0030] 所述天线模块用于接收卫星导航信号;所述射频前端模块用于对天线模块接收到的卫星导航信号进行低噪声放大和滤波处理;所述中频数字信号采集模块用于完成卫星导航信号的自动增益放大、下变频与数字信号采样;所述中频数字信号采集模块可通过多种传输链路连接到所述数据处理模块,所述数据处理模块上安装有图形处理器(GPU)、中央处理器(CPU)以及惯性导航单元(IMU),所述惯性导航单元用于提供辅助数据(接收机当前的速度和加速度大小及方向)来缩小频率捕获范围;所述中央处理器和所述图形处理器采用协同工作的方式,完成卫星导航信号的捕获、跟踪和解算。
[0031] 如图2所示,本发明的一种基于GPU和IMU的卫星导航软件接收机的导航方法,所述方法是基于上述的卫星导航软件接收机来实现的,所述方法具体包括如下步骤:
[0032] 步骤1、根据接收机当前的时钟初步确定P码相位搜索范围,并由移位寄存器生成本地P码;
[0033] 步骤2、通过所述惯性导航单元输出的速度信息估计多普勒频移量的大 小fv,同时,通过所述惯性导航单元输出的加速度信息估计多普勒频移量的漂移程度f′v;
[0034] 步骤3、所述中央处理器读入所述惯性导航单元输出的速度信息和加速度信息,根据所述本地P码、所述多普勒频移量的大小fv及所述多普勒频移量的漂移程度f′v估计当前历元卫星导航信号的P码频率搜索范围[fv-f′v,fv+f′v],进而调整粗捕获过程中载波NCO(数字控制振荡器)和本地P码发生器的P码相位搜索范围[p1,p2];(利用惯性导航单元输出的信息缩小P码相位搜索范围,上述对多普勒频移量的大小fv的估计、对多普勒频移量的漂移程度f′v的估计及对当前历元卫星导航信号的P码频率搜索范围[fv-f′v,fv+f′v]的估计是基于多普勒原理进行估计的,本领域的技术人员都知道是怎么进行估计的)[0035] 步骤4、通过所述天线模块接收卫星导航信号,再通过所述射频前端模块对接收到的卫星导航信号进行低噪声放大和滤波处理,然后再以20.46MHz的频率由所述中频数字信号采集模块对接收到的卫星导航信号进行采样,得到长度为512bit的中频采样数据,根据P码的特性将所述中频采样数据的长度放大为原来长度的2倍,即在其二进制的末尾补0形成长度为1024bit的中频采样数据,计算其FFT结果,使得进行FFT的计算结果更准确,并取共轭记为序列s;
[0036] 步骤5、由于P码频率为10.23MHz,若接收机的时钟精度为±1ms,再考虑到多普勒频移的影响,所述P码相位搜索范围[p1,p2]长度大约为20460个码元,将所述P码相位搜索范围[p1,p2]分成N段,每段P码相位数据长度为512bit,根据P码的特性将所述P码相位数据的长度放大为原来长度的2倍,即在每段末尾补0形成长度为1024bit的P码相位数据,通所述图形处理器进行并行计算,得出每段所述P码相位数据的FFT结果,使得进行FFT的计算结果更准确,依次记为序列r1~rN;
[0037] 步骤6、通过所述图形处理器进行并行计算,将所述序列r1~rN分别与所述序列s相乘,然后将每个结果分别做IFFT,求出全部结果序列的模值,找出所有模值中的最大值;(利用GPU并行处理减少FFT变换所需时间,扩 大P码相位搜索范围,提高计算速度)[0038] 步骤7、根据所述最大值从卫星导航信号中解读出导航信息数据,再根据所述导航信息数据并通过所述中央处理器进行定位解算,得出接收机的当前位置。
[0039] 综上所述,本发明的优点如下:
[0040] 1、加入惯性导航单元(IMU)获取接收机对于地面的速度,与从星历读取的卫星速度进行矢量相加,更准确地计算出接收机与卫星的相对速度,从而辅助接收机搜索、锁定、同步和跟踪卫星导航信号;
[0041] 3、采用P码直接技术增强接收机防欺骗和抗干扰能力,并获得精度更高的导航定位信息;
[0042] 3、采用GPU代替CPU分析处理P码数字中频信号,利用GPU强大的并行处理能力,进行快速傅里叶变换(FFT)与快速傅里叶逆变换(IFFT),极大缩短了解析信号的时间,满足导航定位实时性需求。
[0043] 虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。