Creates needed objects for UT nodes like SatGeoNetDevice objects. More...
#include "satellite-ut-helper.h"
Classes | |
struct | RandomAccessSettings_s |
Define RandomAccessSettings as a struct. More... | |
Public Member Functions | |
SatUtHelper () | |
Default constructor. More... | |
SatUtHelper (SatTypedefs::CarrierBandwidthConverter_t carrierBandwidthConverter, uint32_t rtnLinkCarrierCount, Ptr< SatSuperframeSeq > seq, SatMac::ReadCtrlMsgCallback readCb, SatMac::ReserveCtrlMsgCallback reserveCb, SatMac::SendCtrlMsgCallback sendCb, RandomAccessSettings_s randomAccessSettings) | |
Create a SatUtHelper to make life easier when creating Satellite point to point network connections. More... | |
virtual | ~SatUtHelper () |
Destructor. More... | |
void | EnableCreationTraces (Ptr< OutputStreamWrapper > stream, CallbackBase &cb) |
Enables creation traces to be written in given file. More... | |
TypeId | GetInstanceTypeId (void) const |
Derived from Object. More... | |
void | Initialize (Ptr< SatLinkResultsFwd > lrFwd) |
NetDeviceContainer | InstallDvb (NodeContainer c, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
Ptr< NetDevice > | InstallDvb (Ptr< Node > n, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
NetDeviceContainer | InstallLora (NodeContainer c, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
Ptr< NetDevice > | InstallLora (Ptr< Node > n, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNetDevice > gwNd, Ptr< SatNcc > ncc, Address satUserAddress, SatPhy::ChannelPairGetterCallback cbChannel, SatMac::RoutingUpdateCallback cbRouting, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
void | SetChannelAttribute (std::string name, const AttributeValue &value) |
Set an attribute value to be propagated to each Channel created by the helper. More... | |
void | SetDeviceAttribute (std::string name, const AttributeValue &value) |
Set an attribute value to be propagated to each NetDevice created by the helper. More... | |
void | SetPhyAttribute (std::string name, const AttributeValue &value) |
Set an attribute value to be propagated to each Phy created by the helper. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Derived from Object. More... | |
Private Attributes | |
bool | m_asyncAccess |
SatTypedefs::CarrierBandwidthConverter_t | m_carrierBandwidthConverter |
ObjectFactory | m_channelFactory |
bool | m_crdsaOnlyForControl |
Planned CRDSA usage: More... | |
TracedCallback< std::string > | m_creationTrace |
Trace callback for creation traces. More... | |
double | m_daConstantErrorRate |
SatPhy::InterferenceModel | m_daInterferenceModel |
ObjectFactory | m_deviceFactory |
bool | m_enableChannelEstimationError |
Enable channel estimation error modeling at forward link receiver (= UT). More... | |
SatPhy::ErrorModel | m_errorModel |
uint32_t | m_fwdLinkCarrierCount |
Ptr< SatLinkResults > | m_linkResults |
Ptr< SatLowerLayerServiceConf > | m_llsConf |
Configured lower layer service configuration. More... | |
RandomAccessSettings_s | m_raSettings |
The used random access model settings. More... | |
SatMac::ReadCtrlMsgCallback | m_readCtrlCb |
SatMac::ReserveCtrlMsgCallback | m_reserveCtrlCb |
SatMac::SendCtrlMsgCallback | m_sendCtrlCb |
Ptr< SatSuperframeSeq > | m_superframeSeq |
Creates needed objects for UT nodes like SatGeoNetDevice objects.
Handles needed configuration for the UT nodes.
Definition at line 52 of file satellite-ut-helper.h.
ns3::SatUtHelper::SatUtHelper | ( | ) |
Default constructor.
Definition at line 144 of file satellite-ut-helper.cc.
ns3::SatUtHelper::SatUtHelper | ( | SatTypedefs::CarrierBandwidthConverter_t | carrierBandwidthConverter, |
uint32_t | rtnLinkCarrierCount, | ||
Ptr< SatSuperframeSeq > | seq, | ||
SatMac::ReadCtrlMsgCallback | readCb, | ||
SatMac::ReserveCtrlMsgCallback | reserveCb, | ||
SatMac::SendCtrlMsgCallback | sendCb, | ||
RandomAccessSettings_s | randomAccessSettings | ||
) |
Create a SatUtHelper to make life easier when creating Satellite point to point network connections.
Definition at line 164 of file satellite-ut-helper.cc.
References m_channelFactory, m_deviceFactory, and m_llsConf.
|
inlinevirtual |
Destructor.
Definition at line 96 of file satellite-ut-helper.h.
void ns3::SatUtHelper::EnableCreationTraces | ( | Ptr< OutputStreamWrapper > | stream, |
CallbackBase & | cb | ||
) |
Enables creation traces to be written in given file.
stream | stream for creation trace outputs |
cb | callback to connect traces |
Definition at line 763 of file satellite-ut-helper.cc.
TypeId ns3::SatUtHelper::GetInstanceTypeId | ( | void | ) | const |
Derived from Object.
Definition at line 137 of file satellite-ut-helper.cc.
References GetTypeId().
|
static |
Derived from Object.
Definition at line 76 of file satellite-ut-helper.cc.
References ns3::SatPhyRxCarrierConf::EM_AVI, ns3::SatPhyRxCarrierConf::EM_CONSTANT, ns3::SatPhyRxCarrierConf::EM_NONE, ns3::SatPhyRxCarrierConf::IF_CONSTANT, ns3::SatPhyRxCarrierConf::IF_PER_FRAGMENT, ns3::SatPhyRxCarrierConf::IF_PER_PACKET, ns3::SatPhyRxCarrierConf::IF_TRACE, m_asyncAccess, m_crdsaOnlyForControl, m_creationTrace, m_daConstantErrorRate, m_daInterferenceModel, m_enableChannelEstimationError, m_errorModel, and m_llsConf.
Referenced by GetInstanceTypeId().
void ns3::SatUtHelper::Initialize | ( | Ptr< SatLinkResultsFwd > | lrFwd | ) |
Definition at line 194 of file satellite-ut-helper.cc.
References ns3::SatPhyRxCarrierConf::EM_AVI, m_errorModel, and m_linkResults.
NetDeviceContainer ns3::SatUtHelper::InstallDvb | ( | NodeContainer | c, |
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNetDevice > | gwNd, | ||
Ptr< SatNcc > | ncc, | ||
Address | satUserAddress, | ||
SatPhy::ChannelPairGetterCallback | cbChannel, | ||
SatMac::RoutingUpdateCallback | cbRouting, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
c | a set of nodes |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
gwNd | satellite netdevice of the GW |
ncc | NCC (Network Control Center) |
satUserAddress | MAC address of satellite user link |
forwardLinkRegenerationMode | The regeneration mode on forward link |
returnLinkRegenerationMode | The regeneration mode on return link |
This method creates a ns3::SatChannel with the attributes configured by SatUtHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::SatNetDevice with the requested attributes, a queue for this ns3::NetDevice, and associate the resulting ns3::NetDevice with the ns3::Node and ns3::SatChannel.
Definition at line 231 of file satellite-ut-helper.cc.
Ptr< NetDevice > ns3::SatUtHelper::InstallDvb | ( | Ptr< Node > | n, |
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNetDevice > | gwNd, | ||
Ptr< SatNcc > | ncc, | ||
Address | satUserAddress, | ||
SatPhy::ChannelPairGetterCallback | cbChannel, | ||
SatMac::RoutingUpdateCallback | cbRouting, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
n | node |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
gwNd | satellite netdevice of the GW |
ncc | NCC (Network Control Center) |
satUserAddress | MAC address of satellite user link |
forwardLinkRegenerationMode | The regeneration mode on forward link |
returnLinkRegenerationMode | The regeneration mode on return link |
Saves you from having to construct a temporary NodeContainer.
Channel estimation errors
create RA module with defaults
attach callbacks
attach the RA module
Definition at line 268 of file satellite-ut-helper.cc.
References ns3::SatRequestManager::AssignedDaResources(), ns3::SatLlc::BuffersEmpty(), ns3::SatUtHandoverModule::CheckForHandoverRecommendation(), ns3::SatRequestManager::CnoUpdated(), ns3::SatEnums::CONTROL_FID, ns3::SatLlc::ControlBuffersEmpty(), ns3::SatUtMac::ControlMsgTransmissionPossible(), ns3::SatEnums::DVB_UT, ns3::SatUtHandoverModule::GetAskedBeamId(), ns3::SatNcc::GetBeamScheduler(), ns3::SatQueue::GetQueueStatistics(), ns3::SatLlc::GetSchedulingContexts(), ns3::SatMobilityObserver::GetTimingAdvance(), ns3::SatUtPhy::IsTxPossible(), ns3::SatUtMac::LogonMsgTransmissionPossible(), ns3::SatPhy::CreateParam_t::m_beamId, m_carrierBandwidthConverter, m_crdsaOnlyForControl, m_daConstantErrorRate, m_daInterferenceModel, ns3::SatPhy::CreateParam_t::m_device, m_deviceFactory, m_enableChannelEstimationError, m_errorModel, m_fwdLinkCarrierCount, m_linkResults, m_llsConf, ns3::SatUtHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceModel, ns3::SatUtHelper::RandomAccessSettings_s::m_randomAccessModel, m_raSettings, m_readCtrlCb, m_reserveCtrlCb, ns3::SatPhy::CreateParam_t::m_rxCh, ns3::SatPhy::CreateParam_t::m_satId, m_sendCtrlCb, ns3::SatPhy::CreateParam_t::m_standard, m_superframeSeq, ns3::SatPhy::CreateParam_t::m_txCh, ns3::SatUtLlc::NotifyTxOpportunity(), ns3::SatEnums::NT_UT, ns3::SatUtPhy::PerformHandover(), ns3::SatEnums::RA_MODEL_ESSA, ns3::SatEnums::RA_MODEL_OFF, ns3::SatNetDevice::Receive(), ns3::SatLlc::Receive(), ns3::SatUtMac::Receive(), ns3::SatRequestManager::ReceiveQueueEvent(), ns3::SatUtMac::ReceiveQueueEvent(), ns3::SatUtMac::ReceiveQueueEventEssa(), ns3::SatEnums::REGENERATION_NETWORK, ns3::SatEnums::REGENERATION_PHY, ns3::SatNetDevice::SendControlMsg(), ns3::SatRequestManager::SendHandoverRecommendation(), ns3::SatUtMac::SendLogon(), ns3::SatRequestManager::SendLogonMessage(), ns3::SatPhy::SendPdu(), ns3::SatRequestManager::SetGwAddress(), ns3::SatUtLlc::SetGwAddress(), ns3::SatUtHandoverModule::SetHandoverRequestCallback(), ns3::SatUtMac::SetRaChannel(), ns3::SatAddressE2ETag::SIZE, ns3::SatConstVariables::SUPERFRAME_SEQUENCE, ns3::SatEnums::TRANSPARENT, and ns3::SatUtPhy::UpdateSliceSubscription().
NetDeviceContainer ns3::SatUtHelper::InstallLora | ( | NodeContainer | c, |
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNetDevice > | gwNd, | ||
Ptr< SatNcc > | ncc, | ||
Address | satUserAddress, | ||
SatPhy::ChannelPairGetterCallback | cbChannel, | ||
SatMac::RoutingUpdateCallback | cbRouting, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
c | a set of nodes |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
gwNd | satellite netdevice of the GW |
ncc | NCC (Network Control Center) |
satUserAddress | MAC address of satellite user link |
forwardLinkRegenerationMode | The regeneration mode on forward link |
returnLinkRegenerationMode | The regeneration mode on return link |
This method creates a ns3::SatChannel with the attributes configured by SatUtHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::SatNetDevice with the requested attributes, a queue for this ns3::SatNetLorawanDevice, and associate the resulting ns3::SatNetLorawanDevice with the ns3::Node and ns3::SatChannel.
Definition at line 593 of file satellite-ut-helper.cc.
Ptr< NetDevice > ns3::SatUtHelper::InstallLora | ( | Ptr< Node > | n, |
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNetDevice > | gwNd, | ||
Ptr< SatNcc > | ncc, | ||
Address | satUserAddress, | ||
SatPhy::ChannelPairGetterCallback | cbChannel, | ||
SatMac::RoutingUpdateCallback | cbRouting, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
n | node |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
gwNd | satellite netdevice of the GW |
ncc | NCC (Network Control Center) |
satUserAddress | MAC address of satellite user link |
forwardLinkRegenerationMode | The regeneration mode on forward link |
returnLinkRegenerationMode | The regeneration mode on return link |
Saves you from having to construct a temporary NodeContainer.
Channel estimation errors
Definition at line 630 of file satellite-ut-helper.cc.
References ns3::SatEnums::LORA_UT, ns3::SatPhy::CreateParam_t::m_beamId, m_carrierBandwidthConverter, m_daConstantErrorRate, m_daInterferenceModel, ns3::SatPhy::CreateParam_t::m_device, m_deviceFactory, m_enableChannelEstimationError, m_errorModel, m_fwdLinkCarrierCount, m_linkResults, m_llsConf, ns3::SatUtHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatUtHelper::RandomAccessSettings_s::m_raInterferenceModel, ns3::SatUtHelper::RandomAccessSettings_s::m_randomAccessModel, m_raSettings, ns3::SatPhy::CreateParam_t::m_rxCh, ns3::SatPhy::CreateParam_t::m_satId, ns3::SatPhy::CreateParam_t::m_standard, m_superframeSeq, ns3::SatPhy::CreateParam_t::m_txCh, ns3::SatEnums::NT_UT, ns3::LorawanMac::Receive(), ns3::SatLoraConf::SetConf(), ns3::LorawanMacEndDevice::SetRaChannel(), and ns3::SatConstVariables::SUPERFRAME_SEQUENCE.
void ns3::SatUtHelper::SetChannelAttribute | ( | std::string | name, |
const AttributeValue & | value | ||
) |
Set an attribute value to be propagated to each Channel created by the helper.
name | the name of the attribute to set |
value | the value of the attribute to set |
Set these attribute on each ns3::SatChannel created by SatUtHelper::Install
Definition at line 215 of file satellite-ut-helper.cc.
References m_channelFactory.
void ns3::SatUtHelper::SetDeviceAttribute | ( | std::string | name, |
const AttributeValue & | value | ||
) |
Set an attribute value to be propagated to each NetDevice created by the helper.
name | the name of the attribute to set |
value | the value of the attribute to set |
Set these attributes on each ns3::SatNetDevice created by SatUtHelper::Install
Definition at line 207 of file satellite-ut-helper.cc.
References m_deviceFactory.
void ns3::SatUtHelper::SetPhyAttribute | ( | std::string | name, |
const AttributeValue & | value | ||
) |
Set an attribute value to be propagated to each Phy created by the helper.
name | the name of the attribute to set |
value | the value of the attribute to set |
Set these attributes on each ns3::SatNetDevice created by SatUtHelper::Install
Definition at line 223 of file satellite-ut-helper.cc.
|
private |
Definition at line 331 of file satellite-ut-helper.h.
Referenced by GetTypeId().
|
private |
Definition at line 269 of file satellite-ut-helper.h.
Referenced by InstallDvb(), and InstallLora().
|
private |
Definition at line 278 of file satellite-ut-helper.h.
Referenced by SatUtHelper(), and SetChannelAttribute().
|
private |
Planned CRDSA usage:
Definition at line 324 of file satellite-ut-helper.h.
Referenced by GetTypeId(), and InstallDvb().
|
private |
Trace callback for creation traces.
Definition at line 306 of file satellite-ut-helper.h.
Referenced by GetTypeId().
|
private |
Definition at line 294 of file satellite-ut-helper.h.
Referenced by GetTypeId(), InstallDvb(), and InstallLora().
|
private |
Definition at line 284 of file satellite-ut-helper.h.
Referenced by GetTypeId(), InstallDvb(), and InstallLora().
|
private |
Definition at line 279 of file satellite-ut-helper.h.
Referenced by SatUtHelper(), InstallDvb(), InstallLora(), and SetDeviceAttribute().
|
private |
Enable channel estimation error modeling at forward link receiver (= UT).
Definition at line 317 of file satellite-ut-helper.h.
Referenced by GetTypeId(), InstallDvb(), and InstallLora().
|
private |
Definition at line 289 of file satellite-ut-helper.h.
Referenced by GetTypeId(), Initialize(), InstallDvb(), and InstallLora().
|
private |
Definition at line 270 of file satellite-ut-helper.h.
Referenced by InstallDvb(), and InstallLora().
|
private |
Definition at line 301 of file satellite-ut-helper.h.
Referenced by Initialize(), InstallDvb(), and InstallLora().
|
private |
Configured lower layer service configuration.
Definition at line 311 of file satellite-ut-helper.h.
Referenced by SatUtHelper(), GetTypeId(), InstallDvb(), and InstallLora().
|
private |
The used random access model settings.
Definition at line 336 of file satellite-ut-helper.h.
Referenced by InstallDvb(), and InstallLora().
|
private |
Definition at line 274 of file satellite-ut-helper.h.
Referenced by InstallDvb().
|
private |
Definition at line 275 of file satellite-ut-helper.h.
Referenced by InstallDvb().
|
private |
Definition at line 276 of file satellite-ut-helper.h.
Referenced by InstallDvb().
|
private |
Definition at line 271 of file satellite-ut-helper.h.
Referenced by InstallDvb(), and InstallLora().