已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于opnet的leach协议仿真 目录目录- 1 -【论文摘要】- 3 -【关键字】- 3 -【abstract】- 4 -【keywords】- 4 -论文正文- 5 -1 前 言- 5 -1.1 无线传感器网络简介- 5 -1.2 无线传感器网络仿真工具- 5 -1.3 opnet modeler的简介- 5 -1.4 主要研究工作与内容安排- 6 -2 无线传感器网络- 7 -2.1 无线传感器网络的概述- 7 -2.2 无线传感器网络的路由协议- 9 -2.3 leach协议- 10 -2.3.1 leach协议算法分析- 10 -2.3.2 leach协议优缺点讨论及改进方案- 11 -3 opnet modeler 网络仿真技术- 13 -3.1 opnet modeler 网络仿真技术中的基本概念- 13 -3.2 opnet modeler 的安装- 14 -3.3 opnet modeler 的基本应用技术- 15 -3.4 opnet modeler 建立网络拓扑结构分析- 18 -3.4.1 建立网络拓扑结构的步骤- 18 -3.4.2 建立一个简单的网络拓扑结构- 18 -3.5 无线传感器在opnet modeler 上的仿真实现- 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协议的三层模型,并观察仿真结果。结论 无线传感器网络技术因为他的实用性现已成为当前研究最热门的技术,他的设计简单但是应用广泛,功能强大。通过与direct trans协议的比较,可以看到leach协议耗能低,节点存活率高。opnet是个很全面的仿真技术,使用opnet建立仿真,临摹现场,仿真结果精确。只是学习过程比较困难,因为它本身就是个很强大的软件,必然会有许多的繁琐。此外和它的使用方法也有关系,它与vc联调使用,结合了软件编程和硬件组成。【关键字】 opnet modeler网络仿真技术 无线传感器网络 leach分簇协议wireless sensor network clustering protocol in opnet simulation platform 【abstract】objective the objective of this thesis was that wireless sensor network simulate with the opnet. method used existing technology to make intrusive study of opnet. made the leach of the wireless sensor network topology structure with the current traditional sensor expounding to wireless sensor, simulate with opnet. learned the opnet, set up the leach layer 3 and observed the result of simulation. result because of the practicability of the wireless sensor network, it became the most popular technology to study. the projecting of the wireless sensor network is easy but the application is extensive and has the powerful function. comparing with the direct trans, we can see the leach could lose less energy and the node have long lifetime. opnet is one stronger technology. used the opnet to set up the simulation and copy the filed has the accurate result. because of the stronger of opnet that lead to more trouble, so the study of the opnet is difficult. besides of that it has some connection with the methods of the using. opnet connect with vc, so it combined the software programming with the hardware sub-unit. 【keywords】 opnet network simulation technology wireless sensor network leach论文正文1 前 言1.1 无线传感器网络简介 无线传感器网络就是分布在监测区域内的大量的廉价传感器节点组成的,通过无线通信方式进行信息传送的一个多跳自组织网络。无线传感器网络目前收到学术界和工业界越来越多的重视和应用,由于无线传感器涉及众多学科,所以成为目前最热门的it研究技术。美国已经在20世纪90年代开始研究无线传感器,并推广到军事方面。我国也同步开始了无线传感器的研究。无线传感器作为一种特定的网络形式、一种源于应用而又服务于应用的网络技术、一个完整的网络系统,它拥有构建网络架构的通信协议、有辅佐核心结构的支持技术、有一套完善的应用技术。所以本论文从这三方面展开无线传感器的研究。1.2 无线传感器网络仿真工具 无线传感器网络中,单个传感器节点的并发性很密集,并且模块化程度很高。基于以上两个特点,无线传感器网络仿真需要解决可扩展性与仿真效率、分布与异步特性、动态性、综合仿真平台等问题。目前的无线传感器网络仿真常用工具有:ns2、opnet 、omnet+,tinyos。对于他们的详细资料本人没有重点研究,所以在这不做重点介绍了。希望有兴趣的人能够研究。 1.3 opnet modeler的简介 opnet 于1986年由麻省理工大学的两个博士研究成的一种网络仿真软件,于1998年进入中国,目前处于起步阶段,但是涨势喜人。opnet modeler所能应用的各种领域包括端到端结构(end to end network architecture design)、系统级的仿真(system level simulation for network devices)、新的协议开发和优化(protocol development and optimization)、网络和业务配合如何达到最好的性能(network application optimization and deployment analysis)。opnet的主要特性有:1、网络模型层次化;2、建模方法简单明了;3、仿真引擎高效;4、动画;5、完全开放性的系统;6、有限状态机fsm;7、分析工具和调试器集成;8、全面支持协议编程;opnet modeler的模拟方式采用阶层性,从协议间关系看,节点模块建模完全符合osi标准,业务层-tcp层-ip层-ip封装层-arp层-mac层-物理层;从网络物件层次关系看,它提供了三层建模机制,最底层为进程模型,以状态机来描述协议;其次为节点模型,有相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。1.4 主要研究工作与内容安排主要研究工作:基于opnet的无线传感器网络仿真,以无线传感器网络的leach协议为例,讲述在opnet中建模的过程,学会使用opnet,能够将leach协议仿真结果运行出来。内容安排:首先先对无线传感器网络进行简单介绍;其次对leach协议的算法和优缺点进行计算讨论;最后介绍opnet的使用方法和基本应用,在opnet中实现leach协议建模仿真,并讨论分析仿真结果。2 无线传感器网络2.1 无线传感器网络的概述无线传感器网络的体系结构有:网络体系结构、节点体系结构和协议栈。无线传感器网络结构无线传感器网络系统是指大量传感器节点(sensor node)在监测区域(sensor field)内或附近有组织的组成网络,通过多个节点跳转路由到汇聚节点(sink node),汇聚节点通过互联网或卫星将信息发送给管理节点,用户由管理节点收集发送信息,配置管理整个无线传感器网络,维护网络正常工作。图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.3 leach协议2.3.1 leach协议算法分析 leach(low energy adaptive clustering hierarchy)按簇将网络分成很多小区,每个小区由一个簇头和多个节点组成的,他的网络模型如下图所示。leach算法是一种周期性自适应分簇拓扑算法,每个周期循环地分为簇的建立阶段、簇的形成和稳定的数据通信阶段。它兼备了路由协议和拓扑控制机制的功能。在簇的建立阶段相邻节点动态的形成簇,随机产生簇头;在数据通信阶段,簇内节点把数据发送给簇头,簇头进行数据融合并把结果发送给汇聚节点。 图2-3-1 leach协议结构图leach协议算法的循环分为以下三步:一、簇的产生;二、簇的形成;三、簇的路由。一、leach算法簇头的产生过程是分布式算法,即节点产生一个在0-1之间的随机数,与阀值t(n)比较,小于阀值t(n)的可以当选簇头,但是当过之后就不能再当了,设t(n)=0。这样到后面,剩余节点当选簇头的概率就增大了。当只剩下一个节点没有当选簇头时,这个节点必然就会当选,设t(n)=0。其中:p是节点当选簇头的概率;r是目前循环进行的轮数;g是最近1/p轮中还未当选簇头的节点的集合。二、簇的形成算法:簇头产生后,簇头向监测区域广播成簇头的消息,然后节点根据自己的位置和簇头的强弱决定加入哪个簇,这就是簇的形成的过程。三、数据传输算法:簇形成后,其他节点根据自己的地理位置来选择加入哪个簇就向那个簇发送加入消息,簇头收到加入消息就会向其他簇内节点发送tdma和cdma编码的定时消息。簇内节点收到消息后就会在自己的时间内发送数据,经过数据传输,簇头收集簇内节点发送的消息后开始进行数据融合算法来处理数据,最后直接发送给汇聚节点。2.3.2 leach协议优缺点讨论及改进方案优点:从leach协议的工作流程可以看出。leach是分布式的成簇技术、自适应的成簇算法以及簇头位置的轮换算法;leach算法能够随机选举簇头的方法避免簇头过分消耗能量,提高了网络生存时间;leach协议使用数据融合和数据压缩技术有效的减少通信量;最后是他的传输时延小。缺点:leach协议在簇头选择、通信方式和数据融合方面存在着一定的问题。leach选择簇头的过程中会出现簇头个数远远偏离期望值,簇头分布不均匀的现象。簇头分布过少失去了分层的意义,分布过多,就会导致簇头向汇聚节点发送消息时耗费过多的能量。簇头分布不均导致耗损不均,降低了整个网络的寿命;leach算法通信方式问题是所有的节点采用单跳路径进行通信,虽然实现方便,但是如果簇头与汇聚节点相距很远的话,势必造成这个簇头成为盲节点,造成路由协议的低效率;另外会造成单位时间内需求宽带很大而另一时间又会很小的宽带设置矛盾;leach算法的数据融合问题是没有给出确定的数据融合方法,减少数据传输量来减少能量耗损是最有效的情况。但通过减少分组个数,减少大量协商争用信道的操作,也是减少了能量耗损。针对leach协议的缺点,我引进了它的改进方案:1、 最优簇头数目的选择:经证明,最优簇头数目的计算公式: 接近或者等于最优簇头数目的选取,能够延长网络寿命,利于数据融合。2、簇头选择遵循的依据是:1)、节点的剩余能量;2)、簇头到基站的距离;3)、簇头的连通度和覆盖度;4)、簇内通信代价。3、簇间采用多跳方式通信:簇头节点把数据融合后发送给邻近的簇头节点,再由这个簇头节点转发给汇聚节点,这样就可减少单个簇头节点的能量耗损,提高路由协议的效率。4、簇头节点均匀分布:通过bs基站节点把传感器网络区域近似划分为最优簇头数目个部分,每部分为一个簇,每个簇的节点数目大体相同,从而达到簇头节点分布均匀的目的。3 opnet modeler 网络仿真技术 3.1 opnet modeler 网络仿真技术中的基本概念opnet的基本概念:一、项目(project)与场景(scenario)一个工程就是一组仿真环境,一个场景就是其中的一个具体网络仿真环境配置方案。场景是网络的一个实例,一种配置,如拓扑结构、协议、应用、流量以及仿真属性等设置。只要打开opnet就需要建立一个工程包含该场景。工程提出的初衷是为了对不同的场景仿真结果进行比较,工程提供场景复制功能。将场景备份后的所有参数及结果都是相同的,通过改变其中一个或几个参数,查看结果并进行对比,也可以是不同的场景侧重系统的不同方面,验证系统在不同场合下的性能及是否存在瓶颈。二、子网(subnet)子网是将网络中的一些元素抽象到一个对象中去。一个例子:如运营商的骨干网。如果将所有路由器放到一个视图里会很凌乱,不如按照省份将同一省份的放到一个子网内,以这个省份命名这个子网。三、节点(node)节点被看做设备或资源,由支持相应处理能力的硬件和软件组成,数据在其中生成、传输、接受并处理。四、链路(link)连接节点并传输数据。五、仿真随机种子(seed) seed是产生随机数的种子值,反映随机数的状态。目的是为了测试仿真系统的稳健性。针对不同的种子值,仿真结果相近,则说明建立的模型有较高的稳健性。六、模块(module)与仿真(simulation)对于某个协议的仿真,可能因为建模困难,我们可以把该协议分解成一系列的协议行为,对这些行为进行单独的建模后通过有限状态机把他们联系起来便形成一个系统,这个系统称为模块。仿真是基于一系列模块的一组实验,他反映模块与模块之间的相互作用。七、属性的隐藏(hidden)属性的隐藏使得属性的可读具有阶层性,为了避免混淆就把这些属性隐藏起来,变成预设值,等到要用的时候再去底层查找。八、属性的提升(promoted)与属性的隐藏相反,opnet规定等级低的参数可以不断提升,最后变成级别最高的仿真属性。九、对象id(objid)与用户id(user id)objid是对象识别号系统配置的,全局唯一,整数。user id是节点模型的一个属性,由用户设定,可以不唯一。十、模型(model)、模块(module)与对象(object)模型通常指的是进程模型、节点模型和网络模型。模块具有实在的物理含义,例如进程模块就是节点模块里的小方块。3.2 opnet modeler 的安装本人所安装使用的opnet是opnet modeler 14.5,以下是我的安装过程:1、拔掉网线,如果有防火墙软件,打开udp2047端口或者彻底关闭防火墙。2、执行modeler_145a_pl1_7116_win.exe,按照提示安装opnet modeler软件。最后选择 license类型时,请选择standalone模式。 3、接下来安装以下两个安装包:modeler_docs_28_jan_2008_win.exe和models_145a_pl1_27feb08_win.exe,按照提示安装文档和库文件。 4、将crack目录下的maker_ffs.exe文件(这就是license文件,用以添加license)拷贝到c:program filesopnet14.5.asyspc_intel_win32bin下。5、打开opnet modeler,从opnet modeler的editpreference里检查license server name和standalone license server观察standalone设置是否正确。如果之前选standalone模式,license server name应该为local host(在这为pc2010042512uag),本机地址或主机名,standalone licenser server应该为true。如果修改了某些设置,请重新启动opnet6、双击crack目录下的maker_ffs.exe,回车继续,等到出现结束提示后,回车关闭该窗口,这一部主要是添加license协议,在以后打开就可以看到license文件中就已经有1000个licenses了。 7、此时安装过程就结束了,重新打开opnet就可以正常使用。 3.3 opnet modeler 的基本应用技术opnet的基本应用:一、接触opnet工程编译器:1、打开opnet modeler 14.5, file-new-ok。确定一个工程名(project name)和场景名(scenario name)。点击ok。2、跳出来一个网络配置器(startup wizard: initial topology)。点击create empty scenario-next. 图3-3-1 网络配置器3、根据建立网络的规模在(startup wizard: choose network scale)选择全球网(world)、企业(enterprise)、校园(campus)、办公室(office)、地方(logical)或者从地图上选择(choose from maps)网络-next. 图3-3-2 网络规模选择器4、设定网络范围,在(startup wizard: specify size)中选择度量单位,可以是经纬度(degrees)、米(meters)、公里(kilometers)、英尺(feet)、英里(miles)等。-next5、在(startup wizard: select technologies)中选择模范家族(model family)。 图3-3-3 模范家族选择器二、网络拓扑中的背景信息及设置:6、点击查看上一级拓扑按钮(go to parent subnet)。右击放入全球地图的按钮,点击(edit attributes(advanced)),可以看到这个子网的长宽经纬度。7、用鼠标拖动子网,经纬度也会变化。8、双击子网可以进入子网内部看到子网的范围。9、用放大镜对子网放大,可以看到蓝色的边框,他表示了子网的范围。10、设置背景的分辨率和解析率:view-background-set properties。resolution(分辨率)如果调大一倍,则背景放大一倍。division(解析率)如果设为0.1,则网络标示的单位精确到0.1度。11、在背景中引进opnet自带的地图:1)、导入带有经纬度信息的卫星地图:view-background-add image map。2)、导入海岸线或高速公路信息:view-add mif map,海岸线为绿色,高速路为红色。三、背景图形的分辨率与节点图标分辨率的匹配:(防止背景小节点大的混乱) 1)、调整物件显示的极限参数:右击子网-edit attributes(advanced)-threshold。可选择多个子网(select similar nodes),同时改变他们的极限参数。2)、将子网简化成一个节点(如果不研究子网内部表现):open object palette-share object palettes-lanes-node models-xxx_ lane四、查找物件:1)、一拉一点的方法,只适合于网络规模小的情况下。2)、ctrl+b或view-show network browse将会弹出物件浏览器,我们可以直接输入物件名来查找。五、比较两个场景1)、scenarios-network differences六、显示一个流的路由protocols-ip-demands-display router for configures demanded 或者ctrl+ alt+ d七、显示上次隐藏结果hide/show graph panels 3.4 opnet modeler 建立网络拓扑结构分析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按钮。 *这时出现开始向导,创建新的背景拓扑图create empty scenario。 *选择网络的范围:world、enterprise、campus、office、logical、choose from maps。 *指定网络的大小 *选择opnet自带的对象模型家族种类*再次确认环境设置二、创建网络拓扑:(三种方法)方法一、快速导入拓扑图。 方法二、从对象模块中选择模型并放置在工作空间中。 方法三、使用快速拓扑配置工具(rapid configuration)。6、用方法三建立拓扑:从topology菜单中选择rapid configuration。 *从配置下拉列表中选择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、用方法二建立拓扑:打开open object palette,找到sm_ int_ server对象,并将它放置到工作空间中,单击右键,结束放置节点。 8、在对象模板中找到10baset链路对象,单击并移到工作空间。9、在服务器上单击鼠标左键,移动光标,再单击星型网络的中心节点,这时出现连接两个节点对象的链路。10、单击鼠标右键结束链路创建。四、网络配置业务:应用定义和业务规格定义11、在对象模板中找到sm_ application_ config对象并将其放置在工作空间中。12、单击右键,光标重新移动到对象模块中,单击sm_ profile_ config,并将其放置在工作空间中,单击鼠标右键。 图3-4-4 sm_tnt_model_list模范家族选择 13、关闭对象模板。五、收集统计结果:opnet采用三层建模机制,最底层为进程模型,第二层为节点模型,最后一层为网络模型。14、在项目编译器(对应网络模型)中双击node_31,这时打开了对应节点的节点模型。 图3-4-5 节点模型15、在节点模型中双击tpal,就打开了一个进程模型。 图3-4-6 进程模型16、关闭节点模型编译器和进程模型编译器。六、收集统计量:需要选择一个对象统计量(server load)和一个全局统计量(ethernet delay)17、选择对象统计量:在服务器节点node_31上单击鼠标右键,从弹出的菜单中选择choose individual dec statistics,这时出现node_31的选择统计量的对话框。18、单击node statistics-ethernet-load(bits/sec)统计量,单击ok关闭对话框。 图3-4-7 对象统计量设置19、选择全局统计量:在网络模型编译器中的空白位置右击(不要点到节点),选择choose individual des statistics,这时出现选择全局统计量的对话框20、单击global statistics-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/run discrete event simulation*将仿真时间duration设置成0.5,即模拟执行半小时的仿真。*单击run按钮运行仿真。*运行完成后单击close按钮关闭对话框。3.5 无线传感器在opnet modeler 上的仿真实现opnet采用离散事件驱动模拟激励对模型的功能和性能分析。它设计仿真研究的各阶段,包括模型设计、仿真、数据搜集和数据分析。opnet中,leach协议和其进程通过有限状态机fsm(包含创建定义进程模型的有限状态机的状态转移图操作)来建立模型,fsm(finite state machine)的状态和状态转换用c/c+来描述。opnet提供了三层机制,分别为:进程层、节点层和网络层。其中,在进程层对每个对象的数据进行处理仿真,在节点层,对进程层的对象进行互连形成设备,在网络层,将设备通过链路连接成网络,将多个网络场景组织在一起,形成工程,就是我们所谓的仿真平台。本论文对leach 协议进行仿真,同时为了能够比较,我仿真了另外一种简单的直接传输(direct trans)协议,这个协议的特点就是不对网络进行分簇,所有节点直接向汇聚节点传输信号。在opnet上进行仿真的一般流程过程如下图所示,他给出了从分析到建模再到收集仿真结果整个仿真流程: 图3-5-1 仿真流程图下面我们再详细的介绍建立网络模型、进程模型和节点模型的具体方法。 3.5.1 进程模型根据2.3.1节中对leach协议算法进行分析后,我对leach协议的进程模型建模,得到如下所示的状态图。协议的每个节点经历三个阶段,即初始化阶段、建立阶段和稳定阶段。作为基准的直接传送阶段只是简单的将信号直接传送给汇聚节点,在这省略不讲。创建进程模型的方法为:1、 从file菜单中选择new,然后从列表中选择process model(进程模型编译器),单击ok按钮。2、单击创建状态按钮,单击鼠标右键,set name设置名称,make state forced改变状态颜色,红色为非强制状态,绿色为强制状态。edit enter execs和edit exit execs设置输入输出代码。如下图所示。3、点击确定开始状态,点击连接状态。单击选中链路,单击右键改变颜色和其他状态。单击编写状态的函数。 图3-5-2 进程模型图3.5.2 节点模型opnet中节点模型用于定义每个节点的工作。一个节点通常是由多个模块组成的,他的行为由他的使用来决定,每个模块完成节点的一部分功能。创建节点模型需要定义一个节点模型和一个进程模型。在leach协议的仿真模型中,传感器节点包括以下几个模块:1、route:他完成路由算法的实现功能;2、energy:能量管理进程模块;3:mac层模块以及mac接口层模块。创建节点模型的方法:1、从file菜单选择new,然后选择node model(节点编译器),单击ok按钮。2、在节点编译器的窗口放置三个进程模块、一个无线电接收机和一个无线电发射机。3、如下图所示给每个模块命名。并用包流(包含在同一节点模型中不同模块间的物理连接)将它们连接起来。当然,这里也可以根据自己的喜好将包流设置成不同的颜色。图3-5-3 节点模型图 3.5.3 网络模型要建立多个节点,这里我用了opnet 的外部模块访问ema(external model access)功能,这个功能是采用文本方式进行建模,可以采用循环语句来刻画多个特定规格的节点。在图形编译器中选择一个节点,选择topology-export topologypreferences-mod_dirs中,新建一个路径,并作为第一路径即可。4、在opnet中关于时延delay的问题!数据速率是用来和数据包长度结合计算传输时延的,而“delay”是用来描述电波的传输时延的。在点到点链路属性里,“delay”是总的传播时延。而在多点链路里“ delay”是指单位距离的传播时延。用户可以修改传播时延的计算方法,“distance related”就是表示在自定义的传播时延pipeline stage里基于距离计算传播时延的。5、在opnet中关于统计一些速率方面的参数!统计流速率的时候,首先应该在local statistics中将这个统计项的capture mode设成sum/time,然后在程序中每次收到一个数据包,就将这个包的长度l写入,比如op_stat_write(handle,l),随后再马上调用一个op_stat_write(handle,0)来结束这次写入。6、用vc调试的时候,state variable的值无法看到,怎么办?用op_sv_ptr这个指针,它指向所有的状态变量。7、opnet运行时无法进行c代码编译,怎么办?这是因为visual c+没有正确安装,这是需要修改系统的环境变量: 1)、正确安装vc+,缺省目录为c:program filesmicrosoft visual studio。 2)、在桌面鼠标右击“我的电脑”图标,选择“属性”,选择“高级”,选择“环境变量”。 3)、修改“用户变量”,添加以下参数:变量名 include 变量值 c:program filemicrosoft visual studiovc98atlinclude; c:program filemicrosoft visual studiovc98mfcinclude; c:program filemicrosoft visual studiovc98include变量名 lib变量值 c:program filemicrosoft visual studiovc98mfclib; c:program filemicrosoft visual studiovc98lib变量名 msdevdir变量值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急腹症护理课件
- 钻具租赁合同模板(2篇)
- 阅读馆合伙人合同(2篇)
- 认识平行 课件
- 输尿管超声课件
- 幼儿园小班音乐《大树妈妈》教案
- 西京学院《网页设计与制作》2022-2023学年期末试卷
- 幼儿园语言教育中的谈话活动第5章
- 西京学院《单片机原理及应用实验》2022-2023学年期末试卷
- 西华师范大学《中学教研活动组织指导》2023-2024学年第一学期期末试卷
- 北京八中初一期中数学试卷
- 2024年营养指导员理论知识考试题库及答案
- 2024年四川成都青白江蓉欧园区运营管理有限公司招聘笔试参考题库含答案解析
- 医院岗前培训实施方案
- 人教版小学数学5年级教师用书
- 2024年1北京邮电大学马克思主义基本原理概论(期末考试题+答案)
- 《1+X幼儿照护(中级)》课件-6.1.身高的测量与评估
- 沥青混合料冻融劈裂性能影响因素分析
- 团队协作与冲突解决技巧训练
- 重症感染合并糖尿病
- Blender超级学习手册
评论
0/150
提交评论