一种水下无线传感器网络定位方法
技术领域
本发明属于无线通信技术领域,特别涉及一种水下无线传感器网络定位方法。
背景技术
不同于陆地无线传感器网络,水下环境极为复杂,例如节点随水流移动,电池补给困难,水中声信道高延迟,低带宽和高误码率这些状况,这些使研究水中的定位方案变得困难。
众所周知,普通的GPS不能在水下工作,为了使节点可以在水下定位自己,提出了一种水下GPS系统,例如:GPS智能浮标GIB(GPS Intelligent Buoys)和PARADIGM(一种提供精确定位的程序)。这些水下GPS系统主要是依靠表面浮标提供准确的位置信息,这些浮标的作用就如同GPS的卫星。所有在浮标通信范围内的节点如果获得3个或3个以上浮标节点的位置信息,就可以定位自己的位置。但是对于大型无线传感器网络,不能保证所有的节点都能获得3个或3个以上的浮标位置信息,从而定位自己的准确位置。原因有两点,第一,和浮标节点通信,普通节点需要装备昂贵的硬件设施去和表面浮标通信,这对于拥有大量节点的大型水下无线传感器网络来说是不实际的,会使得成本过高;第二,表面浮标为了保证所有的节点都能收到其发出的信息,会增大通信功率,使得表面浮标的的生命期变短,因为浮标节点大多数是由电池供电的,而电池的更换补给是很困难的。
目前提出的节点定位方法主要分为两类:基于测距的定位方法和无需测距的定位方法。基于测距的定位方法需要测量节点之间的距离或者测量节点之间的角度,而无需测距的定位方法不需要这些测量。基于测距的定位方法需要额外的硬件支持,但是它可以提供相对精确的定位。无需测距的定位方法则相反,它不需要额外的硬件支持,但是定位误差却较高。在多数应用中(例如河口监控,污染物跟踪)我们需要较准确的定位方案,所以本定位方法中选择了基于测距的定位方法。在基于测距的定位算法中,测距信息的准确性很重要,直接影响了定位的准确度。目前测距的方法有:基于信号强度测距方法RSSI(Received Signal StrengthIndication),基于到达时间的测距方法TOA(Time of Arrival)、基于到达时间差的测距方法TDOA(Time Difference of Arrival)。信号强度测量就是根据收到信号衰减的程度计算路径的损耗,再将路径的损耗换算成距离。这种技术主要使用RF信号,因为传感器节点本身具有无线通信的功能,所有是一种低功率,低成本的测距技术,但是无线信号的反射,多径传播等会使这种测距方法产生较大误差。这里我们使用RSSI来测量节点之间的距离,测出距离后就可以利用三边测量法来计算节点的位置。三边测量法就是选择若干节点,相互连接成若干个三角形。通过测量三角形的内角或边长,再根据已知节点的坐标,通过已知的三角形边长和坐标方位角来计算未知的三角形各边的边长和坐标方位角,进而计算出未知节点的位置坐标。
面对上述的定位难题,一种多级定位方法被提出。方法中包含3种节点:表面浮标节点,锚节点(可以与表面浮标直接通信从而定位自身的节点)和普通节点。浮标漂浮在水面,装备有GPS设备,可以获得自己的准确位置;锚节点可以和浮标直接通信从而定位自身,同时锚节点也可以和普通节点通信并帮助普通节点定位;普通节点出于成本或者其他制约因素的考虑不能和浮标节点直接通信,但是可以和锚节点通信来定位自己。整个定位分为两个过程:锚节点的定位和普通节点的定位。首先锚节点和浮标节点通信获得位置信息帮助自身定位,然后锚节点帮助普通节点进行定位,在普通节点的定位过程中,当某一节点定位完成之后会对自身进行判断,根据设定好的判断条件,判断自己有无条件成为参考节点(普通节点通过锚节点的帮助定位自身,并且具备一定精度条件,从而转化为参考节点,再去帮助其他节点定位)。成为了参考节点的这部分普通节点广播自身的位置信息,帮助其他普通节点定位。这种定位方案增大了网络的连通性,提高了定位覆盖率,提高了定位速度。关于定位精度,是在每个节点中设置了一个信任值,信任值越高精度越高,当一个普通节点收到来自多个参考节点的位置信息时,可以选择信任值较高的节点帮助自身定位,这样既可以提高定位的精度。在这种方法中,如果锚节点失效,则会对网络的连通性产生影响,一部分普通节点会因为收不到足够的位置信息从而无法定位。
发明内容
本发明所要解决的技术问题是为了克服现有技术的不足,针对水下无线传感器网络中节点失效问题,为了提高节点的定位覆盖率,提出一种水下无线传感器网络定位方法。
为了解决上述技术问题,本发明采用的技术方案是:
一种水下无线传感器网络定位方法,所述无线传感器网络包含三类节点,分别是浮标节点、锚节点和普通节点;所述浮标节点为卫星定位节点,所述锚节点与浮标节点通信从而实现锚节点定位,锚节点与部分已定位普通节点组成参考节点集;所述普通节点与参考节点集中部分参考节点通信以实现定位;具体包括步骤如下:
步骤1,普通节点的定位:
参考节点周期性地广播自己的位置信息,在一个定位周期内,未定位普通节点获得至少三个参考节点的位置信息后,利用三边测量法定位;
步骤2,已定位普通节点信任值计算:
锚节点的信任值为1,已定位普通节点信任值η的计算公式为:
其中,(u,v,w)是定位节点的位置坐标,(xi,yi,zi)是参考节点的坐标,ηi是对应的参考节点的信任值,li是定位节点测量的距离参考节点的距离,l是li的平均值;在每个定位周期,已定位普通节点更新信任值;
步骤3,将信任值满足设定指标的已定位普通节点转化为参考节点,并广播自身的位置信息;
步骤4,无法定位普通节点发出无法定位信息:
在定位周期内,未定位普通节点如果没有接收到至少三个参考节点的位置信息,则广播自己的无法定位信息;继续等待参考节点发射位置信息,经过一个定位周期时间后,如果接收到了至少三个参考节点的位置信息,则进行定位;如果没有接收到至少三个参考节点的位置信息,则继续广播无法定位信息;
步骤5,收到无法定位信息的已定位普通节点转化为参考节点:
已定位普通节点收到无法定位信息后,立即转化为参考节点,广播自己的位置信息;
步骤6,未定位普通节点选择参考节点并定位:
未定位普通节点收到参考节点的位置信息之后,根据信任值进行排序,按照从大到小的顺序,选取至少三个参考节点;利用三边测量法定位,并计算其信任值。
步骤3中,所述设定指标是指已定位普通节点的信任值不小于0.3。
本发明的有益效果:本发明提出了一种水下无线传感器网络定位方法,无线传感器网络包含三类节点,分别是浮标节点、锚节点和普通节点;所述浮标节点为卫星定位节点,所述锚节点与浮标节点通信而实现锚节点定位,锚节点与部分已定位普通节点组成参考节点集;所述普通节点与参考节点集中部分参考节点通信以实现定位。本发明方法在锚节点失效的情况下,通过已定位的普通节点帮助无法定位普通节点定位,无需将无法定位信息汇聚到网关,在区域内自行解决普通节点定位,提高了定位的覆盖率,降低节点失效的影响。
附图说明
图1为本发明各类节点分布示意图。
图2为本发明无法定位普通节点广播无法定位信息示意图。
图3为本发明收到无法定位信息的已定位普通节点转化为参考节点示意图。
图4为本发明实例图。
具体实施方式
以下结合说明书附图,详细说明本发明一种水下无线传感器网络定位方法。本发明包括以下步骤:
步骤1,普通节点的定位:
参考节点周期性地广播自己的位置信息,一个定位周期内,未定位普通节点获得至少三个参考节点的位置信息后,利用三边测量法定位;普通节点每相隔时间T重新发起定位。如图1所示,图中浮标节点用三角形表示,浮标节点可以通过设备直接得知自己的位置,锚节点用五角星表示,可以直接和浮标节点通信,通过浮标节点的位置计算出自己的位置,然后锚节点会广播自己的位置信息帮助普通节点定位,图中普通节点用正方形表示,普通节点因为设备的制约不能与浮标节点通信,只能与锚节点通信,普通节点通过锚节点的位置信息计算自己的位置;
步骤2,已定位普通节点信任值计算:
锚节点的信任值为1,已定位普通节点信任值计算公式为:
其中,(u,v,w)是定位节点的位置坐标,(xi,yi,zi)是定位参考节点的坐标,ηi是对应的参考节点的信任值,li是定位节点测量的距离参考节点的距离,l是li的平均值,距离通过信号强度测量,信号强度测量就是根据收到信号衰减的程度计算路径的损耗,再将路径的损耗换算成距离;在每个定位周期,已定位普通节点更新信任值;
步骤3,已定位普通节点转化为参考节点:
满足设定指标的已定位普通节点,转化为参考节点,广播自身的位置信息;
步骤4,无法定位普通节点发出无法定位信息:
在定位周期内,未定位普通节点如果没有接收到至少三个参考节点的位置信息,则广播自己的无法定位信息,如图2,图中无法定位节点用正方形节点表示,已定位节点用五角星表示,无法定位节点广播自己的无法定位信号,广播范围如图2中圆圈所示;广播后继续等待参考节点发射位置信息,经过一个定位周期后,如果接收到了至少三个参考节点的位置信息,则进行定位。如果没有接收到至少三个参考节点的位置信息,则继续广播无法定位信息
具体实施如下:
步骤4-1:普通节点中设定了定位周期T。
步骤4-2:经过时间T,节点没有收到足够的节点位置信息,自身无法定位,将广播自己的无法定位的信号。
步骤4-3:无法定位节点广播无法定位信号之后,等待其他已定位节点发射位置信息,经过时间T之后如果接收到了足够的位置信息,则运用三边测量法进行定位。
步骤4-4:如果没有接收到足够的位置信息,则继续广播无法定位的信号。;
步骤5,收到无法定位信息的已定位普通节点转化为参考节点:
已定位普通节点收到无法定位信息后,即使自身达不到设定指标,即信任值达不到0.3,仍然立即转化为参考节点,广播自己的位置信息,如图3所示,图中无法定位节点用正方形表示,已定位节点用五角星表示,已定位节点收到无法定位信号后,转化成了参考节点,广播自己的位置信息,广播范围如图中圆圈所示;
步骤6,未定位普通节点选择参考节点并定位:
未定位普通节点收到参考节点的位置信息之后,根据信任值进行排序,节点中存有信任值表格,按照信任值从大到小的顺序排序,选取至少三个参考节点,选取时优先选取信任值高的参考节点;利用三边测量法定位,并计算信任值。
具体过程如下:
步骤6-1:未定位节点广播自己无法定位的信号后,记录在一个定位周期T内收到的参考节点的位置信息。
步骤6-2:将节点信息根据信任值高低进行排序。
步骤6-3:选取信任值较高的三个节点。
步骤6-4:根据节点位置信息,利用三边测量法定位自身。
下面根据图4进行实例分析:
1),图中A,B收不到任何位置信息,为无法定位节点,A和B广播无法定位的信号,广播范围如虚线圆圈所示;
2),C,D,E,F,G点收到了无法定位信号后,转化为参考节点,广播自身的位置信息帮助A,B定位,广播范围如实线圆圈所示;
3),A节点收到了F,G的位置信息,但仍然无法定位,而B节点收到了C,D,E,G的位置信息,利用三边测量法可以进行定位,定位时选择信任值较高的三个节点,假设图中G,C,D的信任值较高,则利用G,C,D的位置信息定位B节点;
4),在B节点定位完成之后成为了已定位节点,这时B将收到A的无法定位信号,从而B也转化为参考节点,广播自己的位置信息,帮助节点A定位;
5),A收到了来自F,G,B的位置信息后得以定位自身。最终无法定位节点都得以定位。
综上所述,本方法首先是普通节点通过锚节点定位,已定位节点都可计算出自己的信任值,部分满足设定指标的节点转化为参考节点,从而帮助其他节点定位,当锚节点失效时有部分节点无法定位,无法定位节点向周围广播无法定位的信号,收到无法定位信号的已定位节点,无论自己是否达到设定的指标都转化为参考节点,广播自己的位置信息帮助无法定位的节点定位,无法定位节点从收到的位置信息中挑选信任值较高的节点帮助自己定位,本方法减少了锚节点失效对普通节点定位的影响,提高了定位的覆盖率。