1 引言
GPS卫星导航接收机有多种多样的类别,依据不同的分类方法,可以分为: C/A码与 P码,单频与双频,导航与定位,授时与测量,手持、车载、机载、弹载与星载等。根据 GPS接收机硬件架构实现的不同,又可以分为硬件接收机和软件接收机。GPS接收机在设计时会根据不同的使用目标选择不同的设计方案,GPS软件接收机的解决方案具有可配置性,根据不同的应用环境配置不同的解决算法。本文对基于FPGA-DSP平台的C/A码单频GPS软件接收机的算法设计进行研究。
2 GPS软件接收机
传统的GPS接收机的核心部件通常包括天线与相关的前置放大器,射频前端(模拟)部分,基带数字(ASIC)处理部分,微处理器及其外围(存储器与接口电路)。ASIC完成基带信号处理(捕获和跟踪的相关运算),微处理器从 ASIC输出的相关输出结果译出的导航数据,从而可以得到卫星星历及伪距,星历可用来得到卫星位置,并最终可由卫星位置及伪距解算出用户位置等信息。
软件 GPS接收机如图 2.1所示,其构架主要是 GPS天线接收到的卫星的****信号,通过射频(RF)前端,输入信号被放大及下变频到合适的频率。而后经模数转换器数字化采样。天线、RF前端及 ADC均有硬件完成,信号被数字化后,所有的处理运算任务均由运行于通用数字信号处理平台的软件来完成。
GPS软件接收机的优势在于:软件接收机整个数字部分均采用通用处理芯片,包含了较少的硬件,可编程性及灵活性均强于硬件接收机,而且无需升级硬件仅加载不同的算法软件即可实现 GPS接收机的升级或改型 3 软件 GPS算法与架构设计
3.1 设计思想
GPS接收机必须复现那颗将由接收机捕获的卫星所****的 PRN码,然后移动这个复现码的相位,直到与卫星的 PRN码发生相关为止。****的 PRN码和复现码之间的相关过程与给定的 PRN码数学的自相关过程有着相同的特性。当复现码与接收卫星码有相匹配时有最大的相关值,这是 GPS接收机在跟踪或捕获卫星信号时在码相位域内检测卫星信号的方式。信号的捕获算法有多种,主要是基于 FFT算法改进得到,计算量较大。由于多普勒频移的存在,在实际捕获过程中需要多通道同时进行从不同的频移处开始计算相关。对相关结果进行判决,得到当前相关器的偏移,以控制码和载波数控振荡器。
GPS接收系统中用于数字中频信号来实现跟踪及解调的典型的专用芯片 GP4020,其主要有 12通道的相关器和 ARM7微处理器内核构成,相关器由片上硬件单元组成,可满足快速并行的计算要求,相关结果通过微处理器编程控制,并根据相关结果配置相关器寄存器。
结合 CA码信号的捕获与跟踪的算法特性和 GP4020的特点,实现硬件向软件的转化,设计出符合 FPGA( Xilinx XC2V1000)和 DSP(TI TMS320C6416)的性能特点的,且信号的捕获、跟踪、解调完全有由软件实现的 GPS软件接收系统。
3.2 FPGA与DSP的功能划分
多路同步运算是 FPGA的优势,事件中断响应以及与用户接口的配合更适合于 DSP。 FPGA以中断的方式向 DSP提交相关器运算结果,DSP为 FPGA提供码 NCO偏差和载波辅助。
于是在 FPGA中实现如下功能:
L1采样信号的载波剥离; CA码发生器;L1本地载波发生器( NCO);CA码发生器的 NCO ; CA码相关器;DSP中断信号的产生,向 DSP电路发送相关器相关结果。
在 DSP中实现如下功能:
CA码跟踪误差鉴别器; L1相位误差鉴别器; CA码跟踪环路滤波器;L1相位环路滤
波器;对 FPGA中码 NCO和载波 NCO的控制;宽带功率值和窄带功率值的提取;载波相位的提取;伪距的提取;输出信息的打包以及与用户接口通讯。
3.3 FPGA与DSP的之间的数据信息流
如图 3.1所示, GPS软件接收机中内部信息流主要由运行于 FPGA上的可编程逻辑模块与运行于 DSP上的应用软件模块之间的信息流组成,包括:
1)FPGA向 DSP发送的 I/Q支路相关结果,用于实现载波跟踪与码跟踪。
2)DSP向 FPGA发送的环路滤波器输出值,用于控制 FPGA内部的载波 NCO与码 NCO。
图 3.1 FPGA与 DSP之间信息流
3.4 FPGA内的数据信息流
FPGA内部的信息流框图如图 3.2所示,L1采样数据以 50MHz/Byte的速率送往FPGA,FPGA通过载波剥离合和码相关器计算,将相关器结果送往DSP,并从 DSP中获取 CA码和载波 NCO偏差,以对信号进行跟踪、捕获。
3.5 DSP内部的数据信息流
DSP内部的信息流和处理如图 3.3所示,1KHzCA码 I/Q支路相关结果来自于FPGA,DSP在内部经过 CA码跟踪环误差鉴别器和 L1载波跟踪环误差鉴别器后,去往FPGA,控制 FPGA中码 NCO和载波 NCO。
图3.3 DSP 内部的信息流
4 实验数据
图 4.1为系统在地面仿真时从用户接口输出的导航数据。
5 总结
本文作者创新点在于采用 FPGA-DSP平台,设计出可以工作于高动态、弱信号的环境下单频 GPS接收机软件。实现GPS的 C/A码伪距、L1载波相位、位置速度以及窄带功率的输出,为后续的应用提供基础。完成单频 GPS接收机软件的工程化。虽然单频 GPS接收机技术在理论上已经非常成熟,但基于 FPGA-DSP平台的性能优良且满足工程化要求的 GPS接收软件并不多见。