MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 通信仿真 > LEACH算法

LEACH算法

资 源 简 介

1、解决LEACH算法在簇的建立阶段选举条件:temp_rand(i)<=T(n),未考虑节点能量因素而导致的网络能耗不均衡; 即将能量相对较高的节点选为簇头: 怎样设定T值将这些节点选举出来?选举多少个节点合适? >>>T(n) = (p/(1-p*(mod(r,round(1/p)))))*(E_current/Eo) E_current = Eo-Etx-Erx (1)第一轮选举的时候,节点初始能量相同,在

详 情 说 明

在文中提到了两个问题:

1、解决LEACH算法在簇的建立阶段选举条件时未考虑节点能量因素而导致的网络能耗不均衡的问题。即在选举簇头时,应该考虑能量相对较高的节点。那么如何设定阈值T值来选举这些节点呢?选举多少个节点才是合适的呢?

>>>根据定义公式T(n) = (p/(1-p*(mod(r,round(1/p)))))*(E_current/Eo)来设定T值,其中E_current = Eo-Etx-Erx。

在第一轮选举时,所有节点的初始能量都相同,因此能量因素对于簇头竞争的影响相同。

在后续的轮次中,节点的能量消耗将直接取决于其与簇头的距离,距离较近的节点能量消耗较小,因此在下次选举中更有可能被选为簇头。

2、解决LEACH算法中簇头单跳路由与基站通信导致节点能耗过大、过早"死亡"的问题。如何合理地使距离基站近的分簇规模较大,而距离基站远的分簇规模较小呢?

在LEACH中,节点加入簇的方式是轮询选择与簇头的距离dn_c最小的节点。

单跳网络中分簇优化的问题主要涉及簇内通信能耗和数据报告能耗。

为了减小簇内能耗,可以使簇的结构更紧凑,即减小簇内节点与簇头的距离dn_c。

而为了减小数据报告能耗,可以使距离基站较近的分簇规模较大,而距离基站较远的分簇规模较小。