全球卫星导航系统可以全天候地为用户提供导航信息、高精度的地理信息,导航卫星技术的发展已成为代表综合国力的象征,所以大力发展航天、卫星技术已成为我国主要的高科技研究方向[1]。目前全球卫星导航系统主要有GPS、GALILEO、GLONASS及我国的BD2全球卫星导航系统,以GPS为代表的卫星导航技术已经非常成熟,目前我国大多数卫星产业都基于GPS,为了减轻对国外技术的依赖,发展拥有自主知识产权的BDII卫星导航系统是十分有必要的[2]。而无论是哪个导航系统,用户的核心还是导航接收机,文中设计的是一款基于MAX2769B的GPS/BDⅡ双模系统的导航接收机,采用了基于FPGA+ARM的架构设计,具有用户可编程配置以及较强的通用性的优点。
1 GPS/BDⅡ双模导航接收机总体设计GPS/BDⅡ双模导航接收机的整体框架图主要由射频前端模块、基带信号处理模块及导航解算模块构成,如图 1所示。由于为双模系统,射频前端处理采用2片集成芯片,基带信号处理部分采用FPGA进行基带信号处理算法的实现,而导航解算处理部分采用ARM实现位置坐标的解算,FPGA与ARM之间通过总线进行相互通信[3]。
该GPS/BDⅡ双模导航接收机的具体硬件电路设计如图 2所示,主要包括了2片MAX2769B集成芯片电路、基带信号处理FPGA电路及ARM导航解算电路。还有1种低成本串行加载芯片EPCS1,加载方式为主动串行模式[4]。该接收机可以同时接收2路卫星信号,分别通过GPS天线和BDII天线端接收信号,再通过MAX2769B处理后,将中频信号送入FPGA进行捕获、数字下变频、跟踪等处理,最后通过接口总线与ARM进行数据通讯,而通过ARM完成导航电文解析、定位解算、速度求解和解帧等工作[5], 该系统的工作时钟为39 MHz。
MAX2769B是第1代单芯片全球导航卫星系统接收器,用于GPS、GLONASS、伽利略及北斗导航卫星系统[6]。MAX2769B集成了单芯片滤波器,无需外部IF滤波器,仅需少量外部元件即可构建完整的低成本GPS RF接收机方案[7]。GPS信号L1频点为1 575.42 MHz,北斗二代信号B1频点为1 561.098 MHz,2路信号分别从2根天线接收过来后,经过MAX2769B处理后,量化为8位数字信号送给FPGA进行基带处理。图 3所示为MAX2769B及其外围电路设计原理图。
2 基带信号处理器功能实现基带信号处理器模块主要采用1片FPGA集成芯片实现处理,该设计中的FPGA采用的是Altera公司Cyclone Ⅲ系列器件EP3C55F484C8N。该器件是Altera公司的低成本器件,可以同时完成多个通道的基带信号处理[8]。FPGA中包含有双模导航系统的基带信号处理模块,每个模块都是通过12个通道对基带信号进行并行处理,从而加快导航卫星信号的捕获与跟踪的速度,其结构如图 4所示。
以GPS信号接收为例,本系统接收机频率为1 575.42±1.5 MHz,通道数为12,工作电压为5±0.2 V,整机功耗小于等于2.5 W[9]。接收机的主要功能在FPGA里实现,采用Quartus11.0软件设计,主要包括了码数字控制振荡器(numerically controlled oscillator,NCO)、载波NCO、数字下变频、C/A码生成、码相关、帧同步产生和伪距测量等功能模块,其单通道的具体内部框图如图 5所示。鉴于篇幅原因,该部分对其中几个主要功能模块的设计与实现进行了说明。
2.1 NCO模块设计理想正弦波信号S(t)可以表示为
在振幅A和初φ确定之后,频率可由相位偏移唯一确定:
两端对t进行微分,得到
式中:Δθ为一个采样间隔Δt之间的相位增量,采样周期Δt=1/FCLK,故可知,若能控制Δθ就可控制不同的频率输出,而Δθ受频率控制字FCN的控制,即
该系统载波NCO采用了32位相位累加器,输入时钟频率为39 MHz,当FCN=1时,其频率分辨率为
载波NCO采用DDS的方法实现,其作用是产生频率输出可调节的复正弦信号,供后端复下变频使用,载波NCO输出频率的大小由频率控制字来调节。图 6所示为采用Verilog语言编程生成的载波NCO模块。
在码NCO的实现中,频率控制字和累加器均为32位,这里的溢出位指的是累加器输出的最高位MSB,码NCO产生的是主时钟的整数倍分频输出时钟信号。图 7所示为采用Verilog语言编程生成的码NCO模块。
2.2 数字下变频模块设计同相正交信号分别为
用复数可以表示为
式中:d(t)是数据比特;p(t)是伪随机码;ωc是输入中频频率。
载波NCO的输出用复数表示为
式中:ωn是载波频率。
则:
所以相位旋转后的I、Q信号为
Iout和Qout分别为复旋转相位下变频后同相正交信号的输出。
由于卫星运动、本地接收机运动和时钟差等产生多普勒频率,调制射频前端采集的模拟基带信号之前需要进行相关处理,将残余的多普勒频率滤除,所以需要用到复相位旋转数字下变频模块[10]。它主要是完成1个复位相乘运算,其作用是将频谱进行1个整体搬移,这样就可以把多普勒频率信号移至零频。
图 8为复相位旋转数字下变频生成模块。
3 ARM导航解算模块实现定位解算主要在ARM中完成,主要有获取伪距,并且运用载波相位对伪距进行平滑,以此来提高定位精度;对导航定位进行BCH校验、解算卫星星历,计算卫星在发射时刻的位置和速度;计算导航接收机的位置等部分。
3.1 卫星位置计算以GPS为例,GPS卫星位置是基于WGS-84坐标系的,北斗二代卫星位置是基于CGS2000坐标系,北斗二代系统中有5颗地球静止轨道(GEO)卫星,在参与其它MEO和IGSO卫星进行定位解算之前,求解在CGCS2000坐标系下的卫星XYZ坐标中,相比MEO和IGSO卫星,需要进行额外一步的坐标转换。而在GPS接收机中,卫星的位置坐标是在ECEF坐标系中表示的,所以解算得到的用户位置坐标也是在ECEF坐标系中表示的,则ECEF坐标系和WGS-84坐标系之间也需要进行坐标转换[11]。
根据WGS-84坐标系和CGS2000坐标系定义的相同有关参数:地球长半轴为6 378 137m,地球引力常数为GM=398 600.441 8×109m3/s2,地球自转角速度为:ω=7.292 115 0×10-5rad/s[12]。以接收GPS信号为例,计算GPS卫星在ECEF坐标系中的坐标方程为
式中:ik为卫星轨道倾角;Ωk为观测时刻的升点经度;xk和yk分别为卫星在轨道平面的位置。而在计算卫星位置的同时,也可根据导航电文计算卫星的速度。
3.2 接收机位置和速度解算位置速度时间(position velocity time,PVT)解算包括对接收机位置、速度和钟差的求解,常用的主要有2种方法,即最小二乘法解和卡尔曼滤波法[13],这里采用最小二乘法求解。利用观测到的伪距计算得到卫星位置,伪距方程为
式中:vj为修正后的伪距误差;(xu, yu, zu)和(xj, yj, zj)分别表示用户和卫星j在ECEF坐标系中的位置坐标;bu为用户钟差产生的等效距离误差;ρcj为经过伪距改正的卫星j到用户的伪距。
接收机到卫星j的观测矢量表示为
式中:Rj为卫星j到概略位置的距离,故伪距残差可表示为
(1) |
式(1)中,有4个未知量Δxu、Δyu、Δzu、Δbu,可以用4颗卫星进行距离测量将他们解出来,ρj为实际测得的伪距经过一系列修正后的伪距。对式(1)写成矩阵的形式,有:
(2) |
式(2)中
所以式(2)的解为:
当参与运算的卫星数目大于4颗时,可以运用最小二乘法进行计算,计算结果为
计算接收机速度只需将观测量由伪距换为多普勒即可,多普勒频移是因为卫星相对于用户的相对运动而产生的[14],由多普勒频移计算伪距速率:
式中:fd为多普勒频移;fTj为第j颗卫星的实际发射频率;fuj为接收机天线对于第j颗卫星所收到的频率;fj对于第j颗卫星所收到频率的测量估计值,与实际接收的频率存在一个频偏。最后将伪距速率方程简写为
式中
为接收机速度;S为常数项矢量;V为残差矢量;G为速度分量的系数矩阵。
当观测4颗或4颗以上卫星时,解得接收机的速度为
接收机系统中的ARM器件采用的是ST公司的STM32F407ZGT6集成芯片,该处理器采用的是ARM CortexTM-M4内核为核心,是由ARM专门开发的最新嵌入式处理器,具有高效的信号处理功能[10]。ARM导航解算模块主要包括对GPS/BDⅡ各通道的初始化,各通道超前、即时和滞后相关值的读取和存储,载波跟踪环和码跟踪环的环路控制,TIC时刻观测数据的读取和存储,载波相位辅助伪距平滑处理,跟踪多谱勒滤波处理,帧数据的读取和导航电文解析、定位解算和速度求解等功能。其解算处理流程如图 9所示。
ARM解算处理流程主要包含2个部分:主程序和中断服务程序。系统初始化模块先是初始化ARM微控制器以及FPGA上相应的控制寄存器,当ARM初始化完成后,将唤醒FIQ中断。接收到FPGA的中断信号以后,ARM中断控制器会进入中断服务程序(ISR),这个阶段先是循环遍历读取FPGA上的12通道相关值来完成各个通道的信号捕获、确认、锁定和跟踪。当TIC发生时,ISR还需要读取FPGA上锁存好的历元计数信息。
4 系统功能测试 4.1 基带信号处理器功能模块测试该系统基带信号处理设计主要在FPGA中完成,鉴于篇幅原因,文中仅针对GPS信号接收部分中的几个主要功能模块进行了仿真与测试,其中图 10为码NCO模块仿真图。
仿真过程中,所给模块的输入时钟为39 MHz,给出频率控制字为0x6B70F480,产生一个32×1.023 MHz的时钟频率输出。
图 11为载波NCO模块仿真结果,其中可以看出载波NCO的正余弦波形输出,它们之间的相位刚好相差π/2。
图 12给出了6路C/A码产生的仿真波形,从上到下依次为超前码、即时码、滞后码、延迟超前码、延迟即时码和延迟滞后码,6路码之间分别相差半个码片。
4.2 导航定位解算测试以GPS为例,对卫星导航定位系统进行了测试,图 13所示为定位卫星位置界面,表示已有4颗卫星参与定位,定位卫星号分别为11、30、28、7,只有4颗或4颗以上的卫星同时定位后,界面中才会出现参与定位卫星的位置。
如图 14所示,为某一时刻的定位结果。经度、纬度、高程表示接收机在WGS-84大地坐标系中的位置信息,X、Y、Z表示接收机在ECEF坐标系中的坐标信息,VX、VY、VZ表示接收机的速度信息,PDOP表示接收机的三维位置精度因子。
5 结束语文中介绍了一种GPS/BDⅡ双模导航接收机的设计与实现,通过FPGA+ARM的架构方式对卫星信号进行相关的处理,最终实现导航定位。集成芯片MAX2769B将从天线端接收到的两路射频信号转换成中频信号,采样后的数字信号通过FPGA完成基带处理,实现对信号的捕获、跟踪等功能,最后通过总线与ARM连接,进行信号数据的导航解算与定位功能。双模导航接收机集成了单模GPS与单模BDII接收机的功能,从而使实用价值得到提高,发展双模导航接收机已成为卫星导航技术发展的未来趋势。
[1] | 蔡艳辉, 胡锐, 程鹏飞, 等. 一种基于FPGA+DSP的北斗兼容型高精度接收机系统设计[J]. 导航定位学报 , 2013, 1 (2) : 1-6 |
[2] | 郭盛桃. 北斗导航接收机中频频率设计[J]. 无线电工程 , 2014, 44 (9) : 63-66 |
[3] | 王坚, 李增科, 王志杰. 基于低通滤波的GPS/INS组合导航模型研究[J]. 导航定位学报 , 2013, 1 (1) : 22-27 |
[4] | 张冲, 刘党辉, 王春明, 等. 北斗系统B1频点信号可靠捕获方法研究[J]. 导航定位学报 , 2014, 2 (2) : 58-62 |
[5] | 高猛, 徐爱功, 祝会忠. 双导航定位系统伪距单点定位数据处理方法与精度分析[J]. 导航定位学报 , 2014, 2 (2) : 83-88 |
[6] | 马宏阳, 程鹏飞, 王潜心, 等. 双源组合导航系统关键算法研究[J]. 导航定位学报 , 2014, 2 (2) : 76-82 |
[7] | MARGARIA D, DOVIS F, MULASSANO P. Galileo AltBOC signal multiresolution acquisition strategy[J]. IEEE aerospace and electronic systems magazine , 2008, 23 (11) : 4-10 DOI:10.1109/MAES.2008.4693984 |
[8] | 刘峰, 李欣, 龙腾. 卫星导航接收机定点环路跟踪精度研究[J]. 北京理工大学学报 , 2010, 30 (6) : 707-712 |
[9] | 时东飞.基于FPGA及ARM核的GPS信号处理平台的设计及实现[D].上海:上海交通大学, 2012: 48-52. http://cdmd.cnki.com.cn/article/cdmd-10248-1012019726.htm |
[10] | 黄仰博.高性能导航接收机基带处理算法与实现技术研究[D].长沙:国防科技大学, 2011: 56-58. |
[11] | HILL J M. Development of an experimental global positioning system (GPS) receiver platform for navigation algorithm evaluation[D]. Worcester: Worcester Polytechnic Institute, 2001. |
[12] | KAPLAN E D, HEGARTY C J. Understanding GPS: principles and applications[M]. 2nd ed Boston: Artech House Publishers, 2005 : 1 -7, 113, 126. |
[13] | LEDVINA B M, POWELL S P, KINTNER P M, et al. A 12-channel real-time GPS L1 software receiver[C]//Proceedings of the National Technical Meeting of the Institute of Navigation. Anaheim, CA, 2003: 18-23. |
[14] | MARTIN S, KUHLEN H, ABT T. Interference and regulatory aspects of GNSS pseudolites[C]//Proceedings of the 18th International Technical Meeting of the Satellite Division of the Institute of Navigation ION GNSS. Long Beach, US, 2005: 27-30. |