資源簡(jiǎn)介
HEED協(xié)議的matlab實(shí)現(xiàn),HEED是一種完全分布式的成簇算法.節(jié)點(diǎn)根據(jù)剩余能量和簇內(nèi)通信費(fèi)用兩個(gè)參數(shù)計(jì)算出自己成為臨時(shí)簇首的概率,HEED 保證了簇首分布是均勻的,數(shù)據(jù)經(jīng)過(guò)多跳路由傳回基站.

代碼片段和文件信息
NodeNums?=?1000;?%?the?num?of?node?
AreaR?=?2000?;???%?the?area?of?simulate
NodeTranR=10;???%??the?transit?Radius
Elec=50?*?10^(-9);?%
Eamp=100*10^(-12);?
Bx=0;??%?The?Postion?of?baseation
By=AreaR+400;
MaxInteral?=?100;?%?the?leach?simulate?time
Pch=0.05;??%?the?desired?percentage?of?cluster?heads?
InitEn=4;??%?the?init?energy?of?all?node
MaxEn=InitEn;
Tr=100;??%?the?time?of?round?
Kbit=2000;?%?the?bits?of?a?node?transmiting?a?packet?every?time
Gathingcoefficient=0.8;
BandWitch?=?1*10.^(6);?%??Channel?Bandwitch
Threshold=0;????%?the?threshold?of?node?becoming?a?cluster-head
TDMA=400;
Cprob=0.04;
NON_CH =?0;% //?non?cluster?head
TENTATIVE_CH =?1;?% //?tentative?cluster?head
FINAL_CH =?2;% //?final?cluster?head
sym?ClusterHeadNum?;
ClusterHeadNum=0;
TOS_LOCAL_ADDRESS?=?-1;???????%?TOS_LOCAL_ADDRESS??must?<=0
for?i=1:(MaxInteral)
????AliveNode(i)=NodeNums;
end
%?????Node.x=AreaR*rand(1NodeNums);??%?the?position?of?node?
%?????Node.y=AreaR*rand(1NodeNums);
??????sym?buchang;
??????buchang?=?(AreaR/NodeNums);
?????%?buchang=int(buchang);
??????Node.x=0:buchang:(buchang.*(NodeNums-1));??%?the?position?of?node?
??????Node.y=0:buchang:(buchang.*(NodeNums-1));
????Node.IsClusterHeads=linspace(00NodeNums);?%?NON_CHTENTATIVE_CHFINAL_CH
????Node.IsCovered=linspace(00NodeNums);??????%?Have?Been?Covered?by?a?cluster?head?1:yes?0:No
????Node.c=linspace(00NodeNums);??????????????%?the?Cluster?head?of?node
????Node.chcost=linspace(00NodeNums);??????????????%?the?Cluster?head?of?node
????Node.d=linspace(00NodeNums);??????????????%?the?distance?between?cluster?head?and?node
????Node.l=zeros(1NodeNums)+Kbit;???????????%?the?length?of?node?i?transmit?packet
????Node.EnNode=zeros(1NodeNums)+InitEn;????%?the?init?energy?of?all?node
????Node.StateNode=ones(1NodeNums);??????%?the?State?of?all?node?1:?alive?0:dead
????Node.Listothernode=zeros(NodeNums);?????????%?if?node?is?a?cluster?headListothernode?save?the?id?of?node?belong?to?this?cluster???????
????Node.csize=linspace(00NodeNums);??????????%?cluser?size?each?cluster?node?num
????Node.Nbr=zeros(NodeNums);???????????????????%?neighbor?of?node
????Node.NumNbr=linspace(00NodeNums);?????????%?the?neighbor‘s?num?of?node
????%Node.DistNbr=linspace(00NodeNums);?????????%?the?neighbor‘s?dist?of?node
????Node.CHprob=zeros(1NodeNums)+Cprob;?
?????Node.InitCHprob=zeros(1NodeNums);
????Node.tent_CH=zeros(1NodeNums)+NON_CH;?
????Node.tent_CH_Cost=ones(1NodeNums)+9999;
????Node.IsaddDummyRound=linspace(00NodeNums);
????Node.n_finalCH=linspace(00NodeNums);?
????Node.ListfinalCH=zeros(NodeNums);
????Node.ListfinalCH_Cost=zeros(NodeNums)+9999;
????Node.n_tentCH=linspace(00NodeNums);?
????Node.ListtentCH=zeros(NodeNums);
????Node.ListtentCH_Cost=zeros(NodeNums)+9999;
????Node.my_finalCH=linspace(00NodeNums);
????Node.my_tentCH=linspace(00NodeNums);
????Node.my_final_CH_Cost=ones(1NodeNums)+9999;
????Node.Isstop=o
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件??????18776??2007-04-09?14:39??heed.m
-----------?---------??----------?-----??----
????????????????18776????????????????????1
評(píng)論
共有 條評(píng)論