ns3::SatPhy Class Referenceabstract

The SatPhy models the basic physical layer of the satellite system. More...

#include "satellite-phy.h"

+ Inheritance diagram for ns3::SatPhy:
+ Collaboration diagram for ns3::SatPhy:

Classes

struct  CreateParam_t
 Creation parameters for base PHY object. More...
 

Public Types

typedef Callback< void, uint32_t, uint32_t, uint32_t, uint8_t, double > AverageNormalizedOfferedLoadCallback
 
typedef Callback< SatChannelPair::ChannelPair_t, uint32_t, uint32_t > ChannelPairGetterCallback
 Callback for retrieving a pair of SatChannel associated to a beam. More...
 
typedef Callback< void, uint32_t, uint32_t, Address, Address, double, bool > CnoCallback
 
typedef SatPhyRxCarrierConf::ErrorModel ErrorModel
 Define ErrorModel in SatPhy. More...
 
typedef SatPhyRxCarrierConf::InterferenceEliminationModel InterferenceEliminationModel
 Define InterferenceEliminationModel in SatPhy. More...
 
typedef SatPhyRxCarrierConf::InterferenceModel InterferenceModel
 Define InterferenceModel in SatPhy. More...
 
typedef SatSignalParameters::PacketsInBurst_t PacketContainer_t
 Define PacketContainer in SatPhy. More...
 
typedef Callback< void, PacketContainer_t, Ptr< SatSignalParameters > > ReceiveCallback
 

Public Member Functions

 SatPhy (CreateParam_t &params)
 Constructor to create PHY objects with parameters. More...
 
 SatPhy (void)
 Default constructor. More...
 
virtual ~SatPhy ()
 Destructor. More...
 
void AverageNormalizedOfferedRandomAccessLoadInfo (uint32_t satId, uint32_t beamId, uint32_t carrierId, uint8_t allocationChannelId, double averageNormalizedOfferedLoad)
 Function for getting the normalized offered load of the specific random access allocation channel. More...
 
void BeginEndScheduling ()
 Begin frame/window end scheduling for processes utilizing frame length as interval. More...
 
double CalculateSinr (double sinr, double otherInterference)
 Calculate final SINR with PHY specific parameters and given calculated SINR. More...
 
void CnoInfo (uint32_t satId, uint32_t beamId, Address source, Address destination, double cno, bool isSatelliteMac)
 Function for getting the C/NO information. More...
 
void ConfigureRxCarriers (Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatSuperframeConf > superFrameConf)
 Configure Rx carriers. More...
 
virtual void DoDispose (void)
 Dispose of SatPhy. More...
 
virtual void DoInitialize (void)
 Initialization of SatPhy. More...
 
virtual double GetAdditionalInterference ()=0
 Get additional interference, used to compute final SINR at RX. More...
 
double GetDefaultFading () const
 Get the default fading of the PHY. More...
 
TypeId GetInstanceTypeId (void) const
 Derived from Object. More...
 
virtual Ptr< SatPhyRxGetPhyRx () const
 Get the SatPhyRx pointer. More...
 
virtual Ptr< SatPhyTxGetPhyTx () const
 Get the SatPhyTx pointer. More...
 
double GetRxAntennaGainDb () const
 Get the maximum antenna gain of the receiver in dB. More...
 
double GetRxAntennaLossDb () const
 Get the antenna loss of the receiver in dB. More...
 
double GetRxNoiseTemperatureDbk () const
 Get the noise temperature of the receiver in dbK. More...
 
double GetTxAntennaGainDb () const
 Get the maximum antenna gain of the transmitter in dB. More...
 
double GetTxAntennaLossDb () const
 Get the antenna loss of the transmitter in dB. More...
 
Ptr< SatChannelGetTxChannel ()
 Get the Tx satellite channel. More...
 
double GetTxMaxPowerDbw () const
 Get the maximum transmit power of the transmitter in dB. More...
 
double GetTxOboLossDb () const
 Get the OBO loss of the transmitter in dB. More...
 
double GetTxOutputLossDb () const
 Get the output loss of the transmitter in dB. More...
 
double GetTxPointingLossDb () const
 Get the pointing loss of the transmitter in dB. More...
 
void Initialize ()
 Initialize phy. More...
 
virtual void Receive (Ptr< SatSignalParameters > rxParams, bool phyError)
 Receives packets from lower layer. More...
 
virtual void SendPdu (PacketContainer_t, uint32_t carrierId, Time duration, SatSignalParameters::txInfo_s txInfo)
 Send Pdu to the PHY tx module (for initial transmissions from either UT or GW) More...
 
virtual void SendPduWithParams (Ptr< SatSignalParameters > rxParams)
 Send Pdu to the PHY tx module (for satellite switch packet forwarding) More...
 
bool SetBeamId (uint32_t beamId)
 Set the beamId this PHY is connected with. More...
 
void SetChannelPairGetterCallback (SatPhy::ChannelPairGetterCallback cb)
 Set the channel pair getter callback. More...
 
void SetDefaultFading (double fading)
 Set the default fading of the PHY. More...
 
void SetNodeInfo (const Ptr< SatNodeInfo > nodeInfo)
 Set the node info class. More...
 
virtual void SetPhyRx (Ptr< SatPhyRx > phyRx)
 Set the SatPhyRx module. More...
 
virtual void SetPhyTx (Ptr< SatPhyTx > phyTx)
 Set the SatPhyTx module. More...
 
void SetRxAntennaGainDb (double gainDb)
 Set the maximum antenna gain of the receiver in dB. More...
 
virtual void SetRxAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > satelliteMobility)
 Set the receive antenna gain pattern. More...
 
void SetRxAntennaLossDb (double lossDb)
 Set the antenna loss of the receiver in dB. More...
 
void SetRxFadingContainer (Ptr< SatBaseFading > fadingContainer)
 Set fading container. More...
 
void SetRxNoiseTemperatureDbk (double temperatureDbk)
 Set the noise temperature of the receiver in dbK. More...
 
void SetSatId (uint32_t satId)
 Set the satId this PHY is connected with. More...
 
void SetTxAntennaGainDb (double gainDb)
 Set the maximum antenna gain of the transmitter in dB. More...
 
virtual void SetTxAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > satelliteMobility)
 Set the transmit antenna gain pattern. More...
 
void SetTxAntennaLossDb (double lossDb)
 Set the antenna loss of the transmitter in dB. More...
 
void SetTxFadingContainer (Ptr< SatBaseFading > fadingContainer)
 Set fading container. More...
 
void SetTxMaxPowerDbw (double powerDb)
 Set the maximum transmit power of the transmitter in dB. More...
 
void SetTxOboLossDb (double lossDb)
 Set the OBO loss of the transmitter in dB. More...
 
void SetTxOutputLossDb (double lossDb)
 Set the output loss of the transmitter in dB. More...
 
void SetTxPointingLossDb (double lossDb)
 Set the pointing loss of the transmitter in dB. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Derived from Object. More...
 

Protected Member Functions

virtual SatEnums::SatLinkDir_t GetSatLinkRxDir ()
 Get the link RX direction. More...
 
virtual SatEnums::SatLinkDir_t GetSatLinkTxDir ()
 Get the link TX direction. More...
 
void ModcodTrace (Ptr< SatSignalParameters > rxParams)
 Invoke the RxLinkModcod trace source for each received packet. More...
 
virtual void RxTraces (SatPhy::PacketContainer_t packets)
 Invoke the Rx trace source for each received packet. More...
 
void SetTimeTag (SatPhy::PacketContainer_t packets)
 Set SatPhyTimeTag of packets. More...
 

Protected Attributes

uint32_t m_beamId
 Beam ID. More...
 
double m_eirpWoGainW
 Calculated EIRP without gain in W. More...
 
bool m_isStatisticsTagsEnabled
 EnableStatisticsTags attribute. More...
 
Time m_lastDelay
 Last delay measurement. More...
 
Time m_lastLinkDelay
 Last delay measurement for link. More...
 
Ptr< SatNodeInfom_nodeInfo
 Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice) More...
 
TracedCallback< Time, SatEnums::SatPacketEvent_t, SatEnums::SatNodeType_t, uint32_t, Mac48Address, SatEnums::SatLogLevel_t, SatEnums::SatLinkDir_t, std::string > m_packetTrace
 Trace callback used for packet tracing: More...
 
Ptr< SatPhyRxm_phyRx
 Pointer to internal SatPhyRx instance. More...
 
Ptr< SatPhyTxm_phyTx
 Pointer to internal SatPhyTx instance. More...
 
SatPhy::ChannelPairGetterCallback m_retrieveChannelPair
 Callback for retrieving SatChannel pairs by beam. More...
 
SatPhy::ReceiveCallback m_rxCallback
 The upper layer package receive callback. More...
 
TracedCallback< const Time &, const Address & > m_rxDelayTrace
 Traced callback for all received packets, including delay information and the address of the senders. More...
 
TracedCallback< const Time &, const Address & > m_rxJitterTrace
 Traced callback for all received packets, including jitter information and the address of the senders. More...
 
TracedCallback< const Time &, const Address & > m_rxLinkDelayTrace
 Traced callback for all received packets, including link delay information and the address of the senders. More...
 
TracedCallback< const Time &, const Address & > m_rxLinkJitterTrace
 Traced callback for all received packets, including link jitter information and the address of the senders. More...
 
TracedCallback< uint32_t, const Address & > m_rxLinkModcodTrace
 Traced callback for all received packets, including link MODCOD information and the address of the senders. More...
 
TracedCallback< Ptr< const Packet >, const Address & > m_rxTrace
 Traced callback for all received packets, including the address of the senders. More...
 
uint32_t m_satId
 Satellite ID. More...
 

Private Attributes

SatPhy::AverageNormalizedOfferedLoadCallback m_avgNormalizedOfferedLoadCallback
 Average normalized offered load callback. More...
 
SatPhy::CnoCallback m_cnoCallback
 The C/N0 info callback. More...
 
double m_defaultFadingValue
 Default fading value. More...
 
double m_rxAntennaLossDb
 Configured receiver antenna loss in Dbs. More...
 
double m_rxMaxAntennaGainDb
 Configured maximum receiver antenna gain in dBi. More...
 
double m_rxNoiseTemperatureDbk
 Configured receiver noise temperature in dBK. More...
 
double m_txAntennaLossDb
 Configured transmitter antenna loss in Dbs. More...
 
double m_txMaxAntennaGainDb
 Configured maximum transmitter antenna gain in dBi. More...
 
double m_txMaxPowerDbw
 Configured maximum transmitter power in DbWs. More...
 
double m_txOboLossDb
 Configured transmitter OBO loss in Dbs. More...
 
double m_txOutputLossDb
 Configured transmitter output loss in Dbs. More...
 
double m_txPointingLossDb
 Configured transmitter pointing loss in Dbs. More...
 

Detailed Description

The SatPhy models the basic physical layer of the satellite system.

SatPhy is the base class implementing the commonalities between different satellite nodes. This is a pure virtual class and actual implementations are located in:

Definition at line 61 of file satellite-phy.h.

Member Typedef Documentation

◆ AverageNormalizedOfferedLoadCallback

typedef Callback<void, uint32_t, uint32_t, uint32_t, uint8_t, double> ns3::SatPhy::AverageNormalizedOfferedLoadCallback
Parameters
satelliteId
beamId
carrierId
allocationchannel Id
averagenormalized offered load

Definition at line 104 of file satellite-phy.h.

◆ ChannelPairGetterCallback

Callback for retrieving a pair of SatChannel associated to a beam.

Parameters
uint32_tbeam ID
Returns
A pair of SatChannel to use as communication channel in this beam

Definition at line 503 of file satellite-phy.h.

◆ CnoCallback

typedef Callback<void, uint32_t, uint32_t, Address, Address, double, bool> ns3::SatPhy::CnoCallback
Parameters
Theid of the satellite.
Theid of the beam.
Theid (address) of the source or sender
Theid (address) of the destination or receiver
C/N0value

Definition at line 94 of file satellite-phy.h.

◆ ErrorModel

Define ErrorModel in SatPhy.

Definition at line 75 of file satellite-phy.h.

◆ InterferenceEliminationModel

Define InterferenceEliminationModel in SatPhy.

Definition at line 71 of file satellite-phy.h.

◆ InterferenceModel

Define InterferenceModel in SatPhy.

Definition at line 67 of file satellite-phy.h.

◆ PacketContainer_t

Define PacketContainer in SatPhy.

Definition at line 79 of file satellite-phy.h.

◆ ReceiveCallback

Parameters
thecontainer of pointers to packets received
theid of the beam where packet is from

Definition at line 85 of file satellite-phy.h.

Constructor & Destructor Documentation

◆ SatPhy() [1/2]

ns3::SatPhy::SatPhy ( void  )

Default constructor.

Definition at line 52 of file satellite-phy.cc.

◆ SatPhy() [2/2]

◆ ~SatPhy()

ns3::SatPhy::~SatPhy ( )
virtual

Destructor.

Definition at line 246 of file satellite-phy.cc.

Member Function Documentation

◆ AverageNormalizedOfferedRandomAccessLoadInfo()

void ns3::SatPhy::AverageNormalizedOfferedRandomAccessLoadInfo ( uint32_t  satId,
uint32_t  beamId,
uint32_t  carrierId,
uint8_t  allocationChannelId,
double  averageNormalizedOfferedLoad 
)

Function for getting the normalized offered load of the specific random access allocation channel.

Parameters
satIdSatellite id of average normalized load is received
beamIdBeam id of average normalized load is received
carrierIdCarrier id of average normalized load is received
allocationChannelIdallocation channel ID
averageNormalizedOfferedLoadValue of average normalized offered load

Definition at line 645 of file satellite-phy.cc.

References m_avgNormalizedOfferedLoadCallback.

Referenced by Initialize().

+ Here is the caller graph for this function:

◆ BeginEndScheduling()

void ns3::SatPhy::BeginEndScheduling ( void  )

Begin frame/window end scheduling for processes utilizing frame length as interval.

Definition at line 332 of file satellite-phy.cc.

References m_phyRx.

◆ CalculateSinr()

double ns3::SatPhy::CalculateSinr ( double  sinr,
double  otherInterference 
)

Calculate final SINR with PHY specific parameters and given calculated SINR.

Additional interference value is added.

Parameters
sinrCalculated SINR
otherInterferenceInterference to add to the sinr
Returns
Final SINR

Definition at line 264 of file satellite-phy.cc.

◆ CnoInfo()

void ns3::SatPhy::CnoInfo ( uint32_t  satId,
uint32_t  beamId,
Address  source,
Address  destination,
double  cno,
bool  isSatelliteMac 
)

Function for getting the C/NO information.

Parameters
beamIdBeam id of C/N0 is received
sourceId (address) of the source (sender)
destinationId (address) of the destination
cnoValue of the C/N0
isSatelliteMacIf true, cno corresponds to link SAT to GW; if false, cno corresponds to link UT to GW

Definition at line 633 of file satellite-phy.cc.

References m_cnoCallback.

Referenced by Initialize().

+ Here is the caller graph for this function:

◆ ConfigureRxCarriers()

void ns3::SatPhy::ConfigureRxCarriers ( Ptr< SatPhyRxCarrierConf carrierConf,
Ptr< SatSuperframeConf superFrameConf 
)

Configure Rx carriers.

Parameters
carrierConfCarrier configuration class
superFrameConfSuperframe configuration

Definition at line 300 of file satellite-phy.cc.

References m_phyRx.

Referenced by ns3::SatGwPhy::SatGwPhy(), ns3::SatOrbiterFeederPhy::SatOrbiterFeederPhy(), ns3::SatOrbiterUserPhy::SatOrbiterUserPhy(), and ns3::SatUtPhy::SatUtPhy().

+ Here is the caller graph for this function:

◆ DoDispose()

void ns3::SatPhy::DoDispose ( void  )
virtual

Dispose of SatPhy.

Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.

Definition at line 252 of file satellite-phy.cc.

References m_phyRx, and m_phyTx.

Referenced by ns3::SatGwPhy::DoDispose().

+ Here is the caller graph for this function:

◆ DoInitialize()

void ns3::SatPhy::DoInitialize ( void  )
virtual

Initialization of SatPhy.

Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.

Definition at line 201 of file satellite-phy.cc.

Referenced by ns3::SatGwPhy::DoInitialize().

+ Here is the caller graph for this function:

◆ GetAdditionalInterference()

virtual double ns3::SatPhy::GetAdditionalInterference ( )
pure virtual

Get additional interference, used to compute final SINR at RX.

Returns
Additional interference

Implemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.

◆ GetDefaultFading()

double ns3::SatPhy::GetDefaultFading ( ) const
inline

Get the default fading of the PHY.

Returns
the default fading of the PHY.

Definition at line 340 of file satellite-phy.h.

References m_defaultFadingValue.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::SatPhy::GetInstanceTypeId ( void  ) const

Derived from Object.

Definition at line 194 of file satellite-phy.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetPhyRx()

Ptr< SatPhyRx > ns3::SatPhy::GetPhyRx ( ) const
virtual

Get the SatPhyRx pointer.

Returns
a pointer to the SatPhyRx instance

Definition at line 346 of file satellite-phy.cc.

References m_phyRx.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetPhyTx()

Ptr< SatPhyTx > ns3::SatPhy::GetPhyTx ( void  ) const
virtual

◆ GetRxAntennaGainDb()

double ns3::SatPhy::GetRxAntennaGainDb ( ) const
inline

Get the maximum antenna gain of the receiver in dB.

Returns
the receiver noise temperature in dB.

Definition at line 196 of file satellite-phy.h.

References m_rxMaxAntennaGainDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetRxAntennaLossDb()

double ns3::SatPhy::GetRxAntennaLossDb ( ) const
inline

Get the antenna loss of the receiver in dB.

Returns
the receiver antenna loss in dB.

Definition at line 214 of file satellite-phy.h.

References m_rxAntennaLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetRxNoiseTemperatureDbk()

double ns3::SatPhy::GetRxNoiseTemperatureDbk ( ) const
inline

Get the noise temperature of the receiver in dbK.

Returns
the receiver noise temperature in dbK.

Definition at line 178 of file satellite-phy.h.

References m_rxNoiseTemperatureDbk.

Referenced by ns3::SatGwPhy::SatGwPhy(), ns3::SatOrbiterFeederPhy::SatOrbiterFeederPhy(), ns3::SatOrbiterUserPhy::SatOrbiterUserPhy(), ns3::SatUtPhy::SatUtPhy(), ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetSatLinkRxDir()

SatEnums::SatLinkDir_t ns3::SatPhy::GetSatLinkRxDir ( )
protectedvirtual

Get the link RX direction.

Must be implemented by child clases.

Returns
The link RX direction

Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.

Definition at line 480 of file satellite-phy.cc.

References ns3::SatEnums::LD_UNDEFINED.

Referenced by ModcodTrace(), and Receive().

+ Here is the caller graph for this function:

◆ GetSatLinkTxDir()

SatEnums::SatLinkDir_t ns3::SatPhy::GetSatLinkTxDir ( )
protectedvirtual

Get the link TX direction.

Must be implemented by child clases.

Returns
The link TX direction

Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.

Definition at line 474 of file satellite-phy.cc.

References ns3::SatEnums::LD_UNDEFINED.

Referenced by SendPdu().

+ Here is the caller graph for this function:

◆ GetTxAntennaGainDb()

double ns3::SatPhy::GetTxAntennaGainDb ( ) const
inline

Get the maximum antenna gain of the transmitter in dB.

Returns
the transmitter noise temperature in dB.

Definition at line 232 of file satellite-phy.h.

References m_txMaxAntennaGainDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetTxAntennaLossDb()

double ns3::SatPhy::GetTxAntennaLossDb ( ) const
inline

Get the antenna loss of the transmitter in dB.

Returns
the transmitter antenna loss in dB.

Definition at line 322 of file satellite-phy.h.

References m_txAntennaLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetTxChannel()

Ptr< SatChannel > ns3::SatPhy::GetTxChannel ( )

Get the Tx satellite channel.

Returns
the Tx channel

Definition at line 367 of file satellite-phy.cc.

References m_phyTx.

◆ GetTxMaxPowerDbw()

double ns3::SatPhy::GetTxMaxPowerDbw ( ) const
inline

Get the maximum transmit power of the transmitter in dB.

Returns
the transmitter transmit power in dB.

Definition at line 250 of file satellite-phy.h.

References m_txMaxPowerDbw.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetTxOboLossDb()

double ns3::SatPhy::GetTxOboLossDb ( ) const
inline

Get the OBO loss of the transmitter in dB.

Returns
the transmitter OBO loss in dB.

Definition at line 304 of file satellite-phy.h.

References m_txOboLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetTxOutputLossDb()

double ns3::SatPhy::GetTxOutputLossDb ( ) const
inline

Get the output loss of the transmitter in dB.

Returns
the transmitter output loss in dB.

Definition at line 268 of file satellite-phy.h.

References m_txOutputLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetTxPointingLossDb()

double ns3::SatPhy::GetTxPointingLossDb ( ) const
inline

Get the pointing loss of the transmitter in dB.

Returns
the transmitter pointing loss in dB.

Definition at line 286 of file satellite-phy.h.

References m_txPointingLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::SatPhy::GetTypeId ( void  )
static

◆ Initialize()

◆ ModcodTrace()

void ns3::SatPhy::ModcodTrace ( Ptr< SatSignalParameters rxParams)
protected

Invoke the RxLinkModcod trace source for each received packet.

Parameters
rxParamsPointer to SatSignalParameters of packets received.

Definition at line 550 of file satellite-phy.cc.

References ns3::SatAddressE2ETag::GetE2EDestAddress(), ns3::SatAddressE2ETag::GetE2ESourceAddress(), GetSatLinkRxDir(), ns3::SatEnums::LD_FORWARD, ns3::SatEnums::LD_RETURN, m_isStatisticsTagsEnabled, and m_rxLinkModcodTrace.

Referenced by ns3::SatOrbiterFeederPhy::Receive(), ns3::SatOrbiterUserPhy::Receive(), and Receive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Receive()

void ns3::SatPhy::Receive ( Ptr< SatSignalParameters rxParams,
bool  phyError 
)
virtual

Receives packets from lower layer.

Parameters
rxParamsPacket reception parameters
phyErrorBoolean indicating whether the packet successfully received or not?

Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, and ns3::SatOrbiterFeederPhy.

Definition at line 595 of file satellite-phy.cc.

References ns3::SatUtils::GetPacketInfo(), GetSatLinkRxDir(), ns3::SatEnums::LL_PHY, m_nodeInfo, m_packetTrace, m_rxCallback, ModcodTrace(), ns3::SatEnums::PACKET_DROP, ns3::SatEnums::PACKET_RECV, and RxTraces().

Referenced by Initialize(), and ns3::SatUtPhy::Receive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RxTraces()

void ns3::SatPhy::RxTraces ( SatPhy::PacketContainer_t  packets)
protectedvirtual

Invoke the Rx trace source for each received packet.

Parameters
packetsContainer of the pointers to the packets received.

Reimplemented in ns3::SatOrbiterUserPhy, and ns3::SatOrbiterFeederPhy.

Definition at line 486 of file satellite-phy.cc.

References ns3::SatPhyLinkTimeTag::GetSenderLinkTimestamp(), ns3::SatPhyTimeTag::GetSenderTimestamp(), ns3::SatAddressTag::GetSourceAddress(), ns3::SatAddressTag::GetTypeId(), m_isStatisticsTagsEnabled, m_lastDelay, m_lastLinkDelay, m_rxDelayTrace, m_rxJitterTrace, m_rxLinkDelayTrace, m_rxLinkJitterTrace, and m_rxTrace.

Referenced by Receive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPdu()

void ns3::SatPhy::SendPdu ( PacketContainer_t  p,
uint32_t  carrierId,
Time  duration,
SatSignalParameters::txInfo_s  txInfo 
)
virtual

Send Pdu to the PHY tx module (for initial transmissions from either UT or GW)

Parameters
ppacket to be sent
carrierIdCarrier id for the packet transmission
durationthe packet transmission duration (from MAC layer)
txInfoTx information (e.g. packet type, modcod, waveform ID)

Definition at line 376 of file satellite-phy.cc.

References ns3::SatSignalParameters::txInfo_s::crdsaUniquePacketId, ns3::SatSignalParameters::txInfo_s::fecBlockSizeInBytes, ns3::SatSignalParameters::txInfo_s::frameType, ns3::SatUtils::GetPacketInfo(), GetSatLinkTxDir(), ns3::SatEnums::LL_PHY, m_beamId, m_eirpWoGainW, m_nodeInfo, m_packetTrace, m_phyTx, m_satId, ns3::SatSignalParameters::txInfo_s::modCod, ns3::SatEnums::PACKET_SENT, ns3::SatSignalParameters::txInfo_s::packetType, SetTimeTag(), ns3::SatSignalParameters::txInfo_s::sliceId, and ns3::SatSignalParameters::txInfo_s::waveformId.

Referenced by ns3::SatGwHelperDvb::Install(), and ns3::SatUtHelperDvb::Install().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendPduWithParams()

void ns3::SatPhy::SendPduWithParams ( Ptr< SatSignalParameters rxParams)
virtual

Send Pdu to the PHY tx module (for satellite switch packet forwarding)

Parameters
rxParamsTransmission parameters

This method is not meant to be used in this class. It is overriden in the inherited classes.

Reimplemented in ns3::SatOrbiterUserPhy, and ns3::SatOrbiterFeederPhy.

Definition at line 420 of file satellite-phy.cc.

◆ SetBeamId()

bool ns3::SatPhy::SetBeamId ( uint32_t  beamId)

Set the beamId this PHY is connected with.

Parameters
beamIdSatellite beam id

Definition at line 441 of file satellite-phy.cc.

References m_beamId, m_phyRx, and m_phyTx.

Referenced by ns3::SatGwPhy::PerformHandover(), and ns3::SatUtPhy::PerformHandover().

+ Here is the caller graph for this function:

◆ SetChannelPairGetterCallback()

void ns3::SatPhy::SetChannelPairGetterCallback ( SatPhy::ChannelPairGetterCallback  cb)

Set the channel pair getter callback.

Parameters
cbcallback to invoke whenever a SatChannel pair for a beam is required.

Definition at line 661 of file satellite-phy.cc.

References m_retrieveChannelPair.

◆ SetDefaultFading()

void ns3::SatPhy::SetDefaultFading ( double  fading)
inline

Set the default fading of the PHY.

Parameters
fadingthe default fading of the PHY.

Definition at line 349 of file satellite-phy.h.

References m_defaultFadingValue.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetNodeInfo()

void ns3::SatPhy::SetNodeInfo ( const Ptr< SatNodeInfo nodeInfo)

Set the node info class.

Parameters
nodeInfoNode information related to this SatPhy

Definition at line 324 of file satellite-phy.cc.

References m_nodeInfo, and m_phyRx.

◆ SetPhyRx()

void ns3::SatPhy::SetPhyRx ( Ptr< SatPhyRx phyRx)
virtual

Set the SatPhyRx module.

Parameters
phyRxReceiver PHY module

Definition at line 360 of file satellite-phy.cc.

References m_phyRx.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetPhyTx()

void ns3::SatPhy::SetPhyTx ( Ptr< SatPhyTx phyTx)
virtual

Set the SatPhyTx module.

Parameters
phyTxTransmitter PHY module

Definition at line 353 of file satellite-phy.cc.

References m_phyTx.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetRxAntennaGainDb()

void ns3::SatPhy::SetRxAntennaGainDb ( double  gainDb)
inline

Set the maximum antenna gain of the receiver in dB.

Parameters
gainDbthe receiver antenna gain in dB.

Definition at line 205 of file satellite-phy.h.

References m_rxMaxAntennaGainDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetRxAntennaGainPattern()

void ns3::SatPhy::SetRxAntennaGainPattern ( Ptr< SatAntennaGainPattern agp,
Ptr< SatMobilityModel satelliteMobility 
)
virtual

Set the receive antenna gain pattern.

Parameters
agpantenna gain pattern
mobilitymobility model of satellite

Definition at line 292 of file satellite-phy.cc.

References m_phyRx.

◆ SetRxAntennaLossDb()

void ns3::SatPhy::SetRxAntennaLossDb ( double  lossDb)
inline

Set the antenna loss of the receiver in dB.

Parameters
lossDbthe receiver antenna loss in dB.

Definition at line 223 of file satellite-phy.h.

References m_rxAntennaLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetRxFadingContainer()

void ns3::SatPhy::SetRxFadingContainer ( Ptr< SatBaseFading fadingContainer)

Set fading container.

Parameters
fadingContainerfading container

Definition at line 308 of file satellite-phy.cc.

References m_phyRx.

◆ SetRxNoiseTemperatureDbk()

void ns3::SatPhy::SetRxNoiseTemperatureDbk ( double  temperatureDbk)
inline

Set the noise temperature of the receiver in dbK.

Parameters
temperatureDbkthe receiver noise temperature in dbK.

Definition at line 187 of file satellite-phy.h.

References m_rxNoiseTemperatureDbk.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetSatId()

void ns3::SatPhy::SetSatId ( uint32_t  satId)

Set the satId this PHY is connected with.

Parameters
satIdSatellite ID

Definition at line 432 of file satellite-phy.cc.

References m_phyRx, m_phyTx, and m_satId.

Referenced by ns3::SatGwPhy::PerformHandover(), and ns3::SatUtPhy::PerformHandover().

+ Here is the caller graph for this function:

◆ SetTimeTag()

void ns3::SatPhy::SetTimeTag ( SatPhy::PacketContainer_t  packets)
protected

Set SatPhyTimeTag of packets.

Parameters
packetsContainer of the pointers to the packets to tag.

Definition at line 456 of file satellite-phy.cc.

References m_isStatisticsTagsEnabled.

Referenced by SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), and ns3::SatOrbiterUserPhy::SendPduWithParams().

+ Here is the caller graph for this function:

◆ SetTxAntennaGainDb()

void ns3::SatPhy::SetTxAntennaGainDb ( double  gainDb)
inline

Set the maximum antenna gain of the transmitter in dB.

Parameters
gainDbthe transmitter antenna gain in dB.

Definition at line 241 of file satellite-phy.h.

References m_txMaxAntennaGainDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetTxAntennaGainPattern()

void ns3::SatPhy::SetTxAntennaGainPattern ( Ptr< SatAntennaGainPattern agp,
Ptr< SatMobilityModel satelliteMobility 
)
virtual

Set the transmit antenna gain pattern.

Parameters
agpantenna gain pattern
mobilitymobility model of satellite

Definition at line 284 of file satellite-phy.cc.

References m_phyTx.

◆ SetTxAntennaLossDb()

void ns3::SatPhy::SetTxAntennaLossDb ( double  lossDb)
inline

Set the antenna loss of the transmitter in dB.

Parameters
lossDbthe transmitter antenna loss in dB.

Definition at line 331 of file satellite-phy.h.

References m_txAntennaLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetTxFadingContainer()

void ns3::SatPhy::SetTxFadingContainer ( Ptr< SatBaseFading fadingContainer)

Set fading container.

Parameters
fadingContainerfading container

Definition at line 316 of file satellite-phy.cc.

References m_phyTx.

◆ SetTxMaxPowerDbw()

void ns3::SatPhy::SetTxMaxPowerDbw ( double  powerDb)
inline

Set the maximum transmit power of the transmitter in dB.

Parameters
powerDbthe transmitter transmit power in dB.

Definition at line 259 of file satellite-phy.h.

References m_txMaxPowerDbw.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetTxOboLossDb()

void ns3::SatPhy::SetTxOboLossDb ( double  lossDb)
inline

Set the OBO loss of the transmitter in dB.

Parameters
lossDbthe transmitter OBO loss in dB.

Definition at line 313 of file satellite-phy.h.

References m_txOboLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetTxOutputLossDb()

void ns3::SatPhy::SetTxOutputLossDb ( double  lossDb)
inline

Set the output loss of the transmitter in dB.

Parameters
lossDbthe transmitter output loss in dB.

Definition at line 277 of file satellite-phy.h.

References m_txOutputLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ SetTxPointingLossDb()

void ns3::SatPhy::SetTxPointingLossDb ( double  lossDb)
inline

Set the pointing loss of the transmitter in dB.

Parameters
lossDbthe transmitter pointing loss in dB.

Definition at line 295 of file satellite-phy.h.

References m_txPointingLossDb.

Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_avgNormalizedOfferedLoadCallback

SatPhy::AverageNormalizedOfferedLoadCallback ns3::SatPhy::m_avgNormalizedOfferedLoadCallback
private

Average normalized offered load callback.

Definition at line 656 of file satellite-phy.h.

Referenced by AverageNormalizedOfferedRandomAccessLoadInfo(), GetTypeId(), and Initialize().

◆ m_beamId

◆ m_cnoCallback

SatPhy::CnoCallback ns3::SatPhy::m_cnoCallback
private

The C/N0 info callback.

Definition at line 651 of file satellite-phy.h.

Referenced by CnoInfo(), GetTypeId(), and Initialize().

◆ m_defaultFadingValue

double ns3::SatPhy::m_defaultFadingValue
private

Default fading value.

Definition at line 706 of file satellite-phy.h.

Referenced by GetDefaultFading(), Initialize(), and SetDefaultFading().

◆ m_eirpWoGainW

double ns3::SatPhy::m_eirpWoGainW
protected

Calculated EIRP without gain in W.

Definition at line 630 of file satellite-phy.h.

Referenced by Initialize(), SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), and ns3::SatOrbiterUserPhy::SendPduWithParams().

◆ m_isStatisticsTagsEnabled

bool ns3::SatPhy::m_isStatisticsTagsEnabled
protected

EnableStatisticsTags attribute.

Definition at line 635 of file satellite-phy.h.

Referenced by GetTypeId(), ModcodTrace(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), RxTraces(), and SetTimeTag().

◆ m_lastDelay

Time ns3::SatPhy::m_lastDelay
protected

Last delay measurement.

Used to compute jitter.

Definition at line 640 of file satellite-phy.h.

Referenced by RxTraces().

◆ m_lastLinkDelay

Time ns3::SatPhy::m_lastLinkDelay
protected

Last delay measurement for link.

Used to compute link jitter.

Definition at line 645 of file satellite-phy.h.

Referenced by ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().

◆ m_nodeInfo

Ptr<SatNodeInfo> ns3::SatPhy::m_nodeInfo
protected

◆ m_packetTrace

◆ m_phyRx

◆ m_phyTx

◆ m_retrieveChannelPair

◆ m_rxAntennaLossDb

double ns3::SatPhy::m_rxAntennaLossDb
private

Configured receiver antenna loss in Dbs.

Definition at line 671 of file satellite-phy.h.

Referenced by GetRxAntennaLossDb(), Initialize(), and SetRxAntennaLossDb().

◆ m_rxCallback

SatPhy::ReceiveCallback ns3::SatPhy::m_rxCallback
protected

The upper layer package receive callback.

Definition at line 545 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::Receive(), ns3::SatOrbiterUserPhy::Receive(), and Receive().

◆ m_rxDelayTrace

TracedCallback<const Time&, const Address&> ns3::SatPhy::m_rxDelayTrace
protected

Traced callback for all received packets, including delay information and the address of the senders.

Definition at line 575 of file satellite-phy.h.

Referenced by GetTypeId(), and RxTraces().

◆ m_rxJitterTrace

TracedCallback<const Time&, const Address&> ns3::SatPhy::m_rxJitterTrace
protected

Traced callback for all received packets, including jitter information and the address of the senders.

Definition at line 587 of file satellite-phy.h.

Referenced by GetTypeId(), and RxTraces().

◆ m_rxLinkDelayTrace

TracedCallback<const Time&, const Address&> ns3::SatPhy::m_rxLinkDelayTrace
protected

Traced callback for all received packets, including link delay information and the address of the senders.

Definition at line 581 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().

◆ m_rxLinkJitterTrace

TracedCallback<const Time&, const Address&> ns3::SatPhy::m_rxLinkJitterTrace
protected

Traced callback for all received packets, including link jitter information and the address of the senders.

Definition at line 593 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().

◆ m_rxLinkModcodTrace

TracedCallback<uint32_t, const Address&> ns3::SatPhy::m_rxLinkModcodTrace
protected

Traced callback for all received packets, including link MODCOD information and the address of the senders.

Definition at line 599 of file satellite-phy.h.

Referenced by GetTypeId(), and ModcodTrace().

◆ m_rxMaxAntennaGainDb

double ns3::SatPhy::m_rxMaxAntennaGainDb
private

Configured maximum receiver antenna gain in dBi.

Definition at line 666 of file satellite-phy.h.

Referenced by GetRxAntennaGainDb(), Initialize(), and SetRxAntennaGainDb().

◆ m_rxNoiseTemperatureDbk

double ns3::SatPhy::m_rxNoiseTemperatureDbk
private

Configured receiver noise temperature in dBK.

Definition at line 661 of file satellite-phy.h.

Referenced by GetRxNoiseTemperatureDbk(), and SetRxNoiseTemperatureDbk().

◆ m_rxTrace

TracedCallback<Ptr<const Packet>, const Address&> ns3::SatPhy::m_rxTrace
protected

Traced callback for all received packets, including the address of the senders.

Definition at line 569 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().

◆ m_satId

◆ m_txAntennaLossDb

double ns3::SatPhy::m_txAntennaLossDb
private

Configured transmitter antenna loss in Dbs.

Definition at line 701 of file satellite-phy.h.

Referenced by GetTxAntennaLossDb(), Initialize(), and SetTxAntennaLossDb().

◆ m_txMaxAntennaGainDb

double ns3::SatPhy::m_txMaxAntennaGainDb
private

Configured maximum transmitter antenna gain in dBi.

Definition at line 676 of file satellite-phy.h.

Referenced by GetTxAntennaGainDb(), Initialize(), and SetTxAntennaGainDb().

◆ m_txMaxPowerDbw

double ns3::SatPhy::m_txMaxPowerDbw
private

Configured maximum transmitter power in DbWs.

Definition at line 681 of file satellite-phy.h.

Referenced by GetTxMaxPowerDbw(), Initialize(), and SetTxMaxPowerDbw().

◆ m_txOboLossDb

double ns3::SatPhy::m_txOboLossDb
private

Configured transmitter OBO loss in Dbs.

Definition at line 696 of file satellite-phy.h.

Referenced by GetTxOboLossDb(), Initialize(), and SetTxOboLossDb().

◆ m_txOutputLossDb

double ns3::SatPhy::m_txOutputLossDb
private

Configured transmitter output loss in Dbs.

Definition at line 686 of file satellite-phy.h.

Referenced by GetTxOutputLossDb(), Initialize(), and SetTxOutputLossDb().

◆ m_txPointingLossDb

double ns3::SatPhy::m_txPointingLossDb
private

Configured transmitter pointing loss in Dbs.

Definition at line 691 of file satellite-phy.h.

Referenced by GetTxPointingLossDb(), Initialize(), and SetTxPointingLossDb().


The documentation for this class was generated from the following files: