Fading Link Error

[ Back to Network Simulator 2 for Wireless Home Page ]
OAR ns extensions for Fading:

The error-part is extended from another online patch from CMU and Rice Univ.

Cite from OAR site:
"Although the CMU implementation results in an accurate simulation of the wireless channel for each individual flow, the fading components of channels for different flows are identical, a scenario not encountered in practice. This arises due to the fact that the index into the pre-computed channel table (used to look-up the components of fading envelope) is chosen based on the simulator's time instant, which is identical for all flows. To more realistically model the wireless channel for multiple users we modified the implementation such that channel lookup indexes are a function of the flow and time."

How to use

Three files:
A table has to be created in a file to store all fading components.
File rice_table.txt maintains the table used by Ricean Fading Model.

Original Description from CMU package
III. USAGE
There is a sample script in the simscript directory. You will need
this and the file "rice_table.txt".

You should be able to run the sample script "rjp-sample.tcl". This
is just a slightly modified version of the example script
wireless-mitf.tcl which is in the NS distribution.

Parameters for the Ricean Fading: The fading model is used to
modulate the output of a large-scale fading model. In this case, it
uses TwoRayGround as the large-scale model.

For the Ricean Fading model:

MaxVelocity : This parameter determines the doppler spectrum.
The value of this parameter is the maximum speed of any objects in the
environment (could be nodes). It is NOT the speed of the
nodes themselves.

RiceanK : The Ricean K factor

LoadRiceFile : The file containing a table of in-phase and
quadrature-phase ricean components. This has to do with the
computation of the fading enveloped and doesn't have to be changed.
Just load the provided file "rice_table.txt" in the simscript directory.


The provided script uses the NORT routing as the routing protocol
(it is a NULL routing protocol).
This is not provided with the NS distribution. You can add nort.cc
and nort.h to a directory called nort/ in your NS source directory,
add nort/nort.o to Makefile.in, run configure and then make to
include support for this.


I did some minor changes, and the three files can be downloaded here:

The files prop_ricean.* should be put in the directory of ./mobile of ns source tree and the ricean_table.txt should be put in the same directory with simulation tcl-script.

Some lines in Tcl to enable this new propagation model:

set val(prop)           Propagation/Ricean          ;# radio-propagation model

set prop_inst [$ns_ set propInstance_]

$prop_inst MaxVelocity  2.5;
$prop_inst RiceanK        6;
$prop_inst LoadRiceFile  "rice_table.txt";

Reference Links:

1. Rice OAR software (http://www.ece.rice.edu/networks/software/OAR/OAR.html)
2. CMU Additions to the NS network simulator to handle Ricean and Rayleigh fading     http://www.ece.cmu.edu/wireless/downloads.html