方案中,假设已知发送节点的发射功率,接收节点可以根据接收信号的强度,计算二者之间距离的近似值;发射功率可控,即节点可以根据自身需要调整发射功率。采用与文献[5]相同的无线传输能量消耗模型。ADEECS协议按轮执行,每一轮分为网络部署,簇头选举,成簇,数据传输这4个阶段。
具体实现过程如下:
阶段1:网络部署阶段在网络部署阶段,让基站以一定的功率向网络内广播一个消息HELLO_MSG。传感器节点根据接收信号的强度计算出自己到基站的近似距离,在与基站通信时,依据这个距离选择适当的发射功率。在成簇阶段,还将利用这个信息来均衡簇头的负载。
阶段2:簇头选举阶段全局范围内预先设定一个0~1之间的阈值T,用来控制参加簇头竞选的节点比例。每一个节点生成一个0~1之间的随机数,记为u。若u
式中:T为最大约定的最大延迟时间;Eresidual为节点剩余能量;Eini是节点原始能量。
阶段3:成簇阶段簇头向网络所有节点广播自己成为簇头的消息HEAD_AD,内容为簇头节点的标识及该节点与基站的距离。普通节点接收到此消息后选择一个通信代价cost(CH)最小的聚类加入,并发送消息JOIN_REQ。通信代价表达式为:
式(5)中参数与式(2)和式(4)表示的意义相同。从式(5)可以看出,该通信代价综合考虑了节点与簇头的距离、簇头与基站的距离及簇头的剩余能量。从而实现了由聚类成员节点选择剩余能量较大,与自己距离较近,与基站距离较小的簇头形成簇,达到能量均衡的目的。
阶段4:数据传输阶段簇头向所有成员节点广播TDMA通信时隙调度信息TDMA_SCHEDULE。成员节点按分配好的TDMA时隙在某个时刻将自己检测到的数据发送给簇头。簇头在接收聚类成员发送数据的过程中进行数据融合,并将融合后的数据直接传输给基站,该过程采用单跳的通信方式。
4 ADEECS协议仿真与分析
仿真中,使用Matlab作为仿真平台,采用与文献[3]相同的能量消耗模型。仿真参数如表1所示。
文中将ADEECS与EECS和LEACH协议性能进行仿真对比。
4.1簇头分布的仿真对比
LEACH簇头个数取最优值。在仿真中,LEACH簇头个数为6;取T=0.15,R=26,w=0.8。由3种协议的簇头分布图(图2~图4)可以看出,LEACH协议簇头随机分布;EECS协议簇头分布比较均匀,但存在簇头漏洞问题;ADEECS协议簇头真正实现了均匀分布。所以,提出的延迟发送竞选消息的方法很好地解决了LEACH和EECS协议在簇头选举过程中存在的问题。