Skip to content

MWSL-UnB/802.11-SystemSimulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SysSim - IEEE 802.11a System Simulator
Version 1.2
11.22.2015

License:

  Copyright (c) 2002-2015  by Microwave and Wireless Systems Laboratory, by Andre Barreto and Calil Queiroz

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in
  all copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  THE SOFTWARE.
  
  For detailed information, see "Docs/manual.pdf"

Usage:

  The simulation parameters are read from configuration file "config.txt", simulation results are written in "results.txt". Both files are located in the same directory, which is given as a parameter when program is called from the command line. Default value for directory is "Data".
  More detailed information on the simulation parameters is given in default configuration file "Data\config.txt".
  

Features:

  - IEEE 802.11 MAC-DCF is implemented, both basic and RTS/CTS methods
  - both AP and STA supported
  - independent MAC instances per terminal
  - traffic model assumes exponnentially-distributed packet arrival intervals. Distribution parameter is chosen to satisfy a certain target data rate.
  - automatic rate adaptation, both with and without channel knowledge
  - distance-based propagation model with time-variant Rayleigh-fading channel
  - error model considers IEEE 802.11a physical layer
  - interference and hidden-channel considered
  - throughput is measured (overall and for each terminal)

Limitations and known bugs:

  - RTS and CTS are always transmitted at low-rate mode (6 Mbps)
  - only one data flow per STA
  - only one AP
  - traffic model assumes independent uplink and downlink traffic flows
  - no propagation delay considered
  - one single transmission channel (one single frequency)
  - frequency non-selective channel
  - interference model is based on highest interference level during a packet
  - reception of CTS/RTS by other terminals does not include interference
  - channel is variable for active links only (with data transmission), it is fixed for "interference" links

New in Version 0.1
  - batch mode supports iterative simulation with varying parameters

New in Version 0.2
  - adaptive data rate with perfect channel knowledge

New in version 0.3 (20/03/2002)
  - classes restructured
  - small bugs corrected
  - profiler implemented
  - link adaptation without a priori channel knowledge
  - command line option -no_pause (program does not pause after running)


New in version 0.4 (26/03/2002)
  - all parameters accept multiple values
  - command line option -it_file (result files are saved for each iteration)
  - if number of mobile stations is 1, then distance is fixed (equal to CellRadius)
  - if _SAVE_RATE_ADAPT is defined in "precompiler.h" then channel gain and data rate are saved in file
  - fading channel is now generated by Jakes' method, same channel is now obtained for every simulation with same seed
  - as specified in the standards, ACK is tranmitted with same data rate as received packet (was always 6Mbps in previous simulator versions)
  - DATA packet is also used for NAV updating by non-targetted terminals

New in version 0.5 (18/04/2002)
  - time stamp overflow throws error
  - transfer time is calculated
  - rate adaptation algorithm may use data rate of received packets to improve adaptation

New in version 1.0 (14/06/2002)
  - fragmentation
  - variable-length packets
  - program restructured for easier extension:
    - Packet class is now abstract and may be derived into different kinds of packets (MSDU,MPDU)
    - classes PHY, MAC and link_adapt created from Terminal functionalities
    - .h files contain only interface, private class members in _private.h
    - better documentation
  - log is now defined in configuration file, no need to recompile
  - traffic generator does not wait for MAC confirmation to send new packets. MAC has a packet
    queue

New in version 1.1 (20/06/2002)
  - traffic is not generated in class Terminal anymore, but in class Traffic
  - results can now ignore a given transient time
  - confidence interval is also calculated
  - command line option -it_file removed, now all results of all iterations are saved in results.txt

New in version 1.2 (02/08/2002)
  - power adaptation
  - several APs can be instantiated