mirror of
https://gitlab.ibr.cs.tu-bs.de/tschuber/ns-3-leo.git
synced 2025-06-08 10:03:58 +02:00
Add user link parameters
This commit is contained in:
parent
bb3bcb627c
commit
7293dbbad1
12 changed files with 247 additions and 96 deletions
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "ns3/log.h"
|
||||
#include "ns3/enum.h"
|
||||
#include "ns3/double.h"
|
||||
|
||||
#include "leo-mock-net-device.h"
|
||||
|
||||
|
@ -25,6 +26,16 @@ LeoMockNetDevice::GetTypeId (void)
|
|||
MakeEnumChecker (
|
||||
DeviceType::GND, "ns3::LeoMockNetDevice::NetDeviceType::GND",
|
||||
DeviceType::SAT, "ns3::LeoMockNetDevice::NetDeviceType::SAT"))
|
||||
.AddAttribute ("ReceiverGain",
|
||||
"Receiver gain in dBm",
|
||||
DoubleValue (0.0),
|
||||
MakeDoubleAccessor (&LeoMockNetDevice::m_rxGain),
|
||||
MakeDoubleChecker<double> ())
|
||||
.AddAttribute ("ReceiverLoss",
|
||||
"Receiver loss in dBm",
|
||||
DoubleValue (0.0),
|
||||
MakeDoubleAccessor (&LeoMockNetDevice::m_rxLoss),
|
||||
MakeDoubleChecker<double> ())
|
||||
;
|
||||
return tid;
|
||||
};
|
||||
|
@ -45,4 +56,10 @@ LeoMockNetDevice::SetDeviceType (LeoMockNetDevice::DeviceType deviceType)
|
|||
m_deviceType = deviceType;
|
||||
}
|
||||
|
||||
double
|
||||
LeoMockNetDevice::DoCalcRxPower (double rxPower) const
|
||||
{
|
||||
return rxPower - m_rxLoss + m_rxGain;
|
||||
}
|
||||
|
||||
}; /* namspace ns3 */
|
||||
|
|
|
@ -30,8 +30,13 @@ public:
|
|||
DeviceType GetDeviceType () const;
|
||||
void SetDeviceType (DeviceType deviceType);
|
||||
|
||||
protected:
|
||||
virtual double DoCalcRxPower (double rxPower) const;
|
||||
|
||||
private:
|
||||
DeviceType m_deviceType;
|
||||
double m_rxLoss;
|
||||
double m_rxGain;
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -21,30 +21,55 @@ namespace ns3 {
|
|||
*
|
||||
*/
|
||||
|
||||
#define LEO_ONEWEB_FREQUENCY 28.5 // GHz
|
||||
#define LEO_ONEWEB_BANDWIDTH 0.25 // GHz
|
||||
#define LEO_ONEWEB_TX_ANTENNA_D 2.4 // m
|
||||
#define LEO_ONEWEB_EIRP 93.2 // dBm
|
||||
#define LEO_ONEWEB_MODCOD "256APSK 32/45" // -
|
||||
#define LEO_ONEWEB_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_ONEWEB_SPECTRAL_EFF 5.1 // bps/Hz
|
||||
#define LEO_ONEWEB_PATH_DISTANCE 1504 // km
|
||||
#define LEO_ONEWEB_ELEVATION_ANGLE 55 // deg
|
||||
#define LEO_ONEWEB_FSPL 185.1 // dB
|
||||
#define LEO_ONEWEB_ATMOSPHERIC_LOSS 2.3 // dB
|
||||
#define LEO_ONEWEB_RX_ANTENNA_GAIN 37.8 // dBi
|
||||
#define LEO_ONEWEB_SYSTEM_TEMP 447.2 // K
|
||||
#define LEO_ONEWEB_G_T 11.3 // dB/K
|
||||
#define LEO_ONEWEB_RX_C_N0 32.5 // dB
|
||||
#define LEO_ONEWEB_RX_C_ACI 27 // dB
|
||||
#define LEO_ONEWEB_RX_C_ASI 27 // dB
|
||||
#define LEO_ONEWEB_RX_C_XPI 25 // dB
|
||||
#define LEO_ONEWEB_HPA_C_3IM 30 // dB
|
||||
#define LEO_ONEWEB_RX_EB_N0_I0 13.3 // dB
|
||||
#define LEO_ONEWEB_REQ_EB_N0 12.3 // dB
|
||||
#define LEO_ONEWEB_LINK_MARGIN 1.03 // dB
|
||||
#define LEO_ONEWEB_DATA_RATE 1341.1 // Mbps
|
||||
#define LEO_ONEWEB_SHANNON_LIMIT 1.06 // dB
|
||||
// gateway uplink
|
||||
#define LEO_ONEWEB_GATEWAY_FREQUENCY 28.5 // GHz
|
||||
#define LEO_ONEWEB_GATEWAY_BANDWIDTH 0.25 // GHz
|
||||
#define LEO_ONEWEB_GATEWAY_TX_ANTENNA_D 2.4 // m
|
||||
#define LEO_ONEWEB_GATEWAY_EIRP 93.2 // dBm
|
||||
#define LEO_ONEWEB_GATEWAY_MODCOD "256APSK 32/45" // -
|
||||
#define LEO_ONEWEB_GATEWAY_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_ONEWEB_GATEWAY_SPECTRAL_EFF 5.1 // bps/Hz
|
||||
#define LEO_ONEWEB_GATEWAY_PATH_DISTANCE 1504 // km
|
||||
#define LEO_ONEWEB_GATEWAY_ELEVATION_ANGLE 55 // deg
|
||||
#define LEO_ONEWEB_GATEWAY_FSPL 185.1 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_ATMOSPHERIC_LOSS 2.3 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_RX_ANTENNA_GAIN 37.8 // dBi
|
||||
#define LEO_ONEWEB_GATEWAY_SYSTEM_TEMP 447.2 // K
|
||||
#define LEO_ONEWEB_GATEWAY_G_T 11.3 // dB/K
|
||||
#define LEO_ONEWEB_GATEWAY_RX_C_N0 32.5 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_RX_C_ACI 27 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_RX_C_ASI 27 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_RX_C_XPI 25 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_HPA_C_3IM 30 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_RX_EB_N0_I0 13.3 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_REQ_EB_N0 12.3 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_LINK_MARGIN 1.03 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_DATA_RATE 1341.1 // Mbps
|
||||
#define LEO_ONEWEB_GATEWAY_SHANNON_LIMIT 1.06 // dB
|
||||
|
||||
// user uplink
|
||||
#define LEO_ONEWEB_USER_FREQUENCY 18.5 // GHz
|
||||
#define LEO_ONEWEB_USER_BANDWIDTH 0.25 // GHz
|
||||
#define LEO_ONEWEB_USER_EIRP 36.0 // dBm
|
||||
#define LEO_ONEWEB_USER_MODCOD "16APSK28/45" // -
|
||||
#define LEO_ONEWEB_USER_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_ONEWEB_USER_SPECTRAL_EFF 2.23 // bps/Hz
|
||||
#define LEO_ONEWEB_USER_PATH_DISTANCE 2439 // km
|
||||
#define LEO_ONEWEB_USER_ELEVATION_ANGLE 20 // deg
|
||||
#define LEO_ONEWEB_USER_FSPL 185.5 // dB
|
||||
#define LEO_ONEWEB_USER_ATMOSPHERIC_LOSS 2.0 // dB
|
||||
#define LEO_ONEWEB_GATEWAY_RX_ANTENNA_D 1 // m
|
||||
#define LEO_ONEWEB_USER_RX_ANTENNA_GAIN 43.5 // dBi
|
||||
#define LEO_ONEWEB_USER_SYSTEM_TEMP 285.3 // K
|
||||
#define LEO_ONEWEB_USER_RX_C_N0 9.6 // dB
|
||||
#define LEO_ONEWEB_USER_RX_C_ASI 30 // dB
|
||||
#define LEO_ONEWEB_USER_RX_C_XPI 25 // dB
|
||||
#define LEO_ONEWEB_USER_HPA_C_3IM 20 // dB
|
||||
#define LEO_ONEWEB_USER_RX_EB_N0_I0 5.5 // dB
|
||||
#define LEO_ONEWEB_USER_REQ_EB_N0 4.6 // dB
|
||||
#define LEO_ONEWEB_USER_LINK_MARGIN 0.85 // dB
|
||||
#define LEO_ONEWEB_USER_DATA_RATE 558.7 // Mbps
|
||||
#define LEO_ONEWEB_USER_SHANNON_LIMIT 1.49 // dB
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -81,10 +81,12 @@ LeoPropagationLossModel::DoCalcRxPower (double txPowerDbm,
|
|||
return 0.0;
|
||||
}
|
||||
|
||||
double rxc = -m_atmosphericLoss - m_freeSpacePathLoss;
|
||||
NS_LOG_DEBUG ("attenuation coefficient= " << rxc << " dB");
|
||||
// txPowerDbm includes tx antenna gain and losses
|
||||
// receiver loss and gain added at net device
|
||||
// P_{RX} = P_{TX} + G_{TX} - L_{TX} - L_{FS} - L_M + G_{RX} - L_{RX}
|
||||
double rxc = txPowerDbm - m_atmosphericLoss - m_freeSpacePathLoss - m_linkMargin;
|
||||
|
||||
return txPowerDbm + rxc;
|
||||
return rxc;
|
||||
}
|
||||
|
||||
int64_t
|
||||
|
|
|
@ -21,30 +21,55 @@ namespace ns3 {
|
|||
*
|
||||
*/
|
||||
|
||||
#define LEO_STARLINK_FREQUENCY 28.5 // GHz
|
||||
#define LEO_STARLINK_BANDWIDTH 0.5 // GHz
|
||||
#define LEO_STARLINK_TX_ANTENNA_D 3.5 // m
|
||||
#define LEO_STARLINK_EIRP 98.4 // dBm
|
||||
#define LEO_STARLINK_MODCOD "256APSK 3/4" // -
|
||||
#define LEO_STARLINK_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_STARLINK_SPECTRAL_EFF 5.4 // bps/Hz
|
||||
#define LEO_STARLINK_PATH_DISTANCE 1684 // km
|
||||
#define LEO_STARLINK_ELEVATION_ANGLE 40 // deg
|
||||
#define LEO_STARLINK_FSPL 186.1 // dB
|
||||
#define LEO_STARLINK_ATMOSPHERIC_LOSS 2.9 // dB
|
||||
#define LEO_STARLINK_RX_ANTENNA_GAIN 40.9 // dBi
|
||||
#define LEO_STARLINK_SYSTEM_TEMP 535.9 // K
|
||||
#define LEO_STARLINK_G_T 13.6 // dB/K
|
||||
#define LEO_STARLINK_RX_C_N0 32.4 // dB
|
||||
#define LEO_STARLINK_RX_C_ACI 27 // dB
|
||||
#define LEO_STARLINK_RX_C_ASI 27 // dB
|
||||
#define LEO_STARLINK_RX_C_XPI 25 // dB
|
||||
#define LEO_STARLINK_HPA_C_3IM 30 // dB
|
||||
#define LEO_STARLINK_RX_EB_N0_I0 13.3 // dB
|
||||
#define LEO_STARLINK_REQ_EB_N0 12.3 // dB
|
||||
#define LEO_STARLINK_LINK_MARGIN 1.02 // dB
|
||||
#define LEO_STARLINK_DATA_RATE 2682.1 // Mbps
|
||||
#define LEO_STARLINK_SHANNON_LIMIT 1.06 // dB
|
||||
// gateway uplink
|
||||
#define LEO_STARLINK_GATEWAY_FREQUENCY 28.5 // GHz
|
||||
#define LEO_STARLINK_GATEWAY_BANDWIDTH 0.5 // GHz
|
||||
#define LEO_STARLINK_GATEWAY_TX_ANTENNA_D 3.5 // m
|
||||
#define LEO_STARLINK_GATEWAY_EIRP 98.4 // dBm
|
||||
#define LEO_STARLINK_GATEWAY_MODCOD "256APSK 3/4" // -
|
||||
#define LEO_STARLINK_GATEWAY_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_STARLINK_GATEWAY_SPECTRAL_EFF 5.4 // bps/Hz
|
||||
#define LEO_STARLINK_GATEWAY_PATH_DISTANCE 1684 // km
|
||||
#define LEO_STARLINK_GATEWAY_ELEVATION_ANGLE 40 // deg
|
||||
#define LEO_STARLINK_GATEWAY_FSPL 186.1 // dB
|
||||
#define LEO_STARLINK_GATEWAY_ATMOSPHERIC_LOSS 2.9 // dB
|
||||
#define LEO_STARLINK_GATEWAY_RX_ANTENNA_GAIN 40.9 // dBi
|
||||
#define LEO_STARLINK_GATEWAY_SYSTEM_TEMP 535.9 // K
|
||||
#define LEO_STARLINK_GATEWAY_G_T 13.6 // dB/K
|
||||
#define LEO_STARLINK_GATEWAY_RX_C_N0 32.4 // dB
|
||||
#define LEO_STARLINK_GATEWAY_RX_C_ACI 27 // dB
|
||||
#define LEO_STARLINK_GATEWAY_RX_C_ASI 27 // dB
|
||||
#define LEO_STARLINK_GATEWAY_RX_C_XPI 25 // dB
|
||||
#define LEO_STARLINK_GATEWAY_HPA_C_3IM 30 // dB
|
||||
#define LEO_STARLINK_GATEWAY_RX_EB_N0_I0 13.3 // dB
|
||||
#define LEO_STARLINK_GATEWAY_REQ_EB_N0 12.3 // dB
|
||||
#define LEO_STARLINK_GATEWAY_LINK_MARGIN 1.02 // dB
|
||||
#define LEO_STARLINK_GATEWAY_DATA_RATE 2682.1 // Mbps
|
||||
#define LEO_STARLINK_GATEWAY_SHANNON_LIMIT 1.06 // dB
|
||||
|
||||
// user uplink
|
||||
#define LEO_STARLINK_USER_FREQUENCY 13.5 // GHz
|
||||
#define LEO_STARLINK_USER_BANDWIDTH 0.25 // GHz
|
||||
#define LEO_STARLINK_USER_EIRP 66.7 // dBm
|
||||
#define LEO_STARLINK_USER_MODCOD "16APSK3/4" // -
|
||||
#define LEO_STARLINK_USER_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_STARLINK_USER_SPECTRAL_EFF 2.7 // bps/Hz
|
||||
#define LEO_STARLINK_USER_PATH_DISTANCE 1684 // km
|
||||
#define LEO_STARLINK_USER_ELEVATION_ANGLE 40 // deg
|
||||
#define LEO_STARLINK_USER_FSPL 179.6 // dB
|
||||
#define LEO_STARLINK_USER_ATMOSPHERIC_LOSS 0.53 // dB
|
||||
#define LEO_STARLINK_GATEWAY_RX_ANTENNA_D 0.7 // m
|
||||
#define LEO_STARLINK_USER_RX_ANTENNA_GAIN 37.7 // dBi
|
||||
#define LEO_STARLINK_USER_SYSTEM_TEMP 362.9 // K
|
||||
#define LEO_STARLINK_USER_RX_C_N0 12.0 // dB
|
||||
#define LEO_STARLINK_USER_RX_C_ASI 25 // dB
|
||||
#define LEO_STARLINK_USER_RX_C_XPI 22 // dB
|
||||
#define LEO_STARLINK_USER_HPA_C_3IM 25 // dB
|
||||
#define LEO_STARLINK_USER_RX_EB_N0_I0 6.7 // dB
|
||||
#define LEO_STARLINK_USER_REQ_EB_N0 5.9 // dB
|
||||
#define LEO_STARLINK_USER_LINK_MARGIN 0.82 // dB
|
||||
#define LEO_STARLINK_USER_DATA_RATE 674.3 // Mbps
|
||||
#define LEO_STARLINK_USER_SHANNON_LIMIT 1.46 // dB
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -21,30 +21,55 @@ namespace ns3 {
|
|||
*
|
||||
*/
|
||||
|
||||
#define LEO_TELESAT_FREQUENCY 28.5 // GHz
|
||||
#define LEO_TELESAT_BANDWIDTH 2.1 // GHz
|
||||
#define LEO_TELESAT_TX_ANTENNA_D 3.5 // m
|
||||
#define LEO_TELESAT_EIRP 105.9 // dBm
|
||||
#define LEO_TELESAT_MODCOD "64APSK 3/4" // -
|
||||
#define LEO_TELESAT_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_TELESAT_SPECTRAL_EFF 4.1 // bps/Hz
|
||||
#define LEO_TELESAT_PATH_DISTANCE 2439 // km
|
||||
#define LEO_TELESAT_ELEVATION_ANGLE 20 // deg
|
||||
#define LEO_TELESAT_FSPL 189.3 // dB
|
||||
#define LEO_TELESAT_ATMOSPHERIC_LOSS 4.8 // dB
|
||||
#define LEO_TELESAT_RX_ANTENNA_GAIN 31.8 // dBi
|
||||
#define LEO_TELESAT_SYSTEM_TEMP 868.4 // K
|
||||
#define LEO_TELESAT_G_T 2.4 // dB/K
|
||||
#define LEO_TELESAT_RX_C_N0 25.6 // dB
|
||||
#define LEO_TELESAT_RX_C_ACI 27 // dB
|
||||
#define LEO_TELESAT_RX_C_ASI 23.5 // dB
|
||||
#define LEO_TELESAT_RX_C_XPI 25 // dB
|
||||
#define LEO_TELESAT_HPA_C_3IM 25 // dB
|
||||
#define LEO_TELESAT_RX_EB_N0_I0 11.4 // dB
|
||||
#define LEO_TELESAT_REQ_EB_N0 11.0 // dB
|
||||
#define LEO_TELESAT_LINK_MARGIN 0.36 // dB
|
||||
#define LEO_TELESAT_DATA_RATE 9857.1 // Mbps
|
||||
#define LEO_TELESAT_SHANNON_LIMIT 1.09 // dB
|
||||
// gateway uplink
|
||||
#define LEO_TELESAT_GATEWAY_FREQUENCY 28.5 // GHz
|
||||
#define LEO_TELESAT_GATEWAY_BANDWIDTH 2.1 // GHz
|
||||
#define LEO_TELESAT_GATEWAY_TX_ANTENNA_D 3.5 // m
|
||||
#define LEO_TELESAT_GATEWAY_EIRP 105.9 // dBm
|
||||
#define LEO_TELESAT_GATEWAY_MODCOD "64APSK 3/4" // -
|
||||
#define LEO_TELESAT_GATEWAY_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_TELESAT_GATEWAY_SPECTRAL_EFF 4.1 // bps/Hz
|
||||
#define LEO_TELESAT_GATEWAY_PATH_DISTANCE 2439 // km
|
||||
#define LEO_TELESAT_GATEWAY_ELEVATION_ANGLE 20 // deg
|
||||
#define LEO_TELESAT_GATEWAY_FSPL 189.3 // dB
|
||||
#define LEO_TELESAT_GATEWAY_ATMOSPHERIC_LOSS 4.8 // dB
|
||||
#define LEO_TELESAT_GATEWAY_RX_ANTENNA_GAIN 31.8 // dBi
|
||||
#define LEO_TELESAT_GATEWAY_SYSTEM_TEMP 868.4 // K
|
||||
#define LEO_TELESAT_GATEWAY_G_T 2.4 // dB/K
|
||||
#define LEO_TELESAT_GATEWAY_RX_C_N0 25.6 // dB
|
||||
#define LEO_TELESAT_GATEWAY_RX_C_ACI 27 // dB
|
||||
#define LEO_TELESAT_GATEWAY_RX_C_ASI 23.5 // dB
|
||||
#define LEO_TELESAT_GATEWAY_RX_C_XPI 25 // dB
|
||||
#define LEO_TELESAT_GATEWAY_HPA_C_3IM 25 // dB
|
||||
#define LEO_TELESAT_GATEWAY_RX_EB_N0_I0 11.4 // dB
|
||||
#define LEO_TELESAT_GATEWAY_REQ_EB_N0 11.0 // dB
|
||||
#define LEO_TELESAT_GATEWAY_LINK_MARGIN 0.36 // dB
|
||||
#define LEO_TELESAT_GATEWAY_DATA_RATE 9857.1 // Mbps
|
||||
#define LEO_TELESAT_GATEWAY_SHANNON_LIMIT 1.09 // dB
|
||||
|
||||
// user uplink
|
||||
#define LEO_TELESAT_USER_FREQUENCY 13.5 // GHz
|
||||
#define LEO_TELESAT_USER_BANDWIDTH 0.25 // GHz
|
||||
#define LEO_TELESAT_USER_EIRP 64.6 // dBm
|
||||
#define LEO_TELESAT_USER_MODCOD "16APSK2/3" // -
|
||||
#define LEO_TELESAT_USER_ROLL_OFF_FACTOR 0.1 // -
|
||||
#define LEO_TELESAT_USER_SPECTRAL_EFF 2.4 // bps/Hz
|
||||
#define LEO_TELESAT_USER_PATH_DISTANCE 1504 // km
|
||||
#define LEO_TELESAT_USER_ELEVATION_ANGLE 55 // deg
|
||||
#define LEO_TELESAT_USER_FSPL 178.6 // dB
|
||||
#define LEO_TELESAT_USER_ATMOSPHERIC_LOSS 0.41 // dB
|
||||
#define LEO_TELESAT_GATEWAY_RX_ANTENNA_D 0.75 // m
|
||||
#define LEO_TELESAT_USER_RX_ANTENNA_GAIN 38.3 // dBi
|
||||
#define LEO_TELESAT_USER_SYSTEM_TEMP 350.1 // K
|
||||
#define LEO_TELESAT_USER_RX_C_N0 10.5 // dB
|
||||
#define LEO_TELESAT_USER_RX_C_ASI 25 // dB
|
||||
#define LEO_TELESAT_USER_RX_C_XPI 20 // dB
|
||||
#define LEO_TELESAT_USER_HPA_C_3IM 30 // dB
|
||||
#define LEO_TELESAT_USER_RX_EB_N0_I0 5.9 // dB
|
||||
#define LEO_TELESAT_USER_REQ_EB_N0 5.2 // dB
|
||||
#define LEO_TELESAT_USER_LINK_MARGIN 0.76 // dB
|
||||
#define LEO_TELESAT_USER_DATA_RATE 599.4 // Mbps
|
||||
#define LEO_TELESAT_USER_SHANNON_LIMIT 1.49 // dB
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ MockChannel::GetPropagationLoss () const
|
|||
}
|
||||
|
||||
void
|
||||
MockChannel::SetPropagationLoss (PropagationLossModel model)
|
||||
MockChannel::SetPropagationLoss (Ptr<PropagationLossModel> model)
|
||||
{
|
||||
m_propagationLoss = model;
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ public:
|
|||
virtual bool TransmitStart (Ptr<const Packet> p, uint32_t devId, Address dst, Time txTime) = 0;
|
||||
|
||||
Ptr<PropagationLossModel> GetPropagationLoss () const;
|
||||
void SetPropagationLoss (PropagationLossModel model);
|
||||
void SetPropagationLoss (Ptr<PropagationLossModel> model);
|
||||
|
||||
protected:
|
||||
TracedCallback<Ptr<const Packet>, // Packet being transmitted
|
||||
|
|
|
@ -414,12 +414,18 @@ MockNetDevice::SetReceiveErrorModel (Ptr<ErrorModel> em)
|
|||
m_receiveErrorModel = em;
|
||||
}
|
||||
|
||||
double
|
||||
MockNetDevice::DoCalcRxPower (double rxPower) const
|
||||
{
|
||||
return rxPower;
|
||||
}
|
||||
|
||||
void
|
||||
MockNetDevice::Receive (Ptr<Packet> packet,
|
||||
Ptr<MockNetDevice> senderDevice,
|
||||
double rxPower)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << packet << senderDevice);
|
||||
NS_LOG_FUNCTION (this << packet << senderDevice << rxPower);
|
||||
|
||||
if (senderDevice == this)
|
||||
{
|
||||
|
@ -428,6 +434,8 @@ MockNetDevice::Receive (Ptr<Packet> packet,
|
|||
|
||||
m_phyRxEndTrace (packet);
|
||||
|
||||
rxPower = DoCalcRxPower (rxPower);
|
||||
|
||||
if (rxPower < m_rxThreshold)
|
||||
{
|
||||
// Received power is below threshold
|
||||
|
|
|
@ -147,8 +147,10 @@ public:
|
|||
* arrived at the device.
|
||||
*
|
||||
* \param p Ptr to the received packet.
|
||||
* \param senderDevice sender
|
||||
* \param rxPower RX power excluding receiver gain and loss
|
||||
*/
|
||||
void Receive (Ptr<Packet> p, Ptr<MockNetDevice> senderDevice);
|
||||
void Receive (Ptr<Packet> p, Ptr<MockNetDevice> senderDevice, double rxPower);
|
||||
|
||||
// The remaining methods are documented in ns3::NetDevice*
|
||||
|
||||
|
@ -206,6 +208,8 @@ protected:
|
|||
virtual void DoInitialize (void);
|
||||
virtual void NotifyNewAggregate (void);
|
||||
|
||||
virtual double DoCalcRxPower (double rxPower) const;
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue