The SatUtPhy models the physical layer of the User Terminal of the satellite system. More...
#include "satellite-ut-phy.h"
Inheritance diagram for ns3::SatUtPhy:
Collaboration diagram for ns3::SatUtPhy:Public Member Functions | |
| SatUtPhy (SatPhy::CreateParam_t ¶ms, Ptr< SatLinkResults > linkResults, SatPhyRxCarrierConf::RxCarrierCreateParams_s parameters, Ptr< SatSuperframeConf > superFrameConf) | |
| Constructor. More... | |
| SatUtPhy (void) | |
| Default constructor, which is not used. More... | |
| virtual | ~SatUtPhy () |
| Destructor. More... | |
| virtual void | DoDispose (void) |
| Dispose of SatUtPhy. More... | |
| virtual void | DoInitialize (void) |
| Initialization of SatUtPhy. More... | |
| virtual double | GetAdditionalInterference () |
| Get additional interference, used to compute final SINR at RX. More... | |
| TypeId | GetInstanceTypeId (void) const |
| bool | IsTxPossible (void) const |
| Inform whether or not the underlying Tx channel is properly configured for transmission. More... | |
| void | PerformHandover (uint32_t satId, uint32_t beamId) |
| Change underlying SatChannel to send and receive data from a new satellite and beam. More... | |
| void | Receive (Ptr< SatSignalParameters > rxParams, bool phyError) |
| Receives packets from lower layer. More... | |
| void | UpdateSliceSubscription (uint8_t slice) |
| Updates the slices subscription list. More... | |
Public Member Functions inherited from ns3::SatPhy | |
| 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... | |
| 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 | 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) |
| inherited from Object More... | |
Static Public Member Functions inherited from ns3::SatPhy | |
| static TypeId | GetTypeId (void) |
| Derived from Object. More... | |
Private Member Functions | |
| void | AssignNewSatChannels () |
| Update the underlying SatChannel to send and receive data from the current beam (as described in the m_beamId attribute). More... | |
| virtual SatEnums::SatLinkDir_t | GetSatLinkRxDir () |
| Get the link RX direction. More... | |
| virtual SatEnums::SatLinkDir_t | GetSatLinkTxDir () |
| Get the link TX direction. More... | |
Private Attributes | |
| Time | m_antennaReconfigurationDelay |
| Delay of antenna reconfiguration when performing handover. More... | |
| double | m_otherSysInterferenceCOverI |
| Other system interference in linear. More... | |
| double | m_otherSysInterferenceCOverIDb |
| Configured other system interference in dB. More... | |
| std::set< uint8_t > | m_slicesSubscribed |
| The list of slices subscribed for this UT. More... | |
Additional Inherited Members | |
Public Types inherited from ns3::SatPhy | |
| 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 |
Protected Member Functions inherited from ns3::SatPhy | |
| 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 inherited from ns3::SatPhy | |
| 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... | |
The SatUtPhy models the physical layer of the User Terminal of the satellite system.
Definition at line 54 of file satellite-ut-phy.h.
| ns3::SatUtPhy::SatUtPhy | ( | void | ) |
Default constructor, which is not used.
Definition at line 142 of file satellite-ut-phy.cc.
| ns3::SatUtPhy::SatUtPhy | ( | SatPhy::CreateParam_t & | params, |
| Ptr< SatLinkResults > | linkResults, | ||
| SatPhyRxCarrierConf::RxCarrierCreateParams_s | parameters, | ||
| Ptr< SatSuperframeConf > | superFrameConf | ||
| ) |
Constructor.
| params | Creation parameters |
| linkResults | Link results |
| parameters | Rx carrier creation parameters |
| superFrameConf | Superframe configuration |
Definition at line 151 of file satellite-ut-phy.cc.
References ns3::SatPhy::ConfigureRxCarriers(), ns3::SatUtils::DbToLinear(), ns3::SatEnums::FORWARD_USER_CH, GetAdditionalInterference(), ns3::SatPhy::GetRxNoiseTemperatureDbk(), m_otherSysInterferenceCOverI, m_otherSysInterferenceCOverIDb, and ns3::SatPhyRxCarrierConf::NORMAL.
Here is the call graph for this function:
|
virtual |
Destructor.
Definition at line 185 of file satellite-ut-phy.cc.
|
private |
Update the underlying SatChannel to send and receive data from the current beam (as described in the m_beamId attribute).
Definition at line 229 of file satellite-ut-phy.cc.
References ns3::SatPhy::m_beamId, ns3::SatPhy::m_phyRx, ns3::SatPhy::m_phyTx, ns3::SatPhy::m_retrieveChannelPair, and ns3::SatPhy::m_satId.
Referenced by PerformHandover().
Here is the caller graph for this function:
|
virtual |
Dispose of SatUtPhy.
Reimplemented from ns3::SatPhy.
Definition at line 191 of file satellite-ut-phy.cc.
|
virtual |
Initialization of SatUtPhy.
Reimplemented from ns3::SatPhy.
Definition at line 198 of file satellite-ut-phy.cc.
|
virtual |
Get additional interference, used to compute final SINR at RX.
Implements ns3::SatPhy.
Definition at line 205 of file satellite-ut-phy.cc.
References m_otherSysInterferenceCOverI.
Referenced by SatUtPhy().
Here is the caller graph for this function:| TypeId ns3::SatUtPhy::GetInstanceTypeId | ( | void | ) | const |
Definition at line 136 of file satellite-ut-phy.cc.
References GetTypeId().
Here is the call graph for this function:
|
privatevirtual |
Get the link RX direction.
Must be implemented by child clases.
Reimplemented from ns3::SatPhy.
Definition at line 251 of file satellite-ut-phy.cc.
References ns3::SatEnums::LD_FORWARD.
|
privatevirtual |
Get the link TX direction.
Must be implemented by child clases.
Reimplemented from ns3::SatPhy.
Definition at line 245 of file satellite-ut-phy.cc.
References ns3::SatEnums::LD_RETURN.
|
static |
inherited from Object
Definition at line 49 of file satellite-ut-phy.cc.
References ns3::SatPhy::GetDefaultFading(), ns3::SatPhy::GetPhyRx(), ns3::SatPhy::GetPhyTx(), ns3::SatPhy::GetRxAntennaGainDb(), ns3::SatPhy::GetRxAntennaLossDb(), ns3::SatPhy::GetRxNoiseTemperatureDbk(), ns3::SatPhy::GetTxAntennaGainDb(), ns3::SatPhy::GetTxAntennaLossDb(), ns3::SatPhy::GetTxMaxPowerDbw(), ns3::SatPhy::GetTxOboLossDb(), ns3::SatPhy::GetTxOutputLossDb(), ns3::SatPhy::GetTxPointingLossDb(), m_antennaReconfigurationDelay, m_otherSysInterferenceCOverIDb, ns3::SatPhy::SetDefaultFading(), ns3::SatPhy::SetPhyRx(), ns3::SatPhy::SetPhyTx(), ns3::SatPhy::SetRxAntennaGainDb(), ns3::SatPhy::SetRxAntennaLossDb(), ns3::SatPhy::SetRxNoiseTemperatureDbk(), ns3::SatPhy::SetTxAntennaGainDb(), ns3::SatPhy::SetTxAntennaLossDb(), ns3::SatPhy::SetTxMaxPowerDbw(), ns3::SatPhy::SetTxOboLossDb(), ns3::SatPhy::SetTxOutputLossDb(), and ns3::SatPhy::SetTxPointingLossDb().
Referenced by GetInstanceTypeId().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::SatUtPhy::IsTxPossible | ( | void | ) | const |
Inform whether or not the underlying Tx channel is properly configured for transmission.
Definition at line 257 of file satellite-ut-phy.cc.
References ns3::SatPhy::m_phyTx.
Referenced by ns3::SatUtHelperDvb::Install().
Here is the caller graph for this function:| void ns3::SatUtPhy::PerformHandover | ( | uint32_t | satId, |
| uint32_t | beamId | ||
| ) |
Change underlying SatChannel to send and receive data from a new satellite and beam.
| satId | the new satellite to listen/send to |
| beamId | the new beam to listen/send to |
Definition at line 213 of file satellite-ut-phy.cc.
References AssignNewSatChannels(), m_antennaReconfigurationDelay, ns3::SatPhy::m_beamId, ns3::SatPhy::m_phyRx, ns3::SatPhy::m_phyTx, ns3::SatPhy::m_retrieveChannelPair, ns3::SatPhy::m_satId, ns3::SatPhy::SetBeamId(), and ns3::SatPhy::SetSatId().
Referenced by ns3::SatUtHelperDvb::Install(), and ns3::SatUtHelperLora::Install().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Receives packets from lower layer.
| rxParams | Packet reception parameters |
| phyError | Boolean indicating whether the packet successfully received or not? |
Reimplemented from ns3::SatPhy.
Definition at line 264 of file satellite-ut-phy.cc.
References ns3::SatEnums::DUMMY_FRAME, m_slicesSubscribed, and ns3::SatPhy::Receive().
Here is the call graph for this function:| void ns3::SatUtPhy::UpdateSliceSubscription | ( | uint8_t | slice | ) |
Updates the slices subscription list.
| slice | The new slice to subscribe. If zero, reset the subscription list (except slice zero used for control messages). |
Definition at line 288 of file satellite-ut-phy.cc.
References m_slicesSubscribed.
Referenced by ns3::SatUtHelperDvb::Install().
Here is the caller graph for this function:
|
private |
Delay of antenna reconfiguration when performing handover.
Definition at line 161 of file satellite-ut-phy.h.
Referenced by GetTypeId(), and PerformHandover().
|
private |
Other system interference in linear.
Definition at line 156 of file satellite-ut-phy.h.
Referenced by SatUtPhy(), and GetAdditionalInterference().
|
private |
Configured other system interference in dB.
Definition at line 151 of file satellite-ut-phy.h.
Referenced by SatUtPhy(), and GetTypeId().
|
private |
The list of slices subscribed for this UT.
Definition at line 166 of file satellite-ut-phy.h.
Referenced by Receive(), and UpdateSliceSubscription().