diff --git a/src/spectrum/model/multi-model-spectrum-channel.cc b/src/spectrum/model/multi-model-spectrum-channel.cc index 36ba8a897..4a4c71798 100644 --- a/src/spectrum/model/multi-model-spectrum-channel.cc +++ b/src/spectrum/model/multi-model-spectrum-channel.cc @@ -307,8 +307,15 @@ MultiModelSpectrumChannel::StartTx(Ptr txParams) } if (m_propagationLoss) { - propagationGainDb = - m_propagationLoss->CalcRxPower(0, txMobility, receiverMobility); + if (txMobility->GetPosition() == receiverMobility->GetPosition()) + { + propagationGainDb = 0; // Assume no propagation loss when co-located + } + else + { + propagationGainDb = + m_propagationLoss->CalcRxPower(0, txMobility, receiverMobility); + } NS_LOG_LOGIC("propagationGainDb = " << propagationGainDb << " dB"); pathLossDb -= propagationGainDb; }