对于遮挡或快速切换环境下,同一时刻接收到的卫星个数少于4颗,且一段时间内不同编号的导航卫星大于4颗时,常用定位算法将不能进行导航定位。提出一种离散Kalman滤波导航定位算法,建立接收机运动方程和观测方程,并采用真实的星历数据,在Matlab环境下进行仿真。结果表明,在动力学模型较准确的情况下,能达到比较高的导航精度,适用于非同时接收导航信号下的导航定位。