在OPNET模型中,当包被传送到发送器请求发送后,实际中的情况是包将立即被发送到通信信道上进行传输,因此OPNET必须对通信信道进行建模,也就是在模型中要实现物理层的特征,以便将信道对包产生的传输效果考虑进整个网络模型。OPNET将信道对包产生的传输效果 建模为若干个计算阶段(称为pinpeline stage),最终来判断该包能否被接收到。

Pipeline的典型参数是一个packet指针,也就是说,pipeline是针对每 
  个包来计算它在物理信道上的传输效果的。为了承载 pipiline所需或计算的信道参数,每个包都包含着由transmission  data  attribute(T DA)的一组值构成的存储区,当包的传输效果计算进入某一pipeline stage时,系统内核为TDA分配初始值或者根据计算结果来设置TDA值 。这一组TDA值可以为后续的pipeline stage提供计算的依据 。 
        OPNET将传输信道划分为三种:点对点链路(point to point  Link), 
  总线式链路(bus Link)和无线链路(radio   Link) 。每一种链路由若干个标准的,缺省的pipeline stage组成。用户可以对缺省的pipeline stage 进行修改以适应用户所需的信道类型:用户可以在pipeline里定义自己的TDA,还可以调用系统内核里的支持对TDA进行操作的内核过程(KP)来编程实现自己的信道模型。 
        OPNET中缺省的pipeline stage模型文件后缀名为.ps.c,经编译后形成的 
  目标文件后缀名为.ps.o。所有的三种信道的缺省pipeline stage 文件都存储在<opnet目录>/<版本目录>/models/std/links/文件夹下面。用户若要自己编写pipeline stage来代替缺省模型,则需先编写.ps.c后缀的c或c++文件,然后编译形成.ps.o目标文件。 点对点链路的pipeline模型 
  由四个缺省的pipeline  stage组成,具体描述如下: 
  1) 传输时延阶段:模型文件dpt_txdel.ps.c。传输时延描述的是第一个比特发送时间到最后一个比特发送时间之间的时间间隔。 
  计算方法:从包里读取传输该包的信道的标志号(ID); 有了信道ID后,即可读取信道的数据速率;读取包的长度;传输时延=包长/数据速率;把计算而得的传输时延值写到包的TDA里。 
  2) 传播时延阶段:模型文件dpt_propdel.ps.c。传播时延描述的是第一个比特开始发送时间到第一个比特到达时间之间的时间间隔 。 
  计算方法:从包里读取传输该包的链路标志号(ID);有了链路ID,即可读取链路的"delay"属性值; 把该传播时延值写进包的TDA中; 
  3) 误码数目分配阶段:模型文件dpt_error.ps.c。 
  计算方法:读取链路的标志号(ID);读取链路的误码率"ber"属性值,即单个比特可能 误码的概率;读取包长;计算"正好发生k个比特误码" 的概率P(k),那么可以得到"至多发生k个比特误码"的概率P=P(0)+P(1)+……+P(k);产生一个在{0,1}内平均分布的随机数r;如果随 
  机数r小于等于"至多发生k个比特误码"的概率P,那么就"认定"k就是这个包在信道上传 输的误码数目;如果r大于P,那么就将k的值加1,反复计算以得到算法能够接受的误码数目;将误码数目写进包的TDA里。 
  4) 纠错阶段:模型文件dpt_ecc.ps.c。 
  计算方法:读取接收器的标志号(ID);读取接收器能纠正的误码数目门限值"ecc threshold"属性值;读取前面计算的错误数目;将错误数目与纠错门限"ecc  threshold"比较,判决该包是否能被正确接收;将判断结果写进包的 
  TDA里。

总线链路的pipeline模型 
  由六个缺省的pipeline  stage组成,其中第一个阶段针对每个传输只计算一次,而后面 的五个阶段针对各个可能接收到这次传输的接收器分别计算一次。 
  具体描述如下: 
  1) 传输时延阶段:模型文件dbu_txdel.ps.c。 
  计算方法:与点对点链路情况一致。 
  2) 封闭性计算阶段:模型文件dbu_closure.ps.c。 
  这个阶段的意义在于判断各个接收器节点是否能够接收到这次传输, 即链路的封闭性。针对每个接收器都有一个判断结果。有了这个结果以后系统内核就可以决定是否再为该接收器执行后面的计算进程。这个判断的好处是提高了仿真效率,因为若已知某接收器不能接收到这次传输,就不必为其计算传播时延,冲突等值,避免了进行不必要的计算。 
  计算方法:缺省认为所有bus上的站点都能接收到这次传输,因此直接把判断值写进包的TDA里。 
  3) 传播时延阶段:模型文件dbu_propdel.ps.c。 
  计算方法:读取链路的标志号(ID);读取链路的单位距离的传播时延"delay"属性值。注意在这里的delay属性与点对点链路的delay属性意义不一样。这里指的是单位距离的传播时延,而点对点链路中的delay直接指的是总传播时 
  延。因为点对点只涉及到单条链路的传播时延,而总线链路要针对不同接收器即不同的传播距离计算出多个传播时延;读取收发器之间的距离间隔;二者乘积值即为传播时延,将其写进包的TDA里。 
  4) 冲突检测阶段:模型文件dbu_coll.ps.c。 
  在某个包的整个接收时间内(第一个比特到达时间到最后一个比特到达时间之间的时间间隔),可能会发生多次传输事件,于是对于该包来说,可能要遭遇多次冲突事件。在OPNET中,每当发生一次冲突事件,就调用本pipeline stage一次,以记录这次冲突事件。这个pipeline stage对每个包传输不是总要调用,它只是在发生冲突时调用,而是否发生冲突是由系统内核来判别的。这个计算进程区别于其他的pipeline stage,有两个包指针参数:第一个是先到的分组,第二个是后到的分组(就是触发冲突事件的那一个)。 
  计算方法:如果前一个包刚好在后一个包开始传输时结束了接收,则不考虑为一次冲突 。因此读取前一个包的结束时间,将其与当前仿真时间 
  进行比较。如果相等或小于则不认为冲突。如果大于,则将前后两个包的记录冲突次数TDA都加一。 
  5) 误码数目分配阶段:模型文件dbu_error.ps.c。 
  计算方法:与点对点链路的计算方法一致,根据误码率计算误码数目。 
  6) 纠错阶段:模型文件dbu_ecc.ps.c。 
  包能被正确接收的判断标准与点对点链路稍有不同。首先是要求包未经冲突,然后将误码数目与纠错门限比较判断可正确接收与否。 
  计算方法:读取包的冲突数目;如果冲突数目不为0或节点被disabled,则直接判断为不能正确接收;将误码数目与纠错门限比较以决定能否正 
  确接收,将判断结果写进包的TDA里。具体步骤与点对点链路一致。 关于application模块的一些心得 
  application模块:profile用来描述用户的行为的:用户使用什么类型的应用,什么时候使用这样应用,使用多久? application具体描述应用的动作,比如说http应用,就规定每次取得页面的大小和时间间隔。一个profile可以包含多个application。

31、OPNET信道模型概述相关推荐

  1. WINNER II信道模型与WINNER+信道模型概述

    目录 1.WINNER II 2.WINNER+ 目前信道模型主要分为准确信道模型.随机信道模型.统计信道模型.其中随机信道模型集和其他两种模型的优点,成为主流的信道模型.随机模型中基于几何统计的随机 ...

  2. OPNET新建WLAN信道模型的方式

    OPNET中WLAN的信道模型在wlan_power中,如果想要新建信道模型,可以直接在wlan_power的基础上进行修改,主要步骤为: 1. 修改信道模型 wlan_power中信道模型主要通过p ...

  3. linux 内核模型,The Linux Kernel Device Model - Overview -- Linux 内核设备模型概述

    --------------------------------------------------------------------------------------------------- ...

  4. 信道模型:Rayleigh、Rician、卫星→地面:Shadowed-Rician

    这里写目录标题 比较 C. Loo模型:直射阴影,多径不阴影 Corazza模型:直射和多径都阴影 Lutz模型:好坏2个状态 Rayleigh and Rician 信道生成 Shadowed-Ri ...

  5. 宽带无线通信知识点整理_第二章_信道模型

    目录 1.概述 1.1.信道模型 1.2.调制信道模型 1.3.信道参数和影响因素 2.不考虑空间特性的信道模型(全向天线) 2.1.信道的基本特质 2.1.1.多经 2.1.2.多普勒频移(Dopp ...

  6. m无线通信信道matlab仿真,包括自由空间损耗模型,Okumura-Hata模型,COST231 Hata模型,SUI信道模型

    目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 无线信道是移动通信的传输媒体,所有的信息都在这个信道中传输.信道性能的好坏直接决定着人们通信 ...

  7. matlab模拟短波天波,基于短波信道模型的宽带信号传输实现

    天波雷达对空域和海域监视有着重要的意义,天波雷达信道的研究是进行雷达信号处理的前提.在某种意义上,天波雷达信道就是短波信道,窄带短波通信和天波超视距雷达在信道特性方面是相同的.短波(天波)通信的传输介 ...

  8. 基于MATLAB的SUI信道模型的理论分析与仿真

    为了仿真一个无线接收机接受信号强度的变化,我们需要知道:接收机所处的地理环境, 接收机到发射机的各个路径信号所受的影响,多普勒频偏等,即信道模型.对于频域单载波(SC-FDE) 技术,IEEE802. ...

  9. 1、CSS 框模型概述(盒模型)

    CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式. CSS 框模型概述 不同部分的说明: Margin(外边距) - 清除边框外的区域,外边距是透明的 ...

最新文章

  1. MySQL中truncate误操作后的数据恢复案例
  2. linux创建新进程就分配空间,linux几种创建进程的方法
  3. ajax 进度条 php,php – Jquery :: Ajax提供进度条?
  4. Flutter GetX 状态管理 响应式编程(三)
  5. oracle 如何查看一个表属于哪一个数据文件,如何查看某一表空间的数据文件都分布了哪些数据对象...
  6. linux 之 sed
  7. Java String详解、String原理、StringBuilder和StringBuffer的区别
  8. python - 文件打包发布流程
  9. “数字人体”宫颈癌风险智能诊断大会小结
  10. MongoTemplate地理位置查询(标准)
  11. 重磅丨美国公布长达35页的《2016-2045年新兴科技趋势报告》
  12. 同一个人两次被雷电击中,张益唐攻克世纪难题朗道-西格尔零点猜想?
  13. stm32f103c8t6串口数据包收发
  14. 大论文 自动生成标题目录、图目录和表目录
  15. Hive玩得好,头发就变少
  16. nodeJs处理json
  17. lubcon turmogrease turmosynthgrease turmotemp
  18. SharedPreferences的使用与Sqlite的使用
  19. 【python】python列表去重的5种常见方法实例
  20. tp5 日期范围查询_tp5(thinkPHP5框架)时间查询操作实例分析

热门文章

  1. easyui treegrid 操作
  2. 建模新手入门,来看安装ZBrush对电脑有什么特别的要求?
  3. 移动应用的黑盒测试(1)
  4. 1083. Windy数
  5. 眼底病php 是什么病,眼科眼底病 常见的眼底病有哪些呢
  6. 武魂java_js及jsp.java查错的几种方式
  7. 《快速掌握PyQt5》
  8. 上万元游戏拼多多7块搞定 PICO防不住
  9. 2019-10-06 因果系统的理解
  10. 计算机考试显示延时一分钟,电脑显示延迟解决方法教程