leach算法的改进

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

针对无线传感器网络中的网络能耗问题,提出了改进leach 簇首与簇内节点选取的leach-tr 算法,该算法不仅利用了原leach 模型形成簇的算法,也运用了数学思想中的剩余能量均值算法选取簇形成节点。首先,根据根据簇首节点的阈值公式选取最优的簇首节点;其次,根据簇内节点剩余能量与节点剩余能量的门限值进行比较,选择最适合作为簇首的功能节点出无效的簇内节点;最后,再次根据簇内节点剩余能量与节点剩余能量的门限值进行比较,选出无效的簇内节点。仿真实验结果证明,该算法可显著的减少节点能耗,进而有效降低整个无线传感器网络整体结构的网络能耗。

关键字:无线传感器网络;leach ;簇首;簇内节点 0.引言

无线传感器网络(WSN)是一种高密度、微小型、自组织的无线监控网络。网络中的节点能够根据外界环境因素的变化自主完成指定的测量任务和监测任务。但无线传感器网络资源能量受限对传感器节点的组网、网络拓扑发现技术带来了难点。因此研究降低网络能耗、延长网络生命周期成为重点。

无线传感器网络具有网络规模大、节点数目多,同时具有很强的扩展性等特点。因此,多跳通信方式比对等通信方式在无线传感器中的应用更为广泛。为了能够方便管理节点,本文通过多跳通信方式获取网络的拓扑信息,即对传感器网络节点进行分簇处理。LEACH 算法是一种比较成熟的分簇处理算法,但LEACH 算法忽视了簇首节点的覆盖范围、能量不均等问题。故文中对于降低节点能量消耗,延长网络的生命周期,主要通过设定簇首节点的选取阈值和簇内节点的剩余能量要求进行了改进,并通过matlab 环境进行了改进算法的仿真。 1.算法的实现

1.1改进算法的思想 基于LEACH 算法的思想,改进算法主要包含两个部分。首先是根据簇首节点的阈值公式选取最优的簇首节点。第二步是根据簇内节点剩余能量与节点剩余能量的门限值进行比较,选择出无效的簇内节点。 1.2算法改进初始条件

(1)路由协议采用分层和分簇的LEACH 算法; (2)每个节点已知自身的剩余能量值; (3)每个节点已知到达簇首节点的距离; (4)节点信息包在传输的过程中没有误码率; 1.3簇首节点的选取

簇首的建立是基于LEACH 算法,LEACH 算法中簇首节点的选择由网络覆盖范围的大小以及所有节点已经成为过簇首节点的次数决定。具体的做法是随机产生一个在(0,1)范围内的随机数字,根据公式(2)设定门限值T(n),若这个随机数小于设定的门限值T(n),则将该节点定为簇首节点。改进门限值,加入簇首剩余能量的取值范围。

⎪⎪⎩

⎪⎪⎨

-=0)]1mod([1)(P r P P n T (2)

其中,P 为期望的簇首节点个数,r 为当前节点回合数量。

对于簇首节点的选取,在满足小于门限值T(n)条件之后,再度衡量节点的剩余能量i E 和能量权值因子,选取剩余能量相对而言较大的节点作为之后优先考虑的簇首节点,并在已被选定的簇首节点圆周通信半径R 内,即使存在同时满足门限值和剩余能量值的其他节点,均不考虑作为簇首节点,避免簇首节点的选取集中于某一个区域,导致一些节点因为周围没有簇首无法加入网络或加入远距离簇首节点致使能量消耗过快。如图1,能量权值函数如公式(3)所示。

)(且3})},(max{}{max{)(}{%5*) (1)

1,(),(),()(21_⎪⎪⎪⎪

⎩⎪

⎪⎪

⎪⎨⎧

==≥=+++=-= φ

j i i i N average last current R R c i p E n E E E N M E E E N

E c i E c i E c i p n w 其中,w(n)为能量权值函数,p(i,c)为第c “轮”中节点i 能量的权值因子,权值越大越适合做簇首,E 为所有节点的剩余能量平均值,M 为选取簇头节点的最佳个数,}{i E 为大于平均剩余能量值的节点集合。剩余能量的门限值与节点的剩余能量平均值成线性关系,且对不同的剩余能量平均值有不同的门限限制,在

每次LEACH 算法进行选簇首时只有满足上式关系(3)后才能有成为簇首节点的可能。即改进后的簇首节点选取需要满足公式(4)要求,此方法降低了选取簇节点的随机性,能够有效降低网络节点能量的消耗。

⎪⎪

⎪⎪⎩

⎪⎪⎪⎪⎨

==≥=+++=-= φ

j i i i Nc c c average last current R R c i p E n E E E N M E E E N E c i E c i E c i p P r P P 且})},(max{}{max{)(}{%5*)...(1)1,()

,(),())1mod((-121_(4)

1.4簇内节点的选取

对于簇内节点是否能加入网络,也具有一定的要求,通过设置最低簇节点剩余能量门限值,将小于能量门限值的节点主动放弃加入网络,减少网络负荷量,

延长网络的生命周期。如图3,当节点剩余能量不足以支撑与距离l 处簇首的信息交互,则主动放弃加入。簇内节点发送消息能量需求与距离之间的关系如公式(6)所示。

j

i

E E E E i E +++=...)(21 (5)

l E d l E e R

***2

+=ξ (6) 其中,)(i E 为剩余能量参量,表示节点i 剩余能量占簇内节点剩余能量总值的参量。R E 是簇内节点发送l 比特数据需要的能量值,l 为一次上报传输的信息长度,d 为上报节点与接收节点间的传输距离。簇内节点的选取,根据公式(5)中)(i E 所占参量的数值,选取其中所占参量份额最小的节点i ,将节点i 的剩余能量值与R E 比较,若剩余能量小于R E 即可表示节点没有足够的能量传输数据,主动放弃加入网络。

具体节点选取实现算法如下:

(1)组网开始,每个传感器节点随机选择自身概率P ,节点根据概率与阈值的关系决定是否能够成为簇首,并将有可能成为簇首的节点组成预簇首集合;

(2)在可能成为簇首节点组成的集合中,将节点的剩余能量值与剩余能量门限值比较,若能够大于剩余能量门限值,再次组成预簇首集合;

(3)在预簇首集合中,按照剩余能量的大小先后选取总节点个数的5%作为簇首节点。其他预簇首节点皆降为普通节点;

(4)节点被选定为簇首节点之后,发送广播(ADV)通告整个网络,网络中的其他节点根据接收的信号强度自主的选择要加入的簇首,并回复相应的簇首节点,基础簇的建立部分完成。

(5)根据节点所占总簇内节点能量的参量)(i E ,计算出簇内节点占有份额最小的点。

(6)根据节点的剩余能量门限判断份额较小点的有效性。当被测节点的剩余能量不小于节点剩余能量门限值R E ,则为有效节点。否则为无效节点,自主放弃加入网络的节点;

(7)整体簇的建立完成;

(8)簇首节点采用TDMA 方法为簇内每个节点分配各自的传输数据的时间片;

相关文档
最新文档