研究无线传感器网络的事件定位问题,对SNAP(Subtract on Negative Add on Positive)[1]定位算法进行改进,提出一种定位精度更高,容错性更好的定位算法MSNAP(Modified Subtract on Negative Add on Positive)。首先,每个传感器节点监测事件信号,并将观测值与设定的阈值进行比较,如果大于阈值,节点将观测值发送给Sink节点;否则,节点保持沉默状态;基于各节点汇报的观测值,Sink节点通过对报警节点的区域的+1,不报警节点的区域-1构造似然矩阵,似然矩阵中的最大值对应的位置就是事件发生的位置。与SNAP算法相比,构造似然矩阵时,根据每个节点汇报的观测值的大小,动态地调整它们估计的事件所在区域的大小,提高事件定位精度。实验结果表明:与SNAP比较,算法有效地提高了事件定位的精度和容错性。