资源简介
在传统的LEACH协议上进行改进,增加了多跳传输环节,距离基站较远的簇头可以选择距离基站较近的簇头进行数据转发,该代码采用matlab实现。
代码片段和文件信息
clear;
con=0;
xm = 200;ym = 200;
sink.x =0.5 * xm;
sink.y = ym + 50;
n =100;
p=0.05;%(成为簇头的最佳比例)
%Energy Model
Eo = 1;%(最初能量)
%Eelec=Etx=Erx
ETX1=0.000000001;
ERX1=0.000000001;
ETX2=0.0000000001;
ERX2=0.0000000001;
%Transmit Amplifier types EfsEmp
%Data Aggregation Energy
EDA=5*0.000000001;
INFINITY = 999999999999999;
%maximum number of rounds
rmax=3000;
%循环次数
dead=0;
%%%%%%%%%%%%%%%%%%%%%%%%% END OF PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%
%随机分布节点
figure(1);
for i=1:1:n
S(i).xd=rand(11)*xm;%坐标
XR(i)=S(i).xd;
S(i).yd=rand(11)*ym;
YR(i)=S(i).yd;
%initially there are no cluster heads only nodes
S(i).type=0;%普通节点
S(i).E=Eo;
plot(S(i).xdS(i).yd‘o‘);
hold on;
end
%计算节点间的距离
for i=1:1:n
for j=1:1:n
distance(ij)=((S(i).xd-(S(j).xd))^2 + (S(i).yd-(S(j).yd) )^2 )^(1\2);
end
end
%覆盖半径
R=((xm*ym)/(5*pi))^(1\2);
%增加通信距离
L=75;
%基站坐标
S(n+1).xd=sink.x;
S(n+1).yd=sink.y;
plot(S(n+1).xdS(n+1).yd‘x‘);
%大循环
for r=1:1:45
ss=rem((r+3)4)+1;
if rem(r-14)==0
figure;
end
E=0;
for i=1:1:n
E=E+S(i).E;
subplot(22ss)plot (S(i).xdS(i).yd‘o‘);
hold on;
subplot(22ss) plot (S(n+1).xdS(n+1).yd‘x‘);
if S(i).type==1
S(i).type=0;
end
end
%计数死亡节点
for i=1:1:n
%checking if there is a dead node
if (S(i).E<=0)
subplot(22ss)plot(S(i).xdS(i).yd‘b*‘);
hold on;
if S(i).type==0
dead=dead+1;
S(i).type=2;
end
end
end
if (n-dead<=10)%节点全部死亡退出循环
break;
end
countCHs=1;
cluster=1;
for k=1:1:10
for i=1:1:n
c(i)=rand;
if(S(i).E*n>=E && S(i).type ==0)
%如果该节点在候选集合中
%Election of Cluster Heads
if( c(i) <= (p/(1-p*mod(rround(1/p)))))
countCHs = countCHs+1;
S(i).type = 1;
C(cluster).type=S(i).type;
C(cluster).xd = S(i).xd;
C(cluster).yd = S(i).yd;
C(cluster).id = i;
C(cluster).E=S(i).E;
- 上一篇:基于MATLAB仿真的LEACH协议代码
- 下一篇:双馈风电机组
相关资源
- 基于BP神经网络的无线传感器定位算法
- 7个经典传感器网络WSN节点定位算法的
- 基于MATLAB仿真的LEACH协议代码
- 经典的Leach算法在matlab中的实现
- leach 关于节点剩余能量的性能仿真
- DEEC VS LEACH比较
- leach经典算法matlab代码
- WSN仿真-MATLAB基于COMPOW协议下的网络连
- leach的改进算法
- 最新matlab仿真leach协议和另一种改进算
- 无线传感器网络leach协议matlab仿真
- PSO版leach
- 无线传感器网络DVHOP定位算法
- LEACH分簇算法
- RSSI定位 MATLAB
- HEED、LEACH以及一种基于地理位置的非
- 无线传感网仿真代码
- leach分簇算法仿真基于matlab
- LEACH算法相关代码
- 无线传感器网络的拓扑结构下的无线
- 无线传感器网络中LEACH路由协议的MA
- WSN DV-Hop定位的Matlab仿真代码
- pegasis+leachvsdeec
- 无线传感器网络泛洪算法
- leach协议源代码matlab
- 无线传感器网络仿真代码
- LEACH协议仿真
- WSN的matlab仿真代码
- WSN中leach分簇路由代码MATLAB
- 基于LEACH算法的改进算法GAF算法
评论
共有 条评论