摘要
随着人们对现代航天技术的深入研究,卫星导航技术高速发展并在各个领域的应用越来越广泛。我国的北斗卫星导航系统(BeiDou NavigationSatellite System,BDS)已经与美国的全球定位系统(Global Positioning System,GPS)、俄罗斯的格洛纳斯系统和欧盟的伽利略系统并称为全球四大卫星导航系统。 本文对BDS/GPS软件接收机定位解算算法进行研究与实现,并基于NS150-BG BD/GPS原理实验平台进行了对比仿真实验。在结构上,首先介绍了当前非线性估计和卫星定位解算技术的研究现状;然后研究了BDS/GPS的系统组成和定位原理;接着,在熟练掌握软件接收机构造框架和卫星信号处理流程的基础上,深入研究了伪距的测量原理及测量误差修正模型、卫星位置的计算等关键环节。当可视卫星多于四颗时,本文设计了选星算法,选择几何精度因子最低的四颗卫星进行解算。在此基础上,本文研究了基于扩展卡尔曼滤波(Extended Kalman Filter, EKF)的定位解算算法并在实验平台上进行了仿真实现。 为了进行对比分析,本文研究了接收机定位解算的常用算法,如直接解算法、牛顿迭代法和最小二乘法,并进行了仿真实验和对比分析。最后通过分析每个算法的优缺点,本文提出了一种改进EKF算法,应用于接收机的位置、速度和时间(Position Velocity and Time,PVT)的解算,并在NS150-BG BD/GPS原理实验平台上进行了仿真实验。新算法将直接解算法、最小二乘法和EKF进行融合,选取各个状态的误差量作为估计量,利用测量到的伪距值估计出接收机的状态信息。当EKF出现发散或者接收机状态突然变化时,启用最小二乘法解算器,克服了传统卡尔曼滤波方法容易发散的缺点,而且提高了定位精度和稳定性,仿真实验验证了改进方法的可行性和有效性。