ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:85.50KB ,
资源ID:13093361      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13093361.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(无线网络协议原理实验报告2Word下载.doc)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

无线网络协议原理实验报告2Word下载.doc

1、LEACH协议仿真实验实验类别操作性( ) 验证性() 设计性( ) 综合性( ) 其它( )实验目的及要求(1)实验目的通过此实验使学生加深理解leach成簇协议,分析算法优、缺点。(2)实验要求a) 编写簇头选举代码;b) 编写普通节点加入簇代码;c) 编写能量消耗代码;d) 和PEGASIS协议实验结果对比并分析原因。e) 尝试对节点初始能量不均匀情况改进簇头选举算法。成 绩 评 定 表类 别评 分 标 准分值得分合 计上机表现积极出勤、遵守纪律主动完成实验设计任务30分程序代码比较规范、基本正确功能达到实验要求实验报告及时递交、填写规范内容完整、体现收获40分说明: 评阅教师: 日 期

2、: 2015 年 月 日实 验 内 容实验内容:1 编写WSN网络节点生成代码2 编写簇头选举代码3 编写普通节点加入簇代码4 编写路由能量消耗代码5 尝试对节点初始能量不均匀情况改进簇头选举算法(可选)6 画出分簇效果图7 和PEGASIS协议能量消耗性能对比并分析原因实验准备:1 了解并掌握matlab软件的基本操作实验中会使用到的matlab函数:rand():随机数生成函数Round():四舍五入取整函数Plot():二维曲线绘图函数2 掌握LEACH协议的基本类容,根据簇的划分以及簇头的选择编写代码 并得到仿真结果。(1)设置区域范围、节点坐标、区域内节点数目、节点成为簇头概率以及各

3、种能量和最大轮数的设定。(2)利用rand()函数创建随机的传感器网络,并设定汇聚节点位置。(3)根据节点能量是否大于零来判断节点是否死亡并在图中画出节点的位置,死亡的节点用红点表示,没有死亡的普通节点用“。”表示并用plot()函数画出这些节点的曲线图。(4)根据LEACH协议中簇头节点的选取要求选出簇头,根据簇头节点的坐标用plot()函数在图上将簇头表示黑*,并计算簇头节点到汇聚节点的距离,将距离与通信路径进行比较计算出各簇头的能量消耗。(5)选取正常节点的相关簇头,在n个节点中选取出节点类型为N且能量大于零的节点,计算这些节点到汇聚界定的距离,设定距离最小最小簇头数为1,计算该节点与各

4、簇头的距离,取最小距离的簇头节点为该节点簇头,并计算出各普通节点的能量消散。(6)用plot()函数画出各簇头节点和普通节点的划分图。实验步骤:一、代码编写clear;xm=100;ym=100; %设置区域为100*100sink.x=0.5*xm;sink.y=0.5*ym; %汇聚节点坐标n=100 %区域内节点数目p=0.1; %节点成为簇头的概率Eo=0.5; %节点初始能量ETX=50*0.000000001; %发射单位报文损耗能量ERX=50*0.000000001; %接收单位报文损耗能量Efs=10*0.000000000001; %自由空间能量Emp=0.0013*0.0

5、00000000001; %衰减空间能量EDA=5*0.000000001; %多路径衰减能量rmax=20 %最大的轮数do=sqrt(Efs/Emp); %计算通信路径do下面利用for循环语句和rand()函数在n个节点中随机生成普通节点类型的节点,并表示出它的坐标以及初始能量,普通类型节点用N表示,for i=1:1:n %随机生成普通节点类型的节点 S(i).xd= rand(1,1)*xm ; S(i).yd= rand(1,1)*ym ; S(i).G=0;/ S(i).type= N ;%普通节点类型用N表示 S(i).E= Eo ; End定义汇聚节点的位置坐标S(n+1).

6、xd=sink.x;S(n+1).yd=sink.y;cluster=1;利用for循环语句使每一个节点都没有簇头节点for r=0:rmax if(mod(r, round(1/p) )=0) for i=1:1:n S(i).G= 0 ; end endhold off;figure(1);利用for语句判断每个节点是否死亡,如果节点能量小于零则节点死亡,并用plot()函数在图上表示出该节点的位置,用red.表示死亡的节点。反之则节点没有死亡,将节点类型定义为普通节点,并用并用plot()函数在图上表示出该节点的位置,用。表示未死亡的普通节点。n %判断节点是否死亡 if (S(i).E

7、0) S(i).type= ; plot( S(i).xd,S(i).yd,o );plot(S(n+1).xd,S(n+1).yd,x);red .利用for语句和if语句根据LEACH协议的簇头选取规则在n个节点中选出簇头节点,将簇头节点的类型用C表示,并将选出的接待点的坐标赋值给簇头C(cluster),并用plot()函数将簇头节点的位置在图中用k*表示。然后计算该点到汇聚节点的距离并将该距离赋值给簇头到汇聚节点的距离C(cluster).distance。并记录得到的簇头节点是n个节点中的哪一个,给簇头的X、Y坐标赋值并将簇头总数加一。最后通过比较各簇头节点到汇聚加节点的距离和通信半

8、径的距离计算出簇头节点的能量耗散n %簇头的选择 if(S(i).E temp_rand=rand; if (S(i).G) if(temp_randdo) S(i).E= S(i).E-(ETX+EDA)*4000+Emp*4000*(distance*distance*distance*distance) ; end if (distance=do) S(i).E= S(i).E-(ETX+EDA)*4000+Efs*4000*(distance*distance) ; end end end利用for循环对普通节点进行簇的划分即对普通节点选取相关簇头,对n个节点中依次选出普通节点计算它与汇聚节点之间的距离记为 min_dis,然后将该普通节点与全部的簇头节点进行距离计算并与它与汇聚节点的距离进行比较,将距离的最小值赋值给 min_dis。然后计算普通节点和簇头

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1