GNSS接收机定位解算的研究与实现
【摘要】:
GNSS(Global Navigation Satellite System)全名是全球导航卫星系统,它包括利用美国的GPS、俄罗斯的GLONASS、欧洲的GALILEO和中国的北斗系统全球卫星导航系统中的一个或多个系统进行导航定位,并同时提供卫星的完备性检验信息(Integrity Checking)和足够的导航安全性告警信息。本文主要研究GNSS接收机中的定位解算算法及其实现。
GNSS接收机定位解算模块简单来说就是利用四颗以上的卫星位置和速度以及相应卫星对应用户的伪距作为输入,解算出某个时刻用户的位置和速度的过程。本文首先介绍了四大卫星导航系统,紧跟着介绍了GNSS接收机的组成和定位原理,然后对捕获、跟踪、同步等各个模块进行了简单的介绍。在这些基础之上设计接收机的硬件和软件架构,其中详细的介绍了软件架构,设计了总体和各个分模块的流程图。本文是在VS2005下用C语言编写代码并对各个场景进行仿真评估,采用了最小二乘迭代法和卡尔曼滤波法来进行定位解算,重点对定位解算中的解析卫星导航电文、根据开普勒轨道模型解算卫星位置和速度、纠正电离层和对流层大气误差、迭代计算用户位置和时间、利用多普勒计算用户速度进行了仿真和性能评估,并用matlab对定位结果进行了分析与绘图。仿真结果表明,算法可以满足性能。然后把平台移植到ADI公司集成开发环境Visual DSP++上对其进行测试。测试过程中,采取了非线性跟踪微分器来辅助载波相位测速,大大提高了速度精度。最后还对影响定位精度的关键因素进行详细的分析并进行纠正,并且编码实现了RAIM算法来监测卫星的健康状态来提高定位精度。测试结果表明,接收机能够稳定的运转,定位的各项参数和指标达到测试系统要求。