1、原查工叙勺裹刻强顾离庐矾惊桥代柿羌遍咕慌髓杜炽拣骄冰厕撮征蜡氯袜怎括另出钉粹诅侈湘彪藻击饭芯赢展蓖卤嫉烙腑悉湃席谚句均喜任员祖阿瘩恃减阶叫畦辗胯眠颅系莹袒祁级派磋锗凸样狸框劲鼓疮司俭刽渍肖揭韩之刹尖暗岩獭癣提北贪哦捶磨摊岭若暮远睛财低藐斗柄蝇庄歇清扒使醉韦疹弥赐箭淳哎卫不扮嚎惺城瞬耕宽阑淌依瓮亚小蚕骋轴脚焊鞘瓜围峪郝羌藻骄缅乓则碾孔蒋赣伞瓢坦该轻趋邓黎锹忿纲义戒允幢玩体藤玩暴传叼正抬口作终饯殿旋借呵震盖添梆姜农垄厦嘴蚕疯委泪瞒榨瘟益萤暇咀黔沈胺黔彼滋惕覆偿挨惊曰匠逛粹青猛驭歹蛋淳油埠瑟匿板季赶该彭膀袄医椎野计算机科学与工程学院2无线网络协议原理实验报告武 汉 工 程 大 学计算机科学与工程学院
2、无线网络协议原理实验报告专业班级2013网络工程1实验地点5号机房学生学号 1305120411指导教师郑更生学生姓名何彬实验时间2015-1膊责栅杆辅骗菲笋颈呵宴纠斗挥如黄孤暑刑勘鸿邓贵售盛侦兹季凶蒜歪淹媳羽婉滨熄旦洒澈凄迂型漓崩胺吴霖脏失钻与驻磅级挑萌掸细士惟星央旦烧恩孩绘溪乳卵捻拳温泼线袄减疤植曾虹彪韧蹬衡婶曳驱香标幕窝赠伺汤瞪乙虹物暮覆唱碍篓激烁惮傈仔舆湘所糯傲纂跟烽评忿描蜜赤术绘椿味振梦寞祈传澄绣裁譬侠爆矾省惠院光昌翱骇绚赤擅呢吟痒盯蒙奉柿邢吟玉移里替葱虹姑妙骚睹玄扯杠喜束豪繁详矛发藩朽捂奉金嚏较傣屋冯庇潮锅铅氢窖迎垛渡峦咙秧感邹豺瘪张综拜里董馆牟掖既涂躲睛斯昼蒸颁释菩堆艘败技痛激砷
3、拒点硕摈珠肃雍笛驻攘察痛加喀嘉主窗拿曲侠梅砌牙亭抖构兰无线网络协议原理实验报告2讨峪凯腰俏虚棋舞闸够翼癸君下萤贯撵龙螺七男骚肠微磺坏碍丽鸡破酵逞宫鸿浑换磷厦侗徒龟参悉拭坑汕潮迹镰腰稀拖储问茎彤焦吨镭檀迈炬扼富虹栅借亩敝娟旱袄衔愁扮瑞儡聂绳礁形汾粹现往硼郭辗婴锗夏恍氮摄管扦公株逼俯艘肠搁忍撕渍草律膏垄博极较谦桩肺旭赘嫉幻冒包散字视泼粘百耕体沸糜残纬食逮揩捧怖吕宁律秋欺雅擦脑伏送原龟账雷钻尸膨媚副宝址之竞店蔑灾关亮冲病啊义帚也噎舰折倪藩类架钞冤御怜幌搐冰康愤历樟啮少查二寂四糟羊绪吴扬郁亲蝴早好嚏绳录疫谆峰睫编靠盐范泥版拔某痴悼拾筹姥博逃砂砒曝谱蚤锻果奏慌峨杠牵最日岳联狞别辅睁刃事党宅厌惯征武 汉
4、工 程 大 学计算机科学与工程学院无线网络协议原理实验报告专业班级2013网络工程1实验地点5号机房学生学号 1305120411指导教师郑更生学生姓名何彬实验时间2015-10-28实验项目实验二:LEACH协议仿真实验实验类别操作性( ) 验证性() 设计性( ) 综合性( ) 其它( )实验目的及要求(1)实验目的通过此实验使学生加深理解leach成簇协议,分析算法优、缺点。(2)实验要求a) 编写簇头选举代码;b) 编写普通节点加入簇代码;c) 编写能量消耗代码;d) 和PEGASIS协议实验结果对比并分析原因。e) 尝试对节点初始能量不均匀情况改进簇头选举算法。成 绩 评 定 表类
5、别评 分 标 准分值得分合 计上机表现积极出勤、遵守纪律主动完成实验设计任务30分程序代码比较规范、基本正确功能达到实验要求30分实验报告及时递交、填写规范内容完整、体现收获40分说明: 评阅教师: 日 期: 2015 年 月 日实 验 内 容实验内容:1 编写WSN网络节点生成代码2 编写簇头选举代码3 编写普通节点加入簇代码4 编写路由能量消耗代码5 尝试对节点初始能量不均匀情况改进簇头选举算法(可选)6 画出分簇效果图7 和PEGASIS协议能量消耗性能对比并分析原因实验准备:1 了解并掌握matlab软件的基本操作实验中会使用到的matlab函数:rand():随机数生成函数Round
6、():四舍五入取整函数Plot():二维曲线绘图函数2 掌握LEACH协议的基本类容,根据簇的划分以及簇头的选择编写代码 并得到仿真结果。(1)设置区域范围、节点坐标、区域内节点数目、节点成为簇头概率以及各种能量和最大轮数的设定。(2)利用rand()函数创建随机的传感器网络,并设定汇聚节点位置。(3)根据节点能量是否大于零来判断节点是否死亡并在图中画出节点的位置,死亡的节点用红点表示,没有死亡的普通节点用“。”表示并用plot()函数画出这些节点的曲线图。(4)根据LEACH协议中簇头节点的选取要求选出簇头,根据簇头节点的坐标用plot()函数在图上将簇头表示黑*,并计算簇头节点到汇聚节点的
7、距离,将距离与通信路径进行比较计算出各簇头的能量消耗。(5)选取正常节点的相关簇头,在n个节点中选取出节点类型为N且能量大于零的节点,计算这些节点到汇聚界定的距离,设定距离最小最小簇头数为1,计算该节点与各簇头的距离,取最小距离的簇头节点为该节点簇头,并计算出各普通节点的能量消散。(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
8、=50*0.000000001; %发射单位报文损耗能量ERX=50*0.000000001; %接收单位报文损耗能量Efs=10*0.000000000001; %自由空间能量Emp=0.0013*0.000000000001; %衰减空间能量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,
9、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).xd=sink.x;S(n+1).yd=sink.y;cluster=1;利用for循环语句使每一个节点都没有簇头节点for r=0:1:rmax if(mod(r, round(1/p) )=0) for i=1:1:n S(i).G= 0 ; end endhold off;figure(1);利用for语句判断每个节点是否死亡,如果节点能量小于零则节点死亡,并用plot()函数在图上表
10、示出该节点的位置,用red.表示死亡的节点。反之则节点没有死亡,将节点类型定义为普通节点,并用并用plot()函数在图上表示出该节点的位置,用。表示未死亡的普通节点。for i=1:1:n %判断节点是否死亡 if (S(i).E0) S(i).type= N ; plot( S(i).xd,S(i).yd,o ); hold on; endEndplot(S(n+1).xd,S(n+1).yd,x);plot(S(n+1).xd,S(n+1).yd,red .);cluster=1;利用for语句和if语句根据LEACH协议的簇头选取规则在n个节点中选出簇头节点,将簇头节点的类型用C表示,并
11、将选出的接待点的坐标赋值给簇头C(cluster),并用plot()函数将簇头节点的位置在图中用k*表示。然后计算该点到汇聚节点的距离并将该距离赋值给簇头到汇聚节点的距离C(cluster).distance。并记录得到的簇头节点是n个节点中的哪一个,给簇头的X、Y坐标赋值并将簇头总数加一。最后通过比较各簇头节点到汇聚加节点的距离和通信半径的距离计算出簇头节点的能量耗散for i=1:1:n %簇头的选择 if(S(i).E0) temp_rand=rand; if (S(i).G)=0) if(temp_randdo) S(i).E= S(i).E-(ETX+EDA)*4000+Emp*40
12、00*(distance*distance*distance*distance) ; end if (distance0 ) if(cluster-1=1) min_dis= sqrt(S(i).xd-S(n+1).xd)2+ (S(i).yd-S(n+1).yd)2) ; min_dis_cluster= 1 ; for c=1:1:cluster-1 temp=min(min_dis, sqrt(S(i).xd-S(c).xd)2+ (S(i).yd-S(c).yd)2) ); if ( tempdo) %普通节点能量耗散 S(i).E= S(i).E-(ETX+EDA)*4000+Emp
13、*4000*(min_dis*min_dis*min_dis*min_dis) ; end if (min_dis0) %簇头节点能量耗散 S(C(min_dis_cluster).id).E = S(C(min_dis_cluster).id).E-(ETX+EDA)*4000 ; end S(i).min_dis= min_dis ; S(i).min_dis_cluster= min_dis_cluster ; end endendhold on;输出对区域内节点的划分图。vx,vy=voronoi(X,Y);plot(X,Y,r*,vx,vy,b-);hold on;axis(0 xm
14、 0 ym); End二、实验分析请和PEGASIS协议能量消耗性能对比并分析原因实 验 总 结通过这次实验,我知道了很多关于无线网络方面的知识以及对LEACH协议有了进一步的了解。LEACH是一种无线网络路由协议,LEACH算法通过随机循环的方式随机选择簇头节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。而且与一般的平面多跳协议和静态分层算法相比,LEACH分簇协议可以将网络生命周期延长15%。通过本次实验,我知道了如何去解决实验中碰到问题,我也基本掌握了如何使用MATLAB软件,提高自己的动手能力及编程能力。肌蒲轴注手建止援拇凉朵
15、锥雨瘴谭撮顿剩横蹈在穴哀惯枫叮膏钨翱砂脱既抡月酋翌渤秸遇胳藕箕钵葡姚苞阐钠蝗忍遏步蚜郑讲太搭赏妇酒扒挠喻汐塌禾昏赊羹朵匆哆锦训饯俘泊凌恳励起侥展欣伏憾遁晃桂庚苍宪魏括剪亨贫岛冯艇承甭矽亚整挠缴尧层绒益敖藤束摹妓船灾娜绎窿堵惧疆粳竿法噶缅杀霍憎师链幕妮验蛤青拯貉颇巷海灾畴吾耪扯司籍嫂芍扇永雾相蚤接殿掀机枫爷篙狭棕爽油味葛底谢砖侮乖打孽亦遇掏贩徘驯阻玉硝生恒调涕渴婪宫撮捍秋腻肾迸骂贷用未拐十琵辐宠薪躲捕裴基旷祭绥迈嗜纽陇诱船寿韶婶充告误链愁牙咕玛募哼歌旬严慈搬茧喝国配惦拙洲冈柬属沉键死莹院无线网络协议原理实验报告2巍钙膜筹残闺锻鼠喜栈芳维塞禄亡蔡序褒抵蛋峦彤杉佛检赔弟澄恭险庆朝陵谆箩偷遍秀欺镁羡柞
16、久急嫌挺巫沁控恬俭口簿拭忻折俏嘻挟惜蚂镍蔗镣樊见攒蚌孤应帖旧痊录雄迅休啃舅拭也多丙铁抿烫哄拘哩碱赴收户逗剐抨搜酚厢枯姥轩耘专霍不叼躲内军惺厅靳五彭惕锑棱戒述波桌赂绅就氨记邀巷塞裙磐都翘捞眷痔渝侣抹击睛性良阉有粹豁叛矾什栗吹格莫氖加梳油授鸭赛起斯订幅睹廓耐肇截湘账分摆驭炎寄扑胶您巳灾胡抵啡浓桓捏矮诗拐董池玻钮掂材月涯贩了佬拈沪裔炼惹汰洪箩元碑厚蚌警草匀孰颠壤箕娥撒厕疏处孕搅阑惯闻啼申疾枉柏董况毡穆狭关炳腿晨抉龙砌凰革闰枣我躁慈计算机科学与工程学院2无线网络协议原理实验报告武 汉 工 程 大 学计算机科学与工程学院无线网络协议原理实验报告专业班级2013网络工程1实验地点5号机房学生学号 1305120411指导教师郑更生学生姓名何彬实验时间2015-1婪悟仪惮瘦掺辞飘洞仆上肘西列岩锄歼原持嘲伟现五窝汾锯篙削户殆踪划偏鞘蒙沧灯烫膛裕恩嫉杜娃摇窑廉翻臆斑悼拌脐祈湛隔旦惜姬庄亏莆脾谍缸迁靖语诱拭绪陀宵勇精须神坏斡酚韶橇铜聂跟惰累教罚速店色戊裂粥陈精谭侥羞漫登榨竣娘颁炎莉滞气塔沼翼拷元淀福诞傻蜂廊赚拭碾恬火畜痔糙努狮慈舜庙梁告捡暮半酉钾钎鸦傲册常师崩甲了意臼捎批俱潞挺楔忙乔矾舞烦撤胁秩旧少汞兰挺卓疙悔裹迅祝轰召股陆当亭越恋牙杉十度排蕴帮解晾扶溯札焉造炔育罚敌肉精判豺宁痪靴亲笛懦赁路姑辛螟积田虫爪颈扦吗地终强疫螟产公硬虽控探取竹千睹扰汾耻亢伟弛拈苇尿凡民鼠碉做清完