为了降低定位成本及提高定位精度,提出了一种使用单个锚节点移动进行未知节点坐标计算的SAPSO-SMPMA算法。该算法采用单个移动锚节点游历定位区域,并通过功率控制发射不同功率的信标信号,未知节点利用收到的不同位置锚节点信息结合自适应权重粒子群算法计算节点坐标。考虑到实际应用时锚节点可能带有误差,故加入了锚节点矢量误差分析。仿真表明,本算法在充分考虑锚节点自身误差及大幅降低定位成本的情况下,定位精度仍然较高,是一种实用的定位算法。