ns3::SatPhyRx Class Reference

The SatPhyRx models the physical layer receiver of satellite system. More...

#include "satellite-phy-rx.h"

+ Inheritance diagram for ns3::SatPhyRx:
+ Collaboration diagram for ns3::SatPhyRx:

Public Types

typedef Callback< void, uint32_t, uint32_t, uint32_t, uint8_t, double > AverageNormalizedOfferedLoadCallback
 
typedef Callback< void, uint32_t, uint32_t, Address, Address, double, bool > CnoCallback
 
typedef Callback< void, Ptr< SatSignalParameters >, bool > ReceiveCallback
 

Public Member Functions

 SatPhyRx ()
 Default constructor. More...
 
virtual ~SatPhyRx ()
 Destructor for SatPhyRx. More...
 
void BeginEndScheduling ()
 Begin frame/window end scheduling for processes utilizing frame length as interval. More...
 
void ConfigurePhyRxCarriers (Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatSuperframeConf > superFrameConf)
 
virtual void DoDispose ()
 Dispose of this class instance. More...
 
Mac48Address GetAddress () const
 Get MAC address of this PHY/MAC. More...
 
double GetAntennaGain (Ptr< MobilityModel > mobility)
 Get antenna gain based on position or in case that antenna pattern is not configured, maximum configured gain is return. More...
 
uint32_t GetBeamId () const
 Get beam id of this receiver. More...
 
Ptr< NetDevice > GetDevice ()
 
double GetFadingValue (Address macAddress, SatEnums::ChannelType_t channelType)
 Get fading value. More...
 
double GetLosses ()
 Get configures RX losses, currently only antenna loss used. More...
 
Ptr< MobilityModel > GetMobility ()
 
double GetRxTemperatureK (Ptr< SatSignalParameters > rxParams)
 Method for querying the temperature of the chosen carrier. More...
 
uint32_t GetSatId () const
 Get satellite id of this receiver. More...
 
void SetAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > mobility)
 
void SetAntennaLoss_Db (double loss_Db)
 Set the Antenna loss in Db. More...
 
void SetAverageNormalizedOfferedLoadCallback (SatPhyRx::AverageNormalizedOfferedLoadCallback cb)
 Set average normalized offered load callback. More...
 
void SetBeamId (uint32_t beamId)
 Set the beam id for all the transmissions from this SatPhyTx. More...
 
void SetCnoCallback (SatPhyRx::CnoCallback cb)
 Set C/N0 receiver. More...
 
void SetDefaultFadingValue (double fadingValue)
 Function for setting the default fading value. More...
 
void SetDevice (Ptr< NetDevice > d)
 
void SetFadingContainer (Ptr< SatBaseFading > fadingContainer)
 Set fading container. More...
 
void SetMaxAntennaGain_Db (double gain_Db)
 Set the maximum Antenna gain in Db. More...
 
void SetMobility (Ptr< MobilityModel > m)
 
void SetNodeInfo (const Ptr< SatNodeInfo > nodeInfo)
 Set the node info class. More...
 
void SetReceiveCallback (SatPhyRx::ReceiveCallback cb)
 Set the upper layer receive callback. More...
 
void SetSatId (uint32_t satId)
 Set the satellite id for all the transmissions from this SatPhyTx. More...
 
virtual void StartRx (Ptr< SatSignalParameters > rxParams)
 Start packet reception from the SatChannel. More...
 

Static Public Member Functions

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

Private Attributes

Ptr< SatAntennaGainPatternm_antennaGainPattern
 
double m_antennaLoss
 Configured antenna loss in linear. More...
 
uint32_t m_beamId
 
double m_defaultFadingValue
 Default fading value. More...
 
Ptr< NetDevice > m_device
 
Ptr< SatBaseFadingm_fadingContainer
 Fading container for fading model. More...
 
Mac48Address m_macAddress
 
double m_maxAntennaGain
 Configured maximum antenna gain in linear. More...
 
Ptr< MobilityModel > m_mobility
 
std::vector< Ptr< SatPhyRxCarrier > > m_rxCarriers
 
uint32_t m_satId
 
Ptr< SatMobilityModelm_satMobility
 

Detailed Description

The SatPhyRx models the physical layer receiver of satellite system.

Definition at line 53 of file satellite-phy-rx.h.

Member Typedef Documentation

◆ AverageNormalizedOfferedLoadCallback

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

Definition at line 199 of file satellite-phy-rx.h.

◆ CnoCallback

typedef Callback<void, uint32_t, uint32_t, Address, Address, double, bool> ns3::SatPhyRx::CnoCallback
Parameters
satelliteId
beamId
Id(address) of the source (sender)
Id(address) of the destination (receiver)
C/N0value
Iftrue, cno corresponds to link SAT to GW; if false, cno corresponds to link UT to GW

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

◆ ReceiveCallback

typedef Callback<void, Ptr<SatSignalParameters>, bool> ns3::SatPhyRx::ReceiveCallback
Parameters
SatSignalParameterscontaining e.g. the received packet
booleanindicating whether there was a PHY error

Definition at line 179 of file satellite-phy-rx.h.

Constructor & Destructor Documentation

◆ SatPhyRx()

ns3::SatPhyRx::SatPhyRx ( )

Default constructor.

Definition at line 50 of file satellite-phy-rx.cc.

◆ ~SatPhyRx()

ns3::SatPhyRx::~SatPhyRx ( )
virtual

Destructor for SatPhyRx.

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

Member Function Documentation

◆ BeginEndScheduling()

void ns3::SatPhyRx::BeginEndScheduling ( void  )

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

Definition at line 208 of file satellite-phy-rx.cc.

References m_rxCarriers.

◆ ConfigurePhyRxCarriers()

◆ DoDispose()

void ns3::SatPhyRx::DoDispose ( void  )
virtual

Dispose of this class instance.

Definition at line 65 of file satellite-phy-rx.cc.

References m_device, m_fadingContainer, m_mobility, and m_rxCarriers.

◆ GetAddress()

Mac48Address ns3::SatPhyRx::GetAddress ( void  ) const

Get MAC address of this PHY/MAC.

Returns
Mac48Address MAC address of this PHY

Definition at line 185 of file satellite-phy-rx.cc.

References m_macAddress.

◆ GetAntennaGain()

double ns3::SatPhyRx::GetAntennaGain ( Ptr< MobilityModel >  mobility)

Get antenna gain based on position or in case that antenna pattern is not configured, maximum configured gain is return.

Parameters
mobilityMobility used to get gain from antenna pattern
Returns
antenna gain

If antenna gain pattern is not set, we use the set maximum antenna gain.

Definition at line 115 of file satellite-phy-rx.cc.

References m_antennaGainPattern, m_maxAntennaGain, and m_satMobility.

◆ GetBeamId()

uint32_t ns3::SatPhyRx::GetBeamId ( void  ) const

Get beam id of this receiver.

Returns
uint32_t beam id

Definition at line 500 of file satellite-phy-rx.cc.

References m_beamId.

◆ GetDevice()

Ptr< NetDevice > ns3::SatPhyRx::GetDevice ( void  )

Definition at line 89 of file satellite-phy-rx.cc.

References m_device.

◆ GetFadingValue()

double ns3::SatPhyRx::GetFadingValue ( Address  macAddress,
SatEnums::ChannelType_t  channelType 
)

Get fading value.

Parameters
macAddressMAC address
channelTypechannel type
Returns

Definition at line 145 of file satellite-phy-rx.cc.

References m_defaultFadingValue, and m_fadingContainer.

◆ GetLosses()

double ns3::SatPhyRx::GetLosses ( )

Get configures RX losses, currently only antenna loss used.

Returns
Antenna loss in linear

Definition at line 177 of file satellite-phy-rx.cc.

References m_antennaLoss.

◆ GetMobility()

Ptr< MobilityModel > ns3::SatPhyRx::GetMobility ( )

Definition at line 263 of file satellite-phy-rx.cc.

References m_mobility.

◆ GetRxTemperatureK()

double ns3::SatPhyRx::GetRxTemperatureK ( Ptr< SatSignalParameters rxParams)

Method for querying the temperature of the chosen carrier.

Parameters
rxParamsThe needed parameters for the received signal

Definition at line 508 of file satellite-phy-rx.cc.

References m_rxCarriers.

◆ GetSatId()

uint32_t ns3::SatPhyRx::GetSatId ( ) const

Get satellite id of this receiver.

Returns
uint32_t satellite id

Definition at line 475 of file satellite-phy-rx.cc.

References m_satId.

◆ GetTypeId()

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

inherited from Object

Definition at line 76 of file satellite-phy-rx.cc.

References m_rxCarriers.

◆ SetAntennaGainPattern()

void ns3::SatPhyRx::SetAntennaGainPattern ( Ptr< SatAntennaGainPattern agp,
Ptr< SatMobilityModel mobility 
)

Definition at line 279 of file satellite-phy-rx.cc.

References m_antennaGainPattern, and m_satMobility.

◆ SetAntennaLoss_Db()

void ns3::SatPhyRx::SetAntennaLoss_Db ( double  loss_Db)

Set the Antenna loss in Db.

Parameters
loss_Dbantenna loss in Dbs

Definition at line 169 of file satellite-phy-rx.cc.

References ns3::SatUtils::DbToLinear(), and m_antennaLoss.

+ Here is the call graph for this function:

◆ SetAverageNormalizedOfferedLoadCallback()

void ns3::SatPhyRx::SetAverageNormalizedOfferedLoadCallback ( SatPhyRx::AverageNormalizedOfferedLoadCallback  cb)

Set average normalized offered load callback.

Parameters
cb

Definition at line 249 of file satellite-phy-rx.cc.

References m_rxCarriers.

◆ SetBeamId()

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

Set the beam id for all the transmissions from this SatPhyTx.

Parameters
beamIdthe Beam Identifier

Definition at line 483 of file satellite-phy-rx.cc.

References m_beamId, and m_rxCarriers.

◆ SetCnoCallback()

void ns3::SatPhyRx::SetCnoCallback ( SatPhyRx::CnoCallback  cb)

Set C/N0 receiver.

Parameters
cbreceive callback funtion pointer

Definition at line 235 of file satellite-phy-rx.cc.

References m_rxCarriers.

◆ SetDefaultFadingValue()

void ns3::SatPhyRx::SetDefaultFadingValue ( double  fadingValue)

Function for setting the default fading value.

Parameters
fadingValuedefault fading value

Definition at line 138 of file satellite-phy-rx.cc.

References m_defaultFadingValue.

◆ SetDevice()

void ns3::SatPhyRx::SetDevice ( Ptr< NetDevice >  d)

Definition at line 98 of file satellite-phy-rx.cc.

References m_device.

◆ SetFadingContainer()

void ns3::SatPhyRx::SetFadingContainer ( Ptr< SatBaseFading fadingContainer)

Set fading container.

Parameters
fadingContainerfading container

Definition at line 160 of file satellite-phy-rx.cc.

References m_fadingContainer.

◆ SetMaxAntennaGain_Db()

void ns3::SatPhyRx::SetMaxAntennaGain_Db ( double  gain_Db)

Set the maximum Antenna gain in Db.

Parameters
gain_Dbmaximum antenna gain in Dbs

Definition at line 107 of file satellite-phy-rx.cc.

References ns3::SatUtils::DbWToW(), and m_maxAntennaGain.

+ Here is the call graph for this function:

◆ SetMobility()

void ns3::SatPhyRx::SetMobility ( Ptr< MobilityModel >  m)

Definition at line 272 of file satellite-phy-rx.cc.

References m_mobility.

◆ SetNodeInfo()

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

Set the node info class.

Parameters
nodeInfoNode information related to this SatPhyRx

Definition at line 193 of file satellite-phy-rx.cc.

References m_macAddress, and m_rxCarriers.

◆ SetReceiveCallback()

void ns3::SatPhyRx::SetReceiveCallback ( SatPhyRx::ReceiveCallback  cb)

Set the upper layer receive callback.

Parameters
cbreceive callback funtion pointer

Definition at line 221 of file satellite-phy-rx.cc.

References m_rxCarriers.

◆ SetSatId()

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

Set the satellite id for all the transmissions from this SatPhyTx.

Parameters
satIdthe satellite Identifier

Definition at line 458 of file satellite-phy-rx.cc.

References m_rxCarriers, and m_satId.

◆ StartRx()

void ns3::SatPhyRx::StartRx ( Ptr< SatSignalParameters rxParams)
virtual

Start packet reception from the SatChannel.

Parameters
rxParamsThe needed parameters for the received signal

Reimplemented in ns3::SatLoraPhyRx.

Definition at line 523 of file satellite-phy-rx.cc.

References m_rxCarriers.

Referenced by ns3::SatLoraPhyRx::StartRx().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_antennaGainPattern

Ptr<SatAntennaGainPattern> ns3::SatPhyRx::m_antennaGainPattern
private

Definition at line 253 of file satellite-phy-rx.h.

Referenced by GetAntennaGain(), and SetAntennaGainPattern().

◆ m_antennaLoss

double ns3::SatPhyRx::m_antennaLoss
private

Configured antenna loss in linear.

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

Referenced by GetLosses(), and SetAntennaLoss_Db().

◆ m_beamId

uint32_t ns3::SatPhyRx::m_beamId
private

Definition at line 247 of file satellite-phy-rx.h.

Referenced by GetBeamId(), and SetBeamId().

◆ m_defaultFadingValue

double ns3::SatPhyRx::m_defaultFadingValue
private

Default fading value.

Definition at line 281 of file satellite-phy-rx.h.

Referenced by GetFadingValue(), and SetDefaultFadingValue().

◆ m_device

Ptr<NetDevice> ns3::SatPhyRx::m_device
private

Definition at line 244 of file satellite-phy-rx.h.

Referenced by DoDispose(), GetDevice(), and SetDevice().

◆ m_fadingContainer

Ptr<SatBaseFading> ns3::SatPhyRx::m_fadingContainer
private

Fading container for fading model.

Definition at line 276 of file satellite-phy-rx.h.

Referenced by DoDispose(), GetFadingValue(), and SetFadingContainer().

◆ m_macAddress

Mac48Address ns3::SatPhyRx::m_macAddress
private

Definition at line 248 of file satellite-phy-rx.h.

Referenced by GetAddress(), and SetNodeInfo().

◆ m_maxAntennaGain

double ns3::SatPhyRx::m_maxAntennaGain
private

Configured maximum antenna gain in linear.

Definition at line 263 of file satellite-phy-rx.h.

Referenced by GetAntennaGain(), and SetMaxAntennaGain_Db().

◆ m_mobility

Ptr<MobilityModel> ns3::SatPhyRx::m_mobility
private

Definition at line 243 of file satellite-phy-rx.h.

Referenced by DoDispose(), GetMobility(), and SetMobility().

◆ m_rxCarriers

◆ m_satId

uint32_t ns3::SatPhyRx::m_satId
private

Definition at line 246 of file satellite-phy-rx.h.

Referenced by GetSatId(), and SetSatId().

◆ m_satMobility

Ptr<SatMobilityModel> ns3::SatPhyRx::m_satMobility
private

Definition at line 258 of file satellite-phy-rx.h.

Referenced by GetAntennaGain(), and SetAntennaGainPattern().


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