The SatPhy models the basic physical layer of the satellite system. More...
#include "satellite-phy.h"
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. More... | |
typedef Callback< void, uint32_t, uint32_t, Address, Address, double, bool > | CnoCallback |
typedef SatPhyRxCarrierConf::ErrorModel | ErrorModel |
Define ErrorModel in SatPhy. More... | |
typedef SatPhyRxCarrierConf::InterferenceEliminationModel | InterferenceEliminationModel |
Define InterferenceEliminationModel in SatPhy. More... | |
typedef SatPhyRxCarrierConf::InterferenceModel | InterferenceModel |
Define InterferenceModel in SatPhy. More... | |
typedef SatSignalParameters::PacketsInBurst_t | PacketContainer_t |
Define PacketContainer in SatPhy. More... | |
typedef Callback< void, PacketContainer_t, Ptr< SatSignalParameters > > | ReceiveCallback |
Public Member Functions | |
SatPhy (CreateParam_t ¶ms) | |
Constructor to create PHY objects with parameters. More... | |
SatPhy (void) | |
Default constructor. More... | |
virtual | ~SatPhy () |
Destructor. More... | |
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. More... | |
void | BeginEndScheduling () |
Begin frame/window end scheduling for processes utilizing frame length as interval. More... | |
double | CalculateSinr (double sinr, double otherInterference) |
Calculate final SINR with PHY specific parameters and given calculated SINR. More... | |
void | CnoInfo (uint32_t satId, uint32_t beamId, Address source, Address destination, double cno, bool isSatelliteMac) |
Function for getting the C/NO information. More... | |
void | ConfigureRxCarriers (Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatSuperframeConf > superFrameConf) |
Configure Rx carriers. More... | |
virtual void | DoDispose (void) |
Dispose of SatPhy. More... | |
virtual void | DoInitialize (void) |
Initialization of SatPhy. More... | |
virtual double | GetAdditionalInterference ()=0 |
Get additional interference, used to compute final SINR at RX. More... | |
double | GetDefaultFading () const |
Get the default fading of the PHY. More... | |
TypeId | GetInstanceTypeId (void) const |
Derived from Object. More... | |
virtual Ptr< SatPhyRx > | GetPhyRx () const |
Get the SatPhyRx pointer. More... | |
virtual Ptr< SatPhyTx > | GetPhyTx () const |
Get the SatPhyTx pointer. More... | |
double | GetRxAntennaGainDb () const |
Get the maximum antenna gain of the receiver in dB. More... | |
double | GetRxAntennaLossDb () const |
Get the antenna loss of the receiver in dB. More... | |
double | GetRxNoiseTemperatureDbk () const |
Get the noise temperature of the receiver in dbK. More... | |
double | GetTxAntennaGainDb () const |
Get the maximum antenna gain of the transmitter in dB. More... | |
double | GetTxAntennaLossDb () const |
Get the antenna loss of the transmitter in dB. More... | |
Ptr< SatChannel > | GetTxChannel () |
Get the Tx satellite channel. More... | |
double | GetTxMaxPowerDbw () const |
Get the maximum transmit power of the transmitter in dB. More... | |
double | GetTxOboLossDb () const |
Get the OBO loss of the transmitter in dB. More... | |
double | GetTxOutputLossDb () const |
Get the output loss of the transmitter in dB. More... | |
double | GetTxPointingLossDb () const |
Get the pointing loss of the transmitter in dB. More... | |
void | Initialize () |
Initialize phy. More... | |
virtual void | Receive (Ptr< SatSignalParameters > rxParams, bool phyError) |
Receives packets from lower layer. More... | |
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) More... | |
virtual void | SendPduWithParams (Ptr< SatSignalParameters > rxParams) |
Send Pdu to the PHY tx module (for satellite switch packet forwarding) More... | |
bool | SetBeamId (uint32_t beamId) |
Set the beamId this PHY is connected with. More... | |
void | SetChannelPairGetterCallback (SatPhy::ChannelPairGetterCallback cb) |
Set the channel pair getter callback. More... | |
void | SetDefaultFading (double fading) |
Set the default fading of the PHY. More... | |
void | SetNodeInfo (const Ptr< SatNodeInfo > nodeInfo) |
Set the node info class. More... | |
virtual void | SetPhyRx (Ptr< SatPhyRx > phyRx) |
Set the SatPhyRx module. More... | |
virtual void | SetPhyTx (Ptr< SatPhyTx > phyTx) |
Set the SatPhyTx module. More... | |
void | SetRxAntennaGainDb (double gainDb) |
Set the maximum antenna gain of the receiver in dB. More... | |
virtual void | SetRxAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > satelliteMobility) |
Set the receive antenna gain pattern. More... | |
void | SetRxAntennaLossDb (double lossDb) |
Set the antenna loss of the receiver in dB. More... | |
void | SetRxFadingContainer (Ptr< SatBaseFading > fadingContainer) |
Set fading container. More... | |
void | SetRxNoiseTemperatureDbk (double temperatureDbk) |
Set the noise temperature of the receiver in dbK. More... | |
void | SetSatId (uint32_t satId) |
Set the satId this PHY is connected with. More... | |
void | SetTxAntennaGainDb (double gainDb) |
Set the maximum antenna gain of the transmitter in dB. More... | |
virtual void | SetTxAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > satelliteMobility) |
Set the transmit antenna gain pattern. More... | |
void | SetTxAntennaLossDb (double lossDb) |
Set the antenna loss of the transmitter in dB. More... | |
void | SetTxFadingContainer (Ptr< SatBaseFading > fadingContainer) |
Set fading container. More... | |
void | SetTxMaxPowerDbw (double powerDb) |
Set the maximum transmit power of the transmitter in dB. More... | |
void | SetTxOboLossDb (double lossDb) |
Set the OBO loss of the transmitter in dB. More... | |
void | SetTxOutputLossDb (double lossDb) |
Set the output loss of the transmitter in dB. More... | |
void | SetTxPointingLossDb (double lossDb) |
Set the pointing loss of the transmitter in dB. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Derived from Object. More... | |
Protected Member Functions | |
virtual SatEnums::SatLinkDir_t | GetSatLinkRxDir () |
Get the link RX direction. More... | |
virtual SatEnums::SatLinkDir_t | GetSatLinkTxDir () |
Get the link TX direction. More... | |
void | ModcodTrace (Ptr< SatSignalParameters > rxParams) |
Invoke the RxLinkModcod trace source for each received packet. More... | |
virtual void | RxTraces (SatPhy::PacketContainer_t packets) |
Invoke the Rx trace source for each received packet. More... | |
void | SetTimeTag (SatPhy::PacketContainer_t packets) |
Set SatPhyTimeTag of packets. More... | |
Protected Attributes | |
uint32_t | m_beamId |
Beam ID. More... | |
double | m_eirpWoGainW |
Calculated EIRP without gain in W. More... | |
bool | m_isStatisticsTagsEnabled |
EnableStatisticsTags attribute. More... | |
Time | m_lastDelay |
Last delay measurement. More... | |
Time | m_lastLinkDelay |
Last delay measurement for link. More... | |
Ptr< SatNodeInfo > | m_nodeInfo |
Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice) More... | |
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: More... | |
Ptr< SatPhyRx > | m_phyRx |
Pointer to internal SatPhyRx instance. More... | |
Ptr< SatPhyTx > | m_phyTx |
Pointer to internal SatPhyTx instance. More... | |
SatPhy::ChannelPairGetterCallback | m_retrieveChannelPair |
Callback for retrieving SatChannel pairs by beam. More... | |
SatPhy::ReceiveCallback | m_rxCallback |
The upper layer package receive callback. More... | |
TracedCallback< const Time &, const Address & > | m_rxDelayTrace |
Traced callback for all received packets, including delay information and the address of the senders. More... | |
TracedCallback< const Time &, const Address & > | m_rxJitterTrace |
Traced callback for all received packets, including jitter information and the address of the senders. More... | |
TracedCallback< const Time &, const Address & > | m_rxLinkDelayTrace |
Traced callback for all received packets, including link delay information and the address of the senders. More... | |
TracedCallback< const Time &, const Address & > | m_rxLinkJitterTrace |
Traced callback for all received packets, including link jitter information and the address of the senders. More... | |
TracedCallback< uint32_t, const Address & > | m_rxLinkModcodTrace |
Traced callback for all received packets, including link MODCOD information and the address of the senders. More... | |
TracedCallback< Ptr< const Packet >, const Address & > | m_rxTrace |
Traced callback for all received packets, including the address of the senders. More... | |
uint32_t | m_satId |
Satellite ID. More... | |
Private Attributes | |
SatPhy::AverageNormalizedOfferedLoadCallback | m_avgNormalizedOfferedLoadCallback |
Average normalized offered load callback. More... | |
SatPhy::CnoCallback | m_cnoCallback |
The C/N0 info callback. More... | |
double | m_defaultFadingValue |
Default fading value. More... | |
double | m_rxAntennaLossDb |
Configured receiver antenna loss in Dbs. More... | |
double | m_rxMaxAntennaGainDb |
Configured maximum receiver antenna gain in dBi. More... | |
double | m_rxNoiseTemperatureDbk |
Configured receiver noise temperature in dBK. More... | |
double | m_txAntennaLossDb |
Configured transmitter antenna loss in Dbs. More... | |
double | m_txMaxAntennaGainDb |
Configured maximum transmitter antenna gain in dBi. More... | |
double | m_txMaxPowerDbw |
Configured maximum transmitter power in DbWs. More... | |
double | m_txOboLossDb |
Configured transmitter OBO loss in Dbs. More... | |
double | m_txOutputLossDb |
Configured transmitter output loss in Dbs. More... | |
double | m_txPointingLossDb |
Configured transmitter pointing loss in Dbs. More... | |
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.
typedef Callback<void, uint32_t, uint32_t, uint32_t, uint8_t, double> ns3::SatPhy::AverageNormalizedOfferedLoadCallback |
satellite | Id |
beam | Id |
carrier | Id |
allocation | channel Id |
average | normalized offered load |
Definition at line 104 of file satellite-phy.h.
typedef Callback<SatChannelPair::ChannelPair_t, uint32_t, uint32_t> ns3::SatPhy::ChannelPairGetterCallback |
Callback for retrieving a pair of SatChannel associated to a beam.
uint32_t | beam ID |
Definition at line 503 of file satellite-phy.h.
typedef Callback<void, uint32_t, uint32_t, Address, Address, double, bool> ns3::SatPhy::CnoCallback |
The | id of the satellite. |
The | id of the beam. |
The | id (address) of the source or sender |
The | id (address) of the destination or receiver |
C/N0 | value |
Definition at line 94 of file satellite-phy.h.
Define ErrorModel in SatPhy.
Definition at line 75 of file satellite-phy.h.
Define InterferenceEliminationModel in SatPhy.
Definition at line 71 of file satellite-phy.h.
Define InterferenceModel in SatPhy.
Definition at line 67 of file satellite-phy.h.
Define PacketContainer in SatPhy.
Definition at line 79 of file satellite-phy.h.
typedef Callback<void, PacketContainer_t, Ptr<SatSignalParameters> > ns3::SatPhy::ReceiveCallback |
the | container of pointers to packets received |
the | id of the beam where packet is from |
Definition at line 85 of file satellite-phy.h.
ns3::SatPhy::SatPhy | ( | void | ) |
Default constructor.
Definition at line 52 of file satellite-phy.cc.
ns3::SatPhy::SatPhy | ( | CreateParam_t & | params | ) |
Constructor to create PHY objects with parameters.
Definition at line 74 of file satellite-phy.cc.
References ns3::SatEnums::DVB_GW, ns3::SatEnums::DVB_ORBITER, ns3::SatEnums::DVB_UT, ns3::SatEnums::LORA_GW, ns3::SatEnums::LORA_ORBITER, ns3::SatEnums::LORA_UT, ns3::SatPhy::CreateParam_t::m_beamId, m_beamId, ns3::SatPhy::CreateParam_t::m_device, m_phyRx, m_phyTx, ns3::SatPhy::CreateParam_t::m_rxCh, ns3::SatPhy::CreateParam_t::m_satId, m_satId, ns3::SatPhy::CreateParam_t::m_standard, and ns3::SatPhy::CreateParam_t::m_txCh.
|
virtual |
Destructor.
Definition at line 246 of file satellite-phy.cc.
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.
satId | Satellite id of average normalized load is received |
beamId | Beam id of average normalized load is received |
carrierId | Carrier id of average normalized load is received |
allocationChannelId | allocation channel ID |
averageNormalizedOfferedLoad | Value of average normalized offered load |
Definition at line 645 of file satellite-phy.cc.
References m_avgNormalizedOfferedLoadCallback.
Referenced by Initialize().
void ns3::SatPhy::BeginEndScheduling | ( | void | ) |
Begin frame/window end scheduling for processes utilizing frame length as interval.
Definition at line 332 of file satellite-phy.cc.
References m_phyRx.
double ns3::SatPhy::CalculateSinr | ( | double | sinr, |
double | otherInterference | ||
) |
Calculate final SINR with PHY specific parameters and given calculated SINR.
Additional interference value is added.
sinr | Calculated SINR |
otherInterference | Interference to add to the sinr |
Definition at line 264 of file satellite-phy.cc.
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.
beamId | Beam id of C/N0 is received |
source | Id (address) of the source (sender) |
destination | Id (address) of the destination |
cno | Value of the C/N0 |
isSatelliteMac | If true, cno corresponds to link SAT to GW; if false, cno corresponds to link UT to GW |
Definition at line 633 of file satellite-phy.cc.
References m_cnoCallback.
Referenced by Initialize().
void ns3::SatPhy::ConfigureRxCarriers | ( | Ptr< SatPhyRxCarrierConf > | carrierConf, |
Ptr< SatSuperframeConf > | superFrameConf | ||
) |
Configure Rx carriers.
carrierConf | Carrier configuration class |
superFrameConf | Superframe configuration |
Definition at line 300 of file satellite-phy.cc.
References m_phyRx.
Referenced by ns3::SatGwPhy::SatGwPhy(), ns3::SatOrbiterFeederPhy::SatOrbiterFeederPhy(), ns3::SatOrbiterUserPhy::SatOrbiterUserPhy(), and ns3::SatUtPhy::SatUtPhy().
|
virtual |
Dispose of SatPhy.
Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.
Definition at line 252 of file satellite-phy.cc.
References m_phyRx, and m_phyTx.
Referenced by ns3::SatGwPhy::DoDispose().
|
virtual |
Initialization of SatPhy.
Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.
Definition at line 201 of file satellite-phy.cc.
Referenced by ns3::SatGwPhy::DoInitialize().
|
pure virtual |
Get additional interference, used to compute final SINR at RX.
Implemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.
|
inline |
Get the default fading of the PHY.
Definition at line 340 of file satellite-phy.h.
References m_defaultFadingValue.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
TypeId ns3::SatPhy::GetInstanceTypeId | ( | void | ) | const |
Derived from Object.
Definition at line 194 of file satellite-phy.cc.
References GetTypeId().
|
virtual |
Get the SatPhyRx pointer.
Definition at line 346 of file satellite-phy.cc.
References m_phyRx.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
virtual |
Get the SatPhyTx pointer.
Definition at line 339 of file satellite-phy.cc.
References m_phyTx.
Referenced by ns3::SatOrbiterFeederPhy::SatOrbiterFeederPhy(), ns3::SatOrbiterUserPhy::SatOrbiterUserPhy(), ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Get the maximum antenna gain of the receiver in dB.
Definition at line 196 of file satellite-phy.h.
References m_rxMaxAntennaGainDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Get the antenna loss of the receiver in dB.
Definition at line 214 of file satellite-phy.h.
References m_rxAntennaLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Get the noise temperature of the receiver in dbK.
Definition at line 178 of file satellite-phy.h.
References m_rxNoiseTemperatureDbk.
Referenced by ns3::SatGwPhy::SatGwPhy(), ns3::SatOrbiterFeederPhy::SatOrbiterFeederPhy(), ns3::SatOrbiterUserPhy::SatOrbiterUserPhy(), ns3::SatUtPhy::SatUtPhy(), ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
protectedvirtual |
Get the link RX direction.
Must be implemented by child clases.
Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.
Definition at line 480 of file satellite-phy.cc.
References ns3::SatEnums::LD_UNDEFINED.
Referenced by ModcodTrace(), and Receive().
|
protectedvirtual |
Get the link TX direction.
Must be implemented by child clases.
Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, ns3::SatOrbiterFeederPhy, and ns3::SatGwPhy.
Definition at line 474 of file satellite-phy.cc.
References ns3::SatEnums::LD_UNDEFINED.
Referenced by SendPdu().
|
inline |
Get the maximum antenna gain of the transmitter in dB.
Definition at line 232 of file satellite-phy.h.
References m_txMaxAntennaGainDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Get the antenna loss of the transmitter in dB.
Definition at line 322 of file satellite-phy.h.
References m_txAntennaLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
Ptr< SatChannel > ns3::SatPhy::GetTxChannel | ( | ) |
Get the Tx satellite channel.
Definition at line 367 of file satellite-phy.cc.
References m_phyTx.
|
inline |
Get the maximum transmit power of the transmitter in dB.
Definition at line 250 of file satellite-phy.h.
References m_txMaxPowerDbw.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Get the OBO loss of the transmitter in dB.
Definition at line 304 of file satellite-phy.h.
References m_txOboLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Get the output loss of the transmitter in dB.
Definition at line 268 of file satellite-phy.h.
References m_txOutputLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Get the pointing loss of the transmitter in dB.
Definition at line 286 of file satellite-phy.h.
References m_txPointingLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
static |
Derived from Object.
Definition at line 136 of file satellite-phy.cc.
References m_avgNormalizedOfferedLoadCallback, m_cnoCallback, m_isStatisticsTagsEnabled, m_packetTrace, m_rxCallback, m_rxDelayTrace, m_rxJitterTrace, m_rxLinkDelayTrace, m_rxLinkJitterTrace, m_rxLinkModcodTrace, and m_rxTrace.
Referenced by GetInstanceTypeId().
void ns3::SatPhy::Initialize | ( | ) |
Initialize phy.
Definition at line 208 of file satellite-phy.cc.
References AverageNormalizedOfferedRandomAccessLoadInfo(), CnoInfo(), ns3::SatUtils::DbWToW(), m_avgNormalizedOfferedLoadCallback, m_beamId, m_cnoCallback, m_defaultFadingValue, m_eirpWoGainW, m_phyRx, m_phyTx, m_rxAntennaLossDb, m_rxMaxAntennaGainDb, m_satId, m_txAntennaLossDb, m_txMaxAntennaGainDb, m_txMaxPowerDbw, m_txOboLossDb, m_txOutputLossDb, m_txPointingLossDb, and Receive().
|
protected |
Invoke the RxLinkModcod
trace source for each received packet.
rxParams | Pointer to SatSignalParameters of packets received. |
Definition at line 550 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().
|
virtual |
Receives packets from lower layer.
rxParams | Packet reception parameters |
phyError | Boolean indicating whether the packet successfully received or not? |
Reimplemented in ns3::SatUtPhy, ns3::SatOrbiterUserPhy, and ns3::SatOrbiterFeederPhy.
Definition at line 595 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().
|
protectedvirtual |
Invoke the Rx
trace source for each received packet.
packets | Container of the pointers to the packets received. |
Reimplemented in ns3::SatOrbiterUserPhy, and ns3::SatOrbiterFeederPhy.
Definition at line 486 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().
|
virtual |
Send Pdu to the PHY tx module (for initial transmissions from either UT or GW)
p | packet to be sent |
carrierId | Carrier id for the packet transmission |
duration | the packet transmission duration (from MAC layer) |
txInfo | Tx information (e.g. packet type, modcod, waveform ID) |
Definition at line 376 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().
|
virtual |
Send Pdu to the PHY tx module (for satellite switch packet forwarding)
rxParams | Transmission parameters |
This method is not meant to be used in this class. It is overriden in the inherited classes.
Reimplemented in ns3::SatOrbiterUserPhy, and ns3::SatOrbiterFeederPhy.
Definition at line 420 of file satellite-phy.cc.
bool ns3::SatPhy::SetBeamId | ( | uint32_t | beamId | ) |
Set the beamId this PHY is connected with.
beamId | Satellite beam id |
Definition at line 441 of file satellite-phy.cc.
References m_beamId, m_phyRx, and m_phyTx.
Referenced by ns3::SatGwPhy::PerformHandover(), and ns3::SatUtPhy::PerformHandover().
void ns3::SatPhy::SetChannelPairGetterCallback | ( | SatPhy::ChannelPairGetterCallback | cb | ) |
Set the channel pair getter callback.
cb | callback to invoke whenever a SatChannel pair for a beam is required. |
Definition at line 661 of file satellite-phy.cc.
References m_retrieveChannelPair.
|
inline |
Set the default fading of the PHY.
fading | the default fading of the PHY. |
Definition at line 349 of file satellite-phy.h.
References m_defaultFadingValue.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
void ns3::SatPhy::SetNodeInfo | ( | const Ptr< SatNodeInfo > | nodeInfo | ) |
Set the node info class.
nodeInfo | Node information related to this SatPhy |
Definition at line 324 of file satellite-phy.cc.
References m_nodeInfo, and m_phyRx.
|
virtual |
Set the SatPhyRx module.
phyRx | Receiver PHY module |
Definition at line 360 of file satellite-phy.cc.
References m_phyRx.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
virtual |
Set the SatPhyTx module.
phyTx | Transmitter PHY module |
Definition at line 353 of file satellite-phy.cc.
References m_phyTx.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Set the maximum antenna gain of the receiver in dB.
gainDb | the receiver antenna gain in dB. |
Definition at line 205 of file satellite-phy.h.
References m_rxMaxAntennaGainDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
virtual |
Set the receive antenna gain pattern.
agp | antenna gain pattern |
mobility | mobility model of satellite |
Definition at line 292 of file satellite-phy.cc.
References m_phyRx.
|
inline |
Set the antenna loss of the receiver in dB.
lossDb | the receiver antenna loss in dB. |
Definition at line 223 of file satellite-phy.h.
References m_rxAntennaLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
void ns3::SatPhy::SetRxFadingContainer | ( | Ptr< SatBaseFading > | fadingContainer | ) |
Set fading container.
fadingContainer | fading container |
Definition at line 308 of file satellite-phy.cc.
References m_phyRx.
|
inline |
Set the noise temperature of the receiver in dbK.
temperatureDbk | the receiver noise temperature in dbK. |
Definition at line 187 of file satellite-phy.h.
References m_rxNoiseTemperatureDbk.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
void ns3::SatPhy::SetSatId | ( | uint32_t | satId | ) |
Set the satId this PHY is connected with.
satId | Satellite ID |
Definition at line 432 of file satellite-phy.cc.
References m_phyRx, m_phyTx, and m_satId.
Referenced by ns3::SatGwPhy::PerformHandover(), and ns3::SatUtPhy::PerformHandover().
|
protected |
Set SatPhyTimeTag of packets.
packets | Container of the pointers to the packets to tag. |
Definition at line 456 of file satellite-phy.cc.
References m_isStatisticsTagsEnabled.
Referenced by SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), and ns3::SatOrbiterUserPhy::SendPduWithParams().
|
inline |
Set the maximum antenna gain of the transmitter in dB.
gainDb | the transmitter antenna gain in dB. |
Definition at line 241 of file satellite-phy.h.
References m_txMaxAntennaGainDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
virtual |
Set the transmit antenna gain pattern.
agp | antenna gain pattern |
mobility | mobility model of satellite |
Definition at line 284 of file satellite-phy.cc.
References m_phyTx.
|
inline |
Set the antenna loss of the transmitter in dB.
lossDb | the transmitter antenna loss in dB. |
Definition at line 331 of file satellite-phy.h.
References m_txAntennaLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
void ns3::SatPhy::SetTxFadingContainer | ( | Ptr< SatBaseFading > | fadingContainer | ) |
Set fading container.
fadingContainer | fading container |
Definition at line 316 of file satellite-phy.cc.
References m_phyTx.
|
inline |
Set the maximum transmit power of the transmitter in dB.
powerDb | the transmitter transmit power in dB. |
Definition at line 259 of file satellite-phy.h.
References m_txMaxPowerDbw.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Set the OBO loss of the transmitter in dB.
lossDb | the transmitter OBO loss in dB. |
Definition at line 313 of file satellite-phy.h.
References m_txOboLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Set the output loss of the transmitter in dB.
lossDb | the transmitter output loss in dB. |
Definition at line 277 of file satellite-phy.h.
References m_txOutputLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
inline |
Set the pointing loss of the transmitter in dB.
lossDb | the transmitter pointing loss in dB. |
Definition at line 295 of file satellite-phy.h.
References m_txPointingLossDb.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
private |
Average normalized offered load callback.
Definition at line 656 of file satellite-phy.h.
Referenced by AverageNormalizedOfferedRandomAccessLoadInfo(), GetTypeId(), and Initialize().
|
protected |
Beam ID.
Definition at line 625 of file satellite-phy.h.
Referenced by SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), Initialize(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), SendPdu(), and SetBeamId().
|
private |
The C/N0 info callback.
Definition at line 651 of file satellite-phy.h.
Referenced by CnoInfo(), GetTypeId(), and Initialize().
|
private |
Default fading value.
Definition at line 706 of file satellite-phy.h.
Referenced by GetDefaultFading(), Initialize(), and SetDefaultFading().
|
protected |
Calculated EIRP without gain in W.
Definition at line 630 of file satellite-phy.h.
Referenced by Initialize(), SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), and ns3::SatOrbiterUserPhy::SendPduWithParams().
|
protected |
EnableStatisticsTags
attribute.
Definition at line 635 of file satellite-phy.h.
Referenced by GetTypeId(), ModcodTrace(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), RxTraces(), and SetTimeTag().
|
protected |
Last delay measurement.
Used to compute jitter.
Definition at line 640 of file satellite-phy.h.
Referenced by RxTraces().
|
protected |
Last delay measurement for link.
Used to compute link jitter.
Definition at line 645 of file satellite-phy.h.
Referenced by ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().
|
protected |
Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice)
Definition at line 605 of file satellite-phy.h.
Referenced by ns3::SatOrbiterFeederPhy::Receive(), ns3::SatOrbiterUserPhy::Receive(), Receive(), ns3::SatOrbiterFeederPhy::SendFromQueue(), ns3::SatOrbiterUserPhy::SendFromQueue(), SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), ns3::SatOrbiterUserPhy::SendPduWithParams(), and SetNodeInfo().
|
protected |
Trace callback used for packet tracing:
Definition at line 563 of file satellite-phy.h.
Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::Receive(), ns3::SatOrbiterUserPhy::Receive(), Receive(), ns3::SatOrbiterFeederPhy::SendFromQueue(), ns3::SatOrbiterUserPhy::SendFromQueue(), SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), and ns3::SatOrbiterUserPhy::SendPduWithParams().
|
protected |
Pointer to internal SatPhyRx instance.
Definition at line 615 of file satellite-phy.h.
Referenced by SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), BeginEndScheduling(), ConfigureRxCarriers(), DoDispose(), GetPhyRx(), Initialize(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), SetBeamId(), SetNodeInfo(), SetPhyRx(), SetRxAntennaGainPattern(), SetRxFadingContainer(), and SetSatId().
|
protected |
Pointer to internal SatPhyTx instance.
Definition at line 610 of file satellite-phy.h.
Referenced by SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), DoDispose(), GetPhyTx(), GetTxChannel(), Initialize(), ns3::SatUtPhy::IsTxPossible(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), ns3::SatOrbiterFeederPhy::SendFromQueue(), ns3::SatOrbiterUserPhy::SendFromQueue(), SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), ns3::SatOrbiterUserPhy::SendPduWithParams(), SetBeamId(), SetPhyTx(), SetSatId(), SetTxAntennaGainPattern(), and SetTxFadingContainer().
|
protected |
Callback for retrieving SatChannel pairs by beam.
Definition at line 550 of file satellite-phy.h.
Referenced by ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), and SetChannelPairGetterCallback().
|
private |
Configured receiver antenna loss in Dbs.
Definition at line 671 of file satellite-phy.h.
Referenced by GetRxAntennaLossDb(), Initialize(), and SetRxAntennaLossDb().
|
protected |
The upper layer package receive callback.
Definition at line 545 of file satellite-phy.h.
Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::Receive(), ns3::SatOrbiterUserPhy::Receive(), and Receive().
|
protected |
Traced callback for all received packets, including delay information and the address of the senders.
Definition at line 575 of file satellite-phy.h.
Referenced by GetTypeId(), and RxTraces().
|
protected |
Traced callback for all received packets, including jitter information and the address of the senders.
Definition at line 587 of file satellite-phy.h.
Referenced by GetTypeId(), and RxTraces().
|
protected |
Traced callback for all received packets, including link delay information and the address of the senders.
Definition at line 581 of file satellite-phy.h.
Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().
|
protected |
Traced callback for all received packets, including link jitter information and the address of the senders.
Definition at line 593 of file satellite-phy.h.
Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().
|
protected |
Traced callback for all received packets, including link MODCOD information and the address of the senders.
Definition at line 599 of file satellite-phy.h.
Referenced by GetTypeId(), and ModcodTrace().
|
private |
Configured maximum receiver antenna gain in dBi.
Definition at line 666 of file satellite-phy.h.
Referenced by GetRxAntennaGainDb(), Initialize(), and SetRxAntennaGainDb().
|
private |
Configured receiver noise temperature in dBK.
Definition at line 661 of file satellite-phy.h.
Referenced by GetRxNoiseTemperatureDbk(), and SetRxNoiseTemperatureDbk().
|
protected |
Traced callback for all received packets, including the address of the senders.
Definition at line 569 of file satellite-phy.h.
Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().
|
protected |
Satellite ID.
Definition at line 620 of file satellite-phy.h.
Referenced by SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), Initialize(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), SendPdu(), and SetSatId().
|
private |
Configured transmitter antenna loss in Dbs.
Definition at line 701 of file satellite-phy.h.
Referenced by GetTxAntennaLossDb(), Initialize(), and SetTxAntennaLossDb().
|
private |
Configured maximum transmitter antenna gain in dBi.
Definition at line 676 of file satellite-phy.h.
Referenced by GetTxAntennaGainDb(), Initialize(), and SetTxAntennaGainDb().
|
private |
Configured maximum transmitter power in DbWs.
Definition at line 681 of file satellite-phy.h.
Referenced by GetTxMaxPowerDbw(), Initialize(), and SetTxMaxPowerDbw().
|
private |
Configured transmitter OBO loss in Dbs.
Definition at line 696 of file satellite-phy.h.
Referenced by GetTxOboLossDb(), Initialize(), and SetTxOboLossDb().
|
private |
Configured transmitter output loss in Dbs.
Definition at line 686 of file satellite-phy.h.
Referenced by GetTxOutputLossDb(), Initialize(), and SetTxOutputLossDb().
|
private |
Configured transmitter pointing loss in Dbs.
Definition at line 691 of file satellite-phy.h.
Referenced by GetTxPointingLossDb(), Initialize(), and SetTxPointingLossDb().