Creates needed objects for GW nodes like SatGeoNetDevice objects. More...
#include "satellite-gw-helper.h"
Classes | |
struct | RandomAccessSettings_s |
Random access setting options. More... | |
Public Member Functions | |
SatGwHelper () | |
Default constructor. More... | |
SatGwHelper (SatTypedefs::CarrierBandwidthConverter_t carrierBandwidthConverter, uint32_t fwdLinkCarrierCount, Ptr< SatSuperframeSeq > seq, SatMac::ReadCtrlMsgCallback readCb, SatMac::ReserveCtrlMsgCallback reserveCb, SatMac::SendCtrlMsgCallback sendCb, RandomAccessSettings_s randomAccessSettings) | |
Create a SatGwHelper to make life easier when creating Satellite point to point network connections. More... | |
virtual | ~SatGwHelper () |
void | EnableCreationTraces (Ptr< OutputStreamWrapper > stream, CallbackBase &cb) |
Enables creation traces to be written in given file. More... | |
Ptr< SatBbFrameConf > | GetBbFrameConf () const |
Get BB frame configuration. More... | |
TypeId | GetInstanceTypeId (void) const |
void | Initialize (Ptr< SatLinkResultsRtn > lrRcs2, Ptr< SatLinkResultsFwd > lrFwd, SatEnums::DvbVersion_t dvbVersion, bool useScpc) |
NetDeviceContainer | InstallDvb (NodeContainer c, uint32_t gwId, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
Ptr< NetDevice > | InstallDvb (Ptr< Node > n, uint32_t gwId, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
NetDeviceContainer | InstallLora (NodeContainer c, uint32_t gwId, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf, SatEnums::RegenerationMode_t forwardLinkRegenerationMode, SatEnums::RegenerationMode_t returnLinkRegenerationMode) |
Ptr< NetDevice > | InstallLora (Ptr< Node > n, uint32_t gwId, uint32_t satId, uint32_t beamId, Ptr< SatChannel > fCh, Ptr< SatChannel > rCh, Ptr< SatNcc > ncc, Ptr< SatLowerLayerServiceConf > llsConf, 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) |
Get the type ID. More... | |
Private Attributes | |
Ptr< SatBbFrameConf > | m_bbFrameConf |
SatTypedefs::CarrierBandwidthConverter_t | m_carrierBandwidthConverter |
ObjectFactory | m_channelFactory |
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 |
SatEnums::FwdSchedulingAlgorithm_t | m_fwdSchedulingAlgorithm |
The forward link algorithm used. More... | |
Ptr< SatLinkResults > | m_linkResults |
RandomAccessSettings_s | m_raSettings |
The used random access model settings. More... | |
SatMac::ReadCtrlMsgCallback | m_readCtrlCb |
SatMac::ReserveCtrlMsgCallback | m_reserveCtrlCb |
uint32_t | m_rtnLinkCarrierCount |
SatMac::SendCtrlMsgCallback | m_sendCtrlCb |
Ptr< SatSuperframeSeq > | m_superframeSeq |
double | m_symbolRate |
Creates needed objects for GW nodes like SatGeoNetDevice objects.
Handles needed configuration for the GW nodes.
Definition at line 50 of file satellite-gw-helper.h.
ns3::SatGwHelper::SatGwHelper | ( | ) |
Default constructor.
Definition at line 138 of file satellite-gw-helper.cc.
ns3::SatGwHelper::SatGwHelper | ( | SatTypedefs::CarrierBandwidthConverter_t | carrierBandwidthConverter, |
uint32_t | fwdLinkCarrierCount, | ||
Ptr< SatSuperframeSeq > | seq, | ||
SatMac::ReadCtrlMsgCallback | readCb, | ||
SatMac::ReserveCtrlMsgCallback | reserveCb, | ||
SatMac::SendCtrlMsgCallback | sendCb, | ||
RandomAccessSettings_s | randomAccessSettings | ||
) |
Create a SatGwHelper to make life easier when creating Satellite point to point network connections.
Definition at line 151 of file satellite-gw-helper.cc.
References m_channelFactory, and m_deviceFactory.
|
inlinevirtual |
Definition at line 88 of file satellite-gw-helper.h.
void ns3::SatGwHelper::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 697 of file satellite-gw-helper.cc.
Ptr< SatBbFrameConf > ns3::SatGwHelper::GetBbFrameConf | ( | ) | const |
Get BB frame configuration.
Definition at line 224 of file satellite-gw-helper.cc.
References m_bbFrameConf.
TypeId ns3::SatGwHelper::GetInstanceTypeId | ( | void | ) | const |
Definition at line 133 of file satellite-gw-helper.cc.
References GetTypeId().
|
static |
Get the type ID.
Definition at line 79 of file satellite-gw-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_creationTrace, m_daConstantErrorRate, m_daInterferenceModel, m_enableChannelEstimationError, m_errorModel, m_fwdSchedulingAlgorithm, ns3::SatEnums::NO_TIME_SLICING, and ns3::SatEnums::TIME_SLICING.
Referenced by GetInstanceTypeId().
void ns3::SatGwHelper::Initialize | ( | Ptr< SatLinkResultsRtn > | lrRcs2, |
Ptr< SatLinkResultsFwd > | lrFwd, | ||
SatEnums::DvbVersion_t | dvbVersion, | ||
bool | useScpc | ||
) |
Definition at line 180 of file satellite-gw-helper.cc.
References ns3::SatEnums::EFFECTIVE_BANDWIDTH, ns3::SatPhyRxCarrierConf::EM_AVI, ns3::SatEnums::FORWARD_FEEDER_CH, m_bbFrameConf, m_carrierBandwidthConverter, m_errorModel, m_fwdSchedulingAlgorithm, m_linkResults, m_symbolRate, ns3::SatEnums::NO_TIME_SLICING, and ns3::SatEnums::TIME_SLICING.
NetDeviceContainer ns3::SatGwHelper::InstallDvb | ( | NodeContainer | c, |
uint32_t | gwId, | ||
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNcc > | ncc, | ||
Ptr< SatLowerLayerServiceConf > | llsConf, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
c | a set of nodes |
gwId | id of the gw |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
ncc | NCC (Network Control Center) |
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 SatGwHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::SatNetDevice with the requested attributes, a queue for this ns3::SatNetDevice, and associate the resulting ns3::SatNetDevice with the ns3::Node and ns3::SatChannel.
Definition at line 256 of file satellite-gw-helper.cc.
Ptr< NetDevice > ns3::SatGwHelper::InstallDvb | ( | Ptr< Node > | n, |
uint32_t | gwId, | ||
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNcc > | ncc, | ||
Ptr< SatLowerLayerServiceConf > | llsConf, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
n | node |
gwId | id of the gw |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
ncc | NCC (Network Control Center) |
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 289 of file satellite-gw-helper.cc.
References ns3::SatEnums::CONTROL_FID, ns3::SatNcc::DoRandomAccessDynamicLoadControl(), ns3::SatEnums::DVB_GW, ns3::SatEnums::EFFECTIVE_BANDWIDTH, ns3::SatEnums::FORWARD_FEEDER_CH, ns3::SatLlc::GetSchedulingContexts(), ns3::logonCallbackHelper(), m_bbFrameConf, 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_fwdSchedulingAlgorithm, m_linkResults, ns3::SatGwHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatGwHelper::RandomAccessSettings_s::m_raConstantErrorRate, ns3::SatGwHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatGwHelper::RandomAccessSettings_s::m_raInterferenceModel, ns3::SatGwHelper::RandomAccessSettings_s::m_randomAccessModel, m_raSettings, m_readCtrlCb, m_reserveCtrlCb, m_rtnLinkCarrierCount, 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::SatNcc::MoveUtBetweenBeams(), ns3::SatEnums::NO_TIME_SLICING, ns3::SatGwLlc::NotifyTxOpportunity(), ns3::SatEnums::NT_GW, ns3::SatNetDevice::Receive(), ns3::SatLlc::Receive(), ns3::SatGwMac::Receive(), ns3::SatNcc::ReceiveControlBurst(), ns3::SatEnums::REGENERATION_PHY, ns3::SatNcc::RemoveUt(), ns3::SatNetDevice::SendControlMsg(), ns3::SatPhy::SendPdu(), ns3::SatAddressE2ETag::SIZE, ns3::SatConstVariables::SUPERFRAME_SEQUENCE, ns3::SatEnums::TIME_SLICING, ns3::SatEnums::TRANSPARENT, ns3::SatNcc::UtCnoUpdated(), and ns3::SatNcc::UtCrReceived().
NetDeviceContainer ns3::SatGwHelper::InstallLora | ( | NodeContainer | c, |
uint32_t | gwId, | ||
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNcc > | ncc, | ||
Ptr< SatLowerLayerServiceConf > | llsConf, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
c | a set of nodes |
gwId | id of the gw |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
ncc | NCC (Network Control Center) |
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 SatGwHelper::SetChannelAttribute, then, for each node in the input container, we create a ns3::SatLorawanNetDevice with the requested attributes, a queue for this ns3::SatLorawanNetDevice, and associate the resulting ns3::SatLorawanNetDevice with the ns3::Node and ns3::SatChannel.
Definition at line 523 of file satellite-gw-helper.cc.
Ptr< NetDevice > ns3::SatGwHelper::InstallLora | ( | Ptr< Node > | n, |
uint32_t | gwId, | ||
uint32_t | satId, | ||
uint32_t | beamId, | ||
Ptr< SatChannel > | fCh, | ||
Ptr< SatChannel > | rCh, | ||
Ptr< SatNcc > | ncc, | ||
Ptr< SatLowerLayerServiceConf > | llsConf, | ||
SatEnums::RegenerationMode_t | forwardLinkRegenerationMode, | ||
SatEnums::RegenerationMode_t | returnLinkRegenerationMode | ||
) |
n | node |
gwId | id of the gw |
satId | id of the satellite |
beamId | id of the beam |
fCh | forward channel |
rCh | return channel |
ncc | NCC (Network Control Center) |
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 556 of file satellite-gw-helper.cc.
References ns3::SatNcc::DoRandomAccessDynamicLoadControl(), ns3::SatEnums::LORA_GW, 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_linkResults, ns3::SatGwHelper::RandomAccessSettings_s::m_raCollisionModel, ns3::SatGwHelper::RandomAccessSettings_s::m_raConstantErrorRate, ns3::SatGwHelper::RandomAccessSettings_s::m_raInterferenceEliminationModel, ns3::SatGwHelper::RandomAccessSettings_s::m_raInterferenceModel, ns3::SatGwHelper::RandomAccessSettings_s::m_randomAccessModel, m_raSettings, m_rtnLinkCarrierCount, 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_GW, ns3::LorawanMac::Receive(), ns3::SatEnums::REGENERATION_PHY, ns3::SatLoraConf::SetConf(), ns3::SatConstVariables::SUPERFRAME_SEQUENCE, ns3::SatEnums::TRANSPARENT, and ns3::SatNcc::UtCnoUpdated().
void ns3::SatGwHelper::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 SatGwHelper::Install
Definition at line 240 of file satellite-gw-helper.cc.
References m_channelFactory.
void ns3::SatGwHelper::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 SatGwHelper::Install
Definition at line 232 of file satellite-gw-helper.cc.
References m_deviceFactory.
void ns3::SatGwHelper::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 SatGwHelper::Install
Definition at line 248 of file satellite-gw-helper.cc.
|
private |
Definition at line 264 of file satellite-gw-helper.h.
Referenced by GetBbFrameConf(), Initialize(), and InstallDvb().
|
private |
Definition at line 260 of file satellite-gw-helper.h.
Referenced by Initialize(), InstallDvb(), and InstallLora().
|
private |
Definition at line 271 of file satellite-gw-helper.h.
Referenced by SatGwHelper(), and SetChannelAttribute().
|
private |
Trace callback for creation traces.
Definition at line 299 of file satellite-gw-helper.h.
Referenced by GetTypeId().
|
private |
Definition at line 287 of file satellite-gw-helper.h.
Referenced by GetTypeId(), InstallDvb(), and InstallLora().
|
private |
Definition at line 277 of file satellite-gw-helper.h.
Referenced by GetTypeId(), InstallDvb(), and InstallLora().
|
private |
Definition at line 272 of file satellite-gw-helper.h.
Referenced by SatGwHelper(), InstallDvb(), InstallLora(), and SetDeviceAttribute().
|
private |
Enable channel estimation error modeling at forward link receiver (= UT).
Definition at line 307 of file satellite-gw-helper.h.
Referenced by GetTypeId(), InstallDvb(), and InstallLora().
|
private |
Definition at line 282 of file satellite-gw-helper.h.
Referenced by GetTypeId(), Initialize(), InstallDvb(), and InstallLora().
|
private |
The forward link algorithm used.
Definition at line 317 of file satellite-gw-helper.h.
Referenced by GetTypeId(), Initialize(), and InstallDvb().
|
private |
Definition at line 294 of file satellite-gw-helper.h.
Referenced by Initialize(), InstallDvb(), and InstallLora().
|
private |
The used random access model settings.
Definition at line 312 of file satellite-gw-helper.h.
Referenced by InstallDvb(), and InstallLora().
|
private |
Definition at line 267 of file satellite-gw-helper.h.
Referenced by InstallDvb().
|
private |
Definition at line 268 of file satellite-gw-helper.h.
Referenced by InstallDvb().
|
private |
Definition at line 261 of file satellite-gw-helper.h.
Referenced by InstallDvb(), and InstallLora().
|
private |
Definition at line 269 of file satellite-gw-helper.h.
Referenced by InstallDvb().
|
private |
Definition at line 262 of file satellite-gw-helper.h.
Referenced by InstallDvb(), and InstallLora().
|
private |
Definition at line 301 of file satellite-gw-helper.h.
Referenced by Initialize().