ns3::SatPhyRxCarrierPerSlot Class Reference

Inherited the base functionality of SatPhyRxCarriers for ground station nodes. More...

#include "satellite-phy-rx-carrier-per-slot.h"

+ Inheritance diagram for ns3::SatPhyRxCarrierPerSlot:
+ Collaboration diagram for ns3::SatPhyRxCarrierPerSlot:

Public Member Functions

 SatPhyRxCarrierPerSlot (uint32_t carrierId, Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatWaveformConf > waveformConf, bool randomAccessEnabled)
 Constructor. More...
 
virtual ~SatPhyRxCarrierPerSlot ()
 Destructor. More...
 
virtual void BeginEndScheduling ()
 Function for initializing the frame/window end scheduling. More...
 
virtual CarrierType GetCarrierType ()
 Method for querying the type of the carrier. More...
 
uint8_t GetRandomAccessAllocationChannelId () const
 Function for getting the random access allocation channel ID. More...
 
void SetRandomAccessAllocationChannelId (uint8_t randomAccessAllocationChannelId)
 Function for setting the random access allocation channel ID. 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...
 
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...
 
virtual bool StartRx (Ptr< SatSignalParameters > rxParams)
 Function for starting packet reception from the SatChannel. 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

double CalculateAverageNormalizedOfferedRandomAccessLoad ()
 Function for calculating the average normalized offered random access load. More...
 
virtual Ptr< SatInterference::InterferenceChangeEventCreateInterference (Ptr< SatSignalParameters > rxParams, Address rxAddress)
 Create an interference event based on Rx parameters and address. More...
 
virtual void DoDispose ()
 Dispose implementation. More...
 
virtual void EndRxData (uint32_t key)
 Function for ending the packet reception from the SatChannel. More...
 
SatPhyRxCarrierConf::RandomAccessCollisionModel GetRandomAccessCollisionModel () const
 Get the random access collision model of the carrier. More...
 
bool IsRandomAccessDynamicLoadControlEnabled () const
 Check if random access dynamic load control is enabled. More...
 
virtual void ReceiveSlot (SatPhyRxCarrier::rxParams_s packetRxParams, const uint32_t nPackets)
 Receive a slot. More...
 
void SaveMeasuredRandomAccessLoad (double measuredRandomAccessLoad)
 Function for saving the measured random access load. 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...
 
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...
 
virtual const bool GetDefaultReceiveMode ()
 Get the default receive mode for the carrier. 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...
 

Protected Attributes

uint32_t m_randomAccessBitsInFrame
 The number of random access bits in current frame. More...
 
TracedCallback< uint32_t, const Address &, bool > m_slottedAlohaRxCollisionTrace
 SlottedAlohaRxCollision trace source. More...
 
TracedCallback< uint32_t, const Address &, bool > m_slottedAlohaRxErrorTrace
 SlottedAlohaRxError trace source. 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...
 

Private Member Functions

bool ProcessSlottedAlohaCollisions (double cSinr, Ptr< SatSignalParameters > rxParams, Ptr< SatInterference::InterferenceChangeEvent > interferenceEvent)
 Function for processing the Slotted ALOHA collisions. More...
 

Private Attributes

bool m_disableErrorHighTransmissionTime
 
bool m_enableRandomAccessDynamicLoadControl
 
uint8_t m_randomAccessAllocationChannelId
 PRIVATE MEMBER VARIABLES. More...
 
uint32_t m_randomAccessAverageNormalizedOfferedLoadMeasurementWindowSize
 
SatPhyRxCarrierConf::RandomAccessCollisionModel m_randomAccessCollisionModel
 
double m_randomAccessConstantErrorRate
 
std::deque< double > m_randomAccessDynamicLoadControlNormalizedOfferedLoad
 

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

Detailed Description

Inherited the base functionality of SatPhyRxCarriers for ground station nodes.

Definition at line 48 of file satellite-phy-rx-carrier-per-slot.h.

Constructor & Destructor Documentation

◆ SatPhyRxCarrierPerSlot()

ns3::SatPhyRxCarrierPerSlot::SatPhyRxCarrierPerSlot ( 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 44 of file satellite-phy-rx-carrier-per-slot.cc.

References m_enableRandomAccessDynamicLoadControl, m_randomAccessAverageNormalizedOfferedLoadMeasurementWindowSize, m_randomAccessCollisionModel, and m_randomAccessConstantErrorRate.

◆ ~SatPhyRxCarrierPerSlot()

ns3::SatPhyRxCarrierPerSlot::~SatPhyRxCarrierPerSlot ( )
virtual

Destructor.

Definition at line 74 of file satellite-phy-rx-carrier-per-slot.cc.

Member Function Documentation

◆ BeginEndScheduling()

void ns3::SatPhyRxCarrierPerSlot::BeginEndScheduling ( void  )
virtual

Function for initializing the frame/window end scheduling.

Reimplemented from ns3::SatPhyRxCarrier.

Reimplemented in ns3::SatPhyRxCarrierPerWindow, and ns3::SatPhyRxCarrierPerFrame.

Definition at line 80 of file satellite-phy-rx-carrier-per-slot.cc.

◆ CalculateAverageNormalizedOfferedRandomAccessLoad()

double ns3::SatPhyRxCarrierPerSlot::CalculateAverageNormalizedOfferedRandomAccessLoad ( )
protected

Function for calculating the average normalized offered random access load.

Returns
Average normalized offered load

Definition at line 542 of file satellite-phy-rx-carrier-per-slot.cc.

References m_randomAccessDynamicLoadControlNormalizedOfferedLoad.

Referenced by ns3::SatPhyRxCarrierPerFrame::MeasureRandomAccessLoad(), and ns3::SatPhyRxCarrierPerWindow::MeasureRandomAccessLoad().

+ Here is the caller graph for this function:

◆ CreateInterference()

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

◆ DoDispose()

void ns3::SatPhyRxCarrierPerSlot::DoDispose ( void  )
protectedvirtual

Dispose implementation.

Reimplemented from ns3::SatPhyRxCarrier.

Reimplemented in ns3::SatPhyRxCarrierPerWindow, and ns3::SatPhyRxCarrierPerFrame.

Definition at line 111 of file satellite-phy-rx-carrier-per-slot.cc.

References ns3::SatPhyRxCarrier::DoDispose(), and m_randomAccessDynamicLoadControlNormalizedOfferedLoad.

Referenced by ns3::SatPhyRxCarrierPerFrame::DoDispose(), and ns3::SatPhyRxCarrierPerWindow::DoDispose().

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

◆ EndRxData()

◆ GetCarrierType()

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

Method for querying the type of the carrier.

Reimplemented from ns3::SatPhyRxCarrier.

Reimplemented in ns3::SatPhyRxCarrierPerWindow, and ns3::SatPhyRxCarrierPerFrame.

Definition at line 100 of file satellite-phy-rx-carrier-per-slot.h.

References ns3::SatPhyRxCarrier::m_randomAccessEnabled.

◆ GetRandomAccessAllocationChannelId()

uint8_t ns3::SatPhyRxCarrierPerSlot::GetRandomAccessAllocationChannelId ( ) const
inline

Function for getting the random access allocation channel ID.

Returns
randomAccessAllocationChannelId

Definition at line 92 of file satellite-phy-rx-carrier-per-slot.h.

References m_randomAccessAllocationChannelId.

Referenced by ns3::SatPhyRxCarrierPerFrame::MeasureRandomAccessLoad(), and ns3::SatPhyRxCarrierPerWindow::MeasureRandomAccessLoad().

+ Here is the caller graph for this function:

◆ GetRandomAccessCollisionModel()

SatPhyRxCarrierConf::RandomAccessCollisionModel ns3::SatPhyRxCarrierPerSlot::GetRandomAccessCollisionModel ( ) const
inlineprotected

Get the random access collision model of the carrier.

Definition at line 126 of file satellite-phy-rx-carrier-per-slot.h.

References m_randomAccessCollisionModel.

Referenced by ns3::SatPhyRxCarrierPerFrame::ProcessReceivedCrdsaPacket().

+ Here is the caller graph for this function:

◆ GetTypeId()

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

Get the TypeId of the class.

Returns
TypeId

Definition at line 85 of file satellite-phy-rx-carrier-per-slot.cc.

References m_disableErrorHighTransmissionTime, m_slottedAlohaRxCollisionTrace, and m_slottedAlohaRxErrorTrace.

◆ IsRandomAccessDynamicLoadControlEnabled()

bool ns3::SatPhyRxCarrierPerSlot::IsRandomAccessDynamicLoadControlEnabled ( ) const
inlineprotected

Check if random access dynamic load control is enabled.

Definition at line 134 of file satellite-phy-rx-carrier-per-slot.h.

References m_enableRandomAccessDynamicLoadControl.

Referenced by ns3::SatPhyRxCarrierPerFrame::DoFrameEnd(), and ns3::SatPhyRxCarrierPerWindow::ProcessWindow().

+ Here is the caller graph for this function:

◆ ProcessSlottedAlohaCollisions()

bool ns3::SatPhyRxCarrierPerSlot::ProcessSlottedAlohaCollisions ( double  cSinr,
Ptr< SatSignalParameters rxParams,
Ptr< SatInterference::InterferenceChangeEvent interferenceEvent 
)
private

Function for processing the Slotted ALOHA collisions.

Parameters
cSinrComposite SINR
rxParamsRx parameters of the packet
interferenceEventInterference event details
Returns
PHY error

check whether the packet has collided. This mode is intended to be used with constant interference and traced interference

check cSinr against link results

Definition at line 223 of file satellite-phy-rx-carrier-per-slot.cc.

References ns3::SatPhyRxCarrier::CheckAgainstLinkResults(), ns3::SatPhyRxCarrier::GetInterferenceModel(), ns3::SatPhyRxCarrier::GetUniformRandomValue(), m_randomAccessCollisionModel, m_randomAccessConstantErrorRate, ns3::SatPhyRxCarrierConf::RA_COLLISION_ALWAYS_DROP_ALL_COLLIDING_PACKETS, ns3::SatPhyRxCarrierConf::RA_COLLISION_CHECK_AGAINST_SINR, and ns3::SatPhyRxCarrierConf::RA_CONSTANT_COLLISION_PROBABILITY.

Referenced by ReceiveSlot().

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

◆ ReceiveSlot()

void ns3::SatPhyRxCarrierPerSlot::ReceiveSlot ( SatPhyRxCarrier::rxParams_s  packetRxParams,
const uint32_t  nPackets 
)
protectedvirtual

Receive a slot.

Overridable by child classes.

calculates sinr for 2nd link

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

calculate composite SINR if transparent. Otherwise take only current sinr.

Channel estimation error is added to the cno measurement, which is utilized e.g. for ACM.

Channel estimation error is added to the cno measurement, which is utilized e.g. for ACM.

composite sinr output trace

check for slotted aloha packet collisions

check against link results

uses composite sinr

send packet upwards

Reimplemented in ns3::SatPhyRxCarrierPerWindow, and ns3::SatPhyRxCarrierPerFrame.

Definition at line 265 of file satellite-phy-rx-carrier-per-slot.cc.

References ns3::SatConstVariables::BITS_PER_BYTE, ns3::SatPhyRxCarrier::CalculateCompositeSinr(), ns3::SatPhyRxCarrier::CalculateSinr(), ns3::SatPhyRxCarrier::CheckAgainstLinkResults(), ns3::SatUtils::DbToLinear(), ns3::SatPhyRxCarrier::rxParams_s::destAddress, ns3::SatPhyRxCarrier::DoCompositeSinrOutputTrace(), ns3::SatEnums::FORWARD_FEEDER_CH, ns3::SatEnums::FORWARD_USER_CH, ns3::SatPhyRxCarrier::GetBeamId(), ns3::SatUplinkInfoTag::GetBeamId(), ns3::SatPhyRxCarrier::GetCarrierId(), ns3::SatPhyRxCarrier::GetChannelEstimationErrorContainer(), ns3::SatPhyRxCarrier::GetChannelType(), ns3::SatEnums::GetChannelTypeName(), ns3::SatAddressE2ETag::GetE2EDestAddress(), ns3::SatAddressE2ETag::GetE2ESourceAddress(), ns3::SatPhyRxCarrier::GetInterferenceModel(), ns3::SatPhyRxCarrier::GetLinkRegenerationMode(), ns3::SatPhyRxCarrier::GetNodeInfo(), ns3::SatPhyRxCarrier::GetOwnAddress(), ns3::SatPhyRxCarrier::GetSatId(), ns3::SatUplinkInfoTag::GetSatId(), ns3::SatUplinkInfoTag::GetSinr(), ns3::SatMacTag::GetSourceAddress(), ns3::SatPhyRxCarrier::GetWorstSinr(), ns3::SatPhyRxCarrier::rxParams_s::interferenceEvent, ns3::SatPhyRxCarrier::IsCompositeSinrOutputTraceEnabled(), ns3::SatUtils::LinearToDb(), ns3::SatPhyRxCarrier::m_additionalInterferenceCallback, ns3::SatPhyRxCarrier::m_cnoCallback, ns3::SatPhyRxCarrier::m_daRxCarrierIdTrace, ns3::SatPhyRxCarrier::m_daRxTrace, ns3::SatPhyRxCarrier::m_linkBudgetTrace, ns3::SatPhyRxCarrier::m_linkSinrTrace, m_randomAccessBitsInFrame, ns3::SatPhyRxCarrier::m_rxAciIfPowerW, ns3::SatPhyRxCarrier::m_rxBandwidthHz, ns3::SatPhyRxCarrier::m_rxCallback, ns3::SatPhyRxCarrier::m_rxExtNoisePowerW, ns3::SatPhyRxCarrier::m_rxNoisePowerW, ns3::SatPhyRxCarrier::m_sinrTrace, m_slottedAlohaRxCollisionTrace, m_slottedAlohaRxErrorTrace, ns3::SatEnums::NT_GW, ns3::SatEnums::NT_UT, ns3::SatEnums::PACKET_TYPE_CRDSA, ns3::SatEnums::PACKET_TYPE_SLOTTED_ALOHA, ProcessSlottedAlohaCollisions(), ns3::SatEnums::REGENERATION_LINK, ns3::SatEnums::REGENERATION_NETWORK, ns3::SatEnums::REGENERATION_PHY, ns3::SatEnums::RETURN_FEEDER_CH, ns3::SatEnums::RETURN_USER_CH, ns3::SatPhyRxCarrier::rxParams_s::rxParams, ns3::SatUplinkInfoTag::SetSinr(), ns3::SatPhyRxCarrier::rxParams_s::sourceAddress, and ns3::SatEnums::TRANSPARENT.

Referenced by EndRxData(), and ns3::SatPhyRxCarrierPerFrame::ReceiveSlot().

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

◆ SaveMeasuredRandomAccessLoad()

void ns3::SatPhyRxCarrierPerSlot::SaveMeasuredRandomAccessLoad ( double  measuredRandomAccessLoad)
protected

Function for saving the measured random access load.

Parameters
measuredRandomAccessLoadMeasured random access load

Definition at line 528 of file satellite-phy-rx-carrier-per-slot.cc.

References m_randomAccessAverageNormalizedOfferedLoadMeasurementWindowSize, and m_randomAccessDynamicLoadControlNormalizedOfferedLoad.

Referenced by ns3::SatPhyRxCarrierPerFrame::MeasureRandomAccessLoad(), and ns3::SatPhyRxCarrierPerWindow::MeasureRandomAccessLoad().

+ Here is the caller graph for this function:

◆ SetRandomAccessAllocationChannelId()

void ns3::SatPhyRxCarrierPerSlot::SetRandomAccessAllocationChannelId ( uint8_t  randomAccessAllocationChannelId)
inline

Function for setting the random access allocation channel ID.

Parameters
randomAccessAllocationChannelId

Definition at line 83 of file satellite-phy-rx-carrier-per-slot.h.

References m_randomAccessAllocationChannelId.

Member Data Documentation

◆ m_disableErrorHighTransmissionTime

bool ns3::SatPhyRxCarrierPerSlot::m_disableErrorHighTransmissionTime
private

Definition at line 220 of file satellite-phy-rx-carrier-per-slot.h.

Referenced by CreateInterference(), and GetTypeId().

◆ m_enableRandomAccessDynamicLoadControl

bool ns3::SatPhyRxCarrierPerSlot::m_enableRandomAccessDynamicLoadControl
private

◆ m_randomAccessAllocationChannelId

uint8_t ns3::SatPhyRxCarrierPerSlot::m_randomAccessAllocationChannelId
private

PRIVATE MEMBER VARIABLES.

Definition at line 206 of file satellite-phy-rx-carrier-per-slot.h.

Referenced by GetRandomAccessAllocationChannelId(), and SetRandomAccessAllocationChannelId().

◆ m_randomAccessAverageNormalizedOfferedLoadMeasurementWindowSize

uint32_t ns3::SatPhyRxCarrierPerSlot::m_randomAccessAverageNormalizedOfferedLoadMeasurementWindowSize
private

◆ m_randomAccessBitsInFrame

uint32_t ns3::SatPhyRxCarrierPerSlot::m_randomAccessBitsInFrame
protected

The number of random access bits in current frame.

Protected so that child classes are able to alter this.

Definition at line 164 of file satellite-phy-rx-carrier-per-slot.h.

Referenced by ns3::SatPhyRxCarrierPerFrame::CalculateNormalizedOfferedRandomAccessLoad(), ReceiveSlot(), and ns3::SatPhyRxCarrierPerFrame::UpdateRandomAccessLoad().

◆ m_randomAccessCollisionModel

SatPhyRxCarrierConf::RandomAccessCollisionModel ns3::SatPhyRxCarrierPerSlot::m_randomAccessCollisionModel
private

◆ m_randomAccessConstantErrorRate

double ns3::SatPhyRxCarrierPerSlot::m_randomAccessConstantErrorRate
private

◆ m_randomAccessDynamicLoadControlNormalizedOfferedLoad

std::deque<double> ns3::SatPhyRxCarrierPerSlot::m_randomAccessDynamicLoadControlNormalizedOfferedLoad
private

◆ m_slottedAlohaRxCollisionTrace

TracedCallback<uint32_t, const Address&, bool> ns3::SatPhyRxCarrierPerSlot::m_slottedAlohaRxCollisionTrace
protected

SlottedAlohaRxCollision trace source.

Fired when a packet burst is received through Random Access Slotted ALOHA.

Contains the following information:

  • number of upper layer packets in the received packet burst;
  • the MAC48 address of the sender; and
  • whether a collision has occurred.

Definition at line 177 of file satellite-phy-rx-carrier-per-slot.h.

Referenced by GetTypeId(), and ReceiveSlot().

◆ m_slottedAlohaRxErrorTrace

TracedCallback<uint32_t, const Address&, bool> ns3::SatPhyRxCarrierPerSlot::m_slottedAlohaRxErrorTrace
protected

SlottedAlohaRxError trace source.

Fired when a packet burst is received through Random Access Slotted ALOHA.

Contains the following information:

  • number of upper layer packets in the received packet burst;
  • the MAC48 address of the sender; and
  • whether a PHY error has occurred.

Definition at line 189 of file satellite-phy-rx-carrier-per-slot.h.

Referenced by GetTypeId(), and ReceiveSlot().


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