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. | |
| typedef Callback< void, uint32_t, uint32_t, Address, Address, double, bool > | CnoCallback |
| typedef SatPhyRxCarrierConf::ErrorModel | ErrorModel |
| Define ErrorModel in SatPhy. | |
| typedef SatPhyRxCarrierConf::InterferenceEliminationModel | InterferenceEliminationModel |
| Define InterferenceEliminationModel in SatPhy. | |
| typedef SatPhyRxCarrierConf::InterferenceModel | InterferenceModel |
| Define InterferenceModel in SatPhy. | |
| typedef SatSignalParameters::PacketsInBurst_t | PacketContainer_t |
| Define PacketContainer in SatPhy. | |
| typedef Callback< void, PacketContainer_t, Ptr< SatSignalParameters > > | ReceiveCallback |
Public Member Functions | |
| SatPhy (CreateParam_t params) | |
| Constructor to create PHY objects with parameters. | |
| SatPhy (void) | |
| Default constructor. | |
| virtual | ~SatPhy () |
| Destructor. | |
| 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. | |
| void | BeginEndScheduling () |
| Begin frame/window end scheduling for processes utilizing frame length as interval. | |
| double | CalculateSinr (double sinr, double otherInterference) |
| Calculate final SINR with PHY specific parameters and given calculated SINR. | |
| void | CnoInfo (uint32_t satId, uint32_t beamId, Address source, Address destination, double cno, bool isSatelliteMac) |
| Function for getting the C/NO information. | |
| void | ConfigureRxCarriers (Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatSuperframeConf > superFrameConf) |
| Configure Rx carriers. | |
| virtual void | DoDispose (void) |
| Dispose of SatPhy. | |
| virtual void | DoInitialize (void) |
| Initialization of SatPhy. | |
| virtual double | GetAdditionalInterference ()=0 |
| Get additional interference, used to compute final SINR at RX. | |
| double | GetDefaultFading () const |
| Get the default fading of the PHY. | |
| virtual Ptr< SatPhyRx > | GetPhyRx () const |
| Get the SatPhyRx pointer. | |
| virtual Ptr< SatPhyTx > | GetPhyTx () const |
| Get the SatPhyTx pointer. | |
| double | GetRxAntennaGainDb () const |
| Get the maximum antenna gain of the receiver in dB. | |
| double | GetRxAntennaLossDb () const |
| Get the antenna loss of the receiver in dB. | |
| double | GetRxNoiseTemperatureDbk () const |
| Get the noise temperature of the receiver in dbK. | |
| double | GetTxAntennaGainDb () const |
| Get the maximum antenna gain of the transmitter in dB. | |
| double | GetTxAntennaLossDb () const |
| Get the antenna loss of the transmitter in dB. | |
| Ptr< SatChannel > | GetTxChannel () |
| Get the Tx satellite channel. | |
| double | GetTxMaxPowerDbw () const |
| Get the maximum transmit power of the transmitter in dB. | |
| double | GetTxOboLossDb () const |
| Get the OBO loss of the transmitter in dB. | |
| double | GetTxOutputLossDb () const |
| Get the output loss of the transmitter in dB. | |
| double | GetTxPointingLossDb () const |
| Get the pointing loss of the transmitter in dB. | |
| void | Initialize () |
| Initialize phy. | |
| virtual void | NotifyConstructionCompleted () override |
| Notifier called once the ObjectBase is fully constructed. | |
| virtual void | Receive (Ptr< SatSignalParameters > rxParams, bool phyError) |
| Receives packets from lower layer. | |
| 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). | |
| virtual void | SendPduWithParams (Ptr< SatSignalParameters > rxParams) |
| Send Pdu to the PHY tx module (for satellite switch packet forwarding). | |
| bool | SetBeamId (uint32_t beamId) |
| Set the beamId this PHY is connected with. | |
| void | SetChannelPairGetterCallback (SatPhy::ChannelPairGetterCallback cb) |
| Set the channel pair getter callback. | |
| void | SetDefaultFading (double fading) |
| Set the default fading of the PHY. | |
| void | SetNodeInfo (const Ptr< SatNodeInfo > nodeInfo) |
| Set the node info class. | |
| virtual void | SetPhyRx (Ptr< SatPhyRx > phyRx) |
| Set the SatPhyRx module. | |
| virtual void | SetPhyTx (Ptr< SatPhyTx > phyTx) |
| Set the SatPhyTx module. | |
| void | SetRxAntennaGainDb (double gainDb) |
| Set the maximum antenna gain of the receiver in dB. | |
| virtual void | SetRxAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > satelliteMobility) |
| Set the receive antenna gain pattern. | |
| void | SetRxAntennaLossDb (double lossDb) |
| Set the antenna loss of the receiver in dB. | |
| void | SetRxFadingContainer (Ptr< SatBaseFading > fadingContainer) |
| Set fading container. | |
| void | SetRxNoiseTemperatureDbk (double temperatureDbk) |
| Set the noise temperature of the receiver in dbK. | |
| void | SetSatId (uint32_t satId) |
| Set the satId this PHY is connected with. | |
| void | SetTxAntennaGainDb (double gainDb) |
| Set the maximum antenna gain of the transmitter in dB. | |
| virtual void | SetTxAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > satelliteMobility) |
| Set the transmit antenna gain pattern. | |
| void | SetTxAntennaLossDb (double lossDb) |
| Set the antenna loss of the transmitter in dB. | |
| void | SetTxFadingContainer (Ptr< SatBaseFading > fadingContainer) |
| Set fading container. | |
| void | SetTxMaxPowerDbw (double powerDb) |
| Set the maximum transmit power of the transmitter in dB. | |
| void | SetTxOboLossDb (double lossDb) |
| Set the OBO loss of the transmitter in dB. | |
| void | SetTxOutputLossDb (double lossDb) |
| Set the output loss of the transmitter in dB. | |
| void | SetTxPointingLossDb (double lossDb) |
| Set the pointing loss of the transmitter in dB. | |
Static Public Member Functions | |
| static TypeId | GetTypeId (void) |
| Derived from Object. | |
Protected Member Functions | |
| virtual SatEnums::SatLinkDir_t | GetSatLinkRxDir () |
| Get the link RX direction. | |
| virtual SatEnums::SatLinkDir_t | GetSatLinkTxDir () |
| Get the link TX direction. | |
| void | ModcodTrace (Ptr< SatSignalParameters > rxParams) |
| Invoke the RxLinkModcod trace source for each received packet. | |
| virtual void | RxTraces (SatPhy::PacketContainer_t packets) |
| Invoke the Rx trace source for each received packet. | |
| void | SetTimeTag (SatPhy::PacketContainer_t packets) |
| Set SatPhyTimeTag of packets. | |
Protected Attributes | |
| uint32_t | m_beamId |
| Beam ID. | |
| double | m_eirpWoGainW |
| Calculated EIRP without gain in W. | |
| bool | m_isStatisticsTagsEnabled |
| EnableStatisticsTags attribute. | |
| Time | m_lastDelay |
| Last delay measurement. | |
| Time | m_lastLinkDelay |
| Last delay measurement for link. | |
| Ptr< SatNodeInfo > | m_nodeInfo |
| Node info containing node related information, such as node type, node id and MAC address (of the SatNetDevice). | |
| 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: | |
| CreateParam_t | m_params |
| Satellite physical layer construction parameters. | |
| Ptr< SatPhyRx > | m_phyRx |
| Pointer to internal SatPhyRx instance. | |
| Ptr< SatPhyTx > | m_phyTx |
| Pointer to internal SatPhyTx instance. | |
| SatPhy::ChannelPairGetterCallback | m_retrieveChannelPair |
| Callback for retrieving SatChannel pairs by beam. | |
| SatPhy::ReceiveCallback | m_rxCallback |
| The upper layer package receive callback. | |
| TracedCallback< const Time &, const Address & > | m_rxDelayTrace |
| Traced callback for all received packets, including delay information and the address of the senders. | |
| TracedCallback< const Time &, const Address & > | m_rxJitterTrace |
| Traced callback for all received packets, including jitter information and the address of the senders. | |
| TracedCallback< const Time &, const Address & > | m_rxLinkDelayTrace |
| Traced callback for all received packets, including link delay information and the address of the senders. | |
| TracedCallback< const Time &, const Address & > | m_rxLinkJitterTrace |
| Traced callback for all received packets, including link jitter information and the address of the senders. | |
| TracedCallback< uint32_t, const Address & > | m_rxLinkModcodTrace |
| Traced callback for all received packets, including link MODCOD information and the address of the senders. | |
| TracedCallback< Ptr< const Packet >, const Address & > | m_rxTrace |
| Traced callback for all received packets, including the address of the senders. | |
| uint32_t | m_satId |
| Satellite ID. | |
Private Attributes | |
| SatPhy::AverageNormalizedOfferedLoadCallback | m_avgNormalizedOfferedLoadCallback |
| Average normalized offered load callback. | |
| SatPhy::CnoCallback | m_cnoCallback |
| The C/N0 info callback. | |
| double | m_defaultFadingValue |
| Default fading value. | |
| double | m_rxAntennaLossDb |
| Configured receiver antenna loss in Dbs. | |
| double | m_rxMaxAntennaGainDb |
| Configured maximum receiver antenna gain in dBi. | |
| double | m_rxNoiseTemperatureDbk |
| Configured receiver noise temperature in dBK. | |
| double | m_txAntennaLossDb |
| Configured transmitter antenna loss in Dbs. | |
| double | m_txMaxAntennaGainDb |
| Configured maximum transmitter antenna gain in dBi. | |
| double | m_txMaxPowerDbw |
| Configured maximum transmitter power in DbWs. | |
| double | m_txOboLossDb |
| Configured transmitter OBO loss in Dbs. | |
| double | m_txOutputLossDb |
| Configured transmitter output loss in Dbs. | |
| double | m_txPointingLossDb |
| Configured transmitter pointing loss in Dbs. | |
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 510 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.
References m_beamId, m_defaultFadingValue, m_eirpWoGainW, m_isStatisticsTagsEnabled, m_lastDelay, m_lastLinkDelay, m_rxAntennaLossDb, m_rxMaxAntennaGainDb, m_rxNoiseTemperatureDbk, m_satId, m_txAntennaLossDb, m_txMaxAntennaGainDb, m_txMaxPowerDbw, m_txOboLossDb, m_txOutputLossDb, and m_txPointingLossDb.
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().
| 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, m_beamId, m_defaultFadingValue, m_eirpWoGainW, m_isStatisticsTagsEnabled, m_lastDelay, m_lastLinkDelay, m_params, m_phyRx, m_phyTx, m_rxAntennaLossDb, m_rxMaxAntennaGainDb, m_rxNoiseTemperatureDbk, m_satId, m_txAntennaLossDb, m_txMaxAntennaGainDb, m_txMaxPowerDbw, m_txOboLossDb, m_txOutputLossDb, and m_txPointingLossDb.
|
virtual |
Destructor.
Definition at line 247 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 646 of file satellite-phy.cc.
References m_avgNormalizedOfferedLoadCallback.
Referenced by Initialize().
| void ns3::SatPhy::BeginEndScheduling | ( | ) |
Begin frame/window end scheduling for processes utilizing frame length as interval.
Definition at line 333 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 265 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 634 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 301 of file satellite-phy.cc.
References m_phyRx.
Referenced by ns3::SatGwPhy::NotifyConstructionCompleted(), ns3::SatOrbiterFeederPhy::NotifyConstructionCompleted(), ns3::SatOrbiterUserPhy::NotifyConstructionCompleted(), and ns3::SatUtPhy::NotifyConstructionCompleted().
|
virtual |
Dispose of SatPhy.
Reimplemented in ns3::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.
Definition at line 253 of file satellite-phy.cc.
References m_phyRx, and m_phyTx.
Referenced by ns3::SatGwPhy::DoDispose().
|
virtual |
Initialization of SatPhy.
Reimplemented in ns3::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.
Definition at line 202 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::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.
|
inline |
Get the default fading of the PHY.
Definition at line 347 of file satellite-phy.h.
References m_defaultFadingValue.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), and ns3::SatUtPhy::GetTypeId().
|
virtual |
Get the SatPhyRx pointer.
Definition at line 347 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 340 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 203 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 221 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 185 of file satellite-phy.h.
References m_rxNoiseTemperatureDbk.
Referenced by ns3::SatGwPhy::GetTypeId(), ns3::SatOrbiterFeederPhy::GetTypeId(), ns3::SatOrbiterUserPhy::GetTypeId(), ns3::SatUtPhy::GetTypeId(), ns3::SatGwPhy::NotifyConstructionCompleted(), ns3::SatOrbiterFeederPhy::NotifyConstructionCompleted(), ns3::SatOrbiterUserPhy::NotifyConstructionCompleted(), and ns3::SatUtPhy::NotifyConstructionCompleted().
|
protectedvirtual |
Get the link RX direction.
Must be implemented by child clases.
Reimplemented in ns3::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.
Definition at line 481 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::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.
Definition at line 475 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 239 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 329 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 368 of file satellite-phy.cc.
References m_phyTx.
|
inline |
Get the maximum transmit power of the transmitter in dB.
Definition at line 257 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 311 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 275 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 293 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 144 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.
| void ns3::SatPhy::Initialize | ( | ) |
Initialize phy.
Definition at line 209 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 551 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().
|
overridevirtual |
Notifier called once the ObjectBase is fully constructed.
This method is invoked once all member attributes have been initialized. Subclasses can override this method to be notified of this event but if they do this, they must chain up to their parent's NotifyConstructionCompleted method.
Reimplemented in ns3::SatGwPhy, ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.
Definition at line 125 of file satellite-phy.cc.
References m_beamId, m_params, m_phyRx, m_phyTx, and m_satId.
Referenced by ns3::SatGwPhy::NotifyConstructionCompleted(), ns3::SatOrbiterFeederPhy::NotifyConstructionCompleted(), ns3::SatOrbiterUserPhy::NotifyConstructionCompleted(), and ns3::SatUtPhy::NotifyConstructionCompleted().
|
virtual |
Receives packets from lower layer.
| rxParams | Packet reception parameters |
| phyError | Boolean indicating whether the packet successfully received or not? |
Reimplemented in ns3::SatOrbiterFeederPhy, ns3::SatOrbiterUserPhy, and ns3::SatUtPhy.
Definition at line 596 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::SatOrbiterFeederPhy, and ns3::SatOrbiterUserPhy.
Definition at line 487 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 377 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::SatOrbiterFeederPhy, and ns3::SatOrbiterUserPhy.
Definition at line 421 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 442 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 662 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 356 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 325 of file satellite-phy.cc.
References m_nodeInfo, and m_phyRx.
|
virtual |
Set the SatPhyRx module.
| phyRx | Receiver PHY module |
Definition at line 361 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 354 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 212 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 293 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 230 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 309 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 194 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 433 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 457 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 248 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 285 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 338 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 317 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 266 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 320 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 284 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 302 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 668 of file satellite-phy.h.
Referenced by AverageNormalizedOfferedRandomAccessLoadInfo(), GetTypeId(), and Initialize().
|
protected |
Beam ID.
Definition at line 637 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), Initialize(), NotifyConstructionCompleted(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), SendPdu(), and SetBeamId().
|
private |
The C/N0 info callback.
Definition at line 663 of file satellite-phy.h.
Referenced by CnoInfo(), GetTypeId(), and Initialize().
|
private |
Default fading value.
Definition at line 718 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetDefaultFading(), Initialize(), and SetDefaultFading().
|
protected |
Calculated EIRP without gain in W.
Definition at line 642 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), Initialize(), SendPdu(), ns3::SatOrbiterFeederPhy::SendPduWithParams(), and ns3::SatOrbiterUserPhy::SendPduWithParams().
|
protected |
EnableStatisticsTags attribute.
Definition at line 647 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetTypeId(), ModcodTrace(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), RxTraces(), and SetTimeTag().
|
protected |
Last delay measurement.
Used to compute jitter.
Definition at line 652 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), and RxTraces().
|
protected |
Last delay measurement for link.
Used to compute link jitter.
Definition at line 657 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), 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 612 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 570 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 |
Satellite physical layer construction parameters.
Definition at line 627 of file satellite-phy.h.
Referenced by SatPhy(), and NotifyConstructionCompleted().
|
protected |
Pointer to internal SatPhyRx instance.
Definition at line 622 of file satellite-phy.h.
Referenced by SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), BeginEndScheduling(), ConfigureRxCarriers(), DoDispose(), GetPhyRx(), Initialize(), NotifyConstructionCompleted(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), SetBeamId(), SetNodeInfo(), SetPhyRx(), SetRxAntennaGainPattern(), SetRxFadingContainer(), and SetSatId().
|
protected |
Pointer to internal SatPhyTx instance.
Definition at line 617 of file satellite-phy.h.
Referenced by SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), DoDispose(), GetPhyTx(), GetTxChannel(), Initialize(), ns3::SatUtPhy::IsTxPossible(), NotifyConstructionCompleted(), 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 557 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 683 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetRxAntennaLossDb(), Initialize(), and SetRxAntennaLossDb().
|
protected |
The upper layer package receive callback.
Definition at line 552 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 582 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 594 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 588 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 600 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 606 of file satellite-phy.h.
Referenced by GetTypeId(), and ModcodTrace().
|
private |
Configured maximum receiver antenna gain in dBi.
Definition at line 678 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetRxAntennaGainDb(), Initialize(), and SetRxAntennaGainDb().
|
private |
Configured receiver noise temperature in dBK.
Definition at line 673 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetRxNoiseTemperatureDbk(), and SetRxNoiseTemperatureDbk().
|
protected |
Traced callback for all received packets, including the address of the senders.
Definition at line 576 of file satellite-phy.h.
Referenced by GetTypeId(), ns3::SatOrbiterFeederPhy::RxTraces(), ns3::SatOrbiterUserPhy::RxTraces(), and RxTraces().
|
protected |
Satellite ID.
Definition at line 632 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), ns3::SatGwPhy::AssignNewSatChannels(), ns3::SatUtPhy::AssignNewSatChannels(), Initialize(), NotifyConstructionCompleted(), ns3::SatGwPhy::PerformHandover(), ns3::SatUtPhy::PerformHandover(), SendPdu(), and SetSatId().
|
private |
Configured transmitter antenna loss in Dbs.
Definition at line 713 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetTxAntennaLossDb(), Initialize(), and SetTxAntennaLossDb().
|
private |
Configured maximum transmitter antenna gain in dBi.
Definition at line 688 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetTxAntennaGainDb(), Initialize(), and SetTxAntennaGainDb().
|
private |
Configured maximum transmitter power in DbWs.
Definition at line 693 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetTxMaxPowerDbw(), Initialize(), and SetTxMaxPowerDbw().
|
private |
Configured transmitter OBO loss in Dbs.
Definition at line 708 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetTxOboLossDb(), Initialize(), and SetTxOboLossDb().
|
private |
Configured transmitter output loss in Dbs.
Definition at line 698 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetTxOutputLossDb(), Initialize(), and SetTxOutputLossDb().
|
private |
Configured transmitter pointing loss in Dbs.
Definition at line 703 of file satellite-phy.h.
Referenced by SatPhy(), SatPhy(), GetTxPointingLossDb(), Initialize(), and SetTxPointingLossDb().