29 March 2014

Printing the receiving threshold for Propagation models in ns2

This post is helpful for you to find out the receiving threshold values of various propagation models for certain communication distance.

By default, ns2 uses a distance of 1.5m (the antenna is just placed 1.5m above the node ground). Suppose if someone needs to calculate the factor when the distance of the antenna is placed 10m above the ground, then the default value changes.

NS2 has an inbuilt mechanism to calculate the distance for certain communication range using the threshold.cc file in ~ns-2.35/indep-utils/propagation/ 

The file is not having any OTcl linkages, its a conventional C++ file that can be compiled using the command  g++

Before compiling the file, there are some changes in the threshold.cc file.
1. Change the #include<iostream.h> to #include <iostream>
2. Include the following two lines
#include <string.h>
using namespace std;

Once the changes are made, compile the file using the command
g++ -o threshold threshold.cc 
(The above command compiles and links the object to the file threshold, so you can execute the threshold file using the command)

prompt $] ./threshold

prompt $] ./threshold -m TwoRayGround distance 1.5 
Here is the output of the above command
distance = 1.7
propagation model: TwoRayGround

Selected parameters:
transmit power: 0.281838
frequency: 9.14e+08
transmit antenna gain: 1
receive antenna gain: 1
system loss: 1
transmit antenna height: 1.5
receive antenna height: 1.5

Receiving threshold RXThresh_ is: 6.65323e-05

propagation ns2
Printing distance parameters for propagation models.

For complete instructions, See this video

 T S Pradeep Kumar