From 74fd01a17e257ab5dd27edbbf8a0a04c171f244f Mon Sep 17 00:00:00 2001 From: Gabriel Ferreira Date: Fri, 28 Jun 2024 13:02:13 +0000 Subject: [PATCH] spectrum: Assume no pathloss when transmitter and receiver are co-located Prevents infs/nans --- src/spectrum/model/multi-model-spectrum-channel.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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; }