Wireless Phy in ns-3

From Nsnam
Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

The goal of this project is to define a common interface to a set of PHY-level models for wireless transmission mediums spanning a large range of wireless transmission systems:

  • 802.11a/b/g
  • wimax
  • satellite
  • ...

The following sections try to define:

  • the characteristics of each wireless transmission system we want to capture
  • various models to capture these characteristics



  • carrier frequency: b/g: 2.4GHz, a: 5GHz
  • The frequencies for 802.11 b/g span 2.400 GHz to 2.487 GHz. Each channel is 22 MHz wide with a 5 MHz step to the next higher channel
  • signal spread: 22MHz for 802.11b (DSSS)
  • 802.11b transmission modes:
    • 1Mb/s: DBPSK + barker PN sequence
    • 2Mb/s: DQPSK + barker PN sequence
    • 5.5Mb/s: CCK + code spread
    • 11Mb/s: CCK + code spread
  • 802.11a transmission modes:
    • 6Mb/s: BPSK + FEC 1/2
    • 9Mb/s: BPSK + FEC 3/4
    • 12Mb/s: DBPSK + FEC 1/2
    • 18Mb/s: DBPSK + FEC 3/4
    • 24Mb/s: QAM16 + FEC 1/2
    • 36Mb/s: QAM16 + FEC 3/4
    • 48Mb/s: QAM64 + FEC 2/3
    • 54Mb/s: QAM64 + FEC 3/4

The MAC layer needs realistic models for the following features:

  • interference among multiple stations transmitting at the same time (on the same channel or from a different channel, since not all frequency channels in the 802.11 standard are perfectly orthogonal)
  • resistance of different transmission modes to interference: the 54Mbs mode should resist less than the 6Mbs mode
  • signal propagation: attenuation and delay. The attenuation must possibly be random. Be aware that the current Shadowing model implemented in ns-2.xx implements a Shadowing model which is time-varying, i.e. at every signal(packet9 reception the Shadowing formula is applied. This means that every packet will see different path loss. This is not true. In reality, the shadowing is static. After generating the path losses, they should be constant during the simulation. We do not know other model for temporal variation of the radio channel between two stationary nodes.
  • so-called "capturing": if a high-energy signal is received during the preamble/header reception of another signal, the high-energy signal crushes the low-energy signal
  • support for transmissions on different channels. Why would you like to have this feature? Well, you might want to be able to change the channel you are transmitting/receiving on (there exist several papers proposing to do so) or to have concurrent transmissions on different channels (for instance,if you want to simulate several 802.11 networks using different access points).

So, a typical PHY would be characterized by one of 5 states:

  • TX: transmitting some bits
  • SYNC: receiving some bits
  • IDLE: not doing anything, medium is not busy
  • BUSY: not doing anything, medium is busy
  • SLEEP: sleeping, not listening to the medium for status

The condition for BUSY state is precisely defined for 802.11: it is called CCA state detection. There are multiple CCA modes but mode 1 is based on the total energy measured at the antenna. Support for Mode 2 might be needed.


  • some people might need multiple SLEEP states: some SLEEP states are deeper than others, take longer to recover from, etc.
  • some people want to model antenna directionality. I have zero idea on how to model this (the attenuation could be a function of the distance and of the "angle" of the tranmission).
  • some people claim that an import feature to modelize is the fact that when a collision happens in the real world, it is really hard to correctly receive any of the two packets. A lot of simulation models incorrectly allow you to receive one of the packets with a high probability.

Model ideas:

  • switch to sync state based on a simple energy threshold when receiving the first bit of the preamble. Use a BER-based probability calculation to decide whether or not to receive a packet.
  • A potentially better model would use a threshold on the min SNIR over the preamble and header reception to decide whther or not to sync on a packet. This would allow us to implement "capturing".
  • Another variation would use a SER-based model to decide whether or not a packet can be received
  • Yet another variation would use a threshold on the min SNIR over the whole packet reception to decide whether or not a packet can be received.

Paper links:

Impulse-radio ultra-wide band and 802.15.4a

Generic UWB physical layer


  • Based on impulse radio and time-hopping.
    • Variable PRF.
  • Not clear yet what carrier frequency to use: variable or not?
  • signal bandwidth: variable from 500 MHz to a few GHz.
  • Transmission modes:
    • Binary modulation: BPSK or BPPM. Possibly M-ary PPM.
    • Variable rate channel code.

UWB LDR: 802.15.4a


  • carrier frequency: around 4 GHz and around 8 GHz.
  • signal bandwidth: 500MHz.
  • Transmission modes:
    • 0.8Mb/s: BPPM + BPSK with coherent detection, channel code: RS code and convolutional code.
    • 0.8Mb/s: BPPM with non-coherent detection (energy detector), channel code: RS code only.

In general

In general (i.e. for both models above) the PHY layer needs modelization of the following features:

  • interference among multiple stations transmitting at the same time.
  • signal propagation: attenuation and delay. Need proper model for UWB channels. For the multipath propagation channel, this would probably taken into account when computing the statistics of a received packet.
  • modelization of UWB packet detection and timing acquisition for both coherent and non-coherent receivers.

The typical UWB PHY would be caracterized by one of 5 states:

  • TX: transmitting some bits
  • RX: receiving some bits
  • SYNC: attempting to detect a packet and acquire the timing
  • IDLE: not doing anything
  • SLEEP: sleeping, not listening to the medium for status
  • There is not really a BUSY state since its very hard to know whether the medium is idle or not.

CCA is vastly different for UWB physical layers than for regular narrowband layers. Doing energy detection is not feasible.

Models which fulfill these needs:

  • UWB for ns-2 offers partial support for the generic UWB physical layer.

Error models

  • 802.11 2-ray AWGN frame loss model (for rural areas)

The ns-2 Shadowing propagation model is not realistic, as recognised in 802.11a/b/g. On the other hand, measurements made on a rural open area (see Validation for 802.11b wireless channel measurements) have shown that the ns-2 two-ray CMU Monarch propagation model is too simplistic. In fact, ns-2 uses a double regression to approximate 2-ray, which is resonable for lower frequencies, such as GSM. For 802.11 frequencies, an exact 2-ray propagation model is more appropriate, as it accounts for holes in the signal strength that happen at the distances where the direct and reflected ray interfere destructively; this phenomenon may altogether prevent correct frame reception. Additionally, frame reception is not a yes-or-no condition based on a threshold power level at the receiver, but rather is well approximated by receiving error probability given by a simple AWGN (additive white Gaussian noise) channel model. The details are described in Frame error model in rural Wi-Fi networks. A program for computing frame loss is available at wifiper.m. In addition, we measured a very slow fading process with bandwidth around 1 Hz, whose time evolution is then very different from the Shadowing model of ns-2. We hope to produce a patch for ns-2, and we would like to help implementing it for ns-3 too.

  • B...
  • C...