install
  1. Shadowing model in ns-2

    I wanted to do simulations with a more realistic propagation model in ns-2, to examine the effect of lossy links at the edge of the propagation area. To do this, I had to work with the Shadowing propagation model, and I’ve made some discoveries. :-|

    First and foremost, the Phy/WirelessPhy RXThresh_ variable cannot be reduced below something like 10^-12. Thus, to get what I wanted, a more or less sharp cut-off at above 250 m radius, I had to increase the antenna gains from 1 to 20.

    The radio propagation application threshold can be used to determine the RXThresh_ value for a certain packet reception probability rate at a radius from the node. I used it for a 0.95 probability rate at 250 m. However, without increasing the gain of the antenna reception and transmission to 20.0, the RXThresh_ value was too small, at 4.73e-13, actually producing the same results as setting the RXThresh_ value to 0. Thus, don’t make the same mistake as me, be mindful of the (hidden?) minimum value of the RXThresh_ even if the output from threshold states otherwise.

    At the University of Hamburg – Harburg a Matlab-script to plot the packet receival probability at varying distances using the shadowing propagation model with defined parameter settings can be found. Firefox may not like the certificate and block you from the page, but I recommend to make an exception for this page, as the script works perfectly in Matlab. The script is an enormous help in determining the optimal shadowing parameters, and the picture on the right is a graph generated by the script.

    The result on the picture to the right was obtained with the following parameter values:

    Pt = 0.28183815;       % transmit power
    Gt = 20.0;              % transmit antenna gain
    Gr = 20.0;              % receive antenna
    freq = 2.4e9;        % frequency
    sysLoss = 1.0;         % system loss
    pathlossExp = 10.0;     % path loss exponent
    std_db = 4.0;          % shadowing deviation
    dist0 = 120.0;           % reference distance
    lambda = 3.0e8/freq;   % lambda
    rxThresh_=1.10552e-10;      % rx threshold

    Now you have no excuse; go run some simulations with shadowing!

    Tags