ns3::SatPhyRxCarrierUplink Class Reference

Inherited functionality of the base SatPhyRxCarrier for satellite node. More...

#include "satellite-phy-rx-carrier-uplink.h"

+ Inheritance diagram for ns3::SatPhyRxCarrierUplink:
+ Collaboration diagram for ns3::SatPhyRxCarrierUplink:

Public Member Functions

 SatPhyRxCarrierUplink (uint32_t carrierId, Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatWaveformConf > waveformConf, bool randomAccessEnabled)
 Constructor. More...
 
virtual ~SatPhyRxCarrierUplink ()
 Destructor. More...
 
virtual CarrierType GetCarrierType ()
 Method for querying the type of the carrier. More...
 
bool StartRx (Ptr< SatSignalParameters > rxParams)
 Function for starting packet reception from the SatChannel. More...
 
- Public Member Functions inherited from ns3::SatPhyRxCarrier
 SatPhyRxCarrier (uint32_t carrierId, Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatWaveformConf > waveformConf, bool isRandomAccessEnabled)
 Constructor. More...
 
virtual ~SatPhyRxCarrier ()
 Destructor. More...
 
virtual void BeginEndScheduling ()
 Function for initializing the frame/window end scheduling. More...
 
uint32_t GetBeamId ()
 Get ID the ID of the beam this carrier is attached to. More...
 
double GetRxTemperatureK ()
 Method for querying the temperature of the carrier. More...
 
uint32_t GetSatId ()
 Get ID the ID of the satellite this carrier is attached to. More...
 
void SetAverageNormalizedOfferedLoadCallback (SatPhyRx::AverageNormalizedOfferedLoadCallback callback)
 Function for setting the AverageNormalizedOfferedLoadCallback callback. More...
 
void SetBeamId (uint32_t beamId)
 Function for setting the beam id for all the transmissions from this SatPhyTx. More...
 
void SetCnoCb (SatPhyRx::CnoCallback cb)
 Function for settign the C/NO callback. More...
 
void SetNodeInfo (const Ptr< SatNodeInfo > nodeInfo)
 Function for setting the node info class. More...
 
void SetPhy (Ptr< SatPhy > phy)
 Function for setting the SatPhy module. More...
 
void SetReceiveCb (SatPhyRx::ReceiveCallback cb)
 Function for setting the receive callback. More...
 
void SetSatId (uint32_t satId)
 Function for setting the satellite id for all the transmissions from this SatPhyTx. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the TypeId of the class. More...
 
- Static Public Member Functions inherited from ns3::SatPhyRxCarrier
static TypeId GetTypeId (void)
 Function for gettign the NS-3 type ID. More...
 

Protected Member Functions

virtual Ptr< SatInterference::InterferenceChangeEventCreateInterference (Ptr< SatSignalParameters > rxParams, Address rxAddress)
 Create an interference event based on Rx parameters and address. More...
 
virtual void EndRxData (uint32_t key)
 Function for ending the packet reception from the SatChannel. More...
 
virtual const bool GetDefaultReceiveMode ()
 Get the default receive mode. More...
 
- Protected Member Functions inherited from ns3::SatPhyRxCarrier
double CalculateCompositeSinr (double sinr1, double sinr2)
 Function for calculating the composite SINR. More...
 
double CalculateSinr (double rxPowerW, double ifPowerW, double rxNoisePowerW, double rxAciIfPowerW, double rxExtNoisePowerW, double otherInterference)
 Function for calculating the SINR. More...
 
double CalculateSinr (double sinr, double otherInterference)
 Calculate final SINR with PHY specific parameters and given calculated SINR. More...
 
void ChangeState (State newState)
 Function for changing the receiver state. More...
 
bool CheckAgainstLinkResults (double cSinr, Ptr< SatSignalParameters > rxParams)
 Function for checking the SINR against the link results. More...
 
void CheckRxStateSanity ()
 Function for checking the Rx state sanity. More...
 
void DecreaseNumOfRxState (SatEnums::PacketType_t packetType)
 Function for decreasing the number of ongoing transmissions. More...
 
void DoCompositeSinrOutputTrace (double cSinr)
 Function for composite SINR output tracing. More...
 
virtual void DoCreateInterferenceEliminationModel (Ptr< SatPhyRxCarrierConf > carrierConf, uint32_t carrierId, Ptr< SatWaveformConf > waveformConf)
 Create an interference cancelation model for this carrier. More...
 
virtual void DoCreateInterferenceModel (Ptr< SatPhyRxCarrierConf > carrierConf, uint32_t carrierId, double rxBandwidthHz)
 Create an interference model for this carrier. More...
 
virtual void DoDispose ()
 Dispose. More...
 
uint32_t GetCarrierId () const
 Get the ID of the carrier. More...
 
Ptr< SatChannelEstimationErrorContainerGetChannelEstimationErrorContainer ()
 Get a pointer to the channel estimation error container of the carrier. More...
 
virtual SatEnums::ChannelType_t GetChannelType ()
 Get the channel type. More...
 
Ptr< SatInterferenceEliminationGetInterferenceEliminationModel ()
 Get pointer to the current interference elimination model. More...
 
Ptr< SatInterferenceGetInterferenceModel ()
 Get pointer to the current interference model. More...
 
virtual SatEnums::RegenerationMode_t GetLinkRegenerationMode ()
 Get the link regeneration mode. More...
 
Ptr< SatLinkResultsGetLinkResults ()
 Get pointer to the link results given by the carrier creation configuration. More...
 
Ptr< SatNodeInfoGetNodeInfo ()
 Get the satellite node info. More...
 
Mac48Address GetOwnAddress ()
 Get the MAC address of the carrier. More...
 
std::pair< bool, SatPhyRxCarrier::rxParams_sGetReceiveParams (Ptr< SatSignalParameters > rxParams)
 Rx parameter storage methods. More...
 
State GetState ()
 Get the state of the carrier. More...
 
rxParams_s GetStoredRxParams (uint32_t key)
 Get stored rxParams under a key. More...
 
double GetUniformRandomValue (double min, double max)
 A helper method for getting values form a uniform random variable in child classes. More...
 
Ptr< SatWaveformConfGetWaveformConf ()
 Get pointer to the waveform configuration. More...
 
double GetWorstSinr (double sinr1, double sinr2)
 Function for calculating the worst sinr between uplink and downlink. More...
 
void IncreaseNumOfRxState (SatEnums::PacketType_t packetType)
 Function for increasing the number of ongoing transmissions. More...
 
bool IsCompositeSinrOutputTraceEnabled () const
 Check if composite SINR output trace is enabled. More...
 
bool IsReceivingDedicatedAccess ()
 Check if the carrier is receiving a dedicated access packet. More...
 
void RemoveStoredRxParams (uint32_t key)
 Remove stored rxParams under a key. More...
 
void SetChannelType (SatEnums::ChannelType_t channelType)
 Set the channel type for the carrier. More...
 
void SetLinkRegenerationMode (SatEnums::RegenerationMode_t linkRegenerationMode)
 Set the link regeneration mode. More...
 
void StoreRxParams (uint32_t key, rxParams_s rxParams)
 Store rxParams under a key. More...
 

Additional Inherited Members

- Public Types inherited from ns3::SatPhyRxCarrier
enum  CarrierType {
  BASE , DEDICATED_ACCESS , RA_SLOTTED_ALOHA , RA_CRDSA ,
  RA_ESSA
}
 Possible carrier types. More...
 
typedef void(* LinkBudgetTraceCallback) (Ptr< SatSignalParameters > rxParams, Mac48Address receiverAddress, Mac48Address destinationAddress, double interference, double sinr)
 Callback signature for LinkBudgetTrace trace source. More...
 
typedef void(* LinkSinrTraceCallback) (double sinr, const Address &utAddress)
 Callback signature for LinkSinrTrace trace source. More...
 
typedef void(* PhyRxCollisionCallback) (uint32_t nPackets, const Address &utAddress, bool isCollided)
 Common callback signature for trace sources related to packets reception by PHY and its collision. More...
 
typedef void(* PhyRxErrorCallback) (uint32_t nPackets, const Address &utAddress, bool isError)
 Common callback signature for trace sources related to packets reception by PHY and its error. More...
 
typedef void(* RxPowerTraceCallback) (double rxPower, const Address &utAddress)
 Callback signature for RxPowerTrace trace source. More...
 
enum  State { IDLE , RX }
 Enum for PHY states. More...
 
- Protected Attributes inherited from ns3::SatPhyRxCarrier
SatPhyRxCarrierConf::AdditionalInterferenceCallback m_additionalInterferenceCallback
 Callback to get additional interference. More...
 
SatPhy::AverageNormalizedOfferedLoadCallback m_avgNormalizedOfferedLoadCallback
 Average normalized offered load callback. More...
 
SatPhy::CnoCallback m_cnoCallback
 The upper layer C/N0 receive callback. More...
 
TracedCallback< uint32_t, const Address & > m_daRxCarrierIdTrace
 
TracedCallback< uint32_t, const Address &, bool > m_daRxTrace
 DaRx trace source. More...
 
TracedCallback< Ptr< SatSignalParameters >, Mac48Address, Mac48Address, double, double > m_linkBudgetTrace
 The trace source on packet receptiong. More...
 
SatEnums::RegenerationMode_t m_linkRegenerationMode
 Link regeneration mode. More...
 
TracedCallback< double, const Address & > m_linkSinrTrace
 A callback for link specific SINR in dB. More...
 
const bool m_randomAccessEnabled
 Is random access enabled for this carrier. More...
 
double m_rxAciIfPowerW
 RX Adjacent channel interference. More...
 
double m_rxBandwidthHz
 RX Bandwidth in Hz. More...
 
SatPhyRx::ReceiveCallback m_rxCallback
 The upper layer package receive callback. More...
 
double m_rxExtNoisePowerW
 External noise power system RX noise. More...
 
double m_rxNoisePowerW
 RX noise. More...
 
TracedCallback< double, const Address & > m_rxPowerTrace
 A callback for received signal power in dBW. More...
 
double m_rxTemperatureK
 RX noise temperature in K. More...
 
TracedCallback< double, const Address & > m_sinrTrace
 A callback for transmission composite SINR at UT (BBFrame) or GW (time slot). More...
 

Detailed Description

Inherited functionality of the base SatPhyRxCarrier for satellite node.

Definition at line 43 of file satellite-phy-rx-carrier-uplink.h.

Constructor & Destructor Documentation

◆ SatPhyRxCarrierUplink()

ns3::SatPhyRxCarrierUplink::SatPhyRxCarrierUplink ( uint32_t  carrierId,
Ptr< SatPhyRxCarrierConf carrierConf,
Ptr< SatWaveformConf waveformConf,
bool  randomAccessEnabled 
)

Constructor.

Parameters
carrierIdID of the carrier
carrierConfCarrier configuration
waveformConfWaveform configuration
randomAccessEnabledIs this a RA carrier

Definition at line 37 of file satellite-phy-rx-carrier-uplink.cc.

◆ ~SatPhyRxCarrierUplink()

ns3::SatPhyRxCarrierUplink::~SatPhyRxCarrierUplink ( )
virtual

Destructor.

Definition at line 46 of file satellite-phy-rx-carrier-uplink.cc.

Member Function Documentation

◆ CreateInterference()

Ptr< SatInterference::InterferenceChangeEvent > ns3::SatPhyRxCarrierUplink::CreateInterference ( Ptr< SatSignalParameters rxParams,
Address  rxAddress 
)
protectedvirtual

Create an interference event based on Rx parameters and address.

Returns
Pointer to the interference event.

Implements ns3::SatPhyRxCarrier.

Definition at line 59 of file satellite-phy-rx-carrier-uplink.cc.

References ns3::SatPhyRxCarrier::GetInterferenceModel().

+ Here is the call graph for this function:

◆ EndRxData()

◆ GetCarrierType()

virtual CarrierType ns3::SatPhyRxCarrierUplink::GetCarrierType ( )
inlinevirtual

Method for querying the type of the carrier.

Reimplemented from ns3::SatPhyRxCarrier.

Definition at line 72 of file satellite-phy-rx-carrier-uplink.h.

◆ GetDefaultReceiveMode()

virtual const bool ns3::SatPhyRxCarrierUplink::GetDefaultReceiveMode ( )
inlineprotectedvirtual

Get the default receive mode.

In satellite node always true.

Reimplemented from ns3::SatPhyRxCarrier.

Definition at line 88 of file satellite-phy-rx-carrier-uplink.h.

◆ GetTypeId()

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

Get the TypeId of the class.

Returns
TypeId

Definition at line 52 of file satellite-phy-rx-carrier-uplink.cc.

◆ StartRx()

bool ns3::SatPhyRxCarrierUplink::StartRx ( Ptr< SatSignalParameters rxParams)
virtual

Function for starting packet reception from the SatChannel.

Parameters
rxParamsThe needed parameters for the received signal
Returns
true if packet is destinated to this beam

PHY transmission decoded successfully. Note, that at transparent satellite, all the transmissions are not decoded.

Reimplemented from ns3::SatPhyRxCarrier.

Definition at line 66 of file satellite-phy-rx-carrier-uplink.cc.

References ns3::SatPhyRxCarrier::m_rxCallback, and ns3::SatPhyRxCarrier::StartRx().

+ Here is the call graph for this function:

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