天天看点

【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】

一、 简介

1 引言

WSN 由能感知外部环境的传感器节点以自组网的形式构成,是一种分布式无线传感器网络。随着科技的进步和现代生活的需求,由于 WSN 的远程控制、信息即时传播以及低功耗等众多优点,WSN 在军事医疗、生活娱乐和工业生产等各个社会领域发挥着越来越大的作用。但是 WSN 优点众多的同时也有其弊端。正是因为传感器节点的无线性,使能量不能源源不断地直接供给传感器节点,只能用有限的电池供应节点的全部能耗,这使能量成为 WSN 亟待解决的问题。为了解决能量均衡高效这个问题,Heinzelman 等提出了最早的分簇路由协议。此协议运用数据融合技术和能量高效利用的路由算法,是经典的分簇路由协议代表。此后,很多研究学者对此基础上进行了诸多改进,都从不同方面进行了优化。Mittal 等提出了用替补簇首( Sub-CH )代替死亡簇首的方法。Gnanambigai等介绍了LEACH的后继协议。其中,LEACH-C 协议利用每个节点发送位置信息和剩余能量生成能耗更低、性能更优越的分簇;LEACH-F使用固定的簇和循环选举出的簇首,避免了反复成

簇带来的能量消耗;MUTIHOP-LEACH 协议考虑间距因素,在簇中节点与汇聚节(sink)、簇与基站之间使用多跳方法的传输方案;LEACH-L 允许间隔基站较远的簇首使用多跳方式与基站进行通信。

2 LEACH 协议概述

2.1 LEACH 协议的简介

LEACH 协议是一种经典分簇路由协议,它的特点是低功率消耗、聚类自适应和节点平等。由于网络内各个节点被选概率一样,因此将整个网络的能量消耗均衡地分配到每个节点,从而达到网络的能量消耗负载均衡,延长网络生命时间。LEACH协议主要由T n( ) 构成。首先,每轮次每个节点都随机产生的一个数   0 1     ;然后,将  与T n( ) 进行比较,如果   T n( ) ,则此节点成为簇首;反之,则落选。在 WSN 中一次新路由的建立加上数据的传输算一轮。由T n( ) 算法可以看出,被选为簇首是由这 2 方面因素进行权衡得出的:整个网络场景中所需要的簇首节点总数和节点当选过簇首的次数。阈值T n( ) 为

【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】

其中, p 表示在此网络规模中需要的簇首节点比例,r 是进行的轮次,G 表示在此轮循环之前没有被选为簇首的节点。

2.2 网络模型

为了研究改进的路由算法对网络的影响,对网络模型作了如下假设。

  1. 实验区域的形状为规则图形,传感器节点在监测区域中随机不均匀分散。
  2. 所有传感器节点的能量相同、处理能力和通信能力相等,被选概率一样。
  3. 传感器节点可以知悉自身剩余能量并可以对冗余数据进行融合。
  4. 传感器节点随机被分散后不会移动,网络部署后不再进行人为干涉。
  5. 无线发射功率可以自我调控,可自主选择发射功率。

2.3 能耗模型

本文实验中,m bit 数据的传输过程与每一步的能量消耗如图 1 所示[13]。

【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】

当 m bit 的数据进行传输时,节点的能量消耗主要由这 2 个部分构成:发送 m bit 数据的能量耗损以及功率放大电路的能量耗损;同时,针对不同的发射距离 d,选择不同的发送功率为

【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】
【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】

二、部分源代码

clc;
 clear all;
 close all;
 %1.初始参数设定模块
 %.传感器节点区域界限(单位 M)
 xm=100;
 ym=100;
 %(1)汇聚节坐标给定
 sink.x=0.5xm;
 sink.y=0.5ym;
 %区域内传器节数
 n=100
 %簇头优化比例(当选簇头的概率)
 p=0.05;
 P=0.05;
 %能量模型(单位 焦)
 %初始化能量模型
 Eo=0.5;
 %Eelec=Etx=Erx
 ETX=500.000000001;
 ERX=500.000000001;
 %Transmit Amplifier types
 Efs=100.000000000001;
 Emp=0.00130.000000000001;
 %Data Aggregation Energy
 EDA=5*0.000000001;      

%高能量节点超出一节点能量的百分比

a=1;

%最大循环次数

rmax=5000

%算出参数 do

do=sqrt(Efs/Emp);
 Et=0;      

%2.无线传感器网络模型产生模块

%构建无线传感器网络,在区域内均匀投放100个节点,并画出图形

for i=1:1:n
 S1(i).xd=rand(1,1)xm;
 S2(i).xd=S1(i).xd;
 S3(i).xd=S1(i).xd;
 S4(i).xd=S3(i).xd;
 XR4(i)=S4(i).xd;
 XR3(i)=S3(i).xd;
 XR2(i)=S2(i).xd;
 XR1(i)=S1(i).xd;
 S1(i).yd=rand(1,1)ym;
 S2(i).yd=S1(i).yd;
 S3(i).yd=S1(i).yd;
 S4(i).yd=S3(i).yd;
 YR4(i)=S4(i).yd;
 S4(i).G=0;
 YR3(i)=S3(i).yd;
 S3(i).G=0;
 YR2(i)=S2(i).yd;
 YR1(i)=S1(i).yd;
 S1(i).G=0;
 S2(i).G=0;
 S1(i).E=Eo(1+randa);
 S2(i).E=S1(i).E;
 S3(i).E=S1(i).E;
 S4(i).E=S3(i).E;
 E3(i)= S3(i).E;
 E4(i)= S4(i).E;
 Et=Et+E3(i);      
%initially there are no cluster heads only nodes 
S1(i).type='N'; 
S2(i).type='N'; 
S3(i).type='N'; 
S4(i).type='N';      

end

三、运行结果

【LEACH协议】基于matlab无线传感器网络LEACH与DEEC协议【含Matlab源码 2187期】

四、matlab版本及参考文献

1 matlab版本

2014a

继续阅读