基于最优簇头数的LEACH 算法的改进

2019-11-19 06:24罗丹霞湖南工学院计算机与信息科学学院
数码世界 2019年11期
关键词:能量消耗路由阈值

罗丹霞 湖南工学院计算机与信息科学学院

1 LEACH 路由协议

LEACH 路由协议是分层的传感器网络路由协议。该算法的基本思想是[1]:在簇生成阶段,各节点(SN)随机选取一个介于(0,1)之间的值,若该值小于阈值T(n),则该节点成为簇头(CH)。阈值T(n)的计算公式如下:

公式1:阈值计算公式

由于簇头选取的随机性,有以下四个缺点:

(1)簇头分布不能保证均衡。(2)每轮簇头数量随机。(3)簇头的选取没有考虑节点的剩余能量。(4)簇头与BS 通信采用单跳的方式。

2 改进后的LEACH-EN 算法原理设计

2.1 最优簇头数的计算

在 L E A C H 协议算法中,采用第一顺序无线电信道模型。

根据此模型,传感器节点发送Kbit 字节的能量消耗为:

一般认为BS 距离节点较远,所以采用多径衰减模型即d4进行计算。

每个非簇头节点仅仅需要将自己的数据传输给簇头节点。由于簇头节点和非簇头节点间的距离相对较近,所以能量消耗遵循自由空间衰减信道模型。每个非簇头节点消耗的能量为:

这样,一个簇在一帧内的能耗为

2.2 LEACH-EN 准备阶段

图1 节点分布图

本文采用九宫格区域划分法,假设基站位于区域上方(50,100)的位置。初始化时每个节点根据自己的位置判断所在方格,保存自身到基站的距离。算法如下:

for i=1:i:n

if(i 的坐标位于区域1)

s(i).area_id=1;

……..

if(i 的坐标位于区域9)

2.3 LEACH_EN 簇头选举

为了修正原来算法中簇头选取没有考虑节点的剩余能量,结合最优簇头数,本文修正簇头选举阈值公式2 为:

公式2 改进后的阈值公式

簇头选择伪码如下:

IF 轮数r 为奇数

For i=1:1:n

If 节点i 格子编号在2,6,6,8,5&&节点i 的剩余能量大于该区域平均能量&&该区域未有簇头

该节点当选簇头

Else

For i=1:1:n

If 节点i 格子编号在1,3,5,7,9&&节点i 的剩余能量大于该区域平均能量&&该区域未有簇头 该节点当选簇头

3 仿真实验及结果分析

3.1 仿真模型

本文使用MATLAB[5]对LEACH-EN 进行了仿真,并和LEACH协议进行了对比,仿真主要参数如表1:

表1 仿真参数

数据包的大小为2000 bit,簇头的数据压缩率为 0.7,即有 2 000 bit 数据发送到簇头,经簇头处理之后就将1400 bit 传给簇头中继。数据融合消耗的能量为 5 J/bit/message,传输的能量为 50 nJ/bit。

3.2 LEACH 协议与LEACH-EN 仿真结果对比

图2 的结果是因为改进后的LEACH-EN 才用了多跳于单挑相结合的通信方式,使得簇头有节点较为有效地节约了能量。另外分簇结构更合理,使得网络总的信息处理量要小,故而节约了能量。

图2 总能量消耗对比

图3 所示改进后的协议在提高网络生存时间上有所提高。这是因为合理的分簇能够有效地均衡网络能量,使得整个网络生命周期得以延长。

图3 网络生存时间对比

猜你喜欢
能量消耗路由阈值
太极拳连续“云手”运动强度及其能量消耗探究
中年女性间歇习练太极拳的强度、能量消耗与间歇恢复探究分析
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
没别的可吃
数据通信中路由策略的匹配模式
OSPF外部路由引起的环路问题
路由重分发时需要考虑的问题
变速器对电动汽车能量消耗的影响