✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

无线传感器网络(Wireless Sensor Networks,WSN)是基于数字电路,无线通信,微电机系统等学科发展起来的一个新的研究领域.它是由部署在检测区域内大量廉价的小型传感器节点组成,通过无线通信方式形成的一个自组织无线网络,其作用就是感知周围信息,采集和处理所感知对象的信息,并发送给用户. 本文首先介绍了无线传感器网络的基本概念,体系结构,特点和网络协议栈;然后介绍了无线传感器网络路由协议概念,设计要求和各项性能指标,并对现有几种典型的无线传感器路由协议进行分析比较,总结分簇路由协议的优点,重点分析以DEEC为代表的分簇路由算法:

⛄ 部分代码

clear

%1.初始参数设定模块

%.传感器节点区域界限(单位 M)

xm=100;

ym=100;

%(1)汇聚节坐标给定

sink.x=0.5*xm;

sink.y=0.5*ym;

%区域内传器节数

n=100

%簇头优化比例(当选簇头的概率)

p=0.1;

%能量模型(单位 焦)

%初始化能量模型

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;

%高能量节点超出一节点能量的百分比

a=1;

%最大循环次数

rmax=5000

%算出参数 do

do=sqrt(Efs/Emp);

%2.无线传感器网络模型产生模块

%构建无线传感器网络,在区域内均匀投放100个节点,并画出图形

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;

    S(i).E=Eo*(1+rand*a);

    %initially there are no cluster heads only nodes

    S(i).type='N';

end


S(n+1).xd=sink.x;

S(n+1).yd=sink.y;

%3.网络运行模块

%簇头节点数

countCHs=0;

cluster=1;%此定义的目的仅仅是给定一个1开始的下标参数,真正的簇头数应该还减去1

flag_first_dead=0;

flag_teenth_dead=0;

flag_all_dead=0;

%死亡节点数

dead=0;

first_dead=0;

teenth_dead=0;

all_dead=0;

STATISTICS.COUNTCHS(r+1)=countCHs;


end

STATISTICS.PACKETS_TO_CH(r+1)=packets_TO_CH;

STATISTICS.PACKETS_TO_BS(r+1)=packets_TO_BS;

end

first_dead

teenth_dead

all_dead

STATISTICS.DEAD(r+1)

STATISTICS.ALLIVE(r+1)

STATISTICS.PACKETS_TO_CH(r+1)

STATISTICS.PACKETS_TO_BS(r+1)

STATISTICS.COUNTCHS(r+1)

r=0:5000;

subplot(2,2,1);

plot(r,STATISTICS.DEAD);

subplot(2,2,2);

plot(r,STATISTICS.ALLIVE);

subplot(2,2,3);

plot(r,STATISTICS.PACKETS_TO_BS);

subplot(2,2,4);

plot(r,STATISTICS.COUNTCHS);

%STATISTICS,结构体数组,包括下面的5个变量;

%countCHs(r+1),每一轮所选出的簇头数目;

%packets_TO_BS(r+1),基站收到的数据包总数;

%PACKETS_TO_CH(r+1),簇头收到的数据包总数;

%first_dead,第一个节点死亡的时间;

%teenth_dead=r,10%的节点死亡的时间;

%dead(r+1),每一轮的死亡节点数;

%allive(r+1),每一轮的活动节点数。

⛄ 运行结果

DEEC算法附Matlab代码_matlab代码

⛄ 参考文献

[1]陈硕. 无线传感器网络DDEEC算法的研究与改进[D]. 山东大学, 2014.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料