基于MDS的无线传感器网络定位算法的优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MDS的无线传感器网络定位算法的优化
万国峰;牛斌
【摘要】An improvement iterative localization algorithm based on MDS is introduced, which setted the centroid of the anchor nodes as the initial value for iterating in the algorithm. An smooth optimization algorithm is proposed by analysing the disadvantage of that algorithm. Simulation result shows that this algorithm need less iterative times, but has higher precision. With same localization precision, anchor nodes are reduced obviously in smooth algorithm, having actual application value.%介绍了一种改进了的基于多维标度的迭代定位算法(MDS),该算法把参考节点的质心坐标设置为迭代初始值.分析了该算法存在的缺点,提出一种平滑优化算法.仿真结果表明:平滑后的MDS迭代定位算法,迭代次数大大减少,定位精度显著提高.在同样的定位精度下,平滑后的算法需要的锚节点数明显减少.算法具有实际应用价值.
【期刊名称】《工业仪表与自动化装置》
【年(卷),期】2012(000)006
【总页数】4页(P22-25)
【关键词】无线传感器网络;节点定位;多维标度;平滑优化
【作者】万国峰;牛斌
【作者单位】西北民族大学电气工程学院,兰州730030;西北民族大学电气工程学院,兰州730030
【正文语种】中文
【中图分类】TP393
0 引言
在无线传感器网络众多应用中,传感器节点的工作区域往往是比较危险的区域,节点位置在监测区域中是随机的、未知的。
传感器网络监控必须提供定位服务,使节点能够明确自身的位置,才能详细说明“在什么位置发生了特定事件”[1]。
根据定位机制,文献[2-3]中将目前的无线传感器网络定位算法分为2大类:基
于测距的定位和基于非测距的定位。
基于测距的定位通过测量节点间的距离或角度信息,并使用三边测量法、三角测量法或最大似然估计法计算节点位置,这类算法在获得较为精确定位结果的同时产生了大量计算和通信开销,极大地考验了传感器节点的能量;而非测距的定位则仅仅依靠网络连通性等信息进行定位,提出的定位
算法主要有质心算法、DV-Hop算法、Amorphous算法、APIT 算法和 MDS -MAP[4]算法等。
由于与距离无关的定位受环境因素的影响小,虽然定位的误差相应有所增加,但定位精度能够满足多数传感器网络应用研究的要求,是目前大家普遍关注的定位机制[5]。
文献[6]提出了一种改进的MDS-MAP方法,构建了一种分布式的计算模式,降低了对节点计算能力的要求,但仍是一种基于经典MDS[7]方法,在非测距
环境下的计算精度不高。
为此文献[8-9]相继提出了基于Ordinal MDS的分布式节点定位方法和MDS-MAP(D),提高了非测距环境下的节点定位精度。
但是,MDS-MAP算法存在2大缺点:算法中使用节点间最短路径距离代替实际几何距离,可能导致误差较大,尤其在节点分布不均匀的时候,误差更大。
其次,MDS
-MAP算法使用经典的MDS解法,MDS矩阵庞大,求解过程复杂。
为此,文献[10-11]提出了基于MDS的迭代定位算法,降低了算法的复杂度,节约了节点能量。
但是该算法中未知节点的初始化对迭代次数和定位精度有比较大的影响。
文献[12]提出用质心算法初始化未知节点,在9 m×9 m的区域的4
个顶点布置4个锚节点,定位精度和迭代次数较原始MDS迭代算法都有改善。
但是布置锚节点有很大的局限性。
该文针对现有算法存在的问题,提出了用一种新的平滑函数去求目标函数值,且锚节点数量和位置都不受限制的迭代定位算法,迭代次数明显减少,精度有很大提高。
1 基于MDS的迭代定位算法
基于MDS的迭代定位算法首先建立一个关于X的矩阵函数为目标函数,它取值最小时的X就是所求;然后,找到此目标函数的最小化不等式;最后,通过最小化不等式得到X的迭代公式。
利用迭代公式迭代多次后,目标函数值接近于最小值,相
应的X就趋向于所求,当误差满足要求时算法停止执行。
一个N维空间中的无线传感器网由n个未知节点和m个参考节点组成。
未知节点和参考节点坐标矩阵分别为,未知节点真实坐标矩阵,未知节点之间的真实距离
dij(T)=δij,未知节点到参考节点的真实距离为 dik(T,C)= τik。
δij,τik由测距
手段测得,为简化,这里忽略测距误差。
由于某些节点间的距离可能无法测量,为便于计算,定义权重 wij,wik,当δij,τik可测时,wij,wik的值为1,否则,
为 0。
由文献[13 -14]可知,这一假设是合理的。
那么目标函数可表示为:
对于一个确定的坐标矩阵X,根据式(1)就可以计算出对应的目标函数值,算法期
望是找到一个X,使目标函数值最小。
因此,通过求目标函数的最小值,就能够得到矩阵X的迭代公式。
2 基于平滑函数的MDS算法(Smooth-MDS)
2.1 改进的MDS迭代定位算法
在迭代定位算法中,未知节点位置的初始化是整个算法过程中较为重要的一步,好的初始化值可以减少迭代次数,同时定位精度也可显著提高。
另外,初始值选取不合适不利于迭代算法得到全局最优值,如果目标函数的局部最小值不惟一,那么迭代算法就很少有机会得到全局最小值了[10]。
因此,合理选取迭代初始值对于
基于MDS的定位算法至关重要。
文献[12]提出了改进的MDS迭代定位算法(该文称为IMDS算法)。
由于质心简单,同时只需要无线传感器网络的连通信息即可求得,因此易于在资源有限的无线传感器网络节点中实现。
但用质心坐标作为未知节点的坐标,受到节点密度、节点分布模型、信号传输模型等影响,约有90%的未知节点定位精度低于
信标节点间距的 1/3[15]。
为此,IMDS算法中通过质心算法来求参考节点的质心坐标作为未知节点初始坐标,即:其中:a为坐标维数,是1~N中的某一个值,在此只考虑N=2的情况。
2.2 构造平滑目标函数
IMDS算法中选取的距离平滑中的阈值目标函数为:
此函数不可导,可扩展性差,精度不高,尤其不能体现距离误差之间的关联。
在此构造一个函数
此函数的效果近似于max(x,y),足以用来代替最大值函数。
由于x和y都在指数位置上,因此它们的差距将会放得很大,那么ln(exp(x)+exp(y))的值就非常逼近
最大值函数的结果。
图1就是构造的平滑函数和原函数图。
平滑后的算法称为SMDS算法。
x取节点之间均衡距离的最小值,y取节点之间均衡距离的最大值,即:
该函数可以非常方便地扩展到n个变量的情况,函数的精确程度是可以控制的。
由于指数函数越到后面变化幅度越大,因此这个函数对尺度较大的变量来说会变得更加精确。
同时,距离之间的相关性好,避免了只考虑最大值,而忽略其与最小值之间的关系,计算出来的数据更加科学。
图1 平滑函数和原函数图
2.3 算法步骤
1)各个锚节点周期性地向周围广播自身信息:节点ID和坐标;
2)普通节点在收到该信息后,对同一个锚节点的RSSI值取均值,作为接收到的该
锚节点的RSSI值;
3)当普通节点收到锚节点信息的数量少于3,则继续接收,当达到一定的阈值时,就不再接收新的信息,并根据已经接收到的锚节点的RSSI值对锚节点进行排序,建立RSSI值与锚节点之间的映射关系,从而可以建立如下的集合:
①RSSI值集合 RSSI-set={S1,S2,…,Sk};
②锚节点集合 Beacon -set={a1,a2,…,ak};其中:a1,a2,…,am为依据RSSI值由大到小所对应的锚节点的标号;
③锚节点位置坐标
4)由已知锚节点,用质心算法初始化未知节点迭代初值X[0],T=X[0],k=0,计算目标函数初值σ(X[0]);
5)将k加1;
6)用迭代公式计算X[k]和目标函数值σ(X[k]);
7)如果σ(X[k-1])-σ(X[k])<ε,停止迭代;否则,置 T=X[k],然后转到5)。
3 算法仿真及分析
文中用Matlab7.10进行仿真。
选未知节点个数n=30;参考节点个数m=10;节点通信半径R=20 m;迭代次数k;基于精度要求的经验阈值ε=0.000 1[12]。
节点随机布置在一个100 m×100 m
的正方形区域内。
这里采用定位误差率来衡量定位算法的性能,较小的定位误差说明定位算法的精确度较高,定位误差计算公式如下:
3.1 定位误差与迭代次数的关系
为了便于直观比较,首先设k=15,比较文献[12]改进后和该文平滑后的定位情况,如图2所示。
仿真结果数据:平滑前迭代算法定位误差为0.387m,平滑后的
迭代算法定位误差为8.380 7e-004 m。
图2 平滑前后定位结果
增大迭代次数k,分别计算平滑前和平滑后每次迭代的定位误差率,得到迭代次数和定位误差的关系。
如图3所示,要达到定位误差0.10 m,平滑前的迭代算法要进行20次以上的迭代才能得到,而平滑后的迭代算法只需要10次迭代即可达到
相同的精度。
算法的计算工作量减少了2倍以上,这对于能量受限的无线传感器
网络来说意义重大。
图3 定位误差与迭代次数关系图
3.2 定位误差与锚节点数的关系
为进一步衡量平滑算法的性能,将迭代次数固定为20次,总节点数40个不变,
锚节点数在1~10之间变动,得到图4所示的定位误差与锚节点数的关系图。
由
图4可知,在锚节点数少于3时,2种算法的定位误差都比较大,且基本相同,
这是因为当锚节点数少于3时,质心算法效果比较差。
当锚节点数大于等于3后,
平滑算法的误差明显小于文献[12]提出的改进算法的误差,尤其当锚节点数大
于等于5以后,平滑算法的误差接近于零。
图4 定位误差与锚节点数关系图
由以上的比较可以看出,平滑后的算法比之前的算法明显优越,其原因是平滑之前的阈值目标函数只考虑了节点之间均衡距离的最大值。
而平滑后的阈值目标函数既考虑了节点之间均衡距离的最大值,也考虑了其最小值,这样就考虑了全局,相关性更好,故而能有效减少定位误差和迭代次数。
4 结论
该文介绍了一种通过质心算法,将参考节点的质心作为未知节点的迭代初始值的基于MDS的迭代定位算法,在此基础上构造了一个平滑函数来优化原来的算法。
仿真结果表明平滑后的MDS迭代定位算法,迭代次数大大减少,定位精度显著提高,在同样的定位精度下,平滑算法需要的锚节点数明显减少。
对于能量受限的无线传感器网络有很高的实用价值。
参考文献:
[1]王福豹,史龙,任丰原.无线传感器网络中的自身定位系统和算法[J].软件
学报,2005,16(5):857-868.
[2]周正.无线传感器网络的节点自定位技术[J].中兴通讯技术,2005,
11(6):51 -56.
[3]Dinh Minh Nhat Vo,Duc Vo,Subhash Challa,et al.Nonmetric MDS for sensor localization[C]//3rd International Symposium on Wireless Pervasive Computing 2008(ISWPC 2008),2008:396 -400.
[4]SHANG Y,RUML W,ZHANG Y,et al.Localization from mere connectivity[A].Proc of ACM MobiHoc[C].Annapolis,MD,NY,2003:201-212.
[5]孙利民.无线传感器网络[M].北京:清华大学出版社,2005:148-155. [6]SHANG Y,RUMLW,ZHANG Y.Improved MDS-based localization [A].Proc of IEEE Infocom[C].Hong Kong,China,2004:2640 -2651. [7]COXT,COXM.Multidimensional Scaling[M].London UK:Chapman & Hall,1994.
[8]VIVEKANANDAN V,WONG V.Ordinal MDS-based localization for wireless sensor networks[A].Vehicular Technology Conference(VTC -2006 Fall)[C].Canada:VTC,2006:1 -5.
[9]马震,刘云,沈波.分布式无线传感器网络定位算法MDS-MAP(D)[J].通信学报,2008,29(6):57-62.
[10]申屠明.无线传感器网络定位算法研究[D].杭州:浙江大学,2007. [11]Ji Xiang,Zha Hongyuan.Sensor positioning in wireless AdHoc sensor networks using multidimensional scaling[C]//INFOCOM2004,23th Annual Joint Conference of the IEEE Computer and Communications Societies,2004:2652-2661.
[12]易平,钟俊,石家骏.无线传感器网络中基于MDS的迭代定位算法优化[J].传感器与微系统,2010,29(12):48-50.
[13]戴佩华,薛小平,邵玉华.基于垂直平分线的区域定位算法[J].计算机工程,2009,35(2):105 -108.
[14]张佳,罗军勇,王艳,等.改进的无线传感器网络定位算法[J].计算机工程,2009,35(6):133-135.
[15]邓彬伟,黄光明.WSN中的质心定位算法研究[J].计算应用与软件,2010,27(1):213 -214.。