3.2 网络流标识 在WeHealth 救援网络中,数据流中和定位信息有关的数据帧有如下两个: ZIGBEE_POS_REQUEST 是一个节点向邻居节点进行位置信息询问的数据帧标识,此 135 帧是由自由节点向邻居节点中的固定节点发送位置信息请求。 ZIGBEE_POS_DATA是收到ZIGBEE_POS_REQUEST 请求的固定节点向被请求节点发 送位置数据帧的标识。 ZIGBEE_POS_INFO 是节点向数据中心发送自己的位置信息的数据帧标识。 3.3 Mesh 网络结构 140 本定位算法需要Mesh 网络结构[8]下进行,每个自由节点都可以和周围的固定节点进行 直接的通信,这样才可以得到两者传输相关RSSI 值。不能使用树状网络结构或者星状网络 结构。 3.4 定位频率 在灾难现场救援中,关于自由节点运动可以认为是低速环境中的移动,自由节点的移动 145 速度是较缓慢的,因此可以认为在TIME_DURATION 这段时间内自由节点是在一个地方, 或者可以理解为定位节点在TIME_DURATION 时间段内只发生了短距离的移动。 TIME_DURATION 将是定位频率的一个核心参数,定位频率也决定着网络中定位信息流量 的大小,同时决定着各个分布式处理器的定位计算的次数。 1 f = TIME _ DURATION (6) 150 3.5 绝对位置与相对位置转换 在WeHealth 救援网络中在每个Coordinator 节点上配备GPS 设备,这样就可以得到每 个Coordinator 的绝对位置信息。而在每个Coordinator 的子网络中,都是以Coordinator 为原 点,其第一象限在原点的东北方向,布置坐标系。结合Coordinator 的绝对位置同Coordinator 的子网络中节点的相对位置,我们可见得到任意一个节点的绝对位置信息。假设Coordinator 的绝对位置为( ) 0 0 155 X ,Y ( 此是经纬度) , 相应子网络中的某节点的相对位置是 ( , ),...,1 k k XY ≤k≤K(此是长度值),K 为子网络中节点数目。则在北半球东经0 到180 之间,节点的绝对位置与相对位置转换公式: 其中R 指地球半径 160 4 定位算法描述 4.1 基于蜂窝小区的分级定位算法的理论支持 自由节点定位本质上是寻找出空间中最优的一个点,作为定位结果。可以认为定位本质 上是一个最优化问题。而贪心算法则是解决最优化理论的一个重要的方法,贪心算法是使所 做出的选择看起来都是当前情况下最佳的,期望通过所做的局部最优选择来产生一个全局最 165 优解。基于蜂窝小区的分级定位算法是根据贪心算法的理论基础演化而来。 4.2 基于蜂窝小区的分级定位算法的描述 基于蜂窝小区的分级定位是由如下方法组成的: 4.2.1 一级定位 1) 根据自由节点接收到得固定节点RSSI 值,得到统计平均值 170 2) 如果固定节点数目为0,则表明没有固定节点信息存在,则此次计算结束,跳至步 骤1 进行下次计算。如果固定节点数目不为0,则跳至步骤3,继续本次计算 3) 遍历此自由节点接收到的所有固定节点的平均RSSI 值,找出最大的RSSI 值,记 为Max RSSI ,对应的固定节点记为Max Node 4) 此自由节点向Max Node 发送ZIGBEE_POS_REQUES 指令,来获取Max Node 的相对 位置( ' , ' ) Max Max 175 X Y 5) 根据网络中相对位置与绝对位置关系,把 ( ' , ' ) Max Max X Y 转换为绝对位置 ( , ) Max Max X Y ,本次计算结束,存储本次计算结果,并跳至步骤1 继续下次计算 将把此节点作为一级定位的定位结果。可见,一级定位的算法非常简单,仅利用了一部 分信息,计算复杂度很低,当网络较小时,或者网络资源很紧缺时,一级定位一定程度上可 180 以满足较宽松的定位要求。但是如果定位精度要求较高时,一级定位不能满足要求。 4.2.2 二级定位 1)根据自由节点接收到的固定节点RSSI 值,得到统计平均值 2)如果固定节点数目为0,则表明没有固定节点信息存在,则此次计算结束,跳至步 骤1 进行下次计算,如果固定节点数目为1,则进行一级定位运算,如果固定节点数目为2, 185 则跳至步骤3,如果固定节点数目大于等于3,则跳至步骤4 3)分别向两个固定节点1 2 Node , Node 发送ZIGBEE_POS_REQUEST 指令,得到了两 个固定节点的位置信息,然后根据两者接收的强度值大小比例,在两节点的连线上等比分点 就是此时所求位置信息。设强度值分别为1 2 R,R ,位置分别为( ) ( ) 1 1 2 2 , , , N N N N X X X X ,则 自由节点此时的位置为: 4)对上述的各个固定节点的RSSI 统计平均值进行递降排序1 2 ' , , , N Node Node .. Node , 遍历所有节点,选取, ,1 ' Nodei Min RSSI >RSSI .. ≤i ≤ N , Min RSSI 代表强度门限,为固定值, Nodei RSSI 为i Node 的统计平均值,由此可得到1 2 , , , N Node Node .. Node 5)分别向4 中得到N 个固定节点1 2 , , , N 195 Node Node .. Node 发送ZIGBEE_POS_ REQUEST 指令,得到了N 个固定节点的位置信息分别为( , ), ,1 i i i Q X Y .. ≤i ≤N,设Max R 是每个节点传输的最大距离,以( , ), ,1 i i i Q X Y .. ≤i ≤N为圆点,每个节点以Max R 为半径的 圆, ,1 iO.. ≤i≤N,接下来找出此这些圆的公共部分,设为Area 6)把Area 划分为以2 2 Max r = R 为边长的正六边形组成的蜂窝网络,其中边界处如果不 200 能够组成一个完整的正六边形,则可以向Area 外扩展来补全此边界处的正六边形,按照从 上到下从左到右的顺序,对所有的正六边形小蜂窝进行编码记为1 2 , , , M P P .. P ,其中M 是 小蜂窝数量,每个小蜂窝对应的中心位置分别为( , ), ,1 j j j P X Y .. ≤ j ≤M 7 ) 外层遍历6 中划出的所有小蜂窝( , ), ,1 j j j P X Y .. ≤ j ≤M , 内层遍历 , ,1 iQ.. ≤i≤N,计算出, ,1 iQ.. ≤i≤N与j P 的距离ij d ,根据传输模型,可以得到i Q 到j P 传输信号的接收值ij R ,则得到了相应的ij 205 E ,每次内层遍历结束,均可以得到一个小蜂窝 对应的误差综合值: 2 1 1 ( ) N N j ij ij i i i E E R RSSI = = =Σ =Σ . (9) 其中: i RSSI 是节点i 的统计平均值 8)遍历7 中所有的所有, ,1 jE.. ≤j≤M,选出最小的Min2 E ,若有两种Min2 E ,则随 机的选取其中一个即可,假设选取后对应的编号为Min2 ,则Min2 210 E 所对应的位置 2 2 2 ( , ) Min Min Min P x y ,则此位置就是本次计算所得到的定位结果,返回到1 继续下次定位 二级定位是在一级定位的基础上,充分的利用了网络中的有效信息,以2 r 为小蜂窝半径 进行的定位计算。 4.2.3 三级定位 1)进行二级定位计算,根据二级定位的结果,得到最小的蜂窝 2 2 2 ( , ) Min Min Min 215 P x y , 其边长为2 r 2)以此蜂窝2 2 2 ( , ) Min Min Min P x y 为新的Area ,重复二级定位中的6~8 步骤,其中取代 二级定位步骤6 中,以2 3 2 r = r 代替二级定位中的2 r ,得到定位结果为3 3 3 ( , ) Min Min Min P x y , 此位置就是三级定位的结果,返回1 继续下次定位 220 三级定位是在二级定位的基础上,缩小了定位的范围,以为小蜂窝半径进行的定位计 算这样可以得到更加精确的定位值。 以此类推,可以进行n(n ≥2)级定位,每级定位都是上上一级定位的基础上进行的,理 论上可以达到任意精度要求,当定位精度高于定位要求精度时,定位停止。 4.2.4 n 级定位 225 n(n ≥2)级定位的定位理论精度是由计算时的小蜂窝大小决定的,n(n ≥2)级定位的小 蜂窝边长是,设定位误差为n r 2( 2) Max n n r R . = (10) 可见,分级定位理论误差是指数型单调递减的,理论上可以满足任意精度的定位要求。 4.3 仿真结果 230 仿真条件:节点数目20 个,固定节点数目4 个,自由节点数目16 个,固定节点处于正 方形100100 的四个顶点处,自由节点则随机分布在这个区域里面,每次仿真的位置都是随 机分布,不具有重复性,且本仿真都是在静止环境中进行的,干扰噪声主要是高斯白噪声。 我们将统计实际误差,即节点的真实位置同定位位置之间的距离。 ( )2( )2 real pos real pos Error= x .x + y .y (11) 其中( , ) real real x y 为节点的实际位置,( , ) pos pos 235 x y 为节点的定位算法计算的结果位置 定位结果误差(Error)图 Node Id Error 图3 二级定位仿真图 初始化分布 Width 定位结果误差(Error)图 Node Id Error 240 图4 三级定位仿真图 -50 0 50 100 150 -50 0 50 100 150 初始化分布 定位结果误差(Error)图 Node Id Error 图5 四级定位仿真图 245 5 结论与展望 由上述仿真结果可以看到,分级定位算法中,随着n 越来越大理论的误差值越来越小, 并且实际的误差值也呈现递降趋势,三级定位结果已经可以满足救援现场的需求。 可以看出,为使定位系统能较好地应用于实际,还需要进一步提高定位算法的易用性、 环境可适应性等性能。基于定位算法的研究现状,结合分级定位算法,提出未来的定位算法 250 的研究重点将集中在: 1、提高更精确地信道模型,使之能够适应复杂的环境,在较低的信噪比环境中,仍然 具有较好的定位精度。 2、提高定位算法的效率,结合分布式的特点,尽量来减少网络中非业务流量。 255 [参考文献] (References) [1] 王刚. 无线传感器网络中基于DV-Hop 定位算法的研究. 北京邮电大学. 20100601 [2] 陈红阳. 基于测距技术的无线传感器网络定位技术研究. 西南交通大学. 20060301 [3] 于宁. 无线传感器网络定位优化方法. 北京邮电大学. 20080421 [4] 孙利民,李建中,陈渝. 无线传感器网络. 北京:清华大学出版社,2005:1-25,135-155 260 [5] 蒋挺,赵成林. ZigBee 紫蜂技术及其应用. 北京邮电大学出版社,2006:1-23 [6] 王殊,阎毓杰,胡富平,等. 无线传感器网络的理论及应用. 北京航空航天大学出版社,2007:1-16, 142-163 [7] 朱勇. 井下定位系统数据采集与处理的设计与实现.20081220 [8] 刘序文. 基于Zigbee 的无线传感器网络定位研究. 北京邮电大学. 20090105 学术论文网Tag:代写论文 论文发表 代发论文 职称论文发表 通信论文代写 |