论文部分内容阅读
摘 要:本文介绍了一种应用于单片多模导航芯片BWSR100的定位解算软件。该定位解算软件依据导航电文和实时的伪距信息,采用最小二乘法完成初始定位,采用扩展卡尔曼滤波方法完成后续高精度定位。仿真结果表明,在-135dBm的信号强度下,该定位解算软件的水平定位精度可以达到5m,测速精度可以达到0.2m/s。
关键词:导航;定位;扩展卡尔曼滤波;最小二乘法
中图分类号:TN851
BWSR100是中国电子科技集团公司第三十八研究所研制的一款单片双模导航芯片,支持GPS和北斗二代两大卫星导航系统。该芯片将传统的射频前端、基带处理单元和嵌入式CPU集成在同一块芯片上,完成射频处理、基带处理、定位解算等功能,能够接收卫星信号并直接输出定位结果。该芯片不仅有效地减小了版图面积,而且提升了导航终端的可靠性,降低了导航终端的实现成本。
该芯片集成了由杭州中天微系统有限公司提供的国产嵌入式CPU CK610F,用于完成芯片控制和定位解算功能。这些功能通过软件实现,固化在片外的Flash中。本文讨论的定位解算软件是BWSR100固件中的重要组成部分,负责完成定位解算功能。在BWSR100启动后,首先使用最小二乘法完成第一次定位。随后,为了提升定位精度,采用扩展卡尔曼滤波方法,在上一次定位结果的基础上迭代完成后续定位解算工作。
1 定位解算原理
1.1 位置解算原理。卫星和导航接收机的几何关系示意如图1所示。接收机的三维坐标由三个变量构成,但是在定位过程中,由于接收机时间与卫星导航系统时间之间存在差异,因此需要增加一个变量以完成定位,故需要四颗卫星才可以确定接收机的位置。
1.3 卡尔曼滤波。最小二乘法得到的定位结果是基于某个时元的一组观测量,与其它时元的观测量无关。接收机在提取观测量时,不同时元的观测量是独立的,因此,最小二乘法的定位结果的误差特性类似于白噪声,有跳跃现象。
卡尔曼滤波器是一种线性递归的估值方法,其前提是系统处理噪声为高斯白噪声。卡尔曼滤波可以使定位结果平稳变化,误差小于最小二乘法。
使用卡尔曼滤波求解接收机位置时,对位置初值要求较高,可以通过最小二乘法获得初值,再使用卡尔曼滤波计算之后所有时元的位置。
在接收机中,伪距观测量是系统状态的非线性函数,因此需要采用非线性的扩展卡尔曼滤波器。
图5 直线加速运动定位
从场景3和场景4的结果中可以看出,当接收机运行速度较低、加速度在3g以下时,BWSR100可以获得较好的定位和测速精度。在场景3中当切向速度达到100km/h时,随着螺旋半径的减小,向心加速度不断增大,在向心加速度达到3g左右的时候,BWSR100开始丢星;在场景4中当直线运动速度超过3000km/h,加速度大于3g时,BWSR100开始丢星。此时定位解算软件无法获得正确的实时伪距信息,定位结果开始出现很大的偏差。
综合以上结果表明,本文介绍的定位解算软件在正确的实时伪距信息的支持下,可以较高的定位精度,能够满足一般使用需求。
3 结束语
本文介绍的定位解算软件设计可以高效地完成定位解算工作,定位精度较好,现已在BWSR100芯片中得到实际使用,效果良好。未来会在博微系列导航芯片产品中得到更进一步的应用和改进。
参考文献:
[1]潘赟.CK-CPU嵌入式系统开发教程[M].北京:科学出版社,2011.
[2]E.D.Kaplan,C.J.Hegarty.GPS原理与应用[M].北京:电子工业出版社,2007.
作者简介:马宏星,工程师,主要研究方向:导航、SoC芯片设计、嵌入式软件设计;李知方,工程师,主要研究方向:导航;朱家兵,高级工程师,主要研究方向:导航。
作者单位:中国电子科技集团公司第38研究所,合肥 230031
关键词:导航;定位;扩展卡尔曼滤波;最小二乘法
中图分类号:TN851
BWSR100是中国电子科技集团公司第三十八研究所研制的一款单片双模导航芯片,支持GPS和北斗二代两大卫星导航系统。该芯片将传统的射频前端、基带处理单元和嵌入式CPU集成在同一块芯片上,完成射频处理、基带处理、定位解算等功能,能够接收卫星信号并直接输出定位结果。该芯片不仅有效地减小了版图面积,而且提升了导航终端的可靠性,降低了导航终端的实现成本。
该芯片集成了由杭州中天微系统有限公司提供的国产嵌入式CPU CK610F,用于完成芯片控制和定位解算功能。这些功能通过软件实现,固化在片外的Flash中。本文讨论的定位解算软件是BWSR100固件中的重要组成部分,负责完成定位解算功能。在BWSR100启动后,首先使用最小二乘法完成第一次定位。随后,为了提升定位精度,采用扩展卡尔曼滤波方法,在上一次定位结果的基础上迭代完成后续定位解算工作。
1 定位解算原理
1.1 位置解算原理。卫星和导航接收机的几何关系示意如图1所示。接收机的三维坐标由三个变量构成,但是在定位过程中,由于接收机时间与卫星导航系统时间之间存在差异,因此需要增加一个变量以完成定位,故需要四颗卫星才可以确定接收机的位置。
1.3 卡尔曼滤波。最小二乘法得到的定位结果是基于某个时元的一组观测量,与其它时元的观测量无关。接收机在提取观测量时,不同时元的观测量是独立的,因此,最小二乘法的定位结果的误差特性类似于白噪声,有跳跃现象。
卡尔曼滤波器是一种线性递归的估值方法,其前提是系统处理噪声为高斯白噪声。卡尔曼滤波可以使定位结果平稳变化,误差小于最小二乘法。
使用卡尔曼滤波求解接收机位置时,对位置初值要求较高,可以通过最小二乘法获得初值,再使用卡尔曼滤波计算之后所有时元的位置。
在接收机中,伪距观测量是系统状态的非线性函数,因此需要采用非线性的扩展卡尔曼滤波器。
图5 直线加速运动定位
从场景3和场景4的结果中可以看出,当接收机运行速度较低、加速度在3g以下时,BWSR100可以获得较好的定位和测速精度。在场景3中当切向速度达到100km/h时,随着螺旋半径的减小,向心加速度不断增大,在向心加速度达到3g左右的时候,BWSR100开始丢星;在场景4中当直线运动速度超过3000km/h,加速度大于3g时,BWSR100开始丢星。此时定位解算软件无法获得正确的实时伪距信息,定位结果开始出现很大的偏差。
综合以上结果表明,本文介绍的定位解算软件在正确的实时伪距信息的支持下,可以较高的定位精度,能够满足一般使用需求。
3 结束语
本文介绍的定位解算软件设计可以高效地完成定位解算工作,定位精度较好,现已在BWSR100芯片中得到实际使用,效果良好。未来会在博微系列导航芯片产品中得到更进一步的应用和改进。
参考文献:
[1]潘赟.CK-CPU嵌入式系统开发教程[M].北京:科学出版社,2011.
[2]E.D.Kaplan,C.J.Hegarty.GPS原理与应用[M].北京:电子工业出版社,2007.
作者简介:马宏星,工程师,主要研究方向:导航、SoC芯片设计、嵌入式软件设计;李知方,工程师,主要研究方向:导航;朱家兵,高级工程师,主要研究方向:导航。
作者单位:中国电子科技集团公司第38研究所,合肥 230031