资源简介
绝对可以运行,无线传感器网络中经典的分簇算法leach在matlab中的实现。我自己运行过。
代码片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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: %
% http://csr.bu.edu/sep %
% To report your comment or any bug please send e-mail to: %
% gsmaragd@cs.bu.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-6702002 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Field Dimensions - x and y maximum (in meters)
xm = 100;
ym = 100;
%x and y Coordinates of the Sink
%sink.x =0.5 * xm;
%sink.y = ym + 50;
sink.x=50;
sink.y=175;
%sink.x=0.5*xm;
%sink.y=0.5*ym;
%Number of Nodes in the field
n = 100
%Optimal Election Probability of a node to become cluster head
p=0.05;
packetLength =6400;%数据包长度
ctrPacketLength = 200;%控制包长度
%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;
INFINITY = 999999999999999;
%maximum number of rounds
rmax=9999
%%%%%%%%%%%%%%%%%%%%%%%%% 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(11)*xm;%坐标
XR(i)=S(i).xd;
S(i).yd=rand(11)*ym;
YR(i)=S(i).yd;
S(i).G=0;
%initially there are no cluster heads only nodes
S(i).type=‘N‘;%普通节点
S(i).E=Eo;
S(i).ENERGY=0;
% hold on;
end
S(n+1).xd=sink.x;
S(n+1).yd=sink.y;
%First Iteration
figure(1);
%counter for CHs
countCHs=0;
%counter for CHs per round
rcountCHs=0;
cluster=1;
countCHs;
rcountCHs=rcountCHs+countCHs;
flag_first_dead=0;
for r=0:1:rmax %主循环每次1轮
r;
%Operation for epoch
if(mod(r round(1/p))==0)
for i=1:1:n
S(i).G=0;
S(i).cl=0;
end
end
hold off;
%Number of dead nodes
dead=0;
%counte
相关资源
- 形态学滤波matlab程序
- MATLAB的m函数产生quartus正弦mif文件
- 基于谱减法的语音增强处理
- 多旅行商matlab实验源码
- Logistic函数的MATLAB实现
- rinex3.0的matlab读取程序
- dq变换的matlab仿真模型mdl
- 非常实用的不变矩的matlab程序
- 基于MATLAB的直接序列扩频通信系统课
- matlab ident
- VB调用MATLAB
- FMCW MATLAB
- 单演信号的matlab实现
- matlab iPLSToolbox.zip
- matlab6.1完整版
- MATLAB基于压缩传感理论的单像素照相
- matlab、奇异值分解
- ICP算法matlab代码
- Tsai两步法摄像机标定的Matlab实现
- TD LTE PSS同步matlab仿真
- 商人过河问题的MATLAB实现
- 基于MATLAB的蓝牙测距代码
- 卡尔曼程序+UKF程序matlab
- 人工神经网络的matlab实现
- 数字图像处理matlab版m文件
- 一个经典的MATLABgui界面的
- hmm算法matlab实现
- matlab代码-NRZ
- LM-BP神经网络的Matlab程序源代码
- 小波去噪 多种方法的matlab程序
评论
共有 条评论