在LEACH原有的阈值T(n)后增添一个因子,这个因子是En-now和Eothers的比值,这样做的原因有两个。一方面在考虑节点剩余能量的要求之下,选取Eothers为分母可以使因子归一化。另一方面,这样的因子选择对原来阈值T(n)的取值范围没有太大的影响,不会使簇头选择产生理论上的较大波动。
2、簇头之间最优距离 D的计算:根据实际及仿真假设,传感器节点投放区域A是边长为L的正方形区域,理想状态下k个簇头节点应当完全覆盖区域A,则应该存在数学关系:
由此得出平均意义下每个簇头节点覆盖的最优簇半径应该为:
其中 是一个常数,是为了充分保证簇头节点能覆盖区域A而设置的。通过预先设定C的取值,可以起到间接地对每一轮簇头个数进行控制,使得簇头数逼近最优簇头个数。
簇头节点的选择:
在每一轮簇的建立阶段开始时,每个传感器节点产生一个0~1之间的一个随机数,将这个随机数与T(n)比较,如果这个数小于阈值T(n),与LEACH算法不同的是,节点此时向自己周围半径为R的圆形辐射范围内广播自己竞争成为簇头的公告信息【16】。当然,若某竞争簇头节点收到了其它节点的公告信息,则说明至少有一对相互之间距离小于R的节点同时欲竞争成为簇头。新算法规定,这种情况下,选择自身剩余能量较大,即En-now较大的节点成为簇头,另一个节点退出竞争并广播取消信息后按普通节点执行。当节点既没有竞争成为簇头也没有收到其它节点发出的公告信息时,则自动参与簇头竞争并向周围半径为R的圆形辐射范围内广播竞争簇头的公告信息。按此规则,一定数量的节点当选簇头以后,网络中的非簇头节点根据接收到的的簇头广播公告信息强度选择加入某个簇,并通知相应的簇头节点。当所有非簇头节点都加入了各自选择的簇后,便完成了簇的建立。
之后,和LEACH协议相同,对于每个簇头节点,当接收到所有的加入信息后,就产生一个TDMA定时信息,并通知该簇中所有节点。为避免附近簇的信号干扰,每个簇采用不同的CDMA编码进行通信。这个用于当前阶段的CDMA编码连同TDMA定时信息一起发送,当簇内节点收到这个信息后,它们就会于随后的数据通信阶段在各自分配到的TDMA时间槽内发送数据给簇头节点。
稳定的数据通信阶段:
完成成簇之后,网络进入稳定的数据通信阶段,网络中每个传感器节点将所采集的数据在自己的TDMA时隙通过簇头告知的CDMA编码传送到簇头节点。簇头节点对簇中所有节点传送过来的数据进行信息融合后再传送给汇聚节点。在此过程中,非簇头节点主要工作是近距离信息传输,相对于簇头而言能量消耗小。簇头节点因其需进行数据融合和远距离数据传输,所以能量消耗相对较大。稳定通信阶段持续一段时间后,网络重新进入簇的建立阶段,进行下一回合的簇重构,按此规律不断循环,直到整个网络能量耗尽。
改进算法的流程图如图13所示。
图13 改进算法的流程图
4.3 改进效果的理论说明
随着轮数的增加,每个节点的剩余能量不断变化,阈值T(n)随之变化,节点产生小于T(n)的随机数的概率随之变化,所以整个网络中的每一个节点的剩余能量都同时在影响着任何一个节点当选为簇头的概率。引入最优簇半径的方法又使得每一轮产生的簇头节点在空间上分布更均匀,在数量上更趋近于最优值。正是由于有这样的机制,每个节点在簇的建立阶段的表现,将不再是信息孤立的,而是综合了全网络节点信息【17】的结果。这必然会使传感器网络得到优化,主要包括:使网络能量分布更均衡,提高网络的生存能力,延长网络寿命。 基于能量均衡的无线传感网分簇拓扑算法研究(12):http://www.751com.cn/tongxin/lunwen_2783.html