WSN中基于移动信标节点的过滤定位算法
2019-09-10胡琼
摘 要:无线传感器网络在军事、工业、医疗等领域都具有巨大的发展价值和前景,而无线传感器网络中的节点定位技术一直是研究的重点和热点,现有的节点定位技术不是成本过高就是节点定位精度不高。为了在降低成本的同时提高节点定位的精度,本文提出了一种基于移动信标节点的过滤定位算法。该算法的主要思想是给无线传感器网络中布置移动信标节点(此类节点上装有GPS导航),其余节点位置再通过过滤后的三边测距法计算得到。
关键词:无线传器感网络;传感器节点;定位;移动信标节点
中图分类号:TN929.5;TP212.9 文献标识码:A 文章编号:2096-4706(2019)04-0136-03
Filtering and Localization Algorithm Based on Mobile Beacon Node in WSN
HU Qiong
(Jiangxi Institute of Fashion Technology,Nanchang 330201,China)
Abstract:Wireless sensor networks have great development value and prospects in military,industrial,medical and other fields. The node location technology in wireless sensor networks has always been the focus and hotspot of research. The existing node location technology,either the cost is too high or the node localization accuracy is not high. In order to improve the accuracy of node positioning while reducing cost,this paper proposes a filtering localization algorithm based on mobile beacon nodes. The main idea of the algorithm is to arrange a mobile beacon node in the wireless sensor network (the GPS navigation is installed on the node),and the remaining node positions are calculated by the filtered three-side ranging method.
Keywords:WSN(wireless sensor network);sensor nodes;positioning;moving beacon nodes
0 引 言
無线传感器网络(Wireless Sensor Network,WSN)指的是传感器节点以自组织的形式构建成的无线网络。网络中的传感器节点具有通信、计算、存储以及监测周围环境等能力,在军事、工业、医疗等领域具有巨大的发展价值和前景。[1]然而对于大多数的无线传感器网络应用来说,节点采集和传送的数据信息应该要包含节点自身的位置信息,否则这些节点采集和传送的数据信息将变得毫无意义。因此,对无线传感网中的节点进行定位尤为重要。但是,如果给无线传感器网络中的每一个传感器节点都装上GPS导航,将大大增加成本,是不可取的。为降低成本,现有的研究都是给部分节点安装GPS导航,再通过一定的节点定位算法计算出其余未知节点的位置。如何在尽可能给少量节点安装GPS导航的同时又提高节点定位的精确度(即降低成本的同时提高定位精度)一直是研究人员所关注的重点。
1 现有节点定位算法分析
现有的节点定位算法主要分为测距和非测距两大类。
基于测距的定位算法首先需要利用相关设备精确地测量节点间的距离、角度或接收信号强度等信息,然后利用三边或三角测量法计算未知节点的位置信息。比较典型的基于测距的定位算法有基于到达时间(TOA)[2]、基于到达角度(AOA)[3]、基于到达时间差(TDOA)[4]和基于接收信号强度(RSS)[5]定位算法。基于测距的定位算法在利用三边或三角测量法计算未知节点的位置信息时,没有考虑未知节点是否在三角形内部,因此,针对一些特殊情况(如未知节点刚好在三角形某条边上,或者未知节点在三角形的外面),利用三边或三角测量法是计算不出未知节点的坐标的。此外,上文提到的几种基于测距的定位算法,需要给较多节点装上GPS设备,没有尽可能考虑降低成本问题。
不同于测距定位算法,非测距定位算法不需要利用节点间的距离与角度等信息,而是使用节点间的连通性信息。典型的非测距定位算法有质心定位算法(Centroid Localization,CL)[6]、DV-Hop(Distance Vector-Hop)[7]定位算法。基于非测距的定位算法大多是通过跳数信息去计算出邻居节点间的平均跳距,再将跳数乘以平均跳距得到未知节点与锚节点间的大概距离,最后再利用三边或三角测量法计算出未知节点的位置信息。这类算法虽然不用像基于测距定位算法一样需要额外的设备去测量节点间的距离等信息,但是,只能计算出未知节点的大概位置。此外,基于非测距的定位算法同样也存在上文中基于测距定位算法所面临的两个问题。
针对上述问题,本文提出了一种基于移动信标节点的过滤定位算法。
2 基于移动信标节点的过滤定位算法
2.1 移动信标节点
为了给尽可能少的节点安装GPS导航设备以降低成本,本文提出的节点定位算法中,用移动信标节点代替固定信标节点,移动信标节点的个数可根据无线传感网覆盖的面积而定,即无线传感网覆盖面积越小移动信标节点个数越少。
和固定信标节点一样,移动信标节点需要周期性的把自己的位置、信号传播速度(假设信号传播速度为一个固定值)、发送时间等信息发送给邻居节点。此外,移动信标节点需要移动遍历整个无线传感网。遍历区域根据移动信标节点的个数划分,即如果整个无线传感网中只有一个移动信标节点,那么这个移动信标节点需要移动遍历整个无线传感网;如果整个无线传感网中有两个移动信标节点,那么一个移动信标节点只需要移动遍历无线传感网覆盖范围的一半即可,以此类推。
2.2 过滤定位算法
本文提出的基于移动信标节点的过滤定位算法的核心思想是:移动信标节点周期性地发送自己的位置信息给未知节点,未知节点对收到的位置信息进行过滤并存储(过滤的目的是为了存储三个不同位置坐标,且需保证未知节点位于这三个坐标点的内部),然后再利用三边测量法计算出未知节点的坐标。
过滤定位算法具体描述如下:
(1)确定并存储移动信标节点的第一个坐标位置。移动信标节点周期性地把自己的ID、位置、发送时间、信号传播速度(假设为已知的固定值v)等信息发送给其邻居节点(未知节点),未知节点收到信息后查询之前是否存储有该节点相关信息。如果没有,则将接收到的移动信标节点的信息保存并作为计算未知节点自身坐标位置的第一个坐标点;如果有,并且只存有一个,则要根据下面的步骤(2)来确定是否将新接收到的位置信息作为计算未知节点坐标位置的第二个坐标点;如果有,并且只存有两个,则要根据下面的步骤(3)来确定是否将新接收到的位置信息作为计算未知节点坐标的第三个坐标点;如果有,并且刚好存有三个,说明未知节点已经能通过三边测量法计算出自己的坐标位置,那么未知节点将丢弃不存储移动信标节点新发送过来的位置信息。
(2)确定并存储移动信标节点的第二个坐标位置。通过步骤(1)确定第一个坐标点后,未知节点再接收到移动信标节点的坐标位置信息时,要判断该坐标位置信息是否符合要求,如果符合要求,则把新接收到的坐标位置信息存储并作为第二个坐标点;如果不符合要求,那么未知节点将丢弃不存储移动信标节点新发送过来的位置信息。
判定新接收到的坐标位置信息是否符合要求的具体方法如下:
如图1所示,A为未知节点,B为通过步骤(1)确定的第一个坐标点(即移动信标节点首次发送过来的坐标位置),C为移动信标节点新发送过来的坐标位置,α为∠BAC。如果α大于等于90°且小于180°,那么C点符合要求,将作为计算未知节点A的坐标的第二个坐标点。否则将丢弃不存储C点坐标位置信息。
其中v为信号传播速度(假设已知且固定),t1为未知节点A接收到移动信标节点B处位置信息的时间与移动信标节点在B处时发送消息给未知节点A的时间之差,t2为未知节点A接收到移动信标节点C处位置信息的时间与移动信标节点在C处时发送消息给未知节点A的时间之差,B点坐标为(xB,yB),C点坐标为(xC,yC)。
(3)确定并存储移动信标节点的第三个坐标位置。通过步骤(2)确定第二个坐标点后,未知节点再接收到移动信标节点的坐标位置信息时,要判断该坐标位置信息是否符合要求,如果符合要求,则把新接收到的坐标位置信息存储并作为第三个坐标点;如果不符合要求,那么未知节点将丢弃不存储移动信标节点新发送过来的位置信息。
判定新接收到的坐标位置信息是否符合要求的具体方法如下:
如图2所示,A为未知节点,B为通过步骤(1)确定的第一个坐标点(即移动信标节点首次发送过来的坐标位置),C为通过步骤(2)确定的第二个坐标点,D为移动信标节点新发送过来的坐标位置,α为∠BAC,β为∠BAD,γ为∠CAD。如果β和γ都大于等于90°且小于180°,那么D点符合要求,将作为计算未知节点A的坐标的第三个坐标点。否则将丢弃不存储D点坐标位置信息。
其中v为信号传播速度(假设已知且固定),t1为未知节点A接收到移动信标节点B处位置信息的时间与移动信标节点在B处时发送消息给未知节点A的时间之差,t2为未知节点A接收到移动信标节点C处位置信息的时间与移动信标节点在C处时发送消息给未知节点A的时间之差,t3为未知节点A接收到移动信标节点D处位置信息的时间与移动信标节点在D处时发送消息给未知节点A的时间之差,B点坐标为(xB,yB),C点坐标为(xC,yC),D点坐标为(xD,yD)。
(4)利用三边测量法计算出未知节点的坐标位置。通过上述三个步骤确定的三个坐标点(假设为图2中的B、C、D)可以确保未知节点A位于这三个坐标点组成的三角形的内部,接下来利用三边测量法就可以计算出未知节点A的坐标。计算未知节点A的坐标的具体计算方法如下:
最后通过解方程即可求出xA,yA的值。
上述式中,v为信号传播速度(假设已知且固定),t1为未知节点A接收到移动信标节点B处位置信息的时间与移动信标节点在B处时发送消息给未知节点A的时间之差,t2为未知节点A接收到移动信标节点C处位置信息的时间与移动信标节点在C处时发送消息给未知节点A的时间之差,t3为未知节点A接收到移动信标节点D处位置信息的时间与移动信标节点在D处时发送消息给未知节点A的时间之差,A点坐标为(xA,yA),B点坐标为(xB,yB),C点坐标为(xC,yC),D点坐标为(xD,yD)。
3 仿真实验
为了评估本文提出的基于移动信标节点过滤定位算法的性能,用MATLAB仿真软件把本文算法和传统的三边测量法和三角测量法进行比较,衡量指标为定位误差。
在120m×120m的正方形区域内随机部署传感器節点,统计节点总数为100、110、120、130、140、150、160、170、180、190、200时这三种算法的定位误差,仿真结果图如图3所示。
4 结 论
本文提出的基于移动信标节点的过滤定位算法,用移动信标节点取代固定信标节点,减少了信标节点的个数,从而减少了节点需要安装GPS设备的成本;同时对移动信标节点发送过来的位置信息进行过滤,从而确保未知节点位于移动信标节点提供的三个坐标点的内部,提高了定位成功的概率和定位精确度。通过仿真实验也可以看出,相比传统的节点定位算法,本文提出的定位算法提高了定位精确度。
参考文献:
[1] 周成纲.无线传感中的WPSO-DVHOP算法在节点定位中的研究 [J].计算机测量与控制,2016,24(10):165-168.
[2] Jie He.CC-KF:Enhanced TOA Performance in Multipath and NLOS Indoor Extreme Environment [J].Sensors Journal,IEEE,2014,14(11):3766-3774.
[3] SHAO H J.Efficient Closed-Form Algorithms for AOA Based Self-Localization of Sensor Nodes Using Auxiliary Variables [J].Signal Processing,IEEE TranSactions on,2014,62(10):2580-2594+1.
[4] Congfeng Liu,Jie Yang,Fengshuai Wang.Joint TDOA and AOA location algorithm [J].Journal of Systems Engineering and Electronics,2013,24(2):183-188.
[5] MAUNG NAM,KAWAI M.Experimental evaluations of RSS threshold-based optimised DV-HOP localiSation for wireless ad-hoc networks [J].Electronics Letters,2014,50(17):1246-1248.
[6] 陈舒.无线传感器网络中基于DV-Hop的节点定位算法研究 [D].南京:南京邮电大学,2017.
[7] 陈熹.无线传感网中基于非测距的节点定位技术及改进方案 [D].南京:南京邮电大学,2016.
作者简介:胡琼(1992.02-),女,汉族,江西南昌人,助教,硕士,研究方向:物联网。