Skip to content
Iurii Voitenko edited this page Dec 18, 2016 · 14 revisions

Welcome to the simpleMANET wiki!

Introduction

This project aims to facilitate R&D of a new and existing MANET protocols. It is inspired by ns-2 / ns-3, which indeed are excellent simulation tools and we all love them. But sometimes research and development of a new MANET protocols or algorithms require rapid evaluation and greater vizualisation of a dynamic topology. Using NS the researcher must be familiar with C/C++ and TCL scripts. So let's face it, in order to design your own MANET protocol in NS you need to be a good programmer. This is however not a piece of cake!

That's why simpleMANET came to life. It's a simple discrete event MANET simulator for MATLAB. Why MATLAB? Because MATLAB with its powerful vizualisation tools and graphics is used in the research community for years. It requires no C/C++ or TCL knowledge, but more importantly it's very easy to work with.

Sometimes there is no RFC specified for the MANET protocol you want to evaluate or protocol format is incomplete. It complicates the realization of a proper model. In simpleMANET there is no need in a strict packet format which makes possible very fast evaluation of an idea.

How to use

simpleMANET is very easy to use. The project itself contains a main script manet.m and 3 subfolders: protocols, classes, functions. Protocols contains all the protocols available for simulation. Classes contains supplementary classes such as Node, RouteTable etc. Functions contains routine functions. To run the simulation just add project folder and its subfolders to the path and type "manet" in the MATLAB command window.

You can customize the simulation by changing default settings in config.ini

visualization options

  • showtext - shows type of a sent packet
  • showmoretext - shows supplementary info of the Node (bottom left to the Node)
  • showlines - shows line when packet sent
  • showsender - shows circle around transmitting Node
  • showalledges - shows connectivity on the topology
  • printstat - prints detailed statistics after simulation

simulation constants

  • NODES - number of nodes in simulation
  • SENDERS - number of senders in simulation
  • RECEIVERS - number of receivers in simulation

global variables

  • SIMTIME - total simulation time, ms
  • SAMPLING - network event update, ms
  • DELAYPLOT - delay in plot update, ms
  • SQUARE - square area in simulation, m
  • SPEED - max speed of node movement, m/s
  • RADIO - range of the radio, m
  • LOSS - loss percent per link, %
  • UP - time when nodes wake up, ms

runtime variables

  • P - total packets generated in the simulation
  • L - node loss vector
  • U - node start time vector
  • E - node energy vector
  • Coord - node initial coordinates vector

protocols

Protocols - a cell array of the running protocols in the simulation. To add more protocols into simulation: [{'proto1'},{'proto2'}]. Folder protocols contains all supported protocols.

Currently implemented protocols: ODMRP [1], Neighbor, HLMRP

[1] http://web.cs.ucla.edu/classes/fall03/cs218/paper/odmrp-wcnc99.pdf

agents

Agents - a vector specifying a role for a Node: 0 - no data traffic, 1 - data receiver, 2 - data sender

applications

Apps - a structure defining the data stream.

  • CBR - constant bitrate
  • packetlen - length of the data packet
  • period - period of the data packet generation, ms

Protocol example

TBD

TODO list

TBD