Go directly to main content

WSNet / Worldsens simulator

An event-driven simulator for large scale wireless sensor networks


About WSNet

  1. What is WSNet ?
  2. WSNet is wireless network event-driven simulator. It is largely similar to other event-driven simulators such as ns2, JiST, GloMoSim, GTNetS, omnet++ though it differentiates itself with various functionalities, a precise radio medium simulation and the simulated node internals.

  3. Why a new simulator ?
  4. For many reasons, not all of them being valuable. :-) Ultimately, one of the main interest of WSNet is to offer a wide range of radio medium modeling, from a basic perfect physical layer to a very precise one.

  5. How does it cost ?
  6. Nothing. WSNet is under the Cecill free software license agreement.

  7. Who/Why to contact ?
  8. If you have any remark, question or contribution to this simulator, do not hesitate to contact one of the developpers. Inputs and feedbacks are more than welcome. In particular, do not hesitate to ask for additions in this faq or in the tutorials.

[ Back to Top ]

For users

  1. How to tune the radio medium simulation precision ?
  2. The radio medium simulation is tuned using three macros defined in the "include/options.h" header file. The first macro, CHANNELS_NUMBER, describes the number of radio channels that are handled in a simulation. Here, a radio channel is an abstract notion that defines a radio resource which could be a frequency or a code. Interactions and correlations between radio channels are given by the interferences entity defined in the environment section of the simulation configuration file.

    The second macro, SNR_STEPS, defines the number the number of sinr values that are computed for a given packet. If SNR_STEPS is equal to 0, interferences are not handled and the sinr is not computed. If SINR_STEPS is equal to -1, a sinr is computed for each byte of the packet. If SINR_STEPS is equal to n, the packet is divided in n slides and a sinr is computed for each slide.

    The third macro, SNR_ERRORS, defines wether the simulator introduces errors in the packet. If SNR_ERRORS is equal to 1, bits of the packet are randomly modified according to their ber. If SNR_ERRORS is equal to 0, no error is introduced.

    Of course, if you modify one of these macros you will have to recompile the simulator core.

  3. How to enable logging from a given model ?
  4. In order to log from a model, you should use the PRINT_* macro associated to the model type. For example, the PRINT_ANTENNA() macro from inside an antenna model.

    The logs defined by the PRINT_* macros are then enabled or disabled using the corresponding LOG_* macros.

  5. How to activate/desactivate the logs ?
  6. To activate or desactivate the logs, you have to uncomment or comment the LOG_* macros in the "include/options.h" header file. A log macro is associated with each of the model types and normally, developpers should use the corresponding type macro in the code of a model.

    Of course, if you modify one of these macros you will have to recompile the simulator core.

[ Back to Top ]


  1. How to use wsnet-replay ?
  2. wsnet-replay takes as input the a simulation log produced with the LOG_REPLAY macro enabled. Just redirect the simulation log to a file and pass this file to wsnet-replay.

  3. How to use matlab scripts ?
  4. The matlab scripts are used to produce snapshots and videos of the network map.

    A network state is a file with the following format :
    Node_0 Node_0_x Node_0_y Node_0_z Value_0
    Node_1 Node_1_x Node_1_y Node_1_z Value_1
    Node_id Node_x Node_y Node_z Value

    As examples, the monitoring model "nrj" produce energy maps of the network. These energy maps can be processed using the matlab scripts to produce the video of the network energy consumption.

[ Back to Top ]