Inherited functionality of the base SatPhyRxCarrier for satellite node. More...
#include "satellite-phy-rx-carrier-uplink.h"
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::InterferenceChangeEvent > | CreateInterference (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< SatChannelEstimationErrorContainer > | GetChannelEstimationErrorContainer () |
Get a pointer to the channel estimation error container of the carrier. More... | |
virtual SatEnums::ChannelType_t | GetChannelType () |
Get the channel type. More... | |
Ptr< SatInterferenceElimination > | GetInterferenceEliminationModel () |
Get pointer to the current interference elimination model. More... | |
Ptr< SatInterference > | GetInterferenceModel () |
Get pointer to the current interference model. More... | |
virtual SatEnums::RegenerationMode_t | GetLinkRegenerationMode () |
Get the link regeneration mode. More... | |
Ptr< SatLinkResults > | GetLinkResults () |
Get pointer to the link results given by the carrier creation configuration. More... | |
Ptr< SatNodeInfo > | GetNodeInfo () |
Get the satellite node info. More... | |
Mac48Address | GetOwnAddress () |
Get the MAC address of the carrier. More... | |
std::pair< bool, SatPhyRxCarrier::rxParams_s > | GetReceiveParams (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< SatWaveformConf > | GetWaveformConf () |
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... | |
Inherited functionality of the base SatPhyRxCarrier for satellite node.
Definition at line 44 of file satellite-phy-rx-carrier-uplink.h.
ns3::SatPhyRxCarrierUplink::SatPhyRxCarrierUplink | ( | uint32_t | carrierId, |
Ptr< SatPhyRxCarrierConf > | carrierConf, | ||
Ptr< SatWaveformConf > | waveformConf, | ||
bool | randomAccessEnabled | ||
) |
Constructor.
carrierId | ID of the carrier |
carrierConf | Carrier configuration |
waveformConf | Waveform configuration |
randomAccessEnabled | Is this a RA carrier |
Definition at line 37 of file satellite-phy-rx-carrier-uplink.cc.
|
virtual |
Destructor.
Definition at line 46 of file satellite-phy-rx-carrier-uplink.cc.
|
protectedvirtual |
Create an interference event based on Rx parameters and address.
Implements ns3::SatPhyRxCarrier.
Definition at line 59 of file satellite-phy-rx-carrier-uplink.cc.
References ns3::SatPhyRxCarrier::GetInterferenceModel().
|
protectedvirtual |
Function for ending the packet reception from the SatChannel.
key | Key for Rx params map |
save values for CRDSA receiver
calculates sinr for 1st link
save 1st link sinr value for 2nd link composite sinr calculations
uses 1st link sinr
erase the used Rx params
Implements ns3::SatPhyRxCarrier.
Definition at line 86 of file satellite-phy-rx-carrier-uplink.cc.
References ns3::SatPhyRxCarrier::CalculateSinr(), ns3::SatPhyRxCarrier::DecreaseNumOfRxState(), ns3::SatEnums::FORWARD_FEEDER_CH, ns3::SatPhyRxCarrier::GetChannelType(), ns3::SatEnums::GetChannelTypeName(), ns3::SatPhyRxCarrier::GetInterferenceModel(), ns3::SatPhyRxCarrier::GetOwnAddress(), ns3::SatPhyRxCarrier::GetState(), ns3::SatPhyRxCarrier::GetStoredRxParams(), ns3::SatUtils::LinearToDb(), ns3::SatPhyRxCarrier::m_additionalInterferenceCallback, ns3::SatPhyRxCarrier::m_linkBudgetTrace, ns3::SatPhyRxCarrier::m_linkSinrTrace, ns3::SatPhyRxCarrier::m_rxAciIfPowerW, ns3::SatPhyRxCarrier::m_rxExtNoisePowerW, ns3::SatPhyRxCarrier::m_rxNoisePowerW, ns3::SatPhyRxCarrier::RemoveStoredRxParams(), ns3::SatEnums::RETURN_USER_CH, and ns3::SatPhyRxCarrier::RX.
|
inlinevirtual |
Method for querying the type of the carrier.
Reimplemented from ns3::SatPhyRxCarrier.
Definition at line 73 of file satellite-phy-rx-carrier-uplink.h.
|
inlineprotectedvirtual |
Get the default receive mode.
In satellite node always true.
Reimplemented from ns3::SatPhyRxCarrier.
Definition at line 89 of file satellite-phy-rx-carrier-uplink.h.
|
static |
Get the TypeId of the class.
Definition at line 52 of file satellite-phy-rx-carrier-uplink.cc.
|
virtual |
Function for starting packet reception from the SatChannel.
rxParams | The needed parameters for the received signal |
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().