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:
- simulator.device, the core package simulating the physical wireless device,
- simulator.trajectory, the package simulating MN movements,
- simulator.environment, the package simulating the wireless environment.
(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:
- FromTo, MN walks from a given point to another given one at constant given speed.
- Straight, MN walks from a random point to another random one at constant random speed.
- Continuous,
- MN starts at a random point inside the simulated environment (linear distribution); it selects a random speed
vel in the given range (linear distribution);
- MN selects a random direction costDir (range [0, 360°], linear distribution);
- MN selects a random direction attDir with Gaussian distribution (mean costDir, standard deviation 30°);
- MN selects a random vel adding a value in the interval [-0.1m/s, +0.1m/s] (linear distribution) without exceeding
the given range;
- MN walks with direction attDir at speed vel;
- if (MN is inside the simulated environment) goto 3, else goto 2.
- Random Waypoint Model,
- MN starts at a random point inside the simulated environment (linear distribution);
- MN selects a speed vel in the given range (linear distribution);
- MN selects a random destination point inside the simulated environment (linear distribution);
- MN walks to the destination point at constant vel speed;
- if not (current position equal to destination position) goto 3;
- MN is idle (thinking time) for a random time interval in the given range (e.g. [0s, 10s]);
- goto 2.
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:
- requests for MN position;
- exploits MN-AP distances to calculate RSSIs exploiting Free Space Propagation Model (1);
- de/associates the MN dependently to calculated RSSIs and exploited handover strategy,
- 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:
- Hard Proactive (HP) strategy triggers handover any time the RSSI of a visible AP is greater than the RSSI of the currently
associated AP plus Hysteresis Handover Threshold (HHT); HHT is introduced mainly to prevent heavy bouncing effects.
- Soft Proactive (SP) strategy is "less proactive" in the sense that they trigger handover only if i) the HP condition applies
(there is an AP with RSSI greater than current AP RSSI plus HHT), and ii) the current AP RSSI is lower than a Fixed Handover
Threshold (FHT).
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:
- env with the requested wireless environment;
- MN with the requested MN trajectory;
- handoverStrategy with the requested handover strategy, i.e., either hard or soft proactive;
- 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.
(jre 1.5.0 or above required)
Three frames will appear:
- Simulation frame is the graphical representation of the simulated environment and the simulated MN;
- RSSI Monitor frame shows AP RSSIs achieved from MN every 1 second;
- RSSI Prediction frame shows predicted/filtered RSSIs exploiting a Grey Model fed with 10 values.
In order to test the whole simulator, please refer to our
Download page.