it.unibo.deis.lia.simulator


We have developed a Java simulator to reproduce a wireless environment with several Access Points (APs) and one Mobile Node (MN). Let us stress our purpose is to simulate a MN mobility behaviour and to get MN Received Signal Strength Indication (RSSI) for each nearby/visible AP, NOT to emulate AP-MN communication capabilities.

Figure 1 depicts our simulator architecture. Main components are: (filter is an auxiliary package exploited to low-pass filter RSSI.)


Figure 1. Simulator architecture.

IWLEnvironment interface in simulator.environment package simulates a wireless environment, depicted as a rectangle area with multiple APs. We have developed several IWLEnvironment implementations as wireless environment examples, differentiated in terms of number and density of APs, their distribution uniformity and environment area width and height. AP uniformity refers to their distribution shape. For example, Uniform environment deploys APs hexagonally, with the same distance between neighbour APs, while NonUniform one deploys APs without any particular shape. Figure 2 shows a snapshot of Uniform simulated wireless environment (84m x 62m) with 17 APs deployed with hexagonal topology (20m AP-to-AP distance) and one MN. MN is univocally associated to at most one AP, as specified by IEEE 802.11.


Figure 2. Simulated wireless environment.

IMNSim interface in simulator.trajectory package represents a MN with its own mobility pattern, i.e., walking behaviour. Implemented mobility models are: PhyDeviceSim in simulator.device package is the core component of the simulator. PhyDeviceSim exploits IWLEnvironment and IMNSim to correspondently get a wireless environment and a MN. First of all, PhyDeviceSim builds a wireless environment; then, at each step:
  1. requests for MN position;
  2. exploits MN-AP distances to calculate RSSIs exploiting Free Space Propagation Model (1);
  3. de/associates the MN dependently to calculated RSSIs and exploited handover strategy,
  4. feeds DeivceData with currently associated AP MAC address and visible AP list with corresponding RSSI.
(1)
where Pr is Received Power in Watts, Pt is Transmitted Power in Watts, Gt is Transmit Antenna Gain, Gr is Receive Antenna Gain, L is Wavelength, d is AP-MN Separation

To simulate signal strength fluctuations due to signal noise, we add a noise factor to the calculated RSSI; noise is randomly choose with Gaussian distribution, 3-6 dB standard deviation.
PhyDeviceSim simulates MN AP-to-AP handover implementing two spread IEEE 802.11 handover strategies: For instance, the handover strategies implemented by Cisco Aironet 350 and Orinoco Gold Wi-Fi cards follow, respectively, the HP and SP models. More in detail, Cisco Aironet 350 permits to configure its handover strategy with the "Scan for a Better AP" option: if the current AP RSSI is lower than a settable threshold, the Wi-Fi card monitors RSSI data for all visible APs; for sufficiently high threshold values, the Cisco cards behave according to the HP model. Orinoco Gold cards exactly implements the SP strategy, without giving any possibility to configure the used thresholds.

Test instantiates and activates PhyDeviceSim and interacts with DeviceData to get currently associated AP MAC address and visible AP list with corresponding RSSI. Test exploits FilterManager in filter package to low-pass filter RSSI fluctuations due to signal noise. We have developed several filter examples. filter package is not crucial for simulation purpose.

Test shows how to start and exploit the simulator. After PhyDeviceSim instantiation and activation, Test interact with DeviceData to get currently associated AP MAC address and visible AP list with corresponding RSSI; DeviceData provides a timestamp about the last data update. Let us stress it is in charge of Test to check via polling if current data is fresh or not, i.e., already read.

To modify simulation environment, change the value of following PhyDeviceSim variables:
  1. env with the requested wireless environment;
  2. MN with the requested MN trajectory;
  3. handoverStrategy with the requested handover strategy, i.e., either hard or soft proactive;
  4. standardDeviation with the request standard deviation.
Just to give an example, clicking Start simulation button it is possible to run an original simulation. Handover strategy is Hard Proactive (HP), RSSI fluctuation has a 3 dB standard deviation, mobility model is Continuous. Let us stress this is an original simulation: at each Start simulation click a different and original simulation will start.
Try me! 
 Try me!
(jre 1.5.0 or above required)
Three frames will appear: In order to test the whole simulator, please refer to our Download page.




Last update: 4-may-10