1、基于矢量的无线传感器网络节点定位综合算法王驭风,王岩 通信学报 2008年11月汇报人:XXX目录1 引言2基于校正矢量和粒子群优化的节点定位综合算法3 算法仿真实验及结果4 总结 引言引言TDOA(Time Difference of Arrival)算法RSSI(Received signed Strength Indicator)算法已知基站发送端发射功率,在接收节点测量接收功率,计算信号的传播损耗;使用信号衰减模型将传播损耗转化为距离。在节点上安装超声波收发器和RF收发器,记录两种不同信号在两个节点中的传播时间差;由传播时间差计算得到距离。1引言引言DV-HOP 定位算法质心定位算法锚
2、节点每隔一段时间向邻节点广播一个信号(自身ID 和位置信息)。当未知节点接收到来自不同锚节点的信号数量超过某一个值后,则确定位置为这些锚节点所组成的多边形的质心。计算未知节点与锚节点的最小跳数;根据估算距离公式,计算未知节点和锚节点的实际距离;利用三边测量法计算位置信息1引言引言1引言引言1引言引言 基于校正矢量和粒子群优化的节点定位综合算法2基于校正矢量和粒子群优化的节点定位综合算法基于校正矢量和粒子群优化的节点定位综合算法2.1 位置校正矢量(LCV)2.2 分簇计算校正步长位置校正矢量校正步长位置校正值位置校正值2.3 簇边缘附加矫正2.1 位置校正矢量位置校正矢量未知节点通过DV-ho
3、p算法得到自身的估计位置,将其与邻居节点估计位置之间的距离记为“计算距离”。而通过RSSI等测距方法得到的与邻居节点间的距离记为“测量距离”。引入位置校正矢量的目的就是通过调整节点的位置,尽可能缩小计算距离与测量距离之间的差别,因此LCV的每个分量是沿着未知节点到某个邻居节点的方向,分量的大小为对应的计算距离与测量距离的差值。2.1 位置校正矢量位置校正矢量图1 位置矫正矢量图固定节点的位置校正矢量2.1 位置校正矢量位置校正矢量假设节点S通信范围内有N个邻居节点,节点自身的估计位置为PS=(xs,ys),N个邻居节点的估计位置为Pi=(xi,yi),节点S与第i个邻居节点的计算距离为dci2
4、2()()cisisidxxyyicimiudd2.1 位置校正矢量位置校正矢量节点S获得的N个测距值为dmi,i=1,2,N。节点S与第i个邻居节点的差异值的大小可以表示为ui2.1 位置校正矢量位置校正矢量iv节点S与第i个邻居节点位置校正矢量的矢量方向表示为sv因此,节点S的合成LCV为,1,2,siiivuv i,N|siisip pvp p图2 位置矫正矢量图(实线为节点实际位置,虚线为节点估计位置)2.1 位置校正矢量位置校正矢量移动节点的位置矫正矢量2.1 位置校正矢量位置校正矢量对于移动节点,初始位置估计方法:移动节点Sm在tk+1时刻的初步估计位置等于其在tk时刻的定位结果的
5、基础上加上1ktk新加入邻居节点坐标总和离开通信范围的节点坐标总和时刻邻居节点数t 时刻邻居节点数2.1 位置校正矢量位置校正矢量2.1 位置校正矢量位置校正矢量假设节点密度不变SStktk+10XY图3 移动节点的初始定位1ktk新加入邻居节点坐标总和离开通信范围的节点坐标总和时刻邻居节点数t 时刻邻居节点数移动节点用距离变化值代替距离值构建LCV(位置校正矢量),过程如下:2.1 位置校正矢量位置校正矢量Sm与第i个邻居节点的计算距离为测量距离为tk时刻Sm与第i个邻居节点的计算距离为测量距离为tk+1时刻kcidkmid1kcid1kmid111()()kkkkkicicimimiudd
6、dd差异值表示为:2.1 位置校正矢量位置校正矢量iv节点Sm与第i个邻居节点位置校正矢量的矢量方向表示为sv因此,节点S的合成LCV为1,1,2,mksiiivuv i,N|mmsiisip pvp p图2 位置矫正矢量图(实线为节点实际位置,虚线为节点估计位置)2.1 位置校正矢量位置校正矢量LCV矢量的合成方法与固定节点相同。2.2 分簇计算矫正步长分簇计算矫正步长由于每个未知节点同时调整自身的位置,因此LCV只能给出节点位置的调整方向,而沿这个方向移动的距离(将其称之为校正步长)需要通过另外的方法来计算。为了避免集中式算法,同时兼顾节点的能耗,考虑使用分簇的计算方式来获取校正步长。考虑
7、到算法的尽可能简单化和锚节点的计算通信能力比较强,就将每个锚节点作为簇头,未知节点以自身的当前估计位置为准,加入距离最近的锚节点所在的簇。问题描述问题描述分簇后,以 为目标来计算簇内节点的校正步长。位置校正矢量的作用是使簇内所有邻居节点之间经过位置校正后,计算距离与测量距离差值的总和最小化,因此求校正步长的问题可以描述为一个多元函数最小化问题。2.2 分簇计算矫正步长分簇计算矫正步长簇内网络整体位置最优化假设簇内有N个未知节点,它们的估计位置分别为Pi=(xi,yi),LCV分别为 ,i=1,2,N,待求步长为step,step是一个由stepi组成的N维向量。问题的目标函数可以表示为iv_(
8、)|p|ijdRijm ijijF steppd 其中,iiiippstepvjjjjppstepvR为节点的通信半径_m ijd为簇内节点i、j之间的距离测量值为簇内节点之间的实际距离ijd2.2 分簇计算矫正步长分簇计算矫正步长2.2 分簇计算矫正步长分簇计算矫正步长粒子群算法粒子群算法2.2 分簇计算矫正步长分簇计算矫正步长 粒子群优化(PSO)算法是一种新颖的演化算法,PSO的优势在于简单而又功能强大。它属于一类随机全局优化技术,PSO算法通过粒子间的相互作用在复杂搜索空间中发现最优区域。参数只需要最简单的设置:PSO粒子的长度等于簇内未知节点的个数每一维分量对应一个节点的校正步长目标
9、函数作为适应度函数2.3 簇边缘附加矫正簇边缘附加矫正 簇内节点的相对位置的最优化并不意味着全局网络所有节点的位置实现了最优化,有可能存在簇整体平移或者簇间距离误差反而增大的问题。因此考虑对簇与簇之间的位置进行调整。由簇的每个边缘节点查找所有不属于本簇但是在自身通信半径内的邻居节点。利用它们之间的计算距离和测量距离构建附加位置校正矢量。首先用rangefree算法计算锚节点的估计位置,然后求其与锚节点真实位置的误差。再利用锚节点与邻居节点的测距值构建位置校正矢量,将误差距离值除以位置校正矢量模值作为附加校正步长。簇内所有边缘节点都采用这个附加校正步长。每个簇的边缘节点都通过上述的过程调整自身的
10、位置,以此减小簇与簇的相对位置误差,避免陷入局部最优化。2.3 簇边缘附加矫正簇边缘附加矫正|,1,2,iiiuviN,N步长:算法仿真及结果分析仿真环境:MATLAB区域:边长为100的正方形节点数:随机布置了100个未知节点节点通信半径:20网络的连通度:约为10测量距离:真实距离加上一个误差不超过10%的高斯随机变量3 算法仿真及结果分析算法仿真及结果分析图4 DV-hop定位结果3 算法仿真及结果分析算法仿真及结果分析锚节点数为16个,锚节点比例为13.8。在如上参数的条件下,DV-hop算法仿真的定位误差为39.34。3 算法仿真及结果分析算法仿真及结果分析粒子群算法的初始粒子数为20个,粒子群算法的更新次数是10次。图5是以DV-hop为基础的基于LCV和粒子群优化的节点定位综合算法的仿真实验。图5 基于LCV的节点定位综合算法的定位结果3 算法仿真及结果分析算法仿真及结果分析图6 算法循环次数与锚节点计算时间以及定位误差的关系3 算法仿真及结果分析算法仿真及结果分析4 总结总结 在DV-hop算法的基础上,本文结合测距技术和改进的粒子群优化算法,提出了一种基于位置校正矢量的节点定位综合算法,并将其应用于移动节点。仿真实验证明在不明显增大通信和计算损耗的前提下,该算法相比于DV-hop的定位误差可以下降75,达到小于10的误差,已经具有实际的应用价值。