CN103596268B - 一种适用传感器网络节点定位的分布式联合迭代定位方法 - Google Patents

一种适用传感器网络节点定位的分布式联合迭代定位方法 Download PDF

Info

Publication number
CN103596268B
CN103596268B CN201310628486.9A CN201310628486A CN103596268B CN 103596268 B CN103596268 B CN 103596268B CN 201310628486 A CN201310628486 A CN 201310628486A CN 103596268 B CN103596268 B CN 103596268B
Authority
CN
China
Prior art keywords
node
unknown
coordinate
convex closure
location
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310628486.9A
Other languages
English (en)
Other versions
CN103596268A (zh
Inventor
孟维晓
张德坤
于启月
何晨光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201310628486.9A priority Critical patent/CN103596268B/zh
Publication of CN103596268A publication Critical patent/CN103596268A/zh
Application granted granted Critical
Publication of CN103596268B publication Critical patent/CN103596268B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

一种适用传感器网络节点定位的分布式联合迭代定位方法,涉及一种分布式联合迭代定位算法。该方法是要解决已有的分布式迭代定位算法DILOC存在局限性,对锚节点利用率低、增加了节点能量消耗的问题。一种适用传感器网络节点定位的分布式联合迭代定位方法包括以下步骤:步骤一、改进凸包测试方法;步骤二、联合定位。本发明能在较小的通信半径下完成未知节点坐标运算节点的选取,节约节点能量;二次迭代定位等效锚节点增多,迭代次数减少,相对精度提高。可应用于无线传感器网络定位领域。

Description

一种适用传感器网络节点定位的分布式联合迭代定位方法
技术领域
本发明涉及分布式联合迭代定位算法,属于无线传感器网络定位领域。
背景技术
无线传感器网络中定位问题是一个非常活跃的研究领域,目前国内外在该方向上已经有多篇综述、论文发表。这些文献的作者讨论了在各种情况下无线传感器网络中的定位算法,分析和评价了这些算法的优劣和适用的环境与条件。
在诸多的应用中,无线传感器网络一个最为重要的用途就是对位置信息的获取,因为没有位置信息的任何参数估计都是没有意义的。当利用无线传感器网络对外界进行感知和测量时,传感器网络节点必须先知道自己的位置。传感器节点位置的获取一般有人工给节点输入信息和利用传感器上的GPS设备来获得位置信息,考虑到无线传感器网络的规模和部署的环境,人工注入位置信息的方式并不可取,而为每个传感器配备GPS设备则大大增加了无线传感器网络的成本和功耗。因此,研究在传感器网络中仅有部分节点获得自身位置信息的情况下,如何让其余节点获得自身位置信息显得至关重要。
无线传感器网络中的定位算法按照网络是否存在中心节点和和各节点地位是否等同,可以分为集中式定位算法和分布式定位算法;根据定位是否需要获取各节点之间的物理距离,定位算法又可以分为基于测距的定位算法和无需测距的定位算法。
相比于其他形式的网络,无线传感器网络没有基础设施支撑,节点能量供应和成本的限制更为严格。对于存在中心节点的集中式传感器网络,由于其他节点和中心节点之间不断进行控制信息和数据信息的交换,中心节点及其周围节点无疑是整个网络通信和能量的瓶颈,同时中心的损毁必然导致整个网络的不能使用。与之相比,分布式传感器网络在网络健壮性和能量利用方面有着更大的优势。因此,研究在分布式无线传感器网络中的定位问题更有实际意义和应用价值。
已经提出的分布式迭代定位算法DILOC(distributed iterative localization algorithm),尽管能够利用最少的锚节点(位置可知的传感器节点)来实现分布式定位,但是这种算法存在很大的局限性。每次定位计算中,未知位置节点(后称未知节点)必须在参与定位的节点构成的几何体内部,简称凸包内部。在DILOC算法中检验未知节点是否在运算节点构成的凸包内主要是通过计算局部几何体体积之和与整体凸包体积的比值,当大于1时,表明没在凸包内,不通过凸包测试;反之,当比值为1时,说明在凸包内,通过凸包测试。这种凸包测试限定了未知节点的定位范围,这样一方面降低了对锚节点有效利用,另一方面为了满足凸包测试条件,必须要通过扩大通信半径才能实现,增加了节点的能量消耗。
发明内容
本发明的目的是为了解决已有的分布式迭代定位算法DILOC存在局限性,对锚节点利用率低、增加了节点能量消耗的问题,提供一种适用传感器网络节点定位的分布式联合迭代定位算法。
本发明的一种适用传感器网络节点定位的分布式联合迭代定位方法,是按照以下步骤实现的:
步骤一:改进凸包测试方法:
(一)通过接收信号强度RSSI测算出未知节点k与m+1个运算节点之间的距离,其中用zk表示未知节点k对应的m+1个运算节点的集合;
(二)计算m+1个运算节点构成的凸包体积,记作
(三)计算每去除一个运算节点后剩余的运算节点与未知节点k构成的几何体体积,记作且j=1,2,3,...,m+1;
(四)确定修正的质心坐标的大小和符号:
取正值,
取负值;
其中表示由运算节点集合zk中节点构成的凸包,表示zk中去除节点j后与未知节点k构成的凸包;
(五)凸包测试:
时,未知节点k在新的凸包区域,能够对此节点定位,
时,未知节点k不在新的凸包区域,无法对此节点定位;
(六)迭代定位:
利用zk中m+1个运算节点的质心坐标来表示未知节点k的坐标:
c k = ∑ j ∈ z k a kj c j , j ∈ z k - - - ( 1 )
其中ck表示定位节点坐标,cj是运算节点坐标,akj是质心坐标,
其中质心坐标akj由(2)式确定:
a kj = V z k ∪ { k } \ { j } V z k - - - ( 2 )
其中j∈zk,且Vzk≠0,Vzk∪{k}\{j}表示集合zk∪{k}除去点j构成的凸包体积,Vzk表示集合zk的凸包体积,
当未知节点k确定自己运算节点后,未知节点开始不断的利用自身的运算节点更新自己的坐标,未知节点第t+1次的坐标由运算节点第t次迭代后的结果计算获得,锚节点(位置已知的传感器节点)则保持自己的位置信息不变,节点坐标更新表达式如下:
c k ( t + 1 ) = c k ( t ) , k ∈ κ ∑ j ∈ z k a kj c k ( t ) , k ∈ Ω - - ( 3 )
其中κ表示锚节点集合,Ω表示未知节点的集合,ck表示每个节点的坐标,akj表示质心坐标;
(七)扩展到N个节点的m维网络:
对于有N个节点的m维网络,网络中各个传感器节点的坐标可以用一个N×m的矩阵表示:
C = [ c 1 T , c 2 T , · · · · , c N T ] T - - - ( 4 )
迭代算法用矩阵可以表示为:
C(t+1)=A·C(t)(5)
其中,A为N×N的迭代矩阵,A中的元素aij表示节点i关于节点j的质心坐标,aij的取值情况如下:
a ij = 1 , i ∈ κ , j ∈ i a ij ∈ ( - 1 , 1 ) , i ∈ Ω , j ∈ z k - - - ( 6 ) a ij = 0 , others
其中zk是未知节点的运算节点集合;
质心坐标满足:
Σ j ∈ z k a ij = 1 - - - ( 7 )
步骤二、联合定位:
(一)利用步骤一中改进的凸包测试方法,定位出在已有锚节点通信范围内的未知节点;
(二)根据步骤二(一)中定位出的结果,选择合适的已定位出的未知节点作为准锚节点,联合已有的锚节点,共同作为等效锚节点,参与边缘节点的二次定位;
(三)再次利用步骤一中改进的凸包测试方法,进行二次定位;
(四)将两次定位结果求加权平均,确定最终的定位结果;
设未知节点k第一次迭代定位结果为ck1,利用准锚节点迭代定位结果为ck2,则未知节点的定位结果为:
c k = &beta; c k 1 + ( 1 - &beta; ) c k 2 , 0 < &beta; < 1 c k 1 , &beta; = 1 c k 2 , &beta; = 0 - - - ( 8 )
其中,β为权重因子,根据仿真结果一般情况下β∈(0.3,0.45)。
本发明包含以下有益效果:
本专利提出的分布式联合迭代定位算法是基于DILOC定位算法,其主要优势:一、改进了DILOC算法中的凸包测试的方法,扩大了在相同节点部署条件下未知节点中能通过凸包测试的邻居节点的数目,当未知节点位于运算节点构成凸包外部的适当区域时,通过调整质心坐标,确保算法收敛,能在较小的通信半径下完成未知节点坐标运算节点的选取,节约节点能量,增加网络生存时间;二、将部分已完成定位的未知节点视为准锚节点,参与二次定位,这样对一部分处于较为边缘的偏远未知节点,可以进行两次定位,求取均值,可以提高定位精度。
本专利提出的联合质心定位算法是在经典的DILOC算法的基础上,利用先定位出的传感器节点,视为准锚节点,参与二次迭代定位。由于二次迭代定位等效锚节点增多,因此迭代次数减少,相对精度提高,之后将两次迭代定位结果求加权平均。这种联合线性迭代定位算法对于锚节点较少,且传感器节点分布不均匀的传感器网络具有十分重要的意义,尤其对于相对偏远的节点,经典的质心定位算法会因为信道条件的恶化,存在很大的迭代累积误差,而联合质心定位算法则可以提高定位精度。
附图说明
图1(a)为原算法节点部署位置示意图,其中未知节点在凸包内部,图1(b)为分布式联合线性迭代定位算法节点部署位置示意图,其中未知节点在运算节点凸包外部;
图2为联合质心定位原理图,其中表示锚节点,☆表示准锚节点,○表示未知节点,准锚节点也属于完成定位的未知节点;
图3为传感器节点关系示意图;
图4为新凸包建立步骤示意图;
图5(a)为算法改进前未知节点邻居关系图;图5(b)为算法改进后未知节点邻居关系图;
图5为线性迭代算法改进前后邻居关系及通信半径变化图;
图6为DILOC算法未知节点邻居关系图;
图7为分布式联合线性迭代定位算法未知节点的邻居关系图;
图8为分布式联合线性迭代定位算法节点迭代轨迹图;
图9为DILOC和分布式联合线性迭代定位算法的误差图,其中表示DILOC算法的误差,表示分布式联合线性迭代定位算法的误差;
图10为DILOC和分布式联合线性迭代定位算法通信半径比较示意图,其中表示DILOC算法的最大半径,表示DILOC算法的平均半径,表示分布式联合线性迭代定位算法的最大半径,表示分布式联合线性迭代定位算法的平均半径。
具体实施方式
本发明技术方案不局限于以下所列举具体实施方式,还包括各具体实施方式间的任意组合。
具体实施方式一:本实施方式的一种适用传感器网络节点定位的分布式联合迭代定位方法,是按照以下步骤实现的:
步骤一:改进凸包测试方法:
(一)通过接收信号强度RSSI测算出未知节点k与m+1个运算节点之间的距离,其中用zk表示未知节点k对应的m+1个运算节点的集合;
(二)计算m+1个运算节点构成的凸包体积,记作
(三)计算每去除一个运算节点后剩余的运算节点与未知节点k构成的几何体体积,记作且j=1,2,3,...,m+1;
(四)确定修正的质心坐标的大小和符号:
取正值,
取负值;
其中表示由运算节点集合zk中节点构成的凸包,表示zk中去除节点j后与未知节点k构成的凸包;
(五)凸包测试:
时,未知节点k在新的凸包区域,能够对此节点定位,
时,未知节点k不在新的凸包区域,无法对此节点定位;
(六)迭代定位:
利用zk中m+1个运算节点的质心坐标来表示未知节点k的坐标:
c k = &Sum; j &Element; z k a kj c j , j &Element; z k - - - ( 1 )
其中ck表示定位节点坐标,cj是运算节点坐标,akj是质心坐标,
其中质心坐标akj由(2)式确定:
a kj = V z k &cup; { k } \ { j } V z k - - - ( 2 )
其中j∈zk,且表示集合zk∪{k}除去点j构成的凸包体积,表示集合zk的凸包体积,
当未知节点k确定自己运算节点后,未知节点开始不断的利用自身的运算节点更新自己的坐标,未知节点第t+1次的坐标由运算节点第t次迭代后的结果计算获得,锚节点(位置已知的传感器节点)则保持自己的位置信息不变,节点坐标更新表达式如下:
c k ( t + 1 ) = c k ( t ) , k &Element; &kappa; &Sum; j &Element; z k a kj c k ( t ) , k &Element; &Omega; - - ( 3 )
其中κ表示锚节点集合,Ω表示未知节点的集合,ck表示每个节点的坐标,akj表示质心坐标;
(七)扩展到N个节点的m维网络:
对于有N个节点的m维网络,网络中各个传感器节点的坐标可以用一个N×m的矩阵表示:
C = [ c 1 T , c 2 T , &CenterDot; &CenterDot; &CenterDot; &CenterDot; , c N T ] T - - - ( 4 )
迭代算法用矩阵可以表示为:
C(t+1)=A·C(t)(5)
其中,A为N×N的迭代矩阵,A中的元素aij表示节点i关于节点j的质心坐标,aij的取值情况如下:
a ij = 1 , i &Element; &kappa; , j &Element; i a ij &Element; ( - 1 , 1 ) , i &Element; &Omega; , j &Element; z k - - - ( 6 ) a ij = 0 , others
其中zk是未知节点的运算节点集合;
质心坐标满足:
&Sigma; j &Element; z k a ij = 1 - - - ( 7 )
步骤二、联合定位:
(一)利用步骤一中改进的凸包测试方法,定位出在已有锚节点通信范围内的未知节点;
(二)根据步骤二(一)中定位出的结果,选择合适的已定位出的未知节点作为准锚节点,联合已有的锚节点,共同作为等效锚节点,参与边缘节点的二次定位;
(三)再次利用步骤一中改进的凸包测试方法,进行二次定位;
(四)将两次定位结果求加权平均,确定最终的定位结果;
设未知节点k第一次迭代定位结果为ck1,利用准锚节点迭代定位结果为ck2,则未知节点的定位结果为:
c k = &beta; c k 1 + ( 1 - &beta; ) c k 2 , 0 < &beta; < 1 c k 1 , &beta; = 1 c k 2 , &beta; = 0 - - - ( 8 )
其中,β为权重因子,根据仿真结果一般情况下β∈(0.3,0.45)。
通过以下实施例验证本发明的有益效果:
本专利提出算法的应用条件:
(1)M个未知节点都在m+1个锚节点的凸包内。
(2)传感器坐标更新是在每个未知节点l独立进行的。
(3)对于未知节点k,第t+1次迭代后的坐标cl(t+1)仅与k的m+1个运算节点有关,且为线性关系。
(4)传感器网络中没有中心节点,坐标计算仅与每个节点的运算节点有关,位置迭代是分布式进行的。
本专利提出的一种适用传感器网络节点定位的分布式联合迭代定位方法,主要分为两个大步骤:
第一部分:改进凸包测试方法
传统的凸包测试:在DILOC算法中是指检验未知节点是否在运算节点构成的凸包内。主要是通过计算局部几何体体积之和与整体凸包体积的比值,当大于1时,表明没在凸包内,不通过凸包测试;反之,当比值等于1时,说明在凸包内,通过凸包测试。这种凸包测试限定了未知节点的定位范围,具有很大的局限性,本专利第一步就是针对凸包测试做改进。
DILOC算法中,为了能通过迭代计算出未知节点的坐标,未知节点必须位于m+1个运算节点构成的凸包内,这有很大的局限性,二维平面下如图1-a所示。本专利中提出的分布式联合迭代定位算法,当未知节点位于运算节点构成凸包外部的适当区域(二维平面下如图1-b所示的红线区域)时,通过调整质心坐标,一定能确保算法收敛,这样可以减小通信半径,从而降低传感器节点能耗,增加网络生存时间。
(一)通过接收信号强度RSSI测算出未知节点与m+1个运算节点之间的距离,其中用zk表示未知节点k对应的m+1个运算节点的集合;
(二)计算m+1个运算节点构成的凸包体积,记作Vz
(三)计算每去除一个运算节点后剩余的运算节点与未知节点k构成的几何体体积,记作且j=1,2,3,...,m+1
(四)确定修正的质心坐标的大小和符号:
取正值,
取负值;
(五)凸包测试:
时,未知节点k在新的凸包区域,能够对此节点定位,
时,未知节点k不在新的凸包区域,无法对此节点定位;
(六)迭代定位:
利用zk中m+1个运算节点的质心坐标来表示未知节点k的坐标:
c k = &Sum; j &Element; z k a kj c j , j &Element; z k - - - ( 1 )
其中ck表示定位节点坐标,cj是运算节点坐标,akj是质心坐标,
其中质心坐标akj由下式确定:
a kj = V z k &cup; { k } \ { j } V z - - - ( 2 )
其中j∈zk,且表示集合zk∪{k}除去点j构成的凸包体积,表示集合zk的凸包体积,
当未知节点k确定自己运算节点后,未知节点开始不断的利用运算节点更新自己的坐标,未知节点第t+1次的坐标由运算节点第t次迭代后的结果计算获得,锚节点则保持自己的位置信息不变,节点坐标更新表达式如下:
c k ( t + 1 ) = c k ( t ) , k &Element; &kappa; &Sum; j &Element; z k a kj c k ( t ) , k &Element; &Omega; - - ( 3 )
其中κ表示锚节点集合,Ω表示未知节点的集合,ck表示每个节点的坐标,akj表示质心坐标;
(七)扩展到N个节点的m维网络架构:
对于有N个节点的m维网络,网络中各个传感器节点的坐标可以用一个N×m的矩阵表示:
C = [ c 1 T , c 2 T , &CenterDot; &CenterDot; &CenterDot; &CenterDot; , c N T ] T - - - ( 4 )
迭代算法用矩阵可以表示为:
C(t+1)=A·C(t)(5)
其中,A为N×N的迭代矩阵,A中的元素aij表示节点i关于节点j的质心坐标,aij的取值情况如下:
a ij = 1 , i &Element; &kappa; , j &Element; i a ij &Element; ( - 1 , 1 ) , i &Element; &Omega; , j &Element; z k - - - ( 6 ) a ij = 0 , others
其中zk是未知节点的运算节点集合,
质心坐标满足:
&Sigma; j &Element; &Theta; k a ij = 1 - - - ( 7 )
下面结合图1-b给出(7)式在二维平面上的一个简单证明:
对于m>2的高维空间,(7)式仍然成立。根据矩阵的性质,改进后的算法仍然收敛,这里不再给出具体证明。
符号说明:未知节点k的邻居节点集合是指在k节点通信半径内传感器节点的集合,用rk通信半径}表示,并且例如,如图3所示,节点5的邻居节点集合为{2,4,6,7}。所谓凸包是指从邻居节点集合中选出参与定位的m+1(m为空间的维数)个节点(包括锚节点和未知节点)构成的集合,用zk表示,例如,如图3所示,节点5的凸包集合为{2,4,6}。其中将选出的m+1个节点称为运算节点,显然
第二部分:基于第一步的改进,联合定位
本专利提出的联合质心定位算法是在经典的DILOC算法的基础上,利用先定位出的传感器节点,视为准锚节点,参与二次迭代定位。由于二次迭代定位等效锚节点增多,因此迭代次数减少,相对精度提高。之后,将两次迭代定位结果求加权平均。这种联合线性迭代定位算法对于锚节点较少,且传感器节点分布不均匀的传感器网络具有十分重要的意义。尤其对于相对偏远的节点,经典的质心定位算法会因为信道条件的恶化,存在很大的迭代累积误差,而联合质心定位算法则可以提高定位精度。联合质心定位的示意图如图2所示。
(1)利用改进的DILOC算法,先定位出在已知锚节点通信范围内的未知节点。
(2)根据第(1)步定位出的结果,选择一些合适的已定位出的未知节点,作为准锚节点,和已知的锚节点共同作为等效锚节点,参与边缘节点的二次定位。
(3)仍然利用改进的DILOC算法,进行二次定位。
(4)如果一个未知节点参与了两次定位,则定位结果是将两次定位结果求加权平均;如果只参与一次定位,就将本次的定位结果作为定位的结果。
设未知节点k第一次迭代定位结果为ck1,利用准锚节点迭代定位结果为ck2,则未知节点的定位结果为
c k = &beta; c k 1 + ( 1 - &beta; ) c k 2 , 0 < &beta; < 1 c k 1 , &beta; = 1 c k 2 , &beta; = 0 - - - ( 9 )
其中β为权重因子,根据仿真结果一般情况下β∈(0.3,0.45)。
联合质心定位算法的收敛性是非常显然的,就不予证明了。
为了更好的描述改进算法中新的凸包测试区域的获得,以下以二维平面为例来阐述,如图4所示,具体步骤为:
(1)选择合适的三个邻居节点A,B和C。
(2)三个邻居节点相互连接构成一个三角形。
(3)通过顶点A,做边BC的平行线。
(4)做AD垂直于BC,延长AD使DE=AD。
(5)过点E做BC的平行线。
(6)通过顶点B和C做同样的操作。
(7)最后,三组平行线构成的区域就是新的凸包测试区。
凸包区域改进举例说明如图5所示,在图5-a中未知节点的邻居关系: &Theta; 5 = { 2,4,6 } , &Theta; 6 = { 3,5,8 } , &Theta; 7 = { 4,6,8 } , &Theta; 8 = { 3,4,6 } . 在图5-b中,未知节点的邻居关系为: &Theta; 4 = { 1,5,8 } , &Theta; 5 = { 2,4,6 } , &Theta; 6 = { 5,7,8 } , &Theta; 7 = { 4,6,8 } , &Theta; 8 = { 3,6,7 } . 图5-a中,6号节点的通信半径r6≥max{d63,d65,d68}=d63,8号通信半径r8≥max{d83,d86,d84}=d84。图5-b中,6号节点通信节点半径r6'≥max{d67,d65,d68}=d68,8号通信半径r8'≥max{d83,d86,d87}=d83。由于d63>d68,d84>d83,当通信半径增长缓慢时,可以满足r6>r6',r8>r8',从而使6号与8未知节点在较低的通信半径下即能确定邻居节点,从而节约能量。
分布式联合线性迭代定位算法主要减小了节点的通信半径。图6和图7分别给出了在相同传感器网络节点部署条件下,DILOC算法和分布式联合线性迭代定位算法中,未知节点选取的运算节点的情况(与未知节点相连的三个节点为该未知选取的参与其坐标迭代的运算节点)。(仿真都是50×50m的范围)
对比图6和图7,可以直观地看出:分布式联合线性迭代定位算法中,未知节点具有更小的最大通信半径和平均通信半径。仿真数据表明,在图6中,未知节点的平均通信半径为22.0米,最大通信半径为37.0米;在图7中,平均通信半径为17.9米,最大通信半径为25.6米。可见,分布式联合线性迭代定位算法能在较小的通信半径下实现未知节点的定位。
图8给出了分布式联合线性迭代定位算法在50×50m范围内,未知节点坐标迭代轨迹图。从图中可以直观的看出分布式联合线性迭代定位算法实现了未知节点坐标从初始值到真实值的迭代。
图9给出了DILOC算法和分布式联合线性迭代定位算法在未知节点坐标迭代过程中的收敛曲线,可以看出,分布式联合线性迭代定位算法收敛速度略快于DILOC算法。即等效为在相同的迭代次数下,定位误差较小。
图10给出了两种算法平均通信半径和最大通信半径随传感器节点数目增加时的变化曲线。由于锚节点数目和位置保持不变,随着未知节点数目增加,节点之间的距离减小,通信半径应当减小。分布式联合线性迭代定位算法的最大半径和平均半径都服从此递减规律,而DILOC算法中的最大通信半径不服从该规律,原因在于DILOC中运算节点的选取是随意的。从图10中可以看出,分布式联合线性迭代定位算法比DILOC算法具有更小的节点平均通信半径和最大通信半径。

Claims (1)

1.一种适用传感器网络节点定位的分布式联合迭代定位方法,其特征在于所述方法按以下步骤进行:
步骤一:改进凸包测试方法:
(一)通过接收信号强度RSSI测算出未知节点k后与m+1个运算节点之间的距离,其中用zk表示未知节点k对应的m+1个运算节点的集合;
(二)计算m+1个运算节点构成的凸包体积,记作
(三)计算每去除一个运算节点后剩余的运算节点与未知节点k构成的几何体体积,记作j∈z,且j=1,2,…,m+1;
(四)确定修正的质心坐标的大小和符号:
a k j = V z k &cup; { k } \ { j } V z k 取正值,
a k j = V z k &cup; { k } \ { j } V z k 取负值;
其中表示由运算节点集合zk中节点构成的凸包,表示zk中去除节点j后与未知节点k构成的凸包;
(五)凸包测试:
时,未知节点k在新的凸包区域,能够对此节点定位,
时,未知节点k不在新的凸包区域,无法对此节点定位;
(六)迭代定位:
利用zk中m+1个运算节点的质心坐标来表示未知节点k的坐标:
c k = &Sigma; j &Element; z k a k j c j , j &Element; z k - - - ( 1 )
其中ck表示定位节点坐标,cj是运算节点坐标,akj是质心坐标,
其中质心坐标akj由(2)式确定:
a k j = V z k &cup; { k } \ { j } V z k - - - ( 2 )
其中j∈zk,且表示集合zk∪{k}除去点j构成的几何体体积,表示集合zk的凸包体积,
当未知节点k确定自己运算节点后,未知节点开始不断的利用自身的运算节点更新自己的坐标,未知节点第t+1次的坐标由运算节点第t次迭代后的结果计算获得,锚节点则保持自己的位置信息不变,节点坐标更新表达式如下:
c k ( t + 1 ) = c k ( t ) , k &Element; &kappa; &Sigma; j &Element; z k a k j c k ( t ) , k &Element; &Omega; - - - ( 3 )
其中κ表示锚节点集合,Ω表示未知节点的集合,ck表示每个节点的坐标,akj表示质心坐标;
(七)扩展N个节点的m维网络:
对于有N个节点的m维网络,网络中各个传感器节点的坐标可以用一个N×m的矩阵表示:
C=[c1 T,c2 T,....,cN T]T (4)
迭代算法用矩阵可以表示为:
C(t+1)=A·C(t) (5)
其中,A为N×N的迭代矩阵,A中的元素aij表示节点i关于节点j的质心坐标,aij的取值情况如下:
a i j = 1 , i &Element; &kappa; , j = i a i j &Element; ( - 1 , 1 ) , i &Element; &Omega; , j &Element; z k a i j = 0 , o t h e r s - - - ( 6 )
其中zk是未知节点的运算节点集合;
质心坐标满足:
&Sigma; j &Element; z k a k j = 1 - - - ( 7 )
步骤二、联合定位:
(一)利用步骤一中改进的凸包测试方法,定位出在已有锚节点通信范围内的未知节点;
(二)根据步骤二(一)中定位出的结果,选择合适的已定位出的未知节点作为准锚节点,联合已有的锚节点,共同作为等效锚节点,参与边缘节点的二次定位;
(三)再次利用步骤一中改进的凸包测试方法,进行二次定位;
(四)将两次定位结果求加权平均,确定最终的定位结果;
设未知节点k第一次迭代定位结果为ck1,利用准锚节点迭代定位结果为ck2,则未知节点的定位结果为:
c k = &beta;c k 1 + ( 1 - &beta; ) c k 2 , 0 < &beta; < 1 c k 1 , &beta; = 1 c k 2 , &beta; = 0 - - - ( 8 )
其中,β为权重因子,根据仿真结果一般情况下β∈(0.3,0.45)。
CN201310628486.9A 2013-12-02 2013-12-02 一种适用传感器网络节点定位的分布式联合迭代定位方法 Expired - Fee Related CN103596268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310628486.9A CN103596268B (zh) 2013-12-02 2013-12-02 一种适用传感器网络节点定位的分布式联合迭代定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310628486.9A CN103596268B (zh) 2013-12-02 2013-12-02 一种适用传感器网络节点定位的分布式联合迭代定位方法

Publications (2)

Publication Number Publication Date
CN103596268A CN103596268A (zh) 2014-02-19
CN103596268B true CN103596268B (zh) 2016-08-17

Family

ID=50086200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310628486.9A Expired - Fee Related CN103596268B (zh) 2013-12-02 2013-12-02 一种适用传感器网络节点定位的分布式联合迭代定位方法

Country Status (1)

Country Link
CN (1) CN103596268B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104780507A (zh) * 2015-05-07 2015-07-15 广州大学 高精度aoa分簇定位方法
CN106792496A (zh) * 2015-11-25 2017-05-31 大唐移动通信设备有限公司 一种基于区域划分的定位方法和系统
CN106792982B (zh) * 2017-03-23 2019-12-10 电子科技大学 一种基于自适应分簇策略的多目标直接定位方法
CN108007645B (zh) * 2017-10-25 2021-07-27 中国核电工程有限公司 一种大型压水堆安全壳整体密封性试验的传感器布置方法
CN110856252B (zh) * 2019-11-11 2020-10-16 山东大学 一种考虑测量误差的二维平面传感器定位方法及系统
CN113891244B (zh) * 2021-11-16 2023-05-30 电子科技大学 一种DoS攻击下的无线传感器网络定位方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873691A (zh) * 2010-06-09 2010-10-27 中国人民解放军海军航空工程学院 基于连通性的无需测距的无线传感器网络节点定位方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101097788B1 (ko) * 2009-10-16 2011-12-23 국방과학연구소 무선 센서 네트워크에서 센서 노드 간 위치계산 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873691A (zh) * 2010-06-09 2010-10-27 中国人民解放军海军航空工程学院 基于连通性的无需测距的无线传感器网络节点定位方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种无线传感器网络节点定位算法的改进;于青 等;《微计算机信息》;20080131;全文 *
无线传感器网络MAC协议高能效性能研究;何晨光;《中国博士学位论文全文数据库 信息科技辑》;20120415;全文 *
采用分层结构的WSN室内三维定位算法的研究和设计;毛科技 等;《小型微型计算机系统 》;20130228;全文 *

Also Published As

Publication number Publication date
CN103596268A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
CN103596268B (zh) 一种适用传感器网络节点定位的分布式联合迭代定位方法
CN101873691A (zh) 基于连通性的无需测距的无线传感器网络节点定位方法
CN104581943B (zh) 用于分布式无线传感网络的节点定位方法
CN103338511A (zh) 一种基于三角形形态估计的wsn快速自定位方法
CN103826298B (zh) 一种协作式迭代优化的无线传感器网络定位计算方法
CN103200597B (zh) 一种面向无线传感网络的容错事件边界检测方法
CN104363649B (zh) 带有约束条件的ukf的wsn节点定位方法
CN104363653B (zh) 一种消除环境噪声的被动式定位方法
CN104020444A (zh) 一种双轮差动式机器人室内组合定位方法
CN106714296A (zh) 一种基于最速下降法的室内定位方法
CN103648164A (zh) 一种基于到达时间差和Gossip算法的无线传感器网络分布式定位方法
CN104066058A (zh) 一种基于双套指纹叠加的wlan室内定位方法
CN104363654A (zh) 基于Tunneling method的无线传感器网络三维节点定位方法
CN104144499A (zh) 基于rssi向量相近度和广义逆的无线传感器网络定位方法
CN105025495A (zh) 一种无线认知网络全局频谱信息协作感知方法
CN108737952A (zh) 基于rssi测距改进的多边形加权质心定位方法
Xia et al. Localizability judgment in UWSNs based on skeleton and rigidity theory
Jun et al. Weighted least square localization algorithm based on RSSI values
CN104023390A (zh) 基于pso和ukf组合的wsn节点定位方法
CN107222925A (zh) 一种基于聚类优化的节点定位方法
CN102209383A (zh) 基于Euclidean算法的无线传感器三维定位方法
CN104080169A (zh) 一种水下无线传感器网络动态自适应定位方法
CN107613502B (zh) 一种传感器网络非规则区域节点定位方法及其装置
CN103167609A (zh) 基于跳数的无线传感器网络节点定位方法及系统
CN103327609B (zh) 一种无线传感器网络节点定位方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817

Termination date: 20161202

CF01 Termination of patent right due to non-payment of annual fee