麻军伟,田宇,王宇飞,时永刚
(1 中国电子科技集团公司第二十研究所,西安 710068;2 中国人民解放军91663部队,青岛 266012)
全球卫星导航系统(GNSS)能在地球表面或近地空间的任何地点为用户提供全天候的位置、速度与时间(PVT)信息,主要的卫星导航系统有美国的GPS、俄罗斯的GLONASS、欧洲的Galileo和中国的北斗(BDS)系统。2017年11月5日,随着北斗三号第一、二颗组网卫星的成功发射,中国北斗卫星导航系统正式开启了全球组网的新进程[1]。目前,北斗卫星导航系统已相继公开了 B1I、B3I、B1C、B2a等导航信号接口控制文件(ICD文件),新的导航信号B1C和B2a将与GPS、Galileo实现兼容与互操作,为多系统多频点高精度导航定位提供了有利条件。
随着全球各卫星导航系统的迅速发展和完善,各领域对多系统、高精度、多元融合导航定位设备的需求也更加迫切。多系统高精度导航信号处理设备可同时接收多种(BDS、GPS、GLONASS和Galileo)卫星导航系统的多频点信号,在相同的用户视场内,可接收更多的可视卫星,有效拓宽系统的可用范围,摆脱对单一特定导航星座的依赖;可联合多系统多频信号测距,有效提高测量定位精度,增强定位结果的正确性和可靠性,提高测量效率。
多系统导航信号处理设备所接收的信号频带宽、信号种类多,处理实时性要求较高,其硬件平台对体积、功耗、性能等指标的设计要求较为苛刻。传统的硬件实现架构主要有两种:一种是基于多OEM 板卡集成设计,单板卡用于处理特定频点信号,各板卡以总线背板形势互联通信,这种设计方案具有较好的裁剪性,方式灵活性较强,但一般体积和功耗较大,成本较高;另一种是采用ASIC集成芯片设计实现,根据ASIC芯片的不同集成程度,有单射频、单基带及一体化集成处理芯片,这种设计方法相对简单,适用于低成本商业接收机,但其功能受限,可扩展性不好,不易于升级更新。
随着集成芯片工艺水平的发展,集可编程逻辑器件与嵌入式处理器于一体的片上系统(SoC)级芯片应运而生,大大提升了设备集成度,有效地降低电子信息系统产品的开发成本,缩短开发周期。目前可编程的 SoC芯片主要有 Intel公司推出的28nm Cylone V和Arria V FPGA产品、Xilinx公司推出的Zynq系列FPGA,这两种SoC芯片都采用了双核800MHz ARM Cortex-A9 MPCore处理器,具有 NEON媒体处理引擎、单精度/双精度浮点单元、L1和L2高速缓存,集成的收发器最高速率都在10Gbps左右,并具有可编程的DSP。
基于以上背景,本文通过对多系统卫星导航信号处理特性分析,研究设计了一种以射频模块、SoC芯片为构架的多系统高精度导航信号处理平台。设计充分利用不同导航系统互操作信号的兼容特性,通过共用天线、射频,复用捕获与跟踪通道,降低接收机的复杂度,并达到性能提升、功耗降低、成本降低的目的,以更好地为用户提供更精确、更安全的导航定位服务。
多系统卫星导航信号处理平台,可同时接收处理GPS、Galileo、GLONASS、BDS等多系统多频点卫星导航信号,实现导航、定位和授时等功能。按照信号处理流程可分为射频信号处理、中频信号处理和基带信号处理三个阶段,其信号处理流程如图1所示。
图1 卫星导航信号处理流程
射频信号处理阶段的前置滤波器使带外的射频干扰减到最小,低噪放大器对微弱信号放大,确定接收机噪声系数。中频信号处理阶段利用频率合成器与输入信号混频实现信号下变频,降低信号的载波频率,一般情况下,通过两级下变频方式提高镜像干扰抑制能力。基带信号处理阶段先后进行载波和伪码剥离处理、预检测积分和清零处理、以及捕获、跟踪、电文数据解调等,并通过微处理器实现参数控制、定位解算和监视控制等功能。影响GNSS信号兼容性的因素主要集中在基带信号处理阶段的捕获、载波和码跟踪以及电文数据解调环节。多系统卫星导航信号处理平台涉及信号种类多,且不同信号频带分布、调制方式、时间基准、坐标基准等方面不尽相同,因而在多系统导航信号处理平台设计时必须充分考虑系统兼容性、多任务分配等问题,尽可能实现软硬件模块复用,达到降低硬件复杂度、提升性能的目的。
(1)时间基准的统一
在卫星导航系统中,时间量在观测量获取以及卫星的几何观测和运动信息描述上具有重要意义。时间统一是多系统卫星导航兼容定位的基础,拥有高精度的时间基准才能实现高精度的导航与定位。卫星导航信号处理平台涉及的时间系统主要分为本地时间基准和卫星信号发射时间基准。
本地时间基准是进行导航信号观测的时间标尺。信号处理模块在同一时刻对不同卫星解调后的信号进行观测,以还原相应时刻的卫星发射时间,为计算伪距提供根据。为了获取高稳定、高精度的原始观测数据,保证定位校时结果的准确性,多系统卫星导航处理平台的本地时钟必须具备较好的短稳特性,同时要保证各测量节点之间时间基准的一致性,以及各测量节点与模数转换参考时钟的相位稳定性。
卫星导航信号发射时间以其相应的导航系统时为基准,各卫星导航系统的系统时可溯源到各自本地的世界协调时。GPS系统时 GPST以 UTC(USNO)为时间基准,Galileo系统时GST以UTC(来自 TSP的校准数据),GLONASS系统时GLONASST以 UTC(SU)为时间基准,BDT以UTC(MCLT,对外宣称是NTSC)为时间基准[2]。由于各卫星导航系统采用的时间基准各不相同,各基准之间也存在一定的时间偏差,因此,需要将各系统的时间进行统一处理。将各系统的系统时归一到某个系统的时间基准后,再将该系统时转换为世界协调时,实现时间系统的统一。
多系统兼容接收机在同一本地时刻获取不同GNSS系统的观测数据,进行定位解算时,必须考虑进行不同系统时间的转换。多系统兼容接收机解决不同GNSS的系统时间偏差问题,存在两种可能的情况:一种是当GNSS系统广播的导航电文中已经包含与其它系统的时间转换参数时,则可直接利用该类参数对本地时进行转换,并在伪距计算时采用经过转换后的本地“系统时”。另一种是直接将不同系统间时间偏差作为待解未知数进行求解,这种情况下要求接收机的可视卫星数要多于待解未知数个数。
(2)多系统信号兼容接收
多系统GNSS信号主要分布在L频段,集中了GPS、Galileo、GLONASS、BDS等四个全球导航卫星系统、广域增强系统(WAAS)、欧洲对地静止导航服务(EGNOS)等星基增强系统的多个导航信号,各个导航系统已公开的基本导航信号的频率和调制方式如表1所示。由表1可知,多系统卫星导航信号种类较多,但其中心频率主要集中在两个频段:1164~1300 MHz和1559~1610 MHz,分别称为Band-I和Band-II。以中心频点1575.42为例,该频点调制了GPS的L1C/A、L1C、BDS的B1C和Galileo的E1信号,实现了多系统信号的兼容互操作,这种特性使得射频电路的设计复杂度大大降低。
在射频信号下变频采样时,可将频带 Band-I和 Band-II分别看成两个大带宽的扩频信号,其中心频率分别为1232MHz和1584.5MHz,带宽分别为136MHz和51MHz,可见这两个频段的信号带宽远小于中心频率。根据带通采样定理,当一个中心频率为fC的连续信号分布在一个有限频带(fL,fH)内时,只要采样频率fS满足:
现对采样率的限定,以免增加实现难度和系统成本;此外,采样时钟由时钟生成模块根据外输入参考时钟进行锁相产生,以确保较低的相噪比特性。
同时,由表1可见,传统GNSS信号的调制方式主要以BPSK-R(n)为主,现代化新体制信号引入了偏移二进制载波调制(BOC)方式以及复合二进制偏移载波调制(MBOC)调制方式。BPSK-R信号的频谱集中在中心频率附近,BOC调制信号由于加入了子载波,使信号功率谱对称分布在中心频点的两边,实现了频谱的分离。BOC信号在跟踪精度、干扰和多径抑制性能上优于BPSK-R信号。
在信号接收处理上,BPSK-R用较窄的带宽即可接收到绝大多数的信号能量,相较而言,BOC信号的频谱比BPSK-R信号的频谱更加扩展[3]。更宽的 RMS带宽带来了更高的潜在跟踪精度,多径性能也得到改善,但为捕获跟踪引入了模糊度隐患。GPS L1C所使用的 TMBOC、Galileo E1信号的CMBOC和BDS最新播发的B1C QMBOC调制,这三种MBOC调制方式则在BOC(1,1)的基础上增加了更多的高频分量。对于高端接收机,当采用宽带匹配接收方式处理 MBOC信号时,可以获得比 BOC(1,1)更好的跟踪精度以及抗多径性能,但同时也使接收机的匹配接收处理变得更加复杂。在一些对接收机的复杂度有苛刻限制的应用中,更倾向于使用非匹配接收的方式来处理MBOC信号,将其近似看作BOC(1,1)信号,本地使用BOC(1,1)信号与输入信号进行非匹配相关操作。这样不仅可以大幅简化本地波形的生成电路,而且接收机还可以使用比匹配接收时更窄的接收带宽和更低的采样率,而且对不同 MBOC实现方式的信号可以采用相似的通道结构进行处理。
表1 各卫星导航系统包含的信号频率和带宽
(3)多系统坐标基准及转化
卫星导航系统通过卫星发播测距信号,提供卫星坐标、时间等基准信息,以提供用户定位的手段。对于多系统兼容接收机来说,由于不同系统所采用的坐标基准不同,必须研究不同系统之间的坐标基准及其转换关系。此外,在不同应用场合下,接收机也常需要采用不同坐标形式进行输出定位结果,必须研究不同坐标形式及相互转换关系。不同系统的坐标基准如表2所示。
由表2可见,WGS84、GTRF和CGS-2000坐标系与国际地球参考框架(ITRF)的一致性较高,约为5cm。对精度要求不高(精度低于5cm)的用户来说,可认为三者是相互兼容的,无需再进行坐标转换,但对高精度用户而言,则必须考虑它们之间的参数转换。不同的坐标系可以通过平移和旋转进行转换。目前,坐标系统转换模型可以采用Bursa Model( 布尔沙模型) 或者 Molodensky Model(莫洛金斯基模型),可以证明两种模型具有等价的转换结果[4]。通常情况下,地心坐标系下采用 BursaModel,而参心坐标系下采用Molodensky Model。
表2 不同导航系统的坐标基准
基于 SoC的多系统兼容导航信号处理平台需要对多个频点信号同时进行高速采样、实时处理和联合定位,不同的处理模块对硬件资源需求有别,在软硬件设计时要根据任务特性合理分配资源。
多系统信号处理平台内部结构按照信号处理顺序可分为三大功能模块,分别是射频前端处理模块、对中频信号捕获跟踪并完成信号测量的基带信号处理模块、以及进行信息层面处理的定位解算和授时模块。射频前端处理模块接收天线传来的射频信号并进行下变频处理,并经 ADC转化后输出数字中频信号,硬件主要采用模拟电路实现,模块功能相对独立;基带信号处理部分对前端传来的高速采样信号进行并行相关运算,完成捕获跟踪及电文解析,按照运算规模及运算速度,对需要大规模并行相关运算且实时性要求较高的基带信号处理部分采用SoC的可编程逻辑(Programmable Logic, PL)实现,将低速率但高精度浮点运算的导航定位解算部分采用处理器系统(Processing System, PS)实现。
信号处理平台外围部分主要包含电源系统、状态监测、显示控制及各种通用接口,为平台稳定运行提供支持。电源系统电源稳压转换模块、保护电路、上电顺序控制电路等模块组成,并预留锂电池充电模块。由于PS、PL等核心器件对供电顺序有严格要求,一般内核电压(VCCINT)先于端口电压(VCCIO)上电,设计中通过阻容电路实现延迟控制;显示控制单元用于用户与平台间的交互操作,支持多种工作参数的配置控制;状态监测实现对平台核心部件的工作温度、电流等状态信息实时监控;同时平台预留了UART、SPI等多种通用扩展接口,便于调试、测试及系统扩展。基于SoC多系统导航信号处理平台的硬件结构如图2所示。
图2 基于SoC的导航信号处理平台
从图2中可看出,基于SoC片上系统的信号处理器主要由两部分组成:一部分是处理器系统(PS),一部分是可编程逻辑(PL)。PS部分集成了两个双核ARM Cortex-A9处理器,处理器上有一级二级缓存、片上存储器(OCM)、用于同步的侦听控制单元(SCU)、协处理器等,外设包括UART、SPI、AXI、GPIO、外部存储器等接口。将基带信号处理和定位解算集成到单SoC芯片,不但减少了板级系统复杂度,而且通过软硬件协调设计,在基带处理中可以灵活使用软件对硬件进行配置,提高了基带信号处理的灵活性,更便于算法的升级。
时间基准模块产生用于信号测量的统一时间标准,主要包含观测数据提取锁存使能信号TIC、本地时间基准秒脉冲信号 PPS和用于授时功能的1PPS、累加中断使能信号IRQ等。时间基准模块的时钟源可由板级晶振产生,也可由外部原子钟产生,可实现板级晶振与外部时钟的无缝切换。
信号处理平台的射频模块、信号处理模块、定位解算模块都需要时钟支持,且必须保证其相对相位关系的稳定性。虽然本地时间基准与卫星导航系统的系统时差可以通过定位解算获取,且并不影响定位结果,但本地时间基准的短时稳定性对原始观测数据的精准测量至关重要。设计中板级时钟源采用性价比较高的温补晶振,各模块采用时钟同源设计,恒温晶振产生的时钟源信号经锁相分路并驱动各处理单元。高精度实时时钟(RTC)在-40°C~+85°C温度范围内提供±3.5PPM精度的实时时钟,用于掉电后的系统时间保持,为接收机的快速启动提供时间参考。
不同卫星导航系统之间为了实现更好的兼容互操作特性,卫星发射的导航信号极化方式相同、中心频点重合、发射电平基本相同,因而对于地面接收设备,可采用同一接收天线、低噪声放大器及滤波器实现多系统的兼容性设计。
射频模块用来将射频信号进行下变频、功率放大,输出中频模拟信号,并为前端天线内部低噪声放大器提供馈电。随着多年的发展,各导航系统信号调制频点相对稳定,射频前端的设计应尽量选取成熟方案,可根据频点及性能、成本需要,选取如射频通道模组或ASIC芯片。近些年来市场射频前端产品发展迅速,随着北斗全球卫星导航系统的建设,已有多系统兼容的芯片可供选择。目前已出现了兼容BD3 B1、B2、B3和GPS L1、L2等系统频点的射频模块,例如SFP9900MC射频芯片,可同时输出B1、B2、B3、L1等多频点的中频信号。
基带信号处理是卫星导航信号处理平台的重点,主要任务包括多系统卫星信号的捕获、跟踪、解扩、解调、位同步、帧同步、观测量的获取等[5]。平台设计通过存储式伪码发生器及可扩展相关通道、基于SoC可编程系统扩展环路控制及后端观测量、电文等处理策略实现多系统信号处理的兼容。
基带信号处理部分由单个 SoC系统级芯片实现,按照运算速度和精度要求,采用软硬件结合的方案实现高速信号处理。对需要完成大量数据的乘累加运算,需要极强的实时性和并行处理能力的任务,由SoC的可编程逻辑部分(PL)完成;而对实时性要求不高,但对精度要求高的任务,采用处理器系统(PS)完成,如导航解算模块需要对低速率(1kHz)的数据进行较高的浮点运算,可采用Xilinx ZYNQ的双核ARM Cortex-A9处理器实现。基带信号处理各子任务在 SoC平台的任务分配结构如图3所示。
图3 基带信号处理SoC功能分配
由图3可见,PL部分主要用于实现与硬件物理通道相关的子模块,如本地伪码发生器、载波发生器、捕获引擎、同步处理模块等,对于伪码、正余弦查找表等均采用存储器结构设计,这样既有效利用硬件逻辑资源,又满足多系统信号的兼容性要求;各独立通道采用参数化设计,用户只需配置相应的寄存器即可实现不同信号的匹配接收。而对各种捕获及跟踪通道的配置、包含鉴相器及定位解算等实时性不高但精度要求较高的运算模块,均采用 PS部分设计实现。PS与PL端通过双向通信总线(1、2)实现参数配置与信息交互,PL端的时间同步信号及硬中断触发信号通过专用通道(3)与PS端互连。
多系统卫星导航信号处理平台接口分为外部接口和内部接口,便于调试、测试及功能扩展升级。平台外部接口主要采用成熟的 UART、SPI、IIC、Ethnet等标准接口设计,可满足各类传感器监测、设备调试测试、工作数据监测及设备升级需要;内部接口主要指SoC处理器的PL与PS端交互通信接口、采样数据传输接口等。
SoC处理器的PL与PS端采用AXI通信协议。AXI协议是SoC内处理器ARM Cortex-A9所采用的一种髙性能、髙带宽、低延迟的片内总线。根据AXI协议分类,Zynq中AXI接口共有三种类型:AXI_HP接口、AXI_ACP接口、AXI_GP接口。
其中,AXI_HP接口适用于数据量较大的工程,因带有FIFO缓存使其具有高速高性能的优势,缺点是只能和DDR、OCM实现数据交互,在应用时逻辑设计十分复杂;AXI_ACP接口有着比AXI_HP接口更高的吞吐量,并因其不需要通过互联结构可直接访问片内缓存,所以其延时最低,针对软硬协同设计其存在的缺点也是会使逻辑设计部分复杂程度增加;AXI_GP接口适用于吞吐量中等,PL和PS之间控制信息传输的工程。综上分析,导航信号处理平台设计中SoC内部接口选用AXI_GP接口。
本文分析了多系统卫星导航信号兼容处理的若干关键问题,对比了GPS、BDS等多系统在时间、坐标及信号调制接收方面的特性,提出了多系统多频点兼容接收解决方案,设计了一种基于SoC的多
系统卫星导航信号处理平台,并对各关键模块设计准则进行了分析说明。相较传统分离式多系统接收机架构设计,基于SoC的多系统信号处理平台将基带信号处理与定位解算于一体,最大程度地实现了硬件资源共享,降低了硬件体积、功耗和成本。