一、 简介

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( ) 为

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

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

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

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

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

二、部分源代码

clear;
xm=100; %X轴 Y轴
ym=100; %%
sink.x=0.5xm; %传输目的地(基站)
sink.y=0.5
ym; %
n=100;%节点总数
p=0.1;%簇头节点的概率
a=0.5;%%%%%%%%%%%%%%适应值函数归一化比例
E0=0.05;%初始能量
ETX=500.000000001;%传输能量/bit
ERX=50
0.000000001;%接收能量/bit
EFS=100.000000000001;%耗散能量/bit
EMP=0.0013
0.000000000001;
EDA=5*0.000000001;%融合能量/bit
rmax=300;%总轮数
do=sqrt(EFS/EMP); %???
figure(1);%图

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~初始化,随机选节点坐标、节点标准
for i=1:1:n
S(i).xd=rand(1,1)*xm;%X
S(i).yd=rand(1,1)*ym;%Y
S(i).G=0;%每一周期结束此变量为0
S(i).E=E0; %能量
S(i).F=0;%???
S(i).type=‘N’;%节点类型为普通
S(i).cluster=0;%第i个节点所属簇的id,初始为0
S(i).AVG=0;
temp_rnd=i; %??
plot(S(i).xd,S(i).yd,‘o’);
hold on;
end
%~~~~
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

S(n+1).xd=sink.x; %例如100节点, 基站为101
S(n+1).yd=sink.y;
plot(S(n+1).xd,S(n+1).yd,‘x’);
figure(1);
countCHs=0;
rcountCHs=0;
cluster=1; %族头
countCHs;
rcountCHs=rcountCHs+countCHs;
flag_first_dead=0; %第一个死亡节点

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%~~~~~~~~~~~~~~~~~
for r=0:1:rmax
r %输出第几轮
if(mod(r,round(1/p))==0) % 判断T(n) by 31/52
for i=1:1:n;
S(i).G=0;
S(i).cl=0;
end
end

%初始为0
hold off;
dead=0;
packets_TO_BS=0;
packets_TO_CH=0;
PACKETS_TO_BS(r+1)=0;
PACKETS_TO_CH(r+1)=0;
figure(1);%%%%%%%%%%%%%%%%%%%%%%%
%~~~~将死亡节点判为红色,未死亡的为黑色
for i=1:1:nif(S(i).E<=0) %能量为0时 节点死亡plot(S(i).xd,S(i).yd,'red .');dead=dead+1;hold on;endif(S(i).E>0)S(i).type='N';plot(S(i).xd,S(i).yd,'o');hold on;end
end
%~~~~~~~~~
%%%%%%%%%%%%%%%%%%%%%%plot(S(n+1).xd,S(n+1).yd,'x');
STATISTICS(r+1).DEAD=dead; %统计死亡数
DEAD(r+1)=dead; %%%%%%%%%%%%%%%%%%%%%%%%%%%
%~~~~~~~~~~~~~~~~~死亡数等于1时, 记第一个死亡
if (dead==1)if(flag_first_dead==0)first_dead=r;flag_first_dead=1;end
end

三、运行结果



四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]黄利晓,王晖,袁利永,曾令国.基于能量均衡高效WSN的LEACH协议改进算法[J].通信学报第38卷第Z2期

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

【LEACH协议】基于matlab粒子群算法改进LEACH协议【含Matlab源码 2052期】相关推荐

  1. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  2. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  3. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  4. 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】

    一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【PSO TSP】基于matlab GUI粒子群算法求解旅行商问题【含Matlab源码 1334期】

    ⛄一.TSP简介 旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选 ...

  6. 【微电网优化】基于量子行为粒子群算法机组燃烧控制系统建模含Matlab源码

    1 简介 能源问题与环境问题随着现代社会的快速发展已成为中国乃至全世界关注的焦点.就我国现状来说,由于独特的能源架构和社会形态,直接决定了我国的电力工业在当今乃至未来相当长的一段时期内将以燃煤火电机组 ...

  7. 【配电网重构】基于粒子群算法实现配电网重构含Matlab源码

    1 简介 随着大规模,跨区域的配电网不断发展,对配电网运行的经济性和可靠性要求越来越高,在配电网发生大范围停电事故后,需要对配电网的拓扑结构进行重新组合,从而达到恢复供电的目的,这个重新组合配电网拓扑 ...

  8. 【优化求解】基于matlab蚁群算法配电网故障定位【含Matlab源码 165期】

    ⛄一.蚁群算法简介 1 引言 在自然界中各种生物群体显现出来的智能近几十年来得到了学者们的广泛关注,学者们通过对简单生物体的群体行为进行模拟,进而提出了群智能算法.其中, 模拟蚁群觅食过程的蚁群优化算 ...

  9. 【LEACH协议】粒子群算法改进LEACH协议【含Matlab源码 2052期】

    ⛄一. 简介 1 引言 WSN 由能感知外部环境的传感器节点以自组网的形式构成,是一种分布式无线传感器网络.随着科技的进步和现代生活的需求,由于 WSN 的远程控制.信息即时传播以及低功耗等众多优点, ...

  10. 基于改进二进制粒子群算法的配电网重构(matlab实现)

    目录 一.引言 1.问题背景 2.二进制粒子群算法 2.1简介 2.2 S i g m o i d Sigmoid Sigmoid函数 2.3二进制粒子群算法 2.4算法的改进 二.配电网重构模型 1 ...

最新文章

  1. [逆向基础] C++中基本数据类型的表现形式
  2. Expected image (JPEG, PNG, or GIF), got empty file
  3. Drawer的使用(一):xml文件中使用
  4. 【学习笔记】出货认证(QM模块)
  5. python基础入门: for 循环
  6. tp3.2php开启事务,Thinkphp 3.2.3 开启调试模式
  7. HDU 1520 Anniversary party(树形dp)
  8. 进程及 fork() 系统调用详解
  9. Memcached:列出所有Key
  10. wind试用版 matlab,免费产品试用 - MATLAB Simulink
  11. Python sqlalchemy orm 多对多外键关联
  12. Apusic Operamasks的资源注入
  13. OC CoreData简单使用
  14. CentOS和AIX查看系统序列号
  15. x264编码详细文字全过程
  16. excel计算式自动计算_全套Excel版工程自动计算表格+实用小工具,高效工作不加班...
  17. Linux卡巴斯基杀毒(kesl)基础操作
  18. Eureka服务治理
  19. 七彩虹断剑C.A320M-K PRO V14安装PCI-E X4转m.2转接卡,并用m.2固态作为系统盘
  20. VM虚拟机安装及安装Windows系统

热门文章

  1. Python|进程调度算法
  2. HTML期末作业我的家乡静态网页设计
  3. Java区块链视频教程百度云_JAVA区块链项目实战视频课程区块链入门与去中心化应用实战视频课程网盘下载...
  4. java web表单系统
  5. 微信小程序生成二维码
  6. 360极速浏览器html手机版,360极速浏览器模拟手机
  7. easyui及eova下select:option、find无法直接取值的解决办法
  8. 先锋意识dota人生
  9. IDEA 格式化XML命令
  10. Hotspot 偏向锁BiasedLocking 源码解析