Loading...
Searching...
No Matches
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.
typedef Callback< void, uint32_t, uint32_t, Address, Address, double, bool > CnoCallback
typedef SatPhyRxCarrierConf::ErrorModel ErrorModel
 Define ErrorModel in SatPhy.
typedef SatPhyRxCarrierConf::InterferenceEliminationModel InterferenceEliminationModel
 Define InterferenceEliminationModel in SatPhy.
typedef SatPhyRxCarrierConf::InterferenceModel InterferenceModel
 Define InterferenceModel in SatPhy.
typedef SatSignalParameters::PacketsInBurst_t PacketContainer_t
 Define PacketContainer in SatPhy.
typedef Callback< void, PacketContainer_t, Ptr< SatSignalParameters > > ReceiveCallback

Public Member Functions

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

Static Public Member Functions

static TypeId GetTypeId (void)
 Derived from Object.

Protected Member Functions

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

Protected Attributes

uint32_t m_beamId
 Beam ID.
double m_eirpWoGainW
 Calculated EIRP without gain in W.
bool m_isStatisticsTagsEnabled
 EnableStatisticsTags attribute.
Time m_lastDelay
 Last delay measurement.
Time m_lastLinkDelay
 Last delay measurement for link.
Ptr< SatNodeInfom_nodeInfo
 Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice).
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:
CreateParam_t m_params
 Satellite physical layer construction parameters.
Ptr< SatPhyRxm_phyRx
 Pointer to internal SatPhyRx instance.
Ptr< SatPhyTxm_phyTx
 Pointer to internal SatPhyTx instance.
SatPhy::ChannelPairGetterCallback m_retrieveChannelPair
 Callback for retrieving SatChannel pairs by beam.
SatPhy::ReceiveCallback m_rxCallback
 The upper layer package receive callback.
TracedCallback< const Time &, const Address & > m_rxDelayTrace
 Traced callback for all received packets, including delay information and the address of the senders.
TracedCallback< const Time &, const Address & > m_rxJitterTrace
 Traced callback for all received packets, including jitter information and the address of the senders.
TracedCallback< const Time &, const Address & > m_rxLinkDelayTrace
 Traced callback for all received packets, including link delay information and the address of the senders.
TracedCallback< const Time &, const Address & > m_rxLinkJitterTrace
 Traced callback for all received packets, including link jitter information and the address of the senders.
TracedCallback< uint32_t, const Address & > m_rxLinkModcodTrace
 Traced callback for all received packets, including link MODCOD information and the address of the senders.
TracedCallback< Ptr< const Packet >, const Address & > m_rxTrace
 Traced callback for all received packets, including the address of the senders.
uint32_t m_satId
 Satellite ID.

Private Attributes

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

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 510 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

◆ InterferenceEliminationModel

◆ InterferenceModel

◆ 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]

◆ SatPhy() [2/2]

◆ ~SatPhy()

ns3::SatPhy::~SatPhy ( )
virtual

Destructor.

Definition at line 247 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 646 of file satellite-phy.cc.

References m_avgNormalizedOfferedLoadCallback.

Referenced by Initialize().

Here is the caller graph for this function:

◆ BeginEndScheduling()

void ns3::SatPhy::BeginEndScheduling ( )

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

Definition at line 333 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 265 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 634 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 301 of file satellite-phy.cc.

References m_phyRx.

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

Here is the caller graph for this function:

◆ DoDispose()

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

Dispose of SatPhy.

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

Definition at line 253 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::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.

Definition at line 202 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::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.

◆ GetDefaultFading()

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

Get the default fading of the PHY.

Returns
the default fading of the PHY.

Definition at line 347 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:

◆ GetPhyRx()

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

Get the SatPhyRx pointer.

Returns
a pointer to the SatPhyRx instance

Definition at line 347 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 ( ) 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 203 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 221 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

◆ 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::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.

Definition at line 481 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::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.

Definition at line 475 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 239 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 329 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 368 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 257 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 311 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 275 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 293 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()

◆ 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 551 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:

◆ NotifyConstructionCompleted()

void ns3::SatPhy::NotifyConstructionCompleted ( )
overridevirtual

Notifier called once the ObjectBase is fully constructed.

This method is invoked once all member attributes have been initialized. Subclasses can override this method to be notified of this event but if they do this, they must chain up to their parent's NotifyConstructionCompleted method.

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

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

References m_beamId, m_params, m_phyRx, m_phyTx, and m_satId.

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

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::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.

Definition at line 596 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::SatOrbiterFeederPhy, and ns3::SatOrbiterUserPhy.

Definition at line 487 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 377 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::SatOrbiterFeederPhy, and ns3::SatOrbiterUserPhy.

Definition at line 421 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 442 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 662 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 356 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 325 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 361 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 354 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 212 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 293 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 230 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 309 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 194 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 433 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 457 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 248 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 285 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 338 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 317 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 266 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 320 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 284 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 302 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 668 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 663 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 718 of file satellite-phy.h.

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

◆ m_eirpWoGainW

double ns3::SatPhy::m_eirpWoGainW
protected

Calculated EIRP without gain in W.

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

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

◆ m_isStatisticsTagsEnabled

bool ns3::SatPhy::m_isStatisticsTagsEnabled
protected

◆ m_lastDelay

Time ns3::SatPhy::m_lastDelay
protected

Last delay measurement.

Used to compute jitter.

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

Referenced by SatPhy(), SatPhy(), and RxTraces().

◆ m_lastLinkDelay

Time ns3::SatPhy::m_lastLinkDelay
protected

Last delay measurement for link.

Used to compute link jitter.

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

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

◆ m_nodeInfo

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

◆ m_packetTrace

◆ m_params

CreateParam_t ns3::SatPhy::m_params
protected

Satellite physical layer construction parameters.

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

Referenced by SatPhy(), and NotifyConstructionCompleted().

◆ m_phyRx

◆ m_phyTx

◆ m_retrieveChannelPair

◆ m_rxAntennaLossDb

double ns3::SatPhy::m_rxAntennaLossDb
private

Configured receiver antenna loss in Dbs.

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

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

◆ m_rxCallback

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

The upper layer package receive callback.

Definition at line 552 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 582 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 594 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 588 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 600 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 606 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 678 of file satellite-phy.h.

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

◆ m_rxNoiseTemperatureDbk

double ns3::SatPhy::m_rxNoiseTemperatureDbk
private

Configured receiver noise temperature in dBK.

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

Referenced by SatPhy(), SatPhy(), 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 576 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 713 of file satellite-phy.h.

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

◆ m_txMaxAntennaGainDb

double ns3::SatPhy::m_txMaxAntennaGainDb
private

Configured maximum transmitter antenna gain in dBi.

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

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

◆ m_txMaxPowerDbw

double ns3::SatPhy::m_txMaxPowerDbw
private

Configured maximum transmitter power in DbWs.

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

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

◆ m_txOboLossDb

double ns3::SatPhy::m_txOboLossDb
private

Configured transmitter OBO loss in Dbs.

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

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

◆ m_txOutputLossDb

double ns3::SatPhy::m_txOutputLossDb
private

Configured transmitter output loss in Dbs.

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

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

◆ m_txPointingLossDb

double ns3::SatPhy::m_txPointingLossDb
private

Configured transmitter pointing loss in Dbs.

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

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


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