顾得友,陈 帅,温哲君,陈德潘
(1.上海航天电子技术研究所,上海201109;2.南京理工大学,南京210094)
2001年初,在微惯性技术和高精度芯片级时钟技术的发展趋势下,美国国防高级研究计划局(Defense Advanced Research Projects Agency,DARPA)开展了定位导航授时微系统技术(Micro-PNT)的研究,在保证系统精度的同时,使其具有较好的体积、质量、功耗和成本优势(SWaP+C)以及良好的易用性[1]。此外,美国于 《国家PNT体系执行计划》中曾表示以无线电导航技术、高精度芯片级时钟和微惯性测量单元三者进行深度耦合是构建自主导航的主要技术途径,是解决卫星导航系统固有的脆弱性、提高PNT服务性能的重要方法[2]。目前,国内的微惯性技术、芯片级原子钟技术等的发展为微型化导航系统的研制提供了宝贵的经验。SoC北斗导航接收机采用石英晶振来驱动射频前端采样并完成定位解算功能,传统的石英晶振由于具有尺寸小、价格低、可集成等优势得到了广泛的应用,但是在长期稳定性上存在很大的不足[3]。芯片原子钟可提供长期稳定的频率,同时在体积、功耗方面也存在一定的优势[4],故采用高频率准确度和高频率稳定度的芯片原子钟代替普通晶振作为卫星导航系统的时频系统是有必要的。在一些复杂的定位环境下,可见卫星数不足4颗,此时利用芯片原子钟提供的精确时间基准建立钟差预测项,可以在该环境下实现3颗卫星的定位[5],实现短时间内的定位导航服务。本文提出了利用芯片原子钟代替SoC北斗导航板石英晶振作为系统工作时钟源的方法,并在静态环境下进行实验,分析了引入原子钟后系统在定位精度方面的改善。
SoC北斗导航处理板的核心器件为SoC北斗导航芯片,该芯片主要实现接收机定位解算功能。基带处理单元主要实现对导航信号的捕获、跟踪,获取卫星观测量值,并输出导航电文,供CPU解算使用。MCore与SCore分别代表主CPU与从CPU,主CPU完成系统的主控调度与接收机PVT解算功能,从CPU可以完成惯导解算与数据融合功能。
SoC芯片还设计了丰富的外设接口与外界数据进行交互,主CPU、从CPU通过接口控制器对外设进行读写访问,其中的 UART、SPI、I2C、GPIO、1PPS接口可以实现与外部电路的交互,FLASH以及CAN总线接口可以为接收不同类型接口的传感器做准备。一个完整的高性能处理器子系统包括:一个ARM926EJ-S定点数(Integer)内核、一个存储器管理单元(MMU)、单独的指令和数据AMBA、AHB总线接口以及单独的指令和数据TCM接口。
ARM926EJ-S处理器为外部协处理器提供支持,以便能够处理浮点数或增加其他特定应用的硬件加速。ARM926EJ-S处理器具有ARM体系结构v5TEJ,ARM926EJ-S处理器是一个可综合的宏单元,可在4KB~128KB之间以任何2的次幂单独配置两个Cache大小。紧耦合的指令和数据内存在外部实例化为ARM926EJ-S的宏单元,提供了存储子系统在性能、功耗和特定RAM类型上优化的灵活性。TCM接口使得非零等待状态存储器能够被连接,除此以外还提供了支持DMA的机制。
SoC北斗导航处理板主要包括两部分:基带信息处理模块与ARM处理器。其中,基带信息处理模块由SoC芯片中FPGA部分和两片V7FPGA接收处理GNSS数字中频信号,完成数字相关运算,获得累加数据与测量数据,完成导航信号的快速捕获和跟踪功能。SoC北斗导航芯片中的主CPU与基带信息处理模块配合,可实现北斗接收机的定位解算功能,具体功能模块分析如图1所示。
图1 北斗导航定位解算功能模块Fig.1 Diagram of Beidou navigation and positioning solution module
用户如果知道卫星的位置和自身到卫星之间的伪距[6-7],就可以根据如下伪距方程式解算出自身的位置
式(1)中,(x(i),y(i),z(i))为第i颗卫星在ECEF下的位置坐标;(x,y,z)为接收机在ECEF下的位置坐标,即待求解的变量;δtu为接收机本地钟差产生的等效距离值。
卫星和接收机间的伪距可根据本地时间减去卫星信号发射时间再乘以光速得到。信号发射时间是基于卫星上的原子钟计时,时间精度非常高,所以可将所有卫星时钟看作是同步的,其微小的偏差可以根据卫星播发的时钟校正参数来修正[8]。而对于接收机本地时钟,为了降低成本,大多采用温补型晶振,精度比较低。本地钟差对于各颗卫星产生的伪距误差都是相同的,所以可以将本地钟差看作1个未知量,这样需要计算4个变量,至少要跟踪4颗或以上卫星才可以解算出用户的位置。
为了求解式(1),本系统采用Newton迭代算法,经若干次迭代后进行定位。对式(1)在接收机位置x处求偏导,可得
式(2)中,r(i)为接收机位置与卫星i位置连线的观测矢量的模,(x(i)-x)是此观测矢量的X分量,于是就等于单位观测矢量1(i)的X分量。在x、y、z和δtu处略去高阶项的Taylor展开式,写成矩阵方程形式,有
其中,
uk-1和δtu,k-1为第k-1次迭代的接收机位置和钟差。由最小二乘法可得
根据第k-1次的接收机位置和钟差,可以得到第k次迭代的结果
如果已知各颗卫星的信噪比以及卫星仰角信息,就可以根据这些信息设定每颗卫星观测值的可信度权重,然后利用加权最小二乘法求解接收机的位置和本地钟差。
芯片原子钟频率的准确度比普通温补型晶振频率的准确度高出3~4个数量级。在一定时间内,接收机的时钟频率是保持稳定的,北斗导航接收机每次解算出来的钟差值是相互独立的,可以将一段时间内的钟差值数据保存起来,并对数据进行建模,利用模型来估计下一时刻的钟差值,与当前时刻的钟差值进行对比,从而减小钟差项。
二次多项式模型是对接收机相同时间间隔的钟差序列进行拟合,其利用最小二乘法对二次多项式模型参数进行估计,将其值代入二次多项式预测分析钟差[10]。接收机在一个连续的时间段内能够正常定位解算,并且其时钟保持稳定。利用该时间段内的接收机钟差可以建立二次多项式模型,接收机时钟与系统时间之间的关系可以用二次多项式写为
芯片原子钟可提供长期稳定的频率,同时具有体积小、功耗低等优点。相干布局囚禁(Coherent Population Trapping,CPT)原子钟与MEMS加工工艺技术、集成电路ASIC技术相结合,可设计出指甲盖、纽扣电池大小尺寸的芯片原子钟。采用高频率准确度和高频率稳定度的芯片原子钟代替普通的晶振(TXCO、OXCO)作为卫星导航系统的时频系统是有必要的。芯片原子钟对导航接收机定位精度方面的影响主要有:1)减小时钟相位噪声,提高频率稳定度;2)提高导航接收机的授时精度;3)更加准确的伪距、载波相位测量值项,提高系统定位精度;4)提高导航接收机跟踪环路的稳定性能。
本系统采用XHTF104型CPT微型原子钟,芯片原子钟的尺寸为31mm×22mm×12mm,电压为+3.3V,与SA.45s引脚兼容、外秒同步及1PPS输出,芯片原子钟实物如图2所示。
图2 芯片原子钟Fig.2 Diagram of the chip atomic clock
SoC北斗导航处理板系统工作时钟频率为10MHz,该时钟可由石英晶振或芯片原子钟提供。导航板上的电阻R134作为开关电阻可分别接入a、b两端,接入a端口时,石英晶振提供10MHz的正弦波作为系统时钟输入;接入b端口时,芯片原子钟作为外部时钟提供10MHz的方波作为系统时钟输入。
北斗导航接收机采用不同的时钟源,接入石英晶振时在10s内的频率稳定度为10-6~10-7(量级),接入芯片原子钟后在10s内的频率稳定度为10-11~10-12(量级)。原子钟的频率稳定度比石英晶振大几个数量级,由此带来的频率误差也大大减小,下面分析不同时钟源对北斗导航接收定位精度的影响。
将芯片原子钟作为外部时钟接入北斗导航板卡,并在室内进行静态测试,同时记录石英晶振作为工作时钟的同一北斗导航板实验数据,与高精度基准Ublox接收机进行数据对比,并分析定位精度。
晶振作为系统时钟源时,北斗导航接收机的定位精度和速度误差如图3、图4所示。
图3 接收机位置误差(晶振)Fig.3 Position errors of receiver (crystal oscillator)
图4 接收机速度误差(晶振)Fig.4 Speed errors of receiver (crystal oscillator)
原子钟作为系统时钟源时,北斗导航接收机的定位精度和速度误差如图5、图6所示。
图5 接收机位置误差(原子钟)Fig.5 Position errors of receiver(CSAC)
图6 接收机速度误差(原子钟)Fig.6 Speed errors of receiver(CSAC)
晶振和原子钟分别作为系统时钟源时,北斗导航接收机的PDOP值如图7、图8所示。可以看出,原子钟作为时钟源时,PDOP值明显减小。
图7 接收机PDOP值(晶振)Fig.7 PDOP value of receiver (crystal oscillator)
图8 接收机PDOP值(原子钟)Fig.8 PDOP value of receiver(CSAC)
原子钟作为系统时钟时,定位精度因子的PDOP值有明显改善,北斗导航接收机的三维位置精度和速度精度均有不同程度地提高。垂直误差与北斗接收机的时钟偏差是线性相关的,原子钟的接入改善了时钟偏差的估计,所以在垂直精度上的改善比较明显。
表1总结了测试结果的统计数据。芯片原子钟作为系统工作时钟后,位置误差分别减小了9.4%、41.8%、64.3%,速度误差分别减小了36.3%、30.7%、62.3%。
表1 位置和速度的均方根误差对比Table 1 Comparisons of RMS on position and velocity
本文提出了一种利用芯片原子钟代替石英晶振作为SoC北斗导航接收机时钟源的设计方法,并完成了相关实验验证。实验结果表明:芯片原子钟可以有效改善北斗导航接收机的定位精度,尤其是垂直精度。芯片原子钟功耗低、体积小,具有较好的长期频率稳定度,是高稳定度晶振的理想替代品,可以满足在体积和功耗均受限而对频率稳定度要求较高条件下的应用,在诸如手持式微型设备、水下探测导航系统、单兵通信装备、无人机及惯性导航系统、电子测量测试设备等领域具有广阔的应用前景。未来,原子钟的使用将成为高质量、高精度导航解算的基础。目前,市面上暂无以高精度时钟作为时基系统的定位导航授时微系统货架产品,所以研究原子钟对接收机的定位精度影响是比较有意义的。