为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

无线传感器网络分簇协议在OPNET平台上的模拟仿真

2018-05-16 20页 doc 547KB 30阅读

用户头像 个人认证

徐姐2018

技术学院会计学毕业后掌握基本的会计知识技能,取得会计从业资格证,多年的财务工作经验,现认多家小企的财务会计!

举报
无线传感器网络分簇协议在OPNET平台上的模拟仿真目录目录 -1-【论文摘要】 -3-【关键字】 -3-【Abstract】 -4-【Keywords】 -4-论文正文 -5-1前言 -5-1.1无线传感器网络简介 -5-1.2无线传感器网络仿真工具 -5-1.3OPNETModeler的简介 -5-1.4主要研究工作与内容安排 -6-2无线传感器网络 -7-2.1无线传感器网络的概述 -7-2.2无线传感器网络的路由协议 -9-2.3LEACH协议 -10-2.3.1LEACH协议算法分析 -10-2.3.2LEACH协议优缺点讨论及改进方案 -11-3OPNETModel...
无线传感器网络分簇协议在OPNET平台上的模拟仿真
目录目录 -1-【摘要】 -3-【关键字】 -3-【Abstract】 -4-【Keywords】 -4-论文正文 -5-1前言 -5-1.1无线传感器网络简介 -5-1.2无线传感器网络仿真工具 -5-1.3OPNETModeler的简介 -5-1.4主要研究工作与内容安排 -6-2无线传感器网络 -7-2.1无线传感器网络的概述 -7-2.2无线传感器网络的路由协议 -9-2.3LEACH协议 -10-2.3.1LEACH协议算法分析 -10-2.3.2LEACH协议优缺点讨论及改进 -11-3OPNETModeler网络仿真技术 -13-3.1OPNETModeler网络仿真技术中的基本概念 -13-3.2OPNETModeler的安装 -14-3.3OPNETModeler的基本应用技术 -15-3.4OPNETModeler建立网络拓扑结构分析 -18-3.4.1建立网络拓扑结构的步骤 -18-3.4.2建立一个简单的网络拓扑结构 -18-3.5无线传感器在OPNETModeler上的仿真实现 -23-3.5.1进程模型 -24-3.5.2节点模型 -25-3.5.3网络模型 -26-3.5.4仿真结果分析及讨论 -27-4实验完成情况 -29-参考文献 -31-致谢 -32-评语 -33-无线传感器网络分簇协议在OPNET平台上的模拟仿真【论文摘要】目的本论文的目的是为了研究无线传感器网络在OPNET上的仿真。方法利用现有知识研究OPNET仿真平台,结合无线传感器网络的原理,以无线传感器网络的LEACH协议为例,做出无线传感器的拓扑结构,用OPNET仿真出来。学会OPNET的仿真过程,建立LEACH协议的三层模型,并观察仿真结果。结论无线传感器网络技术因为他的实用性现已成为当前研究最热门的技术,他的设计简单但是应用广泛,功能强大。通过与DirectTrans协议的比较,可以看到LEACH协议耗能低,节点存活率高。OPNET是个很全面的仿真技术,使用OPNET建立仿真,临摹现场,仿真结果精确。只是学习过程比较困难,因为它本身就是个很强大的软件,必然会有许多的繁琐。此外和它的使用方法也有关系,它与VC联调使用,结合了软件编程和硬件组成。【关键字】OPNETModeler网络仿真技术无线传感器网络LEACH分簇协议WirelesssensornetworkclusteringprotocolinOPNETsimulationplatform【Abstract】ObjectiveTheobjectiveofthisthesiswasthatWirelessSensorNetworksimulatewiththeOPNET.MethodUsedexistingtechnologytomakeintrusivestudyofOPNET.MadetheLEACHoftheWirelessSensorNetworktopologystructurewiththecurrenttraditionalsensorexpoundingtowirelesssensor,simulatewithOPNET.LearnedtheOPNET,setuptheLEACHlayer3andobservedtheresultofsimulation.ResultBecauseofthepracticabilityoftheWirelessSensorNetwork,itbecamethemostpopulartechnologytostudy.TheprojectingoftheWirelessSensorNetworkiseasybuttheapplicationisextensiveandhasthepowerfulfunction.ComparingwiththeDirectTrans,wecanseetheLEACHcouldloselessenergyandthenodehavelonglifetime.OPNETisonestrongertechnology.UsedtheOPNETtosetupthesimulationandcopythefiledhastheaccurateresult.BecauseofthestrongerofOPNETthatleadtomoretrouble,sothestudyoftheOPNETisdifficult.Besidesofthatithassomeconnectionwiththemethodsoftheusing.OPNETconnectwithVC,soitcombinedthesoftwareprogrammingwiththehardwaresub-unit.【Keywords】OPNETNetworkSimulationTechnologyWirelessSensorNetworkLEACH论文正文1前言1.1无线传感器网络简介无线传感器网络就是分布在监测区域内的大量的廉价传感器节点组成的,通过无线通信方式进行信息传送的一个多跳自组织网络。无线传感器网络目前收到学术界和工业界越来越多的重视和应用,由于无线传感器涉及众多学科,所以成为目前最热门的IT研究技术。美国已经在20世纪90年代开始研究无线传感器,并推广到军事方面。我国也同步开始了无线传感器的研究。无线传感器作为一种特定的网络形式、一种源于应用而又服务于应用的网络技术、一个完整的网络系统,它拥有构建网络架构的通信协议、有辅佐核心结构的支持技术、有一套完善的应用技术。所以本论文从这三方面展开无线传感器的研究。1.2无线传感器网络仿真工具无线传感器网络中,单个传感器节点的并发性很密集,并且模块化程度很高。基于以上两个特点,无线传感器网络仿真需要解决可扩展性与仿真效率、分布与异步特性、动态性、综合仿真平台等问。目前的无线传感器网络仿真常用工具有:NS2、OPNET、OMNET++,TinyOS。对于他们的详细资料本人没有重点研究,所以在这不做重点介绍了。希望有兴趣的人能够研究。1.3OPNETModeler的简介OPNET于1986年由麻省理工大学的两个博士研究成的一种网络仿真软件,于1998年进入中国,目前处于起步阶段,但是涨势喜人。OPNETModeler所能应用的各种领域包括端到端结构(endtoendnetworkarchitecturedesign)、系统级的仿真(systemlevelsimulationfornetworkdevices)、新的协议开发和优化(protocoldevelopmentandoptimization)、网络和业务配合如何达到最好的性能(networkapplicationoptimizationanddeploymentanalysis)。OPNET的主要特性有:1、网络模型层次化;2、建模方法简单明了;3、仿真引擎高效;4、动画;5、完全开放性的系统;6、有限状态机FSM;7、分析工具和调试器集成;8、全面支持协议编程;OPNETModeler的模拟方式采用阶层性,从协议间关系看,节点模块建模完全符合OSI,业务层->TCP层->IP层->IP封装层->ARP层->MAC层->物理层;从网络物件层次关系看,它提供了三层建模机制,最底层为进程模型,以状态机来描述协议;其次为节点模型,有相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。1.4主要研究工作与内容安排主要研究工作:基于OPNET的无线传感器网络仿真,以无线传感器网络的LEACH协议为例,讲述在OPNET中建模的过程,学会使用OPNET,能够将LEACH协议仿真结果运行出来。内容安排:首先先对无线传感器网络进行简单介绍;其次对LEACH协议的算法和优缺点进行计算讨论;最后介绍OPNET的使用方法和基本应用,在OPNET中实现LEACH协议建模仿真,并讨论分析仿真结果。2无线传感器网络2.1无线传感器网络的概述无线传感器网络的体系结构有:网络体系结构、节点体系结构和协议栈。无线传感器网络结构无线传感器网络系统是指大量传感器节点(sensornode)在监测区域(sensorfield)内或附近有组织的组成网络,通过多个节点跳转路由到汇聚节点(sinknode),汇聚节点通过互联网或卫星将信息发送给管理节点,用户由管理节点收集发送信息,配置管理整个无线传感器网络,维护网络正常工作。图2-1-1是无线传感器网络。图2-1-1无线传感器网络结构无线传感器节点结构无线传感器节点由四部分组成:1、传感器模块:监测区域内信息的采集和数据转换;2、处理器模块:控制整个传感器节点的操作,存储和处理数据;3、无线通信模块:与其他传感器节点进行无线通信,交换控制消息和收发采集消息,它有四种状态:发送、接受、空闲、睡眠;4、能量供应模块:为传感器节点提供运行所需的能量,通常采用微电池型。图2-1-2是节点结构:图2-1-2无线传感器节点结构无线传感器网络协议栈无线传感器网络协议栈有五层:物理层、数据链路层、网络层、传输层、应用层;另外,能量管理平台、移动管理平台、任务管理平台。图2-1-3是协议栈。图2-1-3无线传感器协议栈各层协议如下:*物理层提供简单但是健壮的信号调制和无线收发技术。*数据链路层负责数据成帧,帧检测和媒体访问以及差错控制。*网络层主要负责路由生成与路由选择。*传输层负责数据流的传输控制,是保证通信服务质量的重要部分。*应用层包括一系列基于检测任务的应用层软件三层功能如下:*能量管理平台管理传感器节点如何使用能量,在各个协议层都需要考虑节省能量。*移动管理平台检测并注册传感器节点的移动,维护到汇集节点的路由,使得传感器节点能够动态跟踪其邻居的位置。*任务管理平台在一个给定的区域内调度和平衡检测任务。2.2无线传感器网络的路由协议无线传感器的路由协议按照其最终形成的拓扑结构可分为:平面路由协议和分簇路由协议。在平面路由协议中每个节点的地位都是平等的,节点的可扩展性比较差,维护动态路由的变化需要很大的控制信息;在分簇路由协议中,群成员的功能比较简单,本身携带的路由信息简单。这就必然会减少网络的控制路由信息,所以具有很好的可扩展性。与其他传感器网络一样,无线传感器网络最重要的就是他的可扩展性。随着传感器节点密度的增加,必然会导致网关节点的负载过重,这种超负载的现象必然会导致传输延迟或者是跟踪监测事件不及时。另外,在大面积的单层网络监测区域内,传感器节点不支持长距离的通行,而单层网络是不可扩展性的,所以为了在不降低通信服务质量的前提下,又能解决额外的和超监测区域内的通信问题,我们提出了分簇路由协议。分簇路由协议因具有管理拓扑方便,能量利用高效和数据融合简单的优点,成为当前研究最热门的技术之一。在分簇路由协议中,网络常常被划分成很多簇。所谓的簇,就是一些有关联的节点组成的节点的集合。每个簇都是有一个簇头和一些簇内节点组成的,低一级网络的簇头就是高一级网络的簇内节点,由最高的簇头与基站联系。分簇路由机制有以下几个优点:1、成员节点大部分时间是关闭通行模块的,只有簇头节点在融合了所有成员节点的数据后与基站长距离联系。这样节省了网络能量;2、成员节点的功能简单,这样就减少了路由控制信息的数量;3、分簇拓扑结构管理简单,有利于分布式算法,能够对系统变化做出迅速的相应变化,具有很好的可扩展性,容易克服节点移动带来的问题,适合大规模的网络。LEACH协议是最早提出的分簇路由协议。虽然有一些分簇路由协议独立于LEACH协议而单独开发的,但大多数分簇路由协议是受到LEACH协议的启发。下面我们就以LEACH协议为例来讲分簇路由协议。2.3LEACH协议2.3.1LEACH协议算法分析LEACH(lowenergyadaptiveclusteringhierarchy)按簇将网络分成很多小区,每个小区由一个簇头和多个节点组成的,他的网络模型如下图所示。LEACH算法是一种周期性自适应分簇拓扑算法,每个周期循环地分为簇的建立阶段、簇的形成和稳定的数据通信阶段。它兼备了路由协议和拓扑控制机制的功能。在簇的建立阶段相邻节点动态的形成簇,随机产生簇头;在数据通信阶段,簇内节点把数据发送给簇头,簇头进行数据融合并把结果发送给汇聚节点。图2-3-1LEACH协议结构图LEACH协议算法的循环分为以下三步:一、簇的产生;二、簇的形成;三、簇的路由。一、LEACH算法簇头的产生过程是分布式算法,即节点产生一个在0-1之间的随机数,与阀值T(n)比较,小于阀值T(n)的可以当选簇头,但是当过之后就不能再当了,设T(n)=0。这样到后面,剩余节点当选簇头的概率就增大了。当只剩下一个节点没有当选簇头时,这个节点必然就会当选,设T(n)=0。其中:p是节点当选簇头的概率;r是目前循环进行的轮数;G是最近1/p轮中还未当选簇头的节点的集合。二、簇的形成算法:簇头产生后,簇头向监测区域广播成簇头的消息,然后节点根据自己的位置和簇头的强弱决定加入哪个簇,这就是簇的形成的过程。三、数据传输算法:簇形成后,其他节点根据自己的地理位置来选择加入哪个簇就向那个簇发送加入消息,簇头收到加入消息就会向其他簇内节点发送TDMA和CDMA编码的定时消息。簇内节点收到消息后就会在自己的时间内发送数据,经过数据传输,簇头收集簇内节点发送的消息后开始进行数据融合算法来处理数据,最后直接发送给汇聚节点。2.3.2LEACH协议优缺点讨论及改进方案优点:从LEACH协议的可以看出。LEACH是分布式的成簇技术、自适应的成簇算法以及簇头位置的轮换算法;LEACH算法能够随机选举簇头的方法避免簇头过分消耗能量,提高了网络生存时间;LEACH协议使用数据融合和数据压缩技术有效的减少通信量;最后是他的传输时延小。缺点:LEACH协议在簇头选择、通信方式和数据融合方面存在着一定的问题。LEACH选择簇头的过程中会出现簇头个数远远偏离期望值,簇头分布不均匀的现象。簇头分布过少失去了分层的意义,分布过多,就会导致簇头向汇聚节点发送消息时耗费过多的能量。簇头分布不均导致耗损不均,降低了整个网络的寿命;LEACH算法通信方式问题是所有的节点采用单跳路径进行通信,虽然实现方便,但是如果簇头与汇聚节点相距很远的话,势必造成这个簇头成为盲节点,造成路由协议的低效率;另外会造成单位时间内需求宽带很大而另一时间又会很小的宽带设置矛盾;LEACH算法的数据融合问题是没有给出确定的数据融合方法,减少数据传输量来减少能量耗损是最有效的情况。但通过减少分组个数,减少大量协商争用信道的操作,也是减少了能量耗损。针对LEACH协议的缺点,我引进了它的改进方案:1、 最优簇头数目的选择:经证明,最优簇头数目的计算公式:接近或者等于最优簇头数目的选取,能够延长网络寿命,利于数据融合。2、簇头选择遵循的依据是:1)、节点的剩余能量;2)、簇头到基站的距离;3)、簇头的连通度和覆盖度;4)、簇内通信代价。3、簇间采用多跳方式通信:簇头节点把数据融合后发送给邻近的簇头节点,再由这个簇头节点转发给汇聚节点,这样就可减少单个簇头节点的能量耗损,提高路由协议的效率。4、簇头节点均匀分布:通过BS基站节点把传感器网络区域近似划分为最优簇头数目个部分,每部分为一个簇,每个簇的节点数目大体相同,从而达到簇头节点分布均匀的目的。3OPNETModeler网络仿真技术3.1OPNETModeler网络仿真技术中的基本概念OPNET的基本概念:一、项目(Project)与场景(Scenario)一个工程就是一组仿真环境,一个场景就是其中的一个具体网络仿真环境配置方案。场景是网络的一个实例,一种配置,如拓扑结构、协议、应用、流量以及仿真属性等设置。只要打开OPNET就需要建立一个工程包含该场景。工程提出的初衷是为了对不同的场景仿真结果进行比较,工程提供场景复制功能。将场景备份后的所有参数及结果都是相同的,通过改变其中一个或几个参数,查看结果并进行对比,也可以是不同的场景侧重系统的不同方面,验证系统在不同场合下的性能及是否存在瓶颈。二、子网(Subnet)子网是将网络中的一些元素抽象到一个对象中去。一个例子:如运营商的骨干网。如果将所有路由器放到一个视图里会很凌乱,不如按照省份将同一省份的放到一个子网内,以这个省份命名这个子网。三、节点(Node)节点被看做设备或资源,由支持相应处理能力的硬件和软件组成,数据在其中生成、传输、接受并处理。四、链路(Link)连接节点并传输数据。五、仿真随机种子(seed)Seed是产生随机数的种子值,反映随机数的状态。目的是为了测试仿真系统的稳健性。针对不同的种子值,仿真结果相近,则说明建立的模型有较高的稳健性。六、模块(module)与仿真(simulation)对于某个协议的仿真,可能因为建模困难,我们可以把该协议分解成一系列的协议行为,对这些行为进行单独的建模后通过有限状态机把他们联系起来便形成一个系统,这个系统称为模块。仿真是基于一系列模块的一组实验,他反映模块与模块之间的相互作用。七、属性的隐藏(hidden)属性的隐藏使得属性的可读具有阶层性,为了避免混淆就把这些属性隐藏起来,变成预设值,等到要用的时候再去底层查找。八、属性的提升(promoted)与属性的隐藏相反,OPNET规定等级低的参数可以不断提升,最后变成级别最高的仿真属性。九、对象ID(Objid)与用户ID(userid)Objid是对象识别号系统配置的,全局唯一,整数。Userid是节点模型的一个属性,由用户设定,可以不唯一。十、模型(model)、模块(module)与对象(object)模型通常指的是进程模型、节点模型和网络模型。模块具有实在的物理含义,例如进程模块就是节点模块里的小方块。3.2OPNETModeler的安装本人所安装使用的OPNET是OPNETModeler14.5,以下是我的安装过程:1、拔掉网线,如果有防火墙软件,打开UDP2047端口或者彻底关闭防火墙。 2、执行modeler_145A_PL1_7116_win.exe,按照提示安装OPNETModeler软件。最后选择License类型时,请选择Standalone模式。 3、接下来安装以下两个安装包:modeler_docs_28_Jan_2008_win.exe和models_145A_PL1_27Feb08_win.exe,按照提示安装文档和库文件。 4、将Crack目录下的Maker_FFS.exe文件(这就是License文件,用以添加License)拷贝到C:\ProgramFiles\OPNET\14.5.A\sys\pc_intel_win32\bin下。 5、打开OPNETModeler,从OPNETModeler的Edit-Preference里检查licenseServerName和StandaloneLicenseServer观察standalone设置是否正确。如果之前选Standalone模式,licenseServerName应该为localhost(在这为PC2010042512uag),本机地址或主机名,StandalonelicenserServer应该为TRUE。如果修改了某些设置,请重新启动OPNET6、双击Crack目录下的Maker_FFS.exe,回车继续,等到出现结束提示后,回车关闭该窗口,这一部主要是添加License协议,在以后打开就可以看到License文件中就已经有1000个Licenses了。7、此时安装过程就结束了,重新打开OPNET就可以正常使用。3.3OPNETModeler的基本应用技术OPNET的基本应用:一、接触OPNET工程编译器:1、打开OPNETModeler14.5,File->New->OK。确定一个工程名(projectname)和场景名(scenarioname)。点击OK。2、跳出来一个网络配置器(StartupWizard:InitialTopology)。点击Createemptyscenario->next.图3-3-1网络配置器3、根据建立网络的规模在(StartupWizard:ChooseNetworkScale)选择全球网(World)、企业(Enterprise)、校园(Campus)、办公室(Office)、地方(Logical)或者从地图上选择(Choosefrommaps)网络->next.图3-3-2网络规模选择器4、设定网络范围,在(StartupWizard:SpecifySize)中选择度量单位,可以是经纬度(Degrees)、米(Meters)、公里(Kilometers)、英尺(Feet)、英里(Miles)等。->next5、在(StartupWizard:SelectTechnologies)中选择模范家族(ModelFamily)。图3-3-3模范家族选择器二、网络拓扑中的背景信息及设置:6、点击查看上一级拓扑按钮(Gotoparentsubnet)。右击放入全球地图的按钮,点击(EditAttributes(Advanced)),可以看到这个子网的长宽经纬度。7、用鼠标拖动子网,经纬度也会变化。8、双击子网可以进入子网内部看到子网的范围。9、用放大镜对子网放大,可以看到蓝色的边框,他表示了子网的范围。10、设置背景的分辨率和解析率:View->Background->SetProperties。Resolution(分辨率)如果调大一倍,则背景放大一倍。Division(解析率)如果设为0.1,则网络标示的单位精确到0.1度。11、在背景中引进OPNET自带的地图:1)、导入带有经纬度信息的卫星地图:View->background->AddImageMap。2)、导入海岸线或高速公路信息:View->AddMIFMap,海岸线为绿色,高速路为红色。三、背景图形的分辨率与节点图标分辨率的匹配:(防止背景小节点大的混乱)1)、调整物件显示的极限参数:右击子网->EditAttributes(advanced)->Threshold。可选择多个子网(Selectsimilarnodes),同时改变他们的极限参数。2)、将子网简化成一个节点(如果不研究子网内部表现):Openobjectpalette->ShareObjectPalettes->lanes->NodeModels->xxx_lane四、查找物件:1)、一拉一点的方法,只适合于网络规模小的情况下。2)、Ctrl+B或View->ShowNetworkBrowse将会弹出物件浏览器,我们可以直接输入物件名来查找。五、比较两个场景1)、Scenarios->NetworkDifferences六、显示一个流的路由Protocols->IP->demands->displayrouterforconfiguresdemanded或者Ctrl+Alt+D七、显示上次隐藏结果Hide/ShowGraphPanels3.4OPNETModeler建立网络拓扑结构分析3.4.1建立网络拓扑结构的步骤建立拓扑结构的步骤分为以下五步:1、配置网络拓扑;2、配置业务;3、收集结果统计量;4、运行仿真,调试模块再次仿真;5、最后发布结果和拓扑报告。3.4.2建立一个简单的网络拓扑结构一、开始建立一个场景:1、打开Modeler.2、从File菜单中选择New.3、从弹出的下拉菜单中选择Project并单击OK。4、将你的项目命名为initials_Sim,场景命名为initials_first_floor图3-4-1输入项目名*initials用来区分同一项目的不同版本,比如你可以将项目命名为1_sim。将场景命名为1_first_floor。5、单击OK按钮。*这时出现开始向导,创建新的背景拓扑图CreateEmptyScenario。*选择网络的范围:world、Enterprise、Campus、Office、Logical、ChooseFromMaps。*指定网络的大小*选择OPNET自带的对象模型家族种类*再次确认环境设置二、创建网络拓扑:(三种方法)方法一、快速导入拓扑图。方法二、从对象模块中选择模型并放置在工作空间中。方法三、使用快速拓扑配置工具(RapidConfiguration)。6、用方法三建立拓扑:从Topology菜单中选择RapidConfiguration。*从配置下拉列表中选择Star,单击NEXT。图3-4-2快速建扑*选择中心节点模型为3C_SSII_1100_3300_4s_ae52_e48_ge3。*选择周边节点模型为Sm_Int_wkstn,并设置节点个数为30。*选择链路模型为10BaseT。*指定网络在空间中放置的位置:设置中心的X和Y轴坐标为25;设置局域网的半径范围为20。图3-4-3模型选择*设置好后单击OK按钮。7、用方法二建立拓扑:打开OpenObjectPalette,找到Sm_int_server对象,并将它放置到工作空间中,单击右键,结束放置节点。8、在对象模板中找到10BaseT链路对象,单击并移到工作空间。9、在服务器上单击鼠标左键,移动光标,再单击星型网络的中心节点,这时出现连接两个节点对象的链路。10、单击鼠标右键结束链路创建。四、网络配置业务:应用定义和业务规格定义11、在对象模板中找到Sm_Application_Config对象并将其放置在工作空间中。12、单击右键,光标重新移动到对象模块中,单击Sm_Profile_Config,并将其放置在工作空间中,单击鼠标右键。图3-4-4Sm_Tnt_Model_List模范家族选择13、关闭对象模板。五、收集统计结果:OPNET采用三层建模机制,最底层为进程模型,第二层为节点模型,最后一层为网络模型。14、在项目编译器(对应网络模型)中双击node_31,这时打开了对应节点的节点模型。图3-4-5节点模型15、在节点模型中双击tpal,就打开了一个进程模型。图3-4-6进程模型16、关闭节点模型编译器和进程模型编译器。六、收集统计量:需要选择一个对象统计量(ServerLoad)和一个全局统计量(EthernetDelay)17、选择对象统计量:在服务器节点node_31上单击鼠标右键,从弹出的菜单中选择ChooseIndividualDECStatistics,这时出现node_31的选择统计量的对话框。18、单击NodeStatistics->Ethernet->Load(bits/sec)统计量,单击OK关闭对话框。图3-4-7对象统计量设置19、选择全局统计量:在网络模型编译器中的空白位置右击(不要点到节点),选择ChooseIndividualDESStatistics,这时出现选择全局统计量的对话框20、单击GlobalStatistics->Ethernet->Delay(sec)统计量,单击OK。图3-4-8全局统计量设置七、保存项目:在File中点击Save。八、运行仿真:21、确定Repositories属性设置正确:*在Edit菜单中选择Preferences。*在查找文本框中输入“repositories”,单击Find按钮。*单击OK关闭repositories和Preferences对话框。22、优化仿真核心:*在Edit菜单中选择Preferences,在查找文本框中输入kernel_type,单击Find按钮。将对应的value设置为optimized。23、运行仿真:*在DES菜单中选择Configure/RunDiscreteEventSimulation…*将仿真时间Duration设置成0.5,即模拟执行半小时的仿真。*单击Run按钮运行仿真。*运行完成后单击Close按钮关闭对话框。3.5无线传感器在OPNETModeler上的仿真实现OPNET采用离散事件驱动模拟激励对模型的功能和性能分析。它设计仿真研究的各阶段,包括模型设计、仿真、数据搜集和数据分析。OPNET中,LEACH协议和其进程通过有限状态机FSM(包含创建定义进程模型的有限状态机的状态转移图操作)来建立模型,FSM(Finitestatemachine)的状态和状态转换用C/C++来描述。OPNET提供了三层机制,分别为:进程层、节点层和网络层。其中,在进程层对每个对象的数据进行处理仿真,在节点层,对进程层的对象进行互连形成设备,在网络层,将设备通过链路连接成网络,将多个网络场景组织在一起,形成工程,就是我们所谓的仿真平台。本论文对LEACH协议进行仿真,同时为了能够比较,我仿真了另外一种简单的直接传输(DirectTrans)协议,这个协议的特点就是不对网络进行分簇,所有节点直接向汇聚节点传输信号。在OPNET上进行仿真的一般流程过程如下图所示,他给出了从分析到建模再到收集仿真结果整个仿真流程:图3-5-1仿真流程图下面我们再详细的介绍建立网络模型、进程模型和节点模型的具体方法。3.5.1进程模型根据2.3.1节中对LEACH协议算法进行分析后,我对LEACH协议的进程模型建模,得到如下所示的状态图。协议的每个节点经历三个阶段,即初始化阶段、建立阶段和稳定阶段。作为基准的直接传送阶段只是简单的将信号直接传送给汇聚节点,在这省略不讲。创建进程模型的方法为:1、 从File菜单中选择New…,然后从列表中选择ProcessModel(进程模型编译器),单击OK按钮。2、单击创建状态按钮,单击鼠标右键,Setname设置名称,MakeStateForced改变状态颜色,红色为非强制状态,绿色为强制状态。EditEnterExecs和EditExitExecs设置输入输出代码。如下图所示。3、点击确定开始状态,点击连接状态。单击选中链路,单击右键改变颜色和其他状态。单击编写状态的函数。图3-5-2进程模型图3.5.2节点模型OPNET中节点模型用于定义每个节点的工作。一个节点通常是由多个模块组成的,他的行为由他的使用来决定,每个模块完成节点的一部分功能。创建节点模型需要定义一个节点模型和一个进程模型。在LEACH协议的仿真模型中,传感器节点包括以下几个模块:1、ROUTE:他完成路由算法的实现功能;2、Energy:能量管理进程模块;3:MAC层模块以及MAC接口层模块。创建节点模型的方法:1、从File菜单选择New…,然后选择NodeModel(节点编译器),单击OK按钮。2、在节点编译器的窗口放置三个进程模块、一个无线电接收机和一个无线电发射机。3、如下图所示给每个模块命名。并用包流(包含在同一节点模型中不同模块间的物理连接)将它们连接起来。当然,这里也可以根据自己的喜好将包流设置成不同的颜色。图3-5-3节点模型图3.5.3网络模型要建立多个节点,这里我用了OPNET的外部模块访问EMA(ExternalModelAccess)功能,这个功能是采用文本方式进行建模,可以采用循环语句来刻画多个特定规格的节点。在图形编译器中选择一个节点,选择Topology<-ExportTopology<-ToEMA,就可以生成EMA文件,它是以*em.c的形式编写的,观察这个*.em.c文件,可以发现文件中包含设置节点属性的函数,格式为Ema_object_Attr_Set(),将这个函数放到一个For循环语句中,将数量I设为100,再把函数设置的属性值(如坐标)改为变量。这样就可以设置100个节点。编译成功后产生可执行文件*em.x,每执行一次程序即可产生一个性的场景文件。在这里我们假设监测区域为100*100平方米的正方形区域,其中随机放入一百个传感器节点,节点的横左边与纵坐标服从[0,100]上的均匀分布。图3-5-4网络模型图3.5.4仿真结果分析及讨论在仿真过程中,设每个节点每30秒发送一次数据信息,数据包的长度为100bytes,分簇的消息长度为25bytes,T(n)等于5个TDMA帧长。在同一个场景下,同时运行LEACH协议和DirectTrans协议。得到他们的一次仿真结果如下图所示:下图的仿真图像,横坐标是时间轴,纵坐标表示节点存活的个数。通过仿真图像可以看出,LEACH协议能够有效地减少能量的耗损,节点成活率很高。所以他的寿命是DirectTrans协议的两倍左右。图3-5-5仿真结果4实验完成情况本次试验完美结束,也达到了预先设计好的目的。本人已学会使用OPNET导入无线传感器,最重要的是掌握了OPNET的使用方法、分簇协议的算法及其改进方法以及无线传感器的基本原理。而这些技术必将成为21世纪最热门的话题,相信今后我会运用现在所学的相关理论做更深入的研究。在使用OPNET的过程中,我遇到了很多问题,但是本人都已经将其解决。在此将这些问题一一罗列并陈述解决方案,相信后来人必能用到。1、 localstatistics和globalstatistics的区别?Localstatistics表示的是本地的统计量,而globalstatistics是全局统计变量。比如在节点模型中,有两个节点发送的数据包,你通过编写程序把这些数据包写入到一个globalstatistics和一个localstatistics中,那么用localstatistics你可以分别viewresult每个节点的数据包数,而globalstatistics则可以看到这两个节点的数据包数。2、Objid和userid的区别?Objid是系统分配的,全局唯一的整数。而userid是可以自己设置的,可以不唯一。3、为什么每新建一个Project都要保存在c:\op_models目录下,能不能换个保存地址?Edit->preferences->mod_dirs中,新建一个路径,并作为第一路径即可。4、在OPNET中关于时延delay的问题!数据速率是用来和数据包长度结合计算传输时延的,而“delay”是用来描述电波的传输时延的。在点到点链路属性里,“delay”是总的传播时延。而在多点链路里“delay”是指单位距离的传播时延。用户可以修改传播时延的计算方法,“DistanceRelated”就是表示在自定义的传播时延pipelinestage里基于距离计算传播时延的。5、在OPNET中关于统计一些速率方面的参数!统计流速率的时候,首先应该在localstatistics中将这个统计项的capturemode设成sum/time,然后在程序中每次收到一个数据包,就将这个包的长度L写入,比如op_stat_write(handle,L),随后再马上调用一个op_stat_write(handle,0)来结束这次写入。6、用VC调试的时候,statevariable的值无法看到,怎么办?用op_sv_ptr这个指针,它指向所有的状态变量。7、OPNET运行时无法进行C代码编译,怎么办?这是因为VisualC++没有正确安装,这是需要修改系统的环境变量:1)、正确安装VC++,缺省目录为C:\ProgramFiles\MicrosoftVisualStudio。2)、在桌面鼠标右击“我的电脑”图标,选择“属性”,选择“高级”,选择“环境变量”。3)、修改“用户变量”,添加以下参数:变量名include变量值C:\ProgramFile\MicrosoftVisualStudio\VC98\atl\include;C:\ProgramFile\MicrosoftVisualStudio\VC98\mfc\include;C:\ProgramFile\MicrosoftVisualStudio\VC98\include变量名lib变量值C:\ProgramFile\MicrosoftVisualStudio\VC98\mfc\lib;C:\ProgramFile\MicrosoftVisualStudio\VC98\lib变量名MSDevDir变量值C:\ProgramFile\MicrosoftVisualStudio\Common\MSDev98变量名path变量值C:\ProgramFile\MicrosoftVisualStudio\Common\Tools\WinNT;C:\ProgramFile\MicrosoftVisualStudio\Common\MSDev98\bin;C:\ProgramFile\MicrosoftVisualStudio\Common\Tools\ProgramFiles\MicrosoftVisualStudio\VC98\bin4)、按“确定”按钮,退出设置。参考文献【1】 陈敏。OPNET网络仿真(最新版本)。北京:清华大学出版社,2004年。【2】 江雪。基于无线传感器网络平台的研究。南京:南京邮电大学学报【3】 李玥,吴辰文。基于OMNeT++地TCP/IP协议仿真。兰州交通大学学报(自然科学版),2005年8月【4】 任丰原,黄海宁,林闯。无线传感器网络。2003JournalOfSoftware,Vol14,No.7【5】 石怀伟,李明生,王少华。网络仿真技术与OPNET应用实践,计算机系统应用2006.第3期【6】 孙利民,李建忠,陈渝,朱红松,颜庭莘,杨贺,罗政军,王海东,毕艳忠,李延。无线传感器网络。2005年。【7】 王文博,张金文。OPNETModeler与网络仿真。人民邮电出版社。【8】 于海斌,曾鹏等.智能无线传感器网络.科学出版社,2006,p283~p303。【9】 袁红林,徐晨,章国安。TOSSIM:无线传感器网络仿真环境,传感器与仪表仪器。2006年第22卷第7-1期【10】 ProtocolsandArchitecturesforWirelessSensorNetworks.HolgerKarlandAndreasWilligCopyright2005JohnWiley&Sons,Ltd.ISBN:0-470-09510-5【11】 ProtocolsandArchitecturesforWirelessSensorNetworks.德Holger,AndreasWilig著,秋天爽等译,电子工业出版社。ISBN:9787121035067【12】 WakerlyJF.DigitalDesignPrinciples&Practices[M].Hall.Inc,2000【13】 W.Heinzelman,A.Chandrakasan,andH.Balakrishnan.“AnApplication-SpecificProtocolArchitectureforWirelessMicrosensorNetwork”[J].IEEETrans.WirelessComm.,2002,4(1):660-670致谢在此论文完成之际,谨向所有给予我帮助和指导的老师、同学、朋友致以衷心的感谢和敬意!本实验是在马老师的悉心指导和帮助下设计、修改和完成的。论文从选题、资料收集、开题、仿真及撰写的过程中都倾注了马老师的心血,十分感谢马老师在我遇到困难时,及时帮助我解决困难,并为我指导下一步实验的工作方向。马老师的指导启发了我的思维,使我的思路更加开阔,思考问题的角度也更广。她严谨认真、心胸开阔、乐观处事、知识渊博、思维敏捷给我留下了深刻的印象,她孜孜不倦的教导我,给我实验中遇到的问题以解决的很好资料。由衷的感谢我的同学们在我工作期间给我的帮助,大家一块营造一个温馨的环境,每个人都互帮互助,完成了工作。评语建议成绩指导教师(签字)答辩小组意见答辩委员会负责人(签字)成绩学院(盖章)2011年月日
/
本文档为【无线传感器网络分簇协议在OPNET平台上的模拟仿真】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索