一种用于无线传感器网络的定位方法与流程

文档序号:11480385阅读:218来源:国知局
一种用于无线传感器网络的定位方法与流程

本发明涉及一种用于无线传感器网络的定位方法。



背景技术:

无线传感器网络应用越来越广泛,特别是定位技术,在车联网中的车辆定位、煤矿井下人员定位、变电站作业人员跟踪定位、家庭人员定位、养老院人员定位、医院人员定位等。目前无线传感器网络中的定位方法很多,比如质心定位法、三边定位法、极大似然估计法等。质心定位算法简单,误差却很大,一般难以满足应用的需求,三边定位算法在距离测算精确的情况下,效果很好,但对于基于rssi(receivedsignalstrengthindicatinn接收的信号强度指示)的测距方法,实际测距误差很大,远远不能满足三边定位算法的精度,而且三边定位算法相对质心定位算法复杂,极大似然估计定位方法与三边定位算法类似,需要利用rssi测距,而且计算复杂度较高。



技术实现要素:

本发明的目的是针对上述问题,提出一种用于无线传感器网络的定位方法。

本发明的技术方案是:

一种用于无线传感器网络的定位方法,其特征在于,如图1所示,包括以下步骤:

s1、移动节点通过mac帧发起定位请求:移动节点发出只有一跳的定位请求帧到与其相邻的固定节点;

s2、固定节点接收定位请求帧:固定节点接收到定位请求帧后,判断该定位请求帧是否被重复接收,若是,则丢弃该帧;若否,则固定节点将获取移动节点短地址作为目的地址,并向移动节点发送一跳的响应定位帧;

s3、移动节点定位:移动节点接收到定位响应帧后,通过如下方法对移动节点进行定位,如图2所示:

s31、移动节点判断是否在预设的时间内接收到定位响应帧,若是,则进入步骤s32;若否,则回到步骤s1;

s32、移动节点判断是否已经接收到超过3个固定节点的定位响应帧,若是,则选择3个接收信号强度指示最好的固定节点,固定节点到移动节点的距离根据接收信号强度指示符获得,将固定节点相对于移动节点的位置表示为以移动节点为中心、移动节点到固定节点的距离的2倍为边长的正方形,将正方形置于平面直角坐标系中,则选择的3个固定节点采用如下向量表示:

n1=(x11,x12,y11,y12);

n2=(x21,x22,y21,y22);

n3=(x31,x32,y31,y32);

其中,ni表示固定节点位置,xi1表示正方形在x轴上的左边界,xi2表示正方形在x轴上的右边界,yi1表示正方形在y轴上的下边界,yi2表示正方形在y轴上的上边界,下标i表示固定节点的序号;

获得3个固定节点的位置坐标向量后进入步骤s33;若否,则判断是否只接收到3个固定节点的定位响应帧,若是,则采用上述方法获得3个固定节点的位置坐标向量并进入步骤s33;若否,则判断是否接收到2个固定节点的定位响应帧,若是,则采用上述方法获得2个固定节点的位置坐标向量:

n1=(x11,x12,y11,y12);

n2=(x21,x22,y21,y22);

并进入步骤s34,若否,则采用上述方法获得1个固定节点的位置坐标向量:

n1=(x11,x12,y11,y12);

并进入步骤s35;

s33、通过如下公式获得移动节点的位置坐标向量:

x00=max{min{x11,x12},min{x21,x22},min{x31,x32}};

x01=max{min{x11,x12},min{x21,x22},min{x31,x32}};

y00=max{min{y11,y12},min{y21,y22},min{y31,y32}};

y01=max{min{y11,y12},min{y21,y22},min{y31,y32}};

x00,x01,y00,y01,为3个固定节点所形成正方形的重叠区域向量坐标;

则获得移动节点的坐标(x0,y0)如下:

x0=(x00+x01)/2;

y0=(y00+y01)/2;

进入步骤s4;

s34、通过如下公式获得移动节点的位置坐标向量:

x00=max{min{x11,x12},min{x21,x22}};

x01=max{min{x11,x12},min{x21,x22}};

y00=max{min{y11,y12},min{y21,y22}};

y01=max{min{y11,y12},min{y21,y22}};

x00,x01,y00,y01,为3个固定节点所形成正方形的重叠区域向量坐标;

则获得移动节点的坐标(x0,y0)如下:

x0=(x00+x01)/2;

y0=(y00+y01)/2;

进入步骤s4;

s35、获得移动节点的坐标(x0,y0)如下:

x0=(x11+x12)/2;

y0=(y11+y12)/2;

s4、将步骤s3中获得的定位坐标发送到汇聚节点,并由汇聚节点将结果发送到计算机设备。

本发明的有益效果是:相对于传统方法,本发明的方法具有较低的算法复杂度和较高的定位精度。

附图说明

图1为本发明定位方法的逻辑示意图;

图2为本发明中对移动节点定位的流程示意图;

图3为移动节点在多个固定节点中的位置示意图;

图4为移动节点和固定节点形成的正方形示意图;

图5为为移动节点在多个固定节点中的位置坐标示意图。

具体实施方式

下面结合附图,详细描述本发明的技术方案。

在本发明的技术方案中,使用虚拟坐标来定义固定节点的位置。作为二维平面定位算法,通常至少需要三个固定节点来建立移动节点的位置,如图3所示,为本发明采用的rill定位算法的模型。圆圈表示固定节点,三角形表示移动节点的实际位置,五角星代表使用本发明的rill定位算法的移动节点的定位结果。在图3中,可以看到有三个固定节点和一个移动节点。假设三个固定节点n1,n2和n3的位置坐标分别由(x1,y1),(x2,y2)和(x3,y3)表示。

当移动节点接收到来自三个固定节点的位置信息时,移动节点可以经由接收到的信号强度指示符(rssi)来估计位置信息的发送者与其自身之间的距离。采用d1,d2和d3来表示三个固定节点和移动节点之间的距离估计的结果。例如,当移动节点从固定节点n2接收到位置信息分组时,它将首先估计n2与其本身之间的距离d2。一旦获得距离d2,移动节点可以利用固定节点n2的位置信息(x2,y2)以及距离d2来获得正方形。正方形的中心是n2的位置坐标,正方形的边长是d2的两倍。当移动节点接收到三个固定节点的所有位置信息时,移动节点应该能够得到三个正方形具有共同重叠区域的结果。在图3中,阴影区域表示重叠部分。可以看到移动节点实际上处于重叠区域。

如图4所示,可以看到正方形可以由四个数据(xi1,xi2,yi1,yi2)表示,其中xi1是x轴上的正方形的左边界,xi2是x轴上正方形的右边界。类似地,yi1是y轴上的正方形的下边界,yi2是y轴上的正方形的上边界。假设固定节点ni的坐标为(xi,yi),固定节点ni和移动节点之间的距离为di,可以使用下面的公式(1)计算(xi1,xi2,yi1,yi2):

令vi=(xi1,xi2,yi1,yi2),则该正方形可以表示为一个向量形式,可以获得该虚拟坐标中固定节点的所有向量。当移动节点接收到三个固定节点的位置信息时,可以得到如图5所示的结果。

在图3中,令v1=(x11,x12,y11,y12),v2=(x21,x22,y21,y22)和v3=(x31,x32,y31,y32)。通过图4,很容易得到重叠区域的矢量表示。令v0=(x00,x01,y00,y01)来表示重叠区域。得到图4中v0=(x31,x22,y11,y22)的重叠区域的矢量表示是很容易的。实际上,重叠区域的左边界是三个正方形的最大左边界,重叠区域的右边界是三个正方形的最小右边界。类似地,重叠区域的下边界是三个正方形的最大下边界,并且重叠区域的顶边界是三个正方形的最小上边界。可以使用公式(2)来计算重叠区域的向量表示:

当利用公式(3)建立重叠区域的向量表示法后,则可以确定移动节点的区域范围。可以知道移动节点必须位于重叠区域。在讨论其他情况之前,首先介绍如何在虚拟坐标系中获取移动节点的最终位置。无线传感器网络中的节点具有一些特征,例如有限的计算能力,有限的存储容量以及有限的能量。为了简化算法的复杂度,使用重叠区域的质心来表示移动节点的最终位置。计算过程如公式(3)所示。可以通过这个公式来估计移动节点(x0,y0)的位置:

与传统的其他方法相比,本发明的方法具有较低的算法复杂度。在原理上rill类似于三边定位算法。然而,三边定位算法的复杂度为o(n3)。三边定位算法需要进行矩阵求逆,这是非常复杂的。rill的复杂度为o(n),它可以在移动传感器节点上运行。由于较高的算法复杂度,一些定位算法难以在移动节点上运行,这增加了链路负载和能量消耗。虽然质心定位算法的复杂度与rill的顺序相同,但是与rill相比,质心定位算法的精度更差。

在本发明采用的在rill定位算法中,使用mac数据帧发送定位请求和响应。在定位请求帧中,使用1个字节来定义定位请求帧的序列号,用于判断请求帧是否被重复接收。此外,使用1个字节来定义帧的类型,用于区分定位帧和数据帧。定位响应帧中的序列号用于识别移动节点的相应请求帧。帧的类型用于区分定位帧与数据帧。本发明使用8个字节将固定节点的虚拟坐标传送到移动节点进行定位。可以在mac头的地址字段中获取所有地址消息。此外,当接收到响应帧时,可以经由寄存器获得rssi。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1