移动通信与仿真实验内容aloha

上传人:jian****019 文档编号:244784588 上传时间:2024-10-06 格式:PPT 页数:33 大小:707KB
返回 下载 相关 举报
移动通信与仿真实验内容aloha_第1页
第1页 / 共33页
移动通信与仿真实验内容aloha_第2页
第2页 / 共33页
移动通信与仿真实验内容aloha_第3页
第3页 / 共33页
点击查看更多>>
资源描述
,*,TechniTemplate,Test,Test,Test,Test,1,OPNET,网络仿真,2,吴伟民,电子与信息工程系,目的,上次实验课中,我们学习了用,OPNET,仿真星型网络的扩展问题,了解了,Modeler,场景级的操作,并对,OPNET,的三层建模机制有了初步的印象。,这次课中,我们将用,Modeler,搭建一个,ALOHA,协议仿真平台,进一步熟悉,Modeler,节点级和进程级的操作,深化三层建模机制。,(,进程,-,节点,-,网络,),ALOHA,ALOHA,协议可以工作在无线信道和总线式网络中,网络模型如下图所示。其工作原理是,每一个站均自由地发送数据帧,如果发生冲突,则退避后重发。,ALOHA,网络拓扑图,20,个发送节点随机接入到总线型网络上,并按照纯,ALOHA,协议向,1,个接收节点发送数据。(协议内容详见计算机网络),设计,ALOHA,的发送节点模型,理论上,,ALOHA,系统的发送节点可以只由一个简单的信源产生器和一个总线发信机组成。但是按如下通用设计还可以扩展用在,CSMA,系统里面。,发送节点需要产生数据包,然后对数据包进行处理,最后通过总线发信机把包发送出去。节点模型如下图所示:,设计,ALOHA,发送节点进程模型,就是设计图,2,中,process,的进程模型,有限状态机如图,3,所示。当仿真开始时,会有一个中断产生,,FSM,执行,init,状态里的代码,然后进入,idle,状态等待其它的中断。有数据包到达的中断,PKT_ARVL,产生时,,FSM,执行,idle,的出口代码,并转到,tx_pkt,状态发送数据包,执行完后,再回到,idle,状态等待其它的中断。,设计,ALOHA,接收节点模型,接收节点只需要负责从总线上接收数据包,然后进行处理,所以它不需要一个,generator,。节点模型如下图所示。,设计,ALOHA,接收节点进程模型,即,cct_rx,进程模型。接收节点只是为了收集统计量而接收数据包。进程的状态机如图所示。,FSM,在,idle,状态等待接收没有产生冲突的数据包(冲突检测的方法在后文介绍)。仿真结束后,进程要统计信道的吞吐量与业务负载,所以相关统计变量需要在,init,状态中初始化。,创建,ALOHA,模型,创建,ALOHA,发送节点进程模型;,创建,ALOHA,发送节点模型;,创建,ALOHA,接收节点进程模型;,创建,ALOHA,接收节点模型;,创建,ALOHA,网络模型。,创建,ALOHA,发送节点进程模型,打开进程编辑器,(Process Editor),,画出下面的状态转移图。状态、状态转移线、状态转移条件。,注意强制状态和非强制状态!,在 中添加如下代码,(,宏定义和声明全局变量,),在 中添加一个状态变量,打开 状态的入口,写入以下代码,打开 状态的入口,写入以下代码,在,InterfacesGlobal Attributes,中定义一个全局属性“,max packet count”,,这个属性值在刚才的,init,状态入口代码中,由程序读入。,在,InterfacesProcess Interfaces,中,开启仿真开始中断,即把,begsim intrpt,的值设为,enabled,。,保存进程模型,命名为,aloha_tx,。,创建,ALOHA,的发送节点模型,打开节点编辑器,(Node Editor),,绘制如图的节点模型。进程、流线。,把,gen,的进程模型选为,simple_source,,并将其,Packet Interarrival Time,属性提升,(promote),。检测连接的包流与进程,HB,中宏定义的流是否一致;然后把,tx_proc,的进程模型设定为刚创建的,aloha_tx,。,(,在,tx_proc,上右键,,Edit AttributesProcess Model,选,aloha_tx),扩充通用的发送节点模型,为了将前面创建的发送节点模型能扩展用于,CSMA,,需要对节点模型进行通用性扩展。扩展后的节点模型如图所示,收信机是为了支持,CSMA,协议的双工能力,另外配合统计线可以给,tx_proc,进程提供关于信道忙闲信息的统计中断,用在,CSMA,中信道忙闲的检测。,图中红色线是,统计线,,它与流线不同。,打开统计线的属性对话框,将,rising edge trigger,和,falling edge trigger,值都设为,disabled,。,确认,tx_proc,进程的连接属性如下图所示。,最后,在,InterfacesNode Interfaces,,将支持的节点类型中,mobile,和,satellite,属性值设为,no,;另外,除了,gen.Packet Interarrival Time,属性,promote,外,其它所有属性都,hidden,。,保存节点模型,命名为,aloha_tx,。,创建,ALOHA,接收节点进程模型,接收节点唯一的作用就是用来对收到的包进行计数并记录统计量,所以它的,FSM,很简单,如右图所示,只需要在,idle,状态接收数据包并统计就行。,在,Process Editor,中画出右边的进程模型。,在,HB,中添加宏定义和全局变量定义相关代码,在,SV,中定义一个状态变量,在,init,状态的入口写入代码,初始化状态变量。,在,FB,中写入以下代码,(,定义,FSM,中转移函数,proc_pkt(),和,record_stats(),在,Interface-Process Interface,中把,endsim intrpt,值设为,enabled,,,hidden,所有的属性值。保存进程模型,命名为,aloha_rx,,,compile,通过后关闭进程编辑器。,创建通用的接收节点模型,在,Node Editor,中绘制接收节点模型。如图。,将,rx_proc,进程模型设为刚创建的,cct_rx,。在,Interfaces-Node Interfaces,中,隐藏所有的属性,并设置节点类型属性,,no,for,mobile,和,satellite,。保存节点模型为,cct_rx,。,创建一个新的链路模型,打开链路编辑器,(Link Editor),,设置支持的总线链路模型。,链路的其它特性均采用默认设置。,保存链路模型为,cct_link,。关闭链路编辑器。,创建一个对象面板,前面我们已经创建好了所有的发送节点、接收节点和链路,现在要用这些实体来搭建网络模型。,为了方便,我们需要将这些实体放在一个对象面板中供我们调用。,点击 按钮,出现对象面板。,点右上角的,Configure Palette,弹出对话框。,点对话框下面的,Clear,按钮,清除面板中的所有实体。,点,Link Modeles,,弹出,Select Include Entries,,找到,aloha_link,,,status,值改为,include,。,用同样的方法为面板添加,Node Models,。,最后,另存为,ALOHA,。,创建网络模型,FileNew,打开,project,编辑器,将项目命名为,cct_network,,场景名为,aloha,,接下来对场景做如下设置,在项目编辑器中,用快速布局的方法,(,参考前一个实验,),创建如图所示的,bus,网络模型。,当然,上面的网络拓扑还需要一个接收节点,手动添加一个接收节点,node_20,,注意用,cct_link,的,tap,从总线连到接收节点,(,相反的连接方法可能出错,),,最后网络模型如图,13,所示,之后保存网络模型并命名,cct_network,。,至此网络模型创建完毕。接下来需要配置业务、运行仿真、分析结果。,本次仿真将对不同的包到达间隔时间做评估,仿真开始前,会对,Packet Interarrival Time,设置,12,组数据,由此可以得到,12,组仿真结果,利用这些数据,就可以对协议进行评估。,接下来对这些过程进行设置。,输入和配置仿真序列,在刚才的项目编辑器中按如下步骤操作:,选择,DES Configure / Run Discrete Event Simulation(Advanced),多次仿真的仿真序列。,打开图标的属性对话框,点击,Advanced : Files,选项卡,确保,Network,值被设为,cct_network_aloha,。,Probe File,设置为,NONE,。,op_stat_scalar_write,函数和标量文件可以代替。,将,Scalar file,文件名设为,aloha,。仿真结束后,这个文件将收集发送节点进程模型中,FB,中,op_stat_scalar_write,函数的输出结果。,点击,General,:,Global Attributes,选项卡,确保,max packet count,值为,1000,。,点击,Object Attributes,选项卡,为,Office Network .*. gen. Packet Interarrival Time,设置,12,组值。,保存设置,关闭属性对话框。,运行仿真。,分析,Aloha,协议仿真结果,仿真的结果以标量值的形式存储在,aloha,标量文件中,现在就以这里的数值为基础,绘制网络吞吐量和网络负载之间的函数关系。,在项目编辑器中,FileNewAnalysis.,选择File Load Output Scalar File.,选择_aloha,点击工具栏的快捷图标,用两组标量值绘制图形。,ALOHA,仿真结果,选择横纵坐标的变量意义。,点击,OK,就就出现图形。大家可以将这个图与计算机网络上理论分析的结果作比较。,总结,本实验用,OPNET Modeler,搭建了,ALOHA,协议仿真平台,并对其性能进行了分析。,通过本次实验课,掌握了,OPNET,仿真的三层建模机制,熟悉了节点编辑器和进程编辑器的相关操作。,初步了解了,OPNET,协议仿真的思路。,参考内容,关于核心函数的用法,参考,HelpProduct DocumentationAPI Reference ManualDiscrete Event Simulation API Reference Manual,实验内容参考,HelpTutorials,里面的,Small Internetworks,和,CSMA/CD,两部分,想进一步了解,CSMA/CD,的协议仿真内容,参考,OPNET,自带,Tutorial,的,Ethcoax_net,工程,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!