针对由声线弯曲和节点移动性造成的水声定位系统定位误差偏大的问题,提出了基于修正观测值的粒子滤波算法(MOPF).首先,根据声速剖面,使用迭代逼近的方式初步修正观测距离,补偿由声线弯曲造成的测距误差.然后,利用移动节点在信标节点方向上的分速度与定位信号到达时间差的乘积,进一步修正观测距离.最后,使用二次修正的观测值更新粒子滤波产生随机的粒子权重,得出最佳位置估计.仿真实验表明,MOPF算法平均定位误差为0.72 m,定位精度较扩展卡尔曼滤波算法提升了50％.MOPF算法解决了节点运动特性及所处方位对定位精度造成的影响,提高了定位系统的稳定性.