1.一种能耗均衡的WSN层次路由协议实现方法,包括以下步骤:
步骤1:洪泛法建立邻居节点信息表;具体包括以下步骤:
11)Sink节点向网络内的其他节点广播信标帧b,b=(ID,Er,RSSI,LQI,Hmin);其中ID表示信标帧发送节点的标识,Er表示剩余能量,RSSI表示接收节点接收到的信号强度,LQI表示链路质量,Hmin表示接收节点距离Sink节点的最短跳数;
12)为节点ni构建邻居信息表Ti, 初始化Hmin为
∞,ni∈N/Sink,N表示当前网络中存在的所有节点;每当节点ni接收到b,存储b到Ti,并判断其距离Sink节点的最短跳数是否少于当前Hmin,如果是则更新当前Hmin值,否则不更新;
13)节点ni重新组织信标帧b并向外广播;
步骤2:根据节点与Sink节点的最短跳数关系进行候选节点的选举以及候选节点竞争半径的计算,并结合多因素选择簇首节点;具体包括:
21)为网络内所有节点N生成一个随机数Ri,0≤Ri≤1,1≤i≤num,num表示节点数;
22)计算节点ni的阈值Ti,其中Hmax表示传感器网络中所有节点距离Sink节点最短跳数的最大值,Hmin表示节点距离Sink节点的最短跳数,a1为常数,公式为:
23)生成簇首候选节点列表HX,HX={ni|Ri≤Ti,1≤i≤num};
24)计算节点ni的竞争半径Cri,其中R表示圆形部署区域的半径,Hmax表示传感器网络中所有节点距离Sink节点最短跳数的最大值,Hmin表示节点距离Sink节点的最短跳数,a2为常数,公式为:
25)计算簇首候选节点hxi在其竞争半径Cri中所有其他簇首候选节点的权重值Vi,hxi∈HX,1≤i≤n,n为Cri区域中其他簇首候选节点数量,公式为:其中α+β+χ=1,Ei表示簇首候选节点的剩余能量,E0表示初始能量;LQIi_avg表示候选节点ni与周围邻居普通节点通讯的平均链路质量,如公式(3-4)所示;Ni为邻居节点数量;Navg为候选节点hxi竞争半径内平均节点数量,如公式(3-5)所示;
26)生成簇首节点列表CS,CS={hxj|Vj=MAX(Vj),1≤j≤n};
步骤3:基于虚拟力原理将网络构建为合适的簇;具体包括:
31)簇首节点广播数据帧d,d=(ID,Ei,RSSI),其中ID表示向外广播节点的标识,Ei表示剩余能量,RSSI表示接收节点接收到的信号强度;
32)为节点nj构建簇首节点信息表Ij, 每当普通节点nj接收到数据帧d时,存储d到Ij;
33)计算节点nj与其相邻簇首ni之间的虚拟力Fi,j,其中Ei表示簇首节点剩余能量,Ej表示普通节点的剩余能量,RSSIi,j表示簇首节点ni与普通节点nj之间的信号强度,公式为:
34)对任意一个普通节点nj,nj∈{ni|Fj=MAX(Fi,j),1≤i≤n,1≤j≤m},n为nj相邻的簇首节点数量,m为普通节点数量;
步骤4:在能耗均衡的前提下簇首节点进行数据的多跳传输;具体包括:
41)计算簇首节点ni向下一跳簇首节点nj转发数据的代价值,其中Hmin为节点nj距离Sink节点的最短跳数,Ej表示节点nj的剩余能量,LQIi,j表示簇首节点ni、nj之间的链路质量,公式为:
42)对任意一个簇首节点ni,选择下一跳转发节点nk,nk={nj|Cj=MIN(Ci,j),1≤j≤n},n为ni相邻的簇首节点数量。