武汉工程大学计算机科学与工程学院《无线网络协议原理》实验报告专业班级2013网络工程1实验地点5号机房学生学号1305120411指导教师郑更生学生姓名何彬实验时间2015-10-14实验项目实验一:PEGASIS协议仿真实验实验类别操作性()验证性(√)设计性()综合性()其它()实验目的及要求(1)实验目的通过此实验使学生加深理解PEGASIS成链协议,分析算法优、缺点。(2)实验要求a)编写GreedyAlgorithm成链路由代码;b)编写能量消耗代码;c)分析测试结果。成绩评定表类别评分标准分值得分合计上机表现积极出勤、遵守纪律主动完成实验设计任务30分程序代码比较规范、基本正确功能达到实验要求30分实验报告及时递交、填写规范内容完整、体现收获40分说明:评阅教师:日期:2015年月日计算机科学与工程学院《无线网络协议原理》实验报告2实验内容实验内容:1编写GreedyAlgorithm成链路由代码2编写能量消耗代码3画出贪婪链路由效果图4分析测试结果实验准备:1.了解并掌握matlab软件的基本操作实验中会使用到的matlab函数:unifrnd:生成(连续)均匀分布的随机数或矩阵;plot:二维画图函数tictoc:函数用于计时一般配合使用,tic表示计时的开始,toc表示计时的结束save:将工作空间的所有变数储存到名为matlab.mat的二进制档案savefilenamex-ascii:将变数x以八位数存到名为filename的ASCII档案。savefilenamex-ascii-double:将变数x以十六位数存到名为filename的ASCII档案。2.掌握PEGASIS成链路由协议,理解GreedyAlgorithm,编写路由成链代码得到仿真结果GreedyAlgorithm基本思想:1.Begin2.N={allnodes};%节点数目为nodes3.end-node=farthestnodefromsink;%寻找离sink节点最远节点入链4.chain={end-node};5.N=N-{end-node};%依次寻找未入链的节点6.if(N!=Null)%节点没有全部入链7.end-node=FindCloseNode(N,end-node);%寻找距离end-node最近节点8.Append(chain,end-node);%依次入链9.goto5;10.endif11.End3.BasicexperimentalSetting:Namevaluenode100BSx50BSy150inodejnode计算机科学与工程学院《无线网络协议原理》实验报告3WeranthesimulationsusingbothCDMAandnon-CDMAsystemsEachnodehadachancetobecomeleader,thendeterminetheaverageenergycostperround.实验步骤:一、代码编写编写WSN网络节点生成代码,利用unifrnd函数生成100m*100m的playfield,BS位置设置于(50,150)处。number=100;NODEPS=unifrnd(0,100,number,2);numbernodes;savefile='data';save(savefile,'NODEPS','-ASCII');%将节点记录保存起来clear;PS4=load('data');BSx=50;%确定汇聚节点在矩阵中的位置BSy=150;node=length(PS4);在PS4矩阵中选取距离BS最近的节点,记录下来,PS4(i:)表示第i节点,具体是:PS4(i,1)=x坐标,PS4(i,2)=y坐标,PS4(i,3)=i表示节点序号。fori=1:nodeforj=i:nodeif(PS4(i,1)-BSx)^2+(PS4(i,2)-BSy)^2(PS4(j,1)-BSx)^2+(PS4(j,2)-BSy)^2s=PS4(i,:);%记录下距BS最近节点PS4(i,:)=PS4(j,:);PS4(j,:)=s;endendPS4(i,3)=i;end计算任意两节点之间的距离,d(i,j)为第i节点到第j节点的距离值。fori=1:nodeforj=1:nodeif(i~=j)d(i,j)=10^8;%利用sqrt函数计算i和j之间的距离elsed(i,j)=10^8;计算机科学与工程学院《无线网络协议原理》实验报告4endendendPS5中按序排列的所有节点坐标即代表整条路由,比如PS5(i,:)表示第i行所有值或说此节点坐标,即PS5(i,1)=x坐标,PS5(i,2)=y坐标。ticindx=node;Totaldis=0;%distance初始化fori=1:nodePS5(i,:)=PS4(indx,:);d(:,indx)=10^8;[distance,indx]=min(d(indx,:));%寻找最近节点if(distance~=10^8)totaldis=totaldis+distance*distance;%计算出距离endendtocgreed=toctotaldis=totaldis;此段编写能量消耗代码,按':'点线,'k'黑色,'o'圆圈画出PS5表示的路由,考虑所有节点做一次chainleader,共noderounds的总能量消耗情况整条路由的能量值近似认为为距离平方和。figure(2);plot(PS5(:,1),PS5(:,2),':ko')costofdirectn=0;fori=1:nodecostofdirectn=costofdirectn+(PS4(i,1)-BSx)^2+(PS4(i,2)-BSy)^2;endcostofpegasisn=totaldis*node+costofdirectn;%noderounds的总能量消耗情况Costofpegasis=totaldis*node;%计算一轮下平均能量消耗二、实验分析请根据仿真结果对测试结果进行分析计算机科学与工程学院《无线网络协议原理》实验报告5三、仿真及结果分析本实验中将给出仿真结果及对结果的分析说明。选取多种仿真参数以测试网络的性能,参数设置如下:(1)各传感器节点初始能量相同,为0.1J;(2)网络范围大小为50m×50m和100m×100m;(3)基站的位置分别为距传感器网络50m、100m、200m;(4)数据包的大小为1000、2000、5000bits;(5)传感器节点个数分别为10、20、50个;3.1能量比较①采用PEGASIS协议,能量的减少要缓慢许多,DT方式下,能量几乎是直线下降,可以看出PEGASIS在节能方面的优势是非常显著的;②两种方式下,网络范围越大,基站距离传感器网络越远,能量减少得越快;③随着基站的距离增大,DT方式下网络能持续的时间下降得很快,在200m时几乎降为零,而PEGASIS仍能持续一定的时间,这说明PEGASIS所能适应的基站距离要远得多,同时也说明其节能的有效性。计算机科学与工程学院《无线网络协议原理》实验报告63.2网络寿命①PEGASIS方式下,节点数越多,网络密度越大,所能进行的轮数也越多,即网络的寿命越长,而且,随着节点数增倍,轮数几乎也成倍增长,节点数大,增长得越快。节点的密度对网络寿命的影响说明距离是一个很重要的因素,而PEGASIS的最大优势即在于此,这种方式是非常有效的;②DT方式受网络密度的影响很小,节点数从10增到50,结果基本没什么变化,这是因为DT方式下各节点直接向基站传送数据,网络密度不会影响其传输距离;③节点数越多,PEGASIS相对DT的优势越明显,WSN本身就是高密度的,由此我们也可以看到PEGASIS用于实际也应该是很理想的;3.3网络延时①PEGASIS和DT方式的延时基本上是相同的,这是因为延时主要由数据传输造成,两种方式都是按token式控制机制进行数据传输的,即一个节点传送完数据后,下一个节点才能接着传输,由此,网络延时与节点数应该是大致成比例的;②从图16和17可以看到,以上的推测是对的,当节点数由10个变为20个时,网络延时也几乎增加了一倍;③数据包的大小对延时的影响也很大,几乎是与数据包的大小成正比的。实验总结本实验主要是对WSN中的路由协议PEGASIS的性能进行了研究,运用ns2仿真平台对PEGASIS进行仿真,并选取DT协议作为参考,对两种协议的性能进行比较分析,通过改变网络的各种参数以考察协议的性能及适用范围,主要性能指标有:耗能、网络寿命和延时延时。由仿真结果可知:在节省耗能方面,相对于DT方式,PEGASIS有着显著的优势,其在节能方面所采取的措施是非常有效的,而在延时方面,PEGASIS与DT基本相同。