Wireless Signal Interference Models Made Simple



Wireless signal interference model specifies how a number of signals interact when they are received by the same radio.
Signal interference model is a very important part of a simulator. Despite its importance and due to its relative complexity, it is rarely being revisited by simulator users. As a result, a wrong model could be erroneously used, which has a drastic effect on simulation correctness. In this page I will try to briefly explain the various radio interference models used in SWANS, as well as in other state-of-the-art simulators.

If you do not have time to read this whole page, it can be briefly summarized in one sentence: the correct radio interference model in SWANS is RadioNoiseAdditive and not RadioNoiseIndep.


RadioNoiseIndep model in SWANS:

RadioNoiseIndep is a default radio interference model used in SWANS. RadioNoiseIndep was developed to mimic the poor interference model that was used in ns2 [5] simulator until recently. This is an SNR based model in which every signal noise is handled independently and it also includes preamble and frame body capture. However, it is not an exact copy of ns2 old interference model.

According to RadioNoiseIndep model in SWANS, when signal A arrives when the radio is idle (not receiving and not transmitting), the radio locks on this signal if it is above the sensitivity threshold of this node's phy. If the signal is below the receive threshold, it will be regarded as noise and could not be received and processed by MAC later.

If a new signal B arrives while the radio is locked on a previous signal A, the following rule is applied:

  1. If B is below the sensitivity threshold - it is being ignored. Otherwise,
  2. If B's power is stronger than the power of A by SNR threshold (the signal-to-noise ratio between B and A is above some predefined threshold), the radio drops A and locks on B. This ability of a radio to lock on a stronger signal while receiving another signal is known as a "capture effect" [3]. Otherwise,
  3. If A's power is stronger than the power of B by SNR threshold (the signal-to-noise ratio between A and B is above some predefined threshold), the radio stays locked on A and ignores B. Otherwise,
  4. If neither 2 nor 3 is true (A and B are approximately at the same level) - RadioNoiseIndep model erroneously ignores this case and does nothing. The radio stays locked on A and ignores B. The correct behavior in this case is to create a collision between the 2 signals, which will result in both signals being lost (the media however should remain busy with one of the signals).

In older versions of the ns2 simulator (before version 2.33), the case 2 was missing. Thus, the stronger signal arriving second was not captured, but ignored. ns2 did simulate the case number 4 correctly  - it caused a collision of both packets in case neither of them has a stronger signal by SNR threshold.

In RadioNoiseIndep in SWANS, case 1, 2 and 3 were actually dealt correctly, but case 4 was erroneously ignored. As a result, RadioNoiseIndep model in SWANS was too optimistic and resulted in a very small number of collisions.


RadioNoiseImprovedIndep model in SWANS:

In order to solve the above problem of RadioNoiseIndep model, I have written a new model, called RadioNoiseImprovedIndep. It is very similar to RadioNoiseIndep, but it fixes the above bug, by adding the correct handling of case number 4. That is, if two signals are of approximately the same power level, they collide. I have also made two additional minor fixes to RadioNoiseIndep.
This is the code of RadioNoiseImprovedIndep.java.

RadioNoiseImprovedIndep is more accurate than RadioNoiseIndep, but it is still not THE accurate interference model, since the noise is not accumulated.


RadioNoiseAdditive model in SWANS:

This is the most accurate and correct interference model.
It is similar to the interference model currently used in Glomosim [6] and ns2 [5] version 2.33 simulators.
ns2 : the interference model and 802.11 mac model in ns2 simulator have recently undergone a thorough revision. The new interference model appears starting from version 2.33 (March 2008) (files mac/wireless-phyExt.cc and mac/mac-802_11Ext.cc) and is described in [1,2]. This revision of ns2 interference model was inspired by the work in [3], in which bugs in ns2 were reported. The work in [3] also explains the Physical Layer Capture effect in 802.11 networks. This new interference model in ns2 is very similar to RadioNoiseAdditive model in SWANS.

Shortly speaking, RadioNoiseAdditive model includes a cumulative SNR computation (noise accumulates, as opposite to independent noise of RadioNoiseIndep), preamble and PLCP header capture, and frame body capture. RadioNoiseAdditive model is equivalent to the so called "Physical model" of successful reception of a transmission, widely referred to in the literature [4].

According to the RadioNoiseAdditive model in SWANS, when signal A arrives, its power is compared with the cumulative noise level sensed by this node's radio and with a receive threshold.
If A's signal strength is above the cumulative noise level by SNR threshold (the signal-to-noise ratio between A and the cumulative noise is above some predefined threshold) and it is above the receive threshold, the radio locks on A and starts receiving it. If the radio is unable to lock on A (the signal is too weak or the noise is too strong), the power level of A is added to the cumulative noise at this node.

If a new signal B arrives while the radio is locked on a previous signal A, the following rule is applied:

  1. If B's power is above the receive threshold and if B's power is stronger than the cumulative noise level (the noise also includes the A signal), radio drops A and locks on B. This ability of a radio to lock on a stronger signal while receiving another signal is known as a "capture effect" [3].
  2. Otherwise, signal B is added to the cumulative noise level. This cumulative noise level (including B and not including A) is compared now with A's strength.
  3. If A's power is no longer stronger than the cumulative noise level by SNR threshold, the radio drops receiving A (the noise is too strong to correctly receive A). This is a collision.

Remark: it seems like the sensitivity threshold value does not play any role in the RadioNoiseAdditive model (since only the signal to noise ratio determines which packet is received correctly). This is true. However, the sensitivity threshold value influences the 802.11 MAC: any signal above the sensitivity threshold is considered a noise by MAC, causing MAC to defer its transmission and backoff counting. Thus, increasing the sensitivity threshold will implicitly decrease the throughput of the MAC.

I have revisited the RadioNoiseAdditive in SWANS and compared it with the design described in [1] and did not find any bugs.
Thus, according to my check, RadioNoiseAdditive in SWANS can be safely used in simulation. Using RadioNoiseAdditive also allows a fair comparison with the new and fixed ns2 model.


Additional small bug fixes:

In addition to the revision described above, I have also found one small, minor bug in RadioNoise.java file, in function endTransmit().
This is the fixed code of RadioNoise.java.



  1. Qi Chen, Felix Schmidt-Eisenlohr, Daniel Jiang, Marc Torrent-Moreno, Luca Delgrossi and Hannes Hartenstein,
    "Overhaul of ieee 802.11 modeling and simulation in ns-2",
    10th ACM Symposium on Modeling, analysis, and simulation of wireless and mobile systems (MSWiM '07), 
    Chania, Crete Island, Greece, 2007.
  2. F. Schmidt-Eisenlohr, M. Torrent-Moreno, T. Tielert, J. Mittag, and H. Hartenstein,
    "Cumulative Noise and 5.9 GHz DSRC Extensions for ns-2.28,"
    Department of Computer Science, University of Karlsruhe, Tech. Rep. TR-2006-21, Oct. 2006.
  3. A. Kochut, A. Vasan, A. U. Shankar, and A. Agrawala,
    "Sniffing out the correct physical layer capture model in 802.11b,"
    12th International Conference on Network Protocols (INCP'04), Washington D.C., USA; 2004
  4. P. Gupta and P.R. Kumar, 
    "The Capacity of Wireless Networks",
    IEEE Transactions on Information Theory, 46(2):388404, March 2000
  5. "Network Simulator ns-2," http://www.isi.edu/nsnam/ns/
  6. "GloMoSim - Global Mobile Information Systems Simulation Library", http://pcl.cs.ucla.edu/projects/glomosim/



Gabriel Kliot