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 GEO satellite switch packet forwarding) More...
 
void 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 60 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 103 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 502 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 93 of file satellite-phy.h.

◆ ErrorModel

Define ErrorModel in SatPhy.

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

◆ InterferenceEliminationModel

Define InterferenceEliminationModel in SatPhy.

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

◆ InterferenceModel

Define InterferenceModel in SatPhy.

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

◆ PacketContainer_t

Define PacketContainer in SatPhy.

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

◆ ReceiveCallback

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

Definition at line 84 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 241 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 634 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 327 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 259 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 622 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 295 of file satellite-phy.cc.

References m_phyRx.

Referenced by ns3::SatGeoFeederPhy::SatGeoFeederPhy(), ns3::SatGeoUserPhy::SatGeoUserPhy(), ns3::SatGwPhy::SatGwPhy(), 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::SatGwPhy, ns3::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

Definition at line 247 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::SatGwPhy, ns3::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

Definition at line 196 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::SatGwPhy, ns3::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

◆ GetDefaultFading()

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

Get the default fading of the PHY.

Returns
the default fading of the PHY.

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

References m_defaultFadingValue.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 189 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 341 of file satellite-phy.cc.

References m_phyRx.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ GetPhyTx()

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

Get the SatPhyTx pointer.

Returns
a pointer to the SatPhyTx instance

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

References m_phyTx.

Referenced by ns3::SatGeoFeederPhy::SatGeoFeederPhy(), ns3::SatGeoUserPhy::SatGeoUserPhy(), ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().

+ Here is the caller graph for this function:

◆ 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 195 of file satellite-phy.h.

References m_rxMaxAntennaGainDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 213 of file satellite-phy.h.

References m_rxAntennaLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 177 of file satellite-phy.h.

References m_rxNoiseTemperatureDbk.

Referenced by ns3::SatGeoFeederPhy::SatGeoFeederPhy(), ns3::SatGeoUserPhy::SatGeoUserPhy(), ns3::SatGwPhy::SatGwPhy(), ns3::SatUtPhy::SatUtPhy(), ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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::SatGwPhy, ns3::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

Definition at line 469 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::SatGwPhy, ns3::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

Definition at line 463 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 231 of file satellite-phy.h.

References m_txMaxAntennaGainDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 321 of file satellite-phy.h.

References m_txAntennaLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 362 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 249 of file satellite-phy.h.

References m_txMaxPowerDbw.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 303 of file satellite-phy.h.

References m_txOboLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 267 of file satellite-phy.h.

References m_txOutputLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 285 of file satellite-phy.h.

References m_txPointingLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 539 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::SatGeoFeederPhy::Receive(), ns3::SatGeoUserPhy::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::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

Definition at line 584 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::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

Definition at line 475 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 371 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::SatGwHelper::InstallDvb(), and ns3::SatUtHelper::InstallDvb().

+ 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 GEO 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::SatGeoUserPhy, and ns3::SatGeoFeederPhy.

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

◆ SetBeamId()

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

Set the beamId this PHY is connected with.

Parameters
beamIdSatellite beam id

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

References m_beamId, m_phyRx, and m_phyTx.

Referenced by 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 650 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 348 of file satellite-phy.h.

References m_defaultFadingValue.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 319 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 355 of file satellite-phy.cc.

References m_phyRx.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 348 of file satellite-phy.cc.

References m_phyTx.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 204 of file satellite-phy.h.

References m_rxMaxAntennaGainDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 287 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 222 of file satellite-phy.h.

References m_rxAntennaLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 303 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 186 of file satellite-phy.h.

References m_rxNoiseTemperatureDbk.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 427 of file satellite-phy.cc.

References m_phyRx, m_phyTx, and m_satId.

◆ 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 445 of file satellite-phy.cc.

References m_isStatisticsTagsEnabled.

Referenced by SendPdu(), ns3::SatGeoFeederPhy::SendPduWithParams(), and ns3::SatGeoUserPhy::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 240 of file satellite-phy.h.

References m_txMaxAntennaGainDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 279 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 330 of file satellite-phy.h.

References m_txAntennaLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 311 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 258 of file satellite-phy.h.

References m_txMaxPowerDbw.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 312 of file satellite-phy.h.

References m_txOboLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 276 of file satellite-phy.h.

References m_txOutputLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 294 of file satellite-phy.h.

References m_txPointingLossDb.

Referenced by ns3::SatGeoFeederPhy::GetTypeId(), ns3::SatGeoUserPhy::GetTypeId(), ns3::SatGwPhy::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 655 of file satellite-phy.h.

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

◆ m_beamId

uint32_t ns3::SatPhy::m_beamId
protected

◆ m_cnoCallback

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

The C/N0 info callback.

Definition at line 650 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 705 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 629 of file satellite-phy.h.

Referenced by Initialize(), SendPdu(), ns3::SatGeoFeederPhy::SendPduWithParams(), and ns3::SatGeoUserPhy::SendPduWithParams().

◆ m_isStatisticsTagsEnabled

bool ns3::SatPhy::m_isStatisticsTagsEnabled
protected

EnableStatisticsTags attribute.

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

Referenced by GetTypeId(), ModcodTrace(), ns3::SatGeoFeederPhy::RxTraces(), ns3::SatGeoUserPhy::RxTraces(), RxTraces(), and SetTimeTag().

◆ m_lastDelay

Time ns3::SatPhy::m_lastDelay
protected

Last delay measurement.

Used to compute jitter.

Definition at line 639 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 644 of file satellite-phy.h.

Referenced by ns3::SatGeoFeederPhy::RxTraces(), ns3::SatGeoUserPhy::RxTraces(), and RxTraces().

◆ m_nodeInfo

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

◆ m_packetTrace

◆ m_phyRx

◆ m_phyTx

◆ m_retrieveChannelPair

SatPhy::ChannelPairGetterCallback ns3::SatPhy::m_retrieveChannelPair
protected

Callback for retrieving SatChannel pairs by beam.

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

Referenced by ns3::SatUtPhy::AssignNewSatChannels(), ns3::SatUtPhy::PerformHandover(), and SetChannelPairGetterCallback().

◆ m_rxAntennaLossDb

double ns3::SatPhy::m_rxAntennaLossDb
private

Configured receiver antenna loss in Dbs.

Definition at line 670 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 544 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatGeoFeederPhy::Receive(), ns3::SatGeoUserPhy::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 574 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 586 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 580 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatGeoFeederPhy::RxTraces(), ns3::SatGeoUserPhy::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 592 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatGeoFeederPhy::RxTraces(), ns3::SatGeoUserPhy::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 598 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 665 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 660 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 568 of file satellite-phy.h.

Referenced by GetTypeId(), ns3::SatGeoFeederPhy::RxTraces(), ns3::SatGeoUserPhy::RxTraces(), and RxTraces().

◆ m_satId

uint32_t ns3::SatPhy::m_satId
protected

◆ m_txAntennaLossDb

double ns3::SatPhy::m_txAntennaLossDb
private

Configured transmitter antenna loss in Dbs.

Definition at line 700 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 675 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 680 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 695 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 685 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 690 of file satellite-phy.h.

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


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