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.