2 CAED算法描述
在LEACH基础上,提出一个基于能量和距离的分簇算法(clustering algorithm based on energy anddistance)。该算法按轮运行,每轮分为二层簇头的建立,簇内节点数据转发和稳定数据的传输。
2.1 二层簇头的建立
在簇建立阶段,首轮担任簇头的节点由基站随机确定。簇头的个数根据监测区域的位置、大小及网络规模来确定。被选中担任簇头的ID由基站依次在网络中进行广播,网内节点对逐次收到的ID与自己的进行对比,相同的即为本轮的簇头。簇头全部选出以后,再向全网广播簇头ID。簇内节点在每轮数据传输的最后一帧,把剩余能量等信息一起发送至各自簇头。簇头对各簇内节点的剩余能量进行比较,选举剩余能量最大的节点作为下一轮簇头,这样建立了第一层簇头。
第二层簇头的建立和通信模式与LEACH有较大的区别。每轮选出的第一层簇头成为第二层簇头的普通节点,在LEACH中这些节点直接与基站通信。由式(1)可以看出,放大器能耗远大于电路能耗,且放大器能耗中与通信距离d有直接关系,因此在产生第二层簇头时,充分考虑了节点的剩余能量和节点与基站间距离等因素。产生第二层簇头的阈值按如下公式计算: