一种基于DV-Hop节点的室内定位改进算法

作者:干建勇;张静; 刊名:上海师范大学学报(自然科学版) 上传者:王瑞芳

【摘要】对现有基于最小二乘法的DV-Hop定位算法进行分析和仿真,针对该算法定位精度依赖信标节点之间跳距和跳数这两个信息的不足,给出一种可对信标节点之间的跳距和跳数关系做出误差修正的改进的误差修正DV-Hop(ECDV-Hop)算法.仿真结果表明:在相同的室内环境下,ECDV-Hop算法与传统DV-Hop算法相比,定位精度得到一定的提高.

全文阅读

AnimprovedalgorithmofindoorpositioningbasedonDV-HopnodesGanJianyong,ZhangJing(CollegeofInformation,MechanicalandElectricalEngineering,ShanghaiNormalUniversity,Shanghai200234,China)0引言随着信息科技的发展,无线传感器网络(WSN)的应用越来越多地跨学科交织、融合.在室内定位应用中,如何用已知定位信息的锚节点(信标节点)来确定该环境下未知节点的信息是目前WSN热门研究课题之一.WSN定位算法可以分成两类,即基于距离的定位和与距离无关的定位.基于距离的定位算法需要掌握信标节点和未知节点之间任意的一种相互度量关系,如角度、距离、信号强度等,以此来计算未知节点的位置[1],测距方法包括TOA法、TDOA法、AOA法和RSSI法[2];与距离无关的定位算法主要有质心算法、DV-Hop算法、APIT算法等[3].其中DV-Hop算法具有部署网络成本低的优点,缺点是精度不够高.[4-6]改进了该算法并取得了一定的效果,但每种改进算法均存在一定的缺陷.本文作者在DV-Hop算法的基础上,通过修正信标节点之间的跳数信息和相对距离来提高定位精度,提出了改进的定位算法ECDV-Hop,并仿真对比了改进算法与DV-Hop算法的优劣.1DV-Hop定位算法DV-Hop算法的基本思想是通过计算平均每跳距离来获取未知节点到信标节点之间的距离,然后使用最小二乘法求出未知节点的位置信息.算法主要分为3个阶段:1)计算所有未知节点到每个信标节点的最小跳数.每个信标节点向邻节点广播自身的位置信息,每个未知节点都有一张数据表(xi,yi,hi),其中xi和yi是该节点收到的某一个信标节点的坐标,hi是该节点到信标节点的最小跳数.未知节点只有在与邻节点交换信息时才会更新该表.未知节点记录每个信标节点到自身的最小跳数,忽略来自同一个信标节点的较大跳数.然后将跳数值加1并转发给邻节点.通过这个方法,网络中的所有未知节点能够记录其到每个信标节点的最小跳数[4].2)计算未知节点到信标节点的平均距离.每个信标节点根据第一个阶段中记录的位置和跳数信息,得到每跳的平均距离为Dperhopi=nj=1(xi-xj)2+(yi-yj)槡2nj=1hij,(1)式中hij是信标节点i和j(ij)之间的跳数,(xi,yi)、(xj,yj)分别为信标节点i、j的坐标,n为整个网络中的信标节点总数.未知节点从距其最近的信标节点获得平均每跳距离,并转发给邻节点.这个广播策略确保大多数未知节点从其最近的信标节点处获得平均每跳距离.未知节点根据每跳跳数和平均每跳距离计算其到信标节点的跳距Dunknowni=Dperhopih,(2)式中h是未知节点到信标节点i的跳数.3)计算未知节点的坐标.在已知3个或者更多信标节点信息的情况下,利用最小二乘法计算未知节点坐标.设(x,y)是未知节点P的坐标,(xi,yi)是第i个信标节点的坐标,di是第i个信标节点到P的距离,有[5]:d1=(x-x1)2+(y-y1)槡2d2=(x-x2)2+(y-y2)槡2di=(x-xi)2+(y-yi)槡2dn=(x-xn)2+(y-yn)槡?2.(3)将(3)式中所有等式两边平方,用前n-1个等式分别减去第n式后,变换为:AX=B,A=2x1-xny1-ynx2-xny2-yn……xn-1-xnyn-1-y?n,B=d21-d2n-x21+x2n-y21+y2n

参考文献

引证文献

问答

我要提问