Lovefield Wireless Wiki Lovefield Wireless

Wireless IEEE 802.11 Simulation Tool ”Jemula802”

Love­field Wire­less main­tains a self-made event driven sim­u­la­tion tool that en­ables a de­tailed and in-depth anal­y­sis of wire­less net­works, mainly Wi-Fi IEEE 802.11. The tool is based on Java and is be­ing used at ETH Zurich, Depart­ment of Com­puter Science, for teach­ing Wi-Fi pro­to­cols and ra­dio re­source man­age­ment al­go­rithms.
Version: 2020-Jun-30

Jem­ula802 is a tool for sim­u­lat­ing IEEE 802.11 wire­less net­works. It is licensed under BSD and made avail­able as open source. It is ca­pa­ble of sim­u­lat­ing net­works with sta­tis­ti­cal traf­fic gen­er­a­tors. It con­tains sim­ple TCP/IP stacks, di­rec­tional an­ten­nas, and a mo­bil­ity model. Wire­less sig­nal path loss is mod­elled with a ra­dio prop­a­ga­tion model. The mod­u­la­tion and cod­ing schemes used by ra­dio trans­ceivers are ad­dressed with heuris­tic in­ter­fer­ence mod­els (as com­monly used in a link bud­get anal­y­sis). Jem­ula802 is writ­ten in Java and has an event-based ar­chi­tec­ture. The de­fault con­nec­tiv­ity model cal­cu­lates packet er­rors based on sig­nal, noise, and in­ter­fer­ence strengths, tak­ing packet struc­tures as well as cod­ing and mod­u­la­tion schemes into ac­count. A sim­u­la­tion sce­nario is con­fig­ured us­ing an XML sce­nario file. In such an XML file, it is pos­si­ble to spec­ify val­ues for al­most ev­ery pa­ram­e­ter of the wire­less pro­to­cols and sys­tem. The con­fig­u­ra­tion pa­ram­e­ters of the MAC layer are in­de­pen­dent and can in­di­vid­u­ally set for each of the ra­dio sta­tions to be sim­u­lated.

The re­sults of a sim­u­la­tion con­tain through­put data (end to end and per mesh net­work­ing hop), of­fered traf­fic gen­er­ated by the traf­fic gen­er­a­tors, and the sys­tem la­tency (packet de­lay dis­tri­bu­tions), per pri­or­ity, end to end and per mesh net­work­ing hop. Sta­tis­ti­cal data can be vi­su­al­ized with sim­ple scripts (GNU Octave ex­am­ples are pro­vided), and data vi­su­al­iza­tion con­ve­niently uses Google Earth APIs. Ex­am­ple vi­su­al­iza­tions can be seen be­low.


Down­load the code here (sys­tem model jem­ula802 and sim­u­la­tion ker­nel jem­ula): lfield / jemula802 and lfield / jem­ula. Devel­op­ers might want to clone from bit­bucket:

Getting Started

The files are a good start­ing point. There are also some ex­am­ple XML sce­nario files defin­ing de­fault sim­u­la­tion sce­nar­ios in the Jem­ula802 repos­i­tory (sce­nar­ios are con­fig­ured with the help of XML files).

Fig­ure 1: Jem­ula802 vi­su­al­iza­tion us­ing Google Earth.
Fig­ure 2: Jem­ula802 GUI vi­su­al­iza­tion to an­a­lyze packet trans­mis­sions.
Fig­ure 3: Another Jem­ula802 vi­su­al­iza­tion us­ing Google Earth.