在能量筛选算法中,我们指定了一个能量门限(pthresh_)判断节点能量在网络中的地位:
其中Etotal是网络总能量;N代表网络中存活节点的总数;Ei是本节点的能量。
pthresh_的表达式能够将本节点的能量在网络中的地位清晰地表示出来。当能量门限取1时,意味着本节点能量远远低于网络中节点的平均能量。此时我们就可以设置节电关闭其无线收发机进入休眠状态,等到下个循环再重新开启,重复能量判断过程;当门限值取Etotal/N* Ei时,就依照门限大小决定节点休眠的概率:我们假设根据改进方法中能量判决门限所筛选出的节点就是最近周期内刚刚担任过CH的节点。进而令其在接下来的循环中进入休眠,直至新的簇首节点竞争周期到来。因为刚在最近周期担任过CH的节点,在能耗上的确大于其他节点,其所剩的能量在网络中必然处于较低的水平。所以在仿真中我们检测节点的hasbeench_变量状态,使每个节点在发送信息之前都先判断一下该变量状态(hasbcench_标志着本节点在上一个循环是否为CH节点),如果hasbeench_为1,表示上个循环中此节点担任过CH,则令其在本轮循环中进入休眠;否则,就产生随机数P与pthresh_做比较,一旦P小于门限pthresh_,则关闭节点,令其休眠;否则继续执行发送函数中的其他指令,向sink节点发送信息。同时,对成簇阶段的非簇内节点,在接下来的循环中使其进入休眠状态直至新的成簇阶段到来时才重新开启节点。
3 仿真设计
改进型LEACH的每轮循环分为节点能量筛选阶段、簇形成阶段和稳定工作阶段三个部分:
(1)每轮循环开始时,首先进行节点能量筛选,将低能节点、非簇内节点以及在上轮循环中担当簇头的节点令其进入睡眠状态,直到新的成簇阶段到来时才重新开启节点;
(2)簇形成阶段由decideClusterHead、advertiseClusterHead、findBestCluster、informClusterHead、createSchedule几个函数组成,在经过该阶段后,簇头节点和相应的簇内节点得以选出和形成,同时簇头节点将根据本地信息给簇内节点分配TDMA时隙,并广播给簇内所有节点;
(3)在稳定工作阶段,簇内各个节点根据分配的TDMA时隙将感知的数据发送给簇头,簇头将数据聚合后发给基站。经过一轮数据采集和收集工作后,为了均衡节点能量,将进行新一轮的节点能量筛选和簇头选择。通常,稳定工作阶段时间都比前两阶段长。
4 仿真结果
4.1 网络生存周期
由图2分析可知,LEACH协议的第一节点死亡时间为410 s,整个网络失效时间为527 s;LEACH-C协议的第一节点死亡时间为380 s,整个网络失效时间为571 s;改进型协议的第一节点死亡时间为280 s,整个网络失效时间为603 s。改进型协议第一节点死亡时间最早,其主要原因是每轮簇形成之前,每个节点都需要计算自身能量在整个网络中的状态,即进行能量筛选,故能耗要稍大些。但是改进型协议考虑了节点剩余能量在整个网络中的水平,不允许低于整个网络平均能量的节点担任簇头,并将一些低能的数据冗余节点令其进入休眠状态,这样节省了节点能耗,使网络生存周期较LEACH协议延长了14.4%,较LEACH-C协议延长了5.9%。因此,改进型协议的网络生存能力要优于LEACH协议。
上一页 [1] [2] [3] 下一页