leach分簇算法仿真基于matlab
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
leach分簇算法仿真(基于matlab)
leach分簇算法仿真(基于matlab)
2007-12-07 21:46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%
%
%
% SEP: A Stable Election Protocol for clustered %
% heterogeneous wireless sensor networks % %
%
% (c) Georgios Smaragdakis % % WING group, Computer Science Department, Boston University %
%
%
% You can find full documentation and related information at: %
% /sep % %
%
% To report your comment or any bug please send e-mail to: %
%
**************.edu
%
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%
%
%
% This is the LEACH [1] code we have used. %
% The same code can be used for FAIR if m=1 %
%
%
% [1] W.R.Heinzelman, A.P.Chandrakasan and H.Balakrishnan, %
% "An application-specific protocol architecture for wireless %
% microsensor networks" %
% IEEE Transactions on Wireless Communications, 1(4):660-670,2002 %
%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%
clear; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Field Dimensions - x and y maximum (in meters)
xm = 200;
ym = 200;
%x and y Coordinates of the Sink
sink.x =0.5 * xm;
sink.y = ym + 50;
%Number of Nodes in the field
n = 200
%Optimal Election Probability of a node
%to become cluster head
p=0.05;
packetLength = 4000;%数据包长度
ctrPacketLength = 100;%控制包长度
%Energy Model (all values in Joules)
%Initial Energy
Eo = 0.5;
%Eelec=Etx=Erx
ETX=50*0.000000001;
ERX=50*0.000000001;
%Transmit Amplifier types
Efs=10*0.000000000001;
Emp=0.0013*0.000000000001;
%Data Aggregation Energy
EDA=5*0.000000001;
%Values for Hetereogeneity
%Percentage of nodes than are advanced
m=1;
%\alpha
a=1;
INFINITY = 999999999999999;
%maximum number of rounds
rmax=2000
%%%%%%%%%%%%%%%%%%%%%%%%% END OF PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%
%Computation of do
do=sqrt(Efs/Emp);
%Creation of the random Sensor Network
figure(1);
for i=1:1:
n
S(i).xd=rand(1,1)*xm;%坐标
XR(i)=S(i).xd;
S(i).yd=rand(1,1)*ym;
YR(i)=S(i).yd;
S(i).G=0;
%initially there are no cluster heads only nodes
S(i).type='N';%普通节点
temp_rnd0 = i;
%Random Election of Normal Nodes
%if (temp_rnd0>=m*n+1)
S(i).E=Eo;
S(i).ENERGY=0;
% plot(S(i).xd,S(i).yd,'o');
% hold on;
% end
%Random Election of Advanced Nodes
% if (temp_rnd0<m*n+1)
% S(i).E=Eo*(1+a)
% S(i).ENERGY=1;
% %plot(S(i).xd,S(i).yd,'+');
% %hold on;
% end
end
S(n+1).xd=sink.x;
S(n+1).yd=sink.y;