博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NS2移动节点
阅读量:4546 次
发布时间:2019-06-08

本文共 1870 字,大约阅读时间需要 6 分钟。

  MobileNode 是基本的ns Node对象,但是又具有自己的特性,比如,移动性。MobileNode类派生自Node类。

 

一、创建节点移动模型  

  有两种机制可以引起移动节点的运动。第一种,需要明确指定节点的起始位置和终止位置,这些位置指令通常放在一个单独的场景文件中。例如:

1 $node set X_ 
2 $node set Y_
3 $node set Z_
4 $ns at $time $node setdest

  在$time时刻,节点按照设定的速度从起始位置(x1, y1)向目的地(x2, y2)移动,按照这种方法,节点移动更新在任何需要知道节点位置的时候触发。

第二种方式,使用节点随机移动模型:

1 $mobilenode start

  该命令使节点从随机位置开始运动,并会定期改变节点的方向和速度。移动目的和速度是随机产生的。

 

二、移动节点的网络构建

  移动节点的网络栈是由一系列连接到无线信道的网络构件组成,这些构件包括LL,连接到LL的ARP模块,接口优先级队列(IFq),MAC层,netIF。这些组件由OTcl一起创建和组装。

 

三、无线传播模型

  NS2实现了三种无线传播模型,分别是free space(自由空间)模型,two-way ground reflection(双径地面反射模型)以及Shadowing(阴影)模型。在ns_doc18章。

  free space模型: 假定了一种理想化的传播环境,在发射方和接收方之间只有一条无障碍的直线路径。在 Free space 模型中,通信范围为以发射方为圆心的一个圆。如果接收方在这个圆里则可            以接收所有的包,否则将丢失所有的包。

1 $ns_ node-config -propType Propagation/FreeSpace

或者

1 set prop [new Propagation/FreeSpace] 2 $ns_ node-config -propInstance $prop

  Two-ray ground reflection模型:在两个移动节点之间,单一的直线传播不再是唯一的传播方式。Two-ray ground reflection 模型除了考虑直线传播路径还考虑了地面反射路径。此模型在长距             离传输环境中能有更准确的预测。

1 $ns_ node-config -propType Propagation/TwoRayGround

或者

set prop [new Propagation/TwoRayGround] $ns_ node-config -propInstance $prop

  Shadowing模型: Free space 模型和 Two-ray ground reflection 模型采用的接收功率公式主要是以距离参数来决定的,其通信范围是一个理想的环。事实上经过一定距离的传播后,由于多径传播效应(即熟知的阴影效应),接收功率是随机可变的。由此可见,上两种模型主要是以距离 d 来计算接收功率。

 

四、通信范围

  可以指定节点的通信范围,在网络接口中通过指定接收阈指定通信范围。

1 Phy/WirelessPhy set RXThresh_ 

一个单独的 C 程序被用来计算接收阈值,程序是:~ns/indep-utils/propagation/threshold.cc。这个程序适用于以上讨论的所有传播模型。假定此程序已经编译过得到一个可执行的文件,命名为 threshold。你可以按照如下方法来计算阈值:

threshold -m <propagation-model> [other-options] distance
<propagation-model>可以是 Freespace、TwoRayGound 或 Shadowing; distance 就是通信范围(单位:m);[other-options]用来指定一些参数,而不是默认的参数值。

转载于:https://www.cnblogs.com/leealways87/archive/2012/03/25/2416552.html

你可能感兴趣的文章
Docker 安装及问题处理
查看>>
[总结]数据结构(板子)
查看>>
C# 笔记
查看>>
2、文件夹
查看>>
win10企业版无法访问共享文件夹
查看>>
查行号
查看>>
《学习之道》第三章学习方法12批评使我们更优秀
查看>>
猫眼首页
查看>>
最短路之dijkstra算法
查看>>
SHDP--Working With HBase (二)之HBase JDBC驱动Phoenix与SpringJDBCTemplate的集成
查看>>
Lua语法基础(一)
查看>>
.Net Core2.*学习手册
查看>>
实验一、命令解释程序的编写实验
查看>>
2018年11月14日 学习字符串用法2
查看>>
2019年5月26日 re模块2
查看>>
Mac显示器不亮
查看>>
luogu P2312 解方程
查看>>
Cordova开发速记
查看>>
Chrome开发工具
查看>>
MySQL 的 RowNum 实现
查看>>