




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江南大学物联网-zk一:题目1、在给定 WSN的节点数目(100)前提下,节点随机分布,按照 LEACH算法,实现 每一轮对 WSN的分簇。记录前K轮(k=10 )时,网络的分簇情况,即每个节点的角色(簇 头或簇成员)。标记节点之间的关系,标记其所属的簇头。2、在1的基础上,增加能量有效性控制:给定的所有节点具有相同的能量,考察第一 个节点能量耗尽出现在第几轮。节点的能量消耗仅考虑关键的几次通信过程,其他能量消耗不计。通信过程能量消耗规则如下:Setup:簇成元:每次收到候选簇头信息-1 ,每个候选簇头仅被收集一次; 通知簇头成为 其成员,发送信息-2。候选簇头:被簇成元接收信息,即发送信息,
2、能量 -2;被通知成为簇 头,接收信息能量-1。Steady:每个簇成员每轮向簇头发送10次数据,每次成员能量-2 ,簇头能量-1。二:目的(1)在固定节点个数的前提下,仿真 LEACH算法的分簇过程。(2)在上述节点个数和分簇算法的前提下,计算节点的能量消耗,判断能量消耗到0的节点出现在第几轮。三:方法描述(1) LEACH 分簇簇头选举初始阶段,每个节点根据所建议网络簇头的百分比 (事先确定)和节点已经成 为簇头的次数来确定自己是否当选为簇头。每个节点产生一个0-1的随机数字,如果该数字小于阈值T (n),节点成为当前轮的簇头。阈值?,? ?T(n) = 1 - ? ?0,其他1 / 16
3、江南大学物联网-zk其中,P为预期的簇头百分比,r为当前轮数,G是最近1/p轮里没有成为簇头的节点的集合。首先确定传感器网络中的节点个数为100个,并对所有节点初始化其三个属性,分别有type(节点类型),selected(是否当选过簇头)和temp_rand(随机数)。设定簇头产生概率 p=0.08 。算法步骤如下:Step1:随机生成100个节点位置,并赋值随机数temp_rand ,设置type和selected为N '。Step2:将所有selected为N '的节点随机值与T (n)做比较,若temp_rand 小于等于 T(n)则转向Step3 ,否则转向 Step
4、4。Step3:表明节点当选为簇头节点,将 type赋值'C , selected赋值'O'。Step4:表明节点为普通节点,将 type扔赋值'N' , selected不改变赋值。Step5:遍历所有节点,若节点type为C',将节点在图上标记'*',并标上节点数目。否则将节点在图上标记为o',同时标记上节点数目。Step6:如果节点为普通节点,则计算其与所有簇头的欧式距离,形成距离矩阵。Step7:利用min函数,找到与普通节点相距最近的簇头,并将其相连接。Step8: 一轮分簇结束,返回 Step1开始下一轮分簇过
5、程。所以在试验中通过计算每个普通节点到所有簇头的距离,并将该普通节点与相距最近的簇头节点相连,并将簇头节点的selected属性标记,保证当过簇头的节点在之后的分簇过程中不会再当选为簇头节点。在 10轮的分簇试验中选取5张分簇网络图,具体分簇情况分别如下:2 / 16江南大学物联网-zk10090807060504030201002766282395405725481538 20870102030405060708090100图1第一轮分簇网络拓扑图第一轮分簇的簇头和簇成员的分类表如下:簇成员713,27,222872,82,40,57,20,28,87,15,48,38,48,25697,5
6、5,75,33,78,5,18,991149,83,12,36,89,9,61,52,620098,24,84,17,11,66,69,45,81,96,35,46,84,54,64,54,211413,73,44,47,014316,10,60,74,29,51,19,59,92,569302,58,08,88,67,79,96,33,50,32,53,77,34,39,65,35,37,42,31,70,76,91,30,263 / 16江南大学物联网-zk55 。 1009080706050403020100753328235738 20984983174125 4815364 f r9
7、42490648072227351492一“化妆6用 471 44615a28999084518 1867792 ?93100 5886 635074 29 :19 59 一53656834 39鲂37429170760102030405060708090100100908070605040302010055 97754033577138 2094'-271761961135 66814686635032771476299256683488677928239522983c26 91" .703947144 二498318785I <5600102030405060708
8、090100625 4815产90f4418972. 82.55 97875554071425158038 2070982160175066408451302010925647144>74 .飞29;/, ,35上冲35 469064;"180760282322U9424;395.k牙754960-43167861859534983叫525212三4189,9293100 5888,667 86归6379米0773965 8537 :42心6834323026沏70764050607080901001/431693100 588537 /42100908070605040302
9、010095221221.364.2741616663687719 ,344316- 14471449256899二573965C85C37卜42302 6 91 7。E恫66。18 三78r,40 X 3382 7555 9749,83010203040506070809010071£2823步上95 25/<879096814574299358图2第二,三,四,五轮分簇网络拓扑图(2)节点能量消耗试验中通过对能量消耗规律的分析可以得出:假设某轮分簇中第i个簇头的簇成员有a个,所以在这一轮中的通信过程中簇头消耗的能量为2+11*a,簇成员消耗的能量为 22。所以增加节点的一个
10、属性为S(i).power ,从而到达能量消耗监测的目的。设置标志位,当发现第一个节点能量耗尽情况出现时,则结束程序,并用黑色标记。而已做过簇头的节点用红色标记。在一次实验中,第一次能量耗尽出现在第5轮。前5轮的图像如下:4 / 16江南大学物联网-zk0 M 加 皤 叩 5。 附 也 的 3dQ 1。?和 叫 M M 3 即 90 TOQ图3前四轮节点能量均剩余情况图4第五轮25节点能量耗尽5 / 16江南大学物联网-zk四:实验结论在本次实验中首先通过对 LEACH算法的分析研究,学习了其进行传感器节点网络分簇 的步骤,同时在P=0.08和节点数目为100的前提下通过 MATLAB仿真在节
11、点数目不变的 情况下10轮的分簇结果。在能量的消耗试验中,首先通过对簇头以及簇成员在一轮分簇通 信过程中的能量消耗规律统计,简化了实验步骤。通过仿真,第一个节点能量耗尽的情况出现在第5轮。通过这次实验,对传感器网络的通信协议以及能量消耗控制有了更加深入的研 究和探讨,收获很多。1、Leach 分簇:close allclear all;clc;pm=100;%概率范围xm=100;%x轴范围ym=100;%y轴范围line=10;%连线距离初始值sink.x=0.5*xm;%基站 x 轴 50sink.y=0.5*ym;%基站 y 轴 50n=100;p=0.08;for i=1:1:n%随机
12、产生100个点6 / 16江南大学物联网-zkS(i).xd=rand(1,1)*xm;S(i).yd=rand(1,1)*ym;S(i).temp_rand=rand;S(i).type='N'%进行选举簇头前先将所有节点设为普通节点S(i).selected='N'S(i).power=300;hold on;endnum11=0;num12=0;flag=1;while(flag)for r=1:1:10figure(r);for i=1:1:n%随机产生100个点S(i).temp_rand=rand;endfor i=1:1:nif S(i).sele
13、cted='N'%if S(i).type='N'%只对普通节点进行选举,即已经当选簇头的节点不进行再选举if ( S(i).temp_rand<=(p/(1-p*mod(r,round(1/p)7 / 16江南大学物联网-zkS(i).type='C'%节点类型为族头S(i).selected='O'plot(S(i).xd,S(i).yd,'*');text(S(i).xd,S(i).yd,num2str(i);num11=num11+1;else S(i).type='N'%节点类型为普
14、通plot(S(i).xd,S(i).yd,'o');text(S(i).xd,S(i).yd,num2str(i);num12=num12+1;endendif S(i).type='C'plot(S(i).xd,S(i).yd,'*');%族头节点以*标记elsetext(S(i).xd,S(i).yd,num2str(i);plot(S(i).xd,S(i).yd,'o');%普通节点以o标记text(S(i).xd,S(i).yd,num2str(i);end8 / 16江南大学物联网-zkhold on;end%判断最近
15、的簇头结点,如何去判断,采用距离矩阵yy=zeros(n);for a=1:1:nif S(a).type='N'for b=1:1:nif S(b).type='C'length(a,b)=sqrt(S(a).xd-S(b).xd)A2+(S(a).yd-S(b).yd)A2);%簇头与每个普通节点的距离elselength(a,b)=10000;endendval,b=min(length(a,:);plot(S(b).xd;S(a).xd,S(b).yd;S(a).yd)%将节点与簇头连起来,即加入簇头集合yy(a,b)=1;hold onelseleng
16、th(a,:)=10000;9 / 16江南大学物联网-zkendendfor i=1:1:nif S(i).type='C'number=sum(yy(:,i)S(i).power=S(i).power-(2+11*number);elseS(i).power=S(i).power-22;endendfor i=1:1:nS(i).type='N'endendfor i=1:1:nif (S(i).power)<0text(S(i).xd,S(i).yd,num2str(i);flag=0;endend10 / 16江南大学物联网-zkif flag=0
17、breakendend2、能量clearclcclose allxm=100;ym=100;line=10;sink.x=0.5*xm;sink.y=0.5*ym;n=100;p=0.05;send_dissipation=2;receive_dissipation=1;for i=1:1:nS(i).xd=rand(1,1)*xm;S(i).yd=rand(1,1)*ym;S(i).temp_rand=rand;S(i).energy=500;11 / 16江南大学物联网-zkS(i).signal='L'S(i).type='N'S(i).selected=
18、'N'hold on;endr=1;flag=1;while(flag)for i=1:nifS(i).selected='N'&(S(i).temp_rand<=(p/(1-p*mod(r,round(1/p)&S(i).signal='L'flag=1;break;endif i=nifS(i).selected='Y'|(S(i).temp_rand>=(p/(1-p*mod(r,round(1/p)|S(i).signal='D'flag=0;endendend if flag=
19、012 / 16江南大学物联网-zkbreak;endfigure(r);for i=1:nif S(i).signal='L'if S(i).selected='N'if ( S(i).temp_rand<=(p/(1-p*mod(r,round(1/p)S(i).type='C'S(i).selected='Y'S(i).energy=S(i).energy-send_dissipation;plot(S(i).xd,S(i).yd,'r*');text(S(i).xd,S(i).yd,num2str(i
20、);elseS(i).type='N'plot(S(i).xd,S(i).yd,'bo');text(S(i).xd,S(i).yd,num2str(i);endelseplot(S(i).xd,S(i).yd,'r.','markersize',20);text(S(i).xd,S(i).yd,num2str(i);end hold on;13 / 16江南大学物联网-zkendenddistance=zeros(1,100);num_cluster=zeros(1,100);for i=1:100distance(1,i)=1
21、00000;endfor a=1:1:nif S(a).signal='L'&S(a).type='N'for b=1:1:nif S(b).signal='L'&S(b).type='C'distance(1,b)=sqrt(S(a).xd-S(b).xd)A2+(S(a).yd-S(b).yd)A2);S(a).energy=S(a).energy-receive_dissipation;endendmin=100000;for i=1:nif distance(1,i)<min;min=distance(1,i);nearest_cluster=i;endend14 / 16江南大学物联网-zkif min-=10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国铝包木门窗行业运行现状及发展前景分析报告
- 2025-2030年中国金融资产交易所行业发展趋势规划研究报告
- 2025-2030年中国葡萄及深加工行业发展状况及营销战略研究报告
- 2025-2030年中国色纺纱市场运行动态及发展趋势预测报告
- 2025-2030年中国羊绒产业运行态势及投资战略研究报告
- 2025-2030年中国程控交换机行业发展现状及前景趋势分析报告
- 2025-2030年中国离心泵制造行业市场运营状况与发展潜力分析报告
- 2025辽宁省安全员C证考试(专职安全员)题库附答案
- 2025广东省安全员《C证》考试题库及答案
- 宁夏工商职业技术学院《医学实验仪器学》2023-2024学年第二学期期末试卷
- 2025年人教版英语五年级下册教学进度安排表
- 同等学力英语申硕考试词汇(第六版大纲)电子版
- 国家安全人人有责国家安全主题教育PPT模板
- BowTieXP风险与管理软件介绍
- 污水管网计算说明书
- 原子杂化轨道理论
- 充填开采之 矸石充填术
- 文化产业园项目建议书范文
- 互联网销售卷烟(烟草)案件的分析
- 公务员考察政审表样本
- 白菜花生长过程记录
评论
0/150
提交评论