`

几种用于WSN的仿真工具

阅读更多

为评价无线传感器网络协议算法的性能,仅通过实验是无法实现的,特别是包含大量节点的大规模无线传感器网络,更是很难通过实验来实现(实际上,上百个节点的实验己经比较难以管理与实现)

 

为了实现无线传感器网络的仿真,研究人员设计开发(或在现有平台建立无线传感器网络模型)了许多的仿真平台,包括NS-2, OPNET,  SensorSim, EmStar, OMNet, G1oMoSim, TOSSIM, PowerTOSSIM等。

     

NS-2


NS-2 (Network Simulator-2)是著名的用于网络研究的离散事件仿真工具,里面包括了大量的用于在有线或无线、本地连接或通过卫星连接进行TCP协议、路由算法、多播协议仿真的网络协议、调度器和工具。NS-2主要致力于OSI模型的仿真,包括物理层的行为。NS-2可以对仿真进行详细的跟踪并用仿真工具“网络动画播放器”C Network Animator } NAM)进行回放。NS-2是开放源码的自由软件,可以免费下载[[1]。有一些研究小组对NS-2进行了扩展,使它能支持无线传感器网络的仿真,包括传感器模型、电池模型、小型的协议栈、混合仿真的支持和场景工具等。由于NS-2对数据包级进行非常详细的仿真,接近于运行时的数据包数量,使得其无法进行大规模网络的仿真。

 

OPNET


OPNET建模工具是商业化的通信网络仿真平台。OPNET采用网络、节点和过程三层模型实现对网络行为的仿真。其无线模型是采用基于流水线的体系结构来确定节点间的连接和传播,用户可指定频率、带宽、功率和包括天线增益模式和地形模型在内的其它特征。OPNET提供了很多的模型,包括TCP/IP, 802.1 I , 3G等。并已有一些研究人员在OPNET上实现对TinyOSNesC程序的仿真. 但要实现无线传感器网络的仿真,还需要添加能量模型,而OPNET本身似乎更注重于网络QoS的性能评价。

 

SensorSim


SensorSim是建立在NS-2的一个采用DSR802.11网络模型上的。SensorSim是用于WINS平台的,需要用SensorWare Tel脚本进行设计。SensorSim在仿真时跟踪了节点的能量使用情况,其能量模型来自WINS节点,使得其无法用于Mote平台的仿真。另外,SensorSim已经停止开发和支持,也无法下载到程序代码。

 

EmStar


EmStar提供了在仿真和基于iPAQ的运行Liunx的节点之间灵活切换的环境,用户可以选择在一个主机上运行多个虚拟节点进行仿真,也可以在一个主机上运行多个与真实的节点进行桥接的虚拟节点。EmSta:可以将无线传感器网络部署在一个友好的基于Linux的环境中,并进行跟踪和调试程序。EmTOS是用于在EmStar中进行TinyOS程序仿真的工具。 EmStar虽然不是一个真正意义上的无线传感器网络仿真工具,但却是一个很有用的用于对传感器网络的应用程序进行测试的环境。

 

OMNeT++


OMNeT++ ( Objective Modular Network Testbed in C++)是一个面向对象的模块化离散事件仿真工具。和NS-2一样,主要面向OSI模型,可以执行上千个节点的仿真。OMNeT++提供了图形化的网络编辑器和网络、数据流查看工具。仿真环境采用C++语言开发,并采用自定义的配置语言“NED”进行配置定义。OMNeT++的主要目标是提供可灵活配置仿真的组件体系。组件采用C++编程,并通过NED配置成更大的组件。OMNeT++在仿真802.11MACDirected Diffusion协议时,比NS-2要决一个数量级.

 

GloMoSim


GloMoSim (Global Mobile Information Systems Simulation Library )是一个可扩展的用于无线和有线网络的仿真系统,根据OSI进行分层的建模设计。应用层、传输层、网络层、数据链路层、数据包接收模型、无线电模型和无线电波传播模型等不同的层次之间采用标准的APIs进行仿真。GIoMoSim采用Parsec进行设计开发,提供了对并行离散时间仿真的支持。G1oMoSim目前仅支持纯无线网络的协议仿真,可用于仿真传感器网络中的物理信道特征和数据链路协议的时延等特性。

 

TOSSIM


TOSSIM (TinyOS mote simulator)是用于对采用TinyOSMotes进行bit级的仿真的工具。TOSSIMTinyOS环境下的NesC代码直接编译为可在PC环境下运行的可执行文件,提供了不用将程序下载的真实的Mote节点上就可以对程序进行测试的一个平台。TOSSIM还提供了用于显示仿真情况的用户界面TinyViz. TOSSIM的缺点是没有提供能量模型,无法对能耗有效性进行评价。

 

PowerTOSSIM


PowerTOSSIM是对TOSSIM的扩展,采用实测的MICA2节点的能耗模型对节点的各种操作所消耗的能量进行跟踪,从而实现无线传感器网络的能耗性能评价。PowerTOSSIM的缺点是,所有节点的程序代码必须是相同的,而且无法实现网络级的抽象算法的仿真。

 

 

OMNeT++仿真WSN相关开放源码网站

 

Mobility Framework for OMNeT++

http://mobility-fw.sourceforge.net/hp/index.html

 

EYES WSN Simulation Framework

http://wwwes.cs.utwente.nl/ewsnsim/download/

 

NesCT: A language translator   (使用NesC基于TinyOS平台开发, 然后使用omnet来模拟,提供界面支持)

http://nesct.sourceforge.net/

 

http://www.omnetpp.org/pmwiki/index.php?n=Main.NesCT  wiki

 

 一般来说,仿真是一种科学实验方法。通常情况下,你有了一些想法,为了证明这种想法,就建立一个模型来仿真,对于得到的仿真结果进行分析,如果和你的想法结果一致,就等于是一种证明方法,如果和你的想法不一致,排除仿真实验错误的情况后,可能也可以帮助你修正你的想法。

 

总得说了,如果你对于仿真,从概念上比较生疏,建议你参考清华大学出版的modeling simulation and analysis英文影印教材。然后就是选择仿真工具。

 

OMNet++相对于其它工具,入门非常简单,并且也有相应的支持WSN仿真的开源项目,所以很适合。

 

 

协议的性能评价方法

 

在计算机网络的理论研究中,设计一个新型的网络协议,需要对该协议的性能进行合理的评价。可以进行这种评价的方法大致有以下三种:

 

数学分析的方法。这一种方法有数学理论基础的支持,因此可以得出精确而合理的结果。但是另一方面,进行数学分析前需要首先建立一个合理的数学模型来对网络状况进行合理的描述。而这种模型的建立,往往又是无法全面兼顾各种情况的。因此,对网络协议的数学分析之余,需要还有具体的实践来证实这样的分析的有效性。

 

网络模拟器。这是一种将一些网络环境量化后,通过计算机来进行模拟的方法。实践证明这种方法是行之有效的,因为它可以利用软件模拟硬件环境,节省了开销,也节省了网络协议性能评价的代价。GloMoSim[1][2][3]就是现在比较流行的模拟器之一,其他比较著名的网络性能模拟器还有:NS2Network Simulator Version 2)、OPNET(事实上是NS2的商业版)、QualNetGloMoSim的商业版)。

 

试验台(Test bed)。这种方式就是把需要的试验做到硬件上,利用现实的环境,进行确实的测验。这种方式一般在网络模拟器性能估价比较完备的基础上进行。当然,现在有很多设备都支持对该设备进行编程(比如可以将软件在Palm上运行),现在利用这种方式进行实验的代价也已经大大降低。

 

对于大多数网络理论的研究者来说,除了从数学分析上对所做的协议进行评估以外,使用网络模拟器是一种快速而有效的方法。

 

在现有的网络模拟器中,OPNETQualNet是商业软件。NS2加上CMU模块,也可以支持ad hoc网络环境。GloMoSim对大型可扩展的无线网络支持的比NS2/CMU好。在ad hoc网络研究方面,很多的研究模拟都是基于GloMoSim的。

 

在使用网络模拟器的过程中,我们往往需要对模拟器进行添加和修改,以满足我们的试验要求。如果能对模拟器的结构和实现机制深入了解,实验的过程也会事半功倍。

 

 

References


http://www.idsia.ch/~andrea/simtools.html
仿真, 建模工具集合

 

http://www.omnetpp.org

官方网站

 

http://sce.uhcl.edu/transa/

Applying image processing techniques to simulate a self organized sensor network for tracking objects

 

http://www.citeulike.org/user/rafamayo/article/1005959

Simulating Wireless Sensor Networks with OMNeT++

 

http://wwwes.cs.utwente.nl/ewsnsim/download/

EYES WSN Simulation Framework

 

http://ctieware.eng.monash.edu.au/twiki/bin/view/Simulation/OMNeTppComparison?rev=1.5

OMNeT++ vs. NS-2


分享到:
评论

相关推荐

    几种用于WSN的仿真工具比较

    以下是一些常用的WSN仿真工具的比较: 1. **NS-2**:作为一款广泛使用的网络模拟器,NS-2主要用于网络协议的研究,支持有线和无线网络的TCP/IP协议、路由算法等。它可以详细追踪仿真过程,并用NAM进行结果可视化。...

    wsn仿真代码

    在WSN仿真中,以下几个核心知识点至关重要: 1. **传感器节点模型**:代码可能会定义节点的硬件特性,如计算能力、存储容量、电池寿命和通信范围。这些参数影响着网络的拓扑结构和能效。 2. **通信模型**:WSN通常...

    wsn.zip_WSN_WSN定位_wsn仿真

    MATLAB是一个强大的数学计算和建模工具,常用于WSN的仿真,因为它提供了丰富的函数库和可视化能力,便于对WSN的复杂行为进行建模和分析。 在WSN仿真中,通常会涉及以下几个步骤: 1. **网络模型的创建**:定义网络...

    无线传感器网络仿真介绍WSN

    本篇将详细介绍几种常见的无线传感器网络仿真工具,这些工具对于初学者了解和研究WSN非常有帮助。 1. NS-2:NS-2是一个广泛使用的网络模拟器,特别适用于无线网络的模拟,包括WSN。它提供了丰富的协议模型和可视化...

    WSN仿真_电子书,介绍极为详细,有助于深入了解WSN各个层

    通过对上述内容的详细解析,我们可以看出,WSN仿真工具的选择和使用对于深入理解WSN的各个方面至关重要。特别是OMNeT++,因其强大的功能和灵活性,在WSN研究中扮演着极其重要的角色。希望本篇文章能帮助读者更好地...

    WSN相关matlab仿真

    无线传感器网络(WSN)是一种由大量微型传感器节点组成的网络,这些节点通过无线通信相互连接,用于监测物理或环境条件,如温度、湿度、压力等。在本项目中,我们探讨了WSN的MATLAB仿真,特别关注节点分簇和节点存活率...

    WSN中的matlab仿真代码

    无线传感器网络(WSN)是一种由大量微型传感器节点组成的网络,这些节点通过无线通信相互连接,用于环境监测、目标跟踪等各种应用。在WSN的研究中,分簇路由协议是优化网络性能、降低能耗的关键技术之一。MATLAB作为一...

    wsn分簇LEACH和DEEC算法之matlab仿真.zip

    4. MATLAB作为工具进行WSN算法仿真的优势,以及如何设置和分析仿真结果。 5. 如何通过仿真优化算法参数,以达到更好的网络性能。 总的来说,理解并比较LEACH和DEEC这两种分簇算法,以及通过MATLAB进行仿真,对于...

    OMNET_与NS2在无线传感器网络仿真中的比较研究

    NS2(Network Simulator version 2)是另一种广泛使用的网络仿真工具,主要用于模拟计算机网络的行为。NS2的特点包括: 1. **成熟稳定**:NS2拥有较长的发展历史,社区活跃,支持多种协议栈,适用于不同类型的网络...

    WSN-topology_WSN_

    MATLAB是一种强大的数值计算和图形处理工具,常用于科研和工程领域。这个程序可能涉及到以下内容: - 创建二维WSN的仿真模型,包括节点的随机分布或特定布局。 - 实现几何路由算法,如平面直角坐标系下的最近邻或最...

    基于matlab实现非常齐全的wsn定位matlaB仿真程序.rar

    MATLAB作为一款强大的数值计算与仿真平台,被广泛用于WSN的定位算法设计与验证。本资源"基于matlab实现非常齐全的wsn定位matlaB仿真程序"包含了一套完整的WSN定位仿真程序,对于理解WSN定位原理和学习MATLAB编程具有...

    GAF.rar_GAF WSN_Malware_WSN_WSN分簇_gaf wsn

    1. **GAF算法实现**:这部分代码实现了GAF算法,用于WSN的节点分簇。它可能涉及到节点的能量模型、距离计算、簇头选择和数据聚合等。 2. **病毒传播模型**:这部分代码描述了病毒在WSN中如何从一个节点传播到另一个...

    WSN无线传感网络能耗的matlab仿真-源码

    本MATLAB仿真是专门针对WSN的能耗问题进行研究,旨在提供一种工具来评估和优化网络的能量消耗。 在WSN中,能耗主要涉及以下几个方面: 1. **数据采集与处理**:传感器节点需要消耗能量来感知周围环境并处理数据。...

    WSN網路節點DOI影響

    描述中提到“隨機放置50個節點”,这可能是在模拟一个小型WSN系统,通过Matlab这样的仿真工具来研究DOI对网络性能的影响。Matlab是一种强大的数学计算软件,也常用于科学和工程领域的建模与仿真,包括无线传感器网络...

    【WSN】无线传感器网络增强型MODLEACH的设计与matlab仿真 上传.zip

    MATLAB作为一种强大的数学建模和仿真工具,常用于WSN协议的验证和性能分析。在这个项目中,MATLAB被用来实现MODLEACH协议的仿真,包括簇头选举、数据传输、能量消耗模型等,通过模拟不同场景和参数,评估MODLEACH的...

    基于混沌粒子群的WSN定位算法研究与matlab仿真.zip

    无线传感器网络(WSN, Wireless Sensor Networks)是由大量部署在监测区域内的小型传感器节点组成,它们协同工作,用于环境监控、目标追踪等任务。在WSN中,节点定位是核心问题之一,它对于网络功能的实现,如数据聚合...

    在WSN中利用邻居锚节点进行定位的matlab仿真-源码

    MATLAB是一种强大的数值计算和数据可视化工具,对于仿真WSN定位算法非常适用。在提供的源码中,我们可以预见到以下几个关键部分: 1. **节点坐标定义**:首先,需要定义锚节点和未知节点的坐标。锚节点的位置是已知...

    基于PSO粒子群优化的WSN无线传感器网络覆盖问题仿真-使用matlab2021a或者以上版本测试-源码

    在WSN仿真中,MATLAB提供了丰富的工具箱和函数,便于构建复杂的模型和算法,进行性能分析。 在源码中,可能包含以下几个部分: 1. 初始化:设置粒子数量、迭代次数、粒子的初始位置和速度等参数。 2. 粒子更新:...

Global site tag (gtag.js) - Google Analytics