Hello,
I'm trying to limit the receiving and carrier sensing range of nodes
in an IEEE 802.11 network. I've set the RXThresh_ and CSThresh_
values using the ~ns/indep-utils/propagation/threshold.cc program
while referring to http://mailman.isi.edu/pipermail/ns-users/2004-
April/041380.html for the values. However, I noticed a significant
differenece between the range I tried to set and distCST_ reported by
WirelessChannel::getDist() function.
Upon investigation, I found that the propagation model used to
determine whether a packet is received varies: if the distance
between the nodes is less than the crossover distance, then the Friis
model is used; otherwise, the Two Ray Ground model is used. (see the
function TwoRayGround::Pr(...) in ~ns/mobile/tworayground.cc) :
However, the propagation model used to calculate the carrier sensing
distance simply uses the TwoRayGround model (see TwoRayGround::getDist
(...)). It never uses the Friis model at all.
This difference is giving me some grief - since setting both
RXThresh_ and CSThresh_ to the same value gives different results.
Could someone clarify if this is intentional - and if so, why? I'm
currently planning to modify the CSThresh_ to also use Friis if the
distance between nodes is less than the crossover distance. Is that a
bad idea?
Further, I examined the crossover distance calculated by ~ns/indep-
utils/propagation/threshold.cc using the values specified in the
email referenced above. The crossover distance returned was 226.194m.
Would someone care to comment on this value?
Thanks,
~Madhu.