This helper allows to set customs C/N0 values for some GW or UT nodes. More...
#include "satellite-cno-helper.h"
Classes | |
struct | cnoCustomParams_s |
Struct for storing the custom C/N0 for some nodes. More... | |
Public Member Functions | |
SatCnoHelper () | |
Default constructor. More... | |
SatCnoHelper (Ptr< SatHelper > satHelper) | |
Create a base SatCnoHelper. More... | |
virtual | ~SatCnoHelper () |
Destructor for SatCnoHelper. More... | |
TypeId | GetInstanceTypeId (void) const |
Get the type ID of object instance. More... | |
void | SetGwNodeCno (NodeContainer nodes, SatEnums::ChannelType_t channel, double cno) |
Set a constant C/N0 for one GW node and one channel direction. More... | |
void | SetGwNodeCno (Ptr< Node > node, SatEnums::ChannelType_t channel, double cno) |
Set a constant C/N0 for one GW node and one channel direction. More... | |
void | SetGwNodeCno (uint32_t nodeId, SatEnums::ChannelType_t channel, double cno) |
Set a constant C/N0 for one GW node and one channel direction. More... | |
void | SetGwNodeCnoFile (Ptr< Node > node, SatEnums::ChannelType_t channel, std::string path) |
Set a constant C/N0 for one GW node and one channel direction. More... | |
void | SetGwNodeCnoFile (uint32_t nodeId, SatEnums::ChannelType_t channel, std::string path) |
Set a constant C/N0 for one GW node and one channel direction. More... | |
void | SetUtNodeCno (NodeContainer nodes, SatEnums::ChannelType_t channel, double cno) |
Set a constant C/N0 for one UT node and one channel direction. More... | |
void | SetUtNodeCno (Ptr< Node > node, SatEnums::ChannelType_t channel, double cno) |
Set a constant C/N0 for one UT node and one channel direction. More... | |
void | SetUtNodeCno (uint32_t nodeId, SatEnums::ChannelType_t channel, double cno) |
Set a constant C/N0 for one UT node and one channel direction. More... | |
void | SetUtNodeCnoFile (Ptr< Node > node, SatEnums::ChannelType_t channel, std::string path) |
Set a constant C/N0 for one UT node and one channel direction. More... | |
void | SetUtNodeCnoFile (uint32_t nodeId, SatEnums::ChannelType_t channel, std::string path) |
Set a constant C/N0 for one UT node and one channel direction. More... | |
void | UseTracesForDefault (bool useTraces) |
Set m_useTraces attribute. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Member Functions | |
void | ApplyConfiguration () |
Apply configuration to all the satellite channels Needs to be done after node creation. More... | |
bool | CheckDuplicate (Ptr< Node > node, SatEnums::ChannelType_t channel) |
Verify if a node has already been set. More... | |
Private Attributes | |
std::vector< cnoCustomParams_s > | m_customCno |
Array storing manual C/N0 updates (constant or custom file) More... | |
Ptr< SatHelper > | m_satHelper |
Pointer to the SatHelper objet. More... | |
bool | m_useTraces |
Use C/N0 input traces instead of power calculation from antenna gain. More... | |
This helper allows to set customs C/N0 values for some GW or UT nodes.
For each node, the C/N0 value can be constant over time, or follow a trace file giving the temporal evolution of this parameter.
Definition at line 43 of file satellite-cno-helper.h.
ns3::SatCnoHelper::SatCnoHelper | ( | ) |
Default constructor.
Definition at line 57 of file satellite-cno-helper.cc.
References ns3::SatEnums::RX_CNO_INPUT_TRACE.
ns3::SatCnoHelper::SatCnoHelper | ( | Ptr< SatHelper > | satHelper | ) |
Create a base SatCnoHelper.
satHelper | The satellite Helper |
Definition at line 65 of file satellite-cno-helper.cc.
References ns3::SatEnums::RX_CNO_INPUT_TRACE.
|
inlinevirtual |
Destructor for SatCnoHelper.
Definition at line 85 of file satellite-cno-helper.h.
|
private |
Apply configuration to all the satellite channels Needs to be done after node creation.
Definition at line 211 of file satellite-cno-helper.cc.
References ns3::SatEnums::FORWARD_FEEDER_CH, ns3::SatEnums::FORWARD_USER_CH, m_customCno, m_useTraces, ns3::SatEnums::RETURN_FEEDER_CH, and ns3::SatEnums::RETURN_USER_CH.
Referenced by SetGwNodeCno(), SetGwNodeCnoFile(), SetUtNodeCno(), SetUtNodeCnoFile(), and UseTracesForDefault().
|
private |
Verify if a node has already been set.
node | The node to verify |
Definition at line 299 of file satellite-cno-helper.cc.
References m_customCno.
Referenced by SetGwNodeCno(), SetGwNodeCnoFile(), SetUtNodeCno(), and SetUtNodeCnoFile().
TypeId ns3::SatCnoHelper::GetInstanceTypeId | ( | void | ) | const |
Get the type ID of object instance.
Definition at line 50 of file satellite-cno-helper.cc.
References GetTypeId().
|
static |
Get the type ID.
Definition at line 42 of file satellite-cno-helper.cc.
Referenced by GetInstanceTypeId().
void ns3::SatCnoHelper::SetGwNodeCno | ( | NodeContainer | nodes, |
SatEnums::ChannelType_t | channel, | ||
double | cno | ||
) |
Set a constant C/N0 for one GW node and one channel direction.
nodes | The nodes to apply the new C/N0 |
channel | The channel type |
cno | The constant C/N0 value to set |
Definition at line 137 of file satellite-cno-helper.cc.
References SetGwNodeCno().
void ns3::SatCnoHelper::SetGwNodeCno | ( | Ptr< Node > | node, |
SatEnums::ChannelType_t | channel, | ||
double | cno | ||
) |
Set a constant C/N0 for one GW node and one channel direction.
node | The node to apply the new C/N0 |
channel | The channel type |
cno | The constant C/N0 value to set |
Definition at line 81 of file satellite-cno-helper.cc.
References ApplyConfiguration(), ns3::SatCnoHelper::cnoCustomParams_s::channelType, CheckDuplicate(), ns3::SatCnoHelper::cnoCustomParams_s::cno, ns3::SatCnoHelper::cnoCustomParams_s::constant, ns3::SatEnums::FORWARD_FEEDER_CH, ns3::SatCnoHelper::cnoCustomParams_s::isGw, m_customCno, ns3::SatCnoHelper::cnoCustomParams_s::node, and ns3::SatEnums::RETURN_FEEDER_CH.
Referenced by SetGwNodeCno().
void ns3::SatCnoHelper::SetGwNodeCno | ( | uint32_t | nodeId, |
SatEnums::ChannelType_t | channel, | ||
double | cno | ||
) |
Set a constant C/N0 for one GW node and one channel direction.
nodeId | The ID of the node to apply the new C/N0 |
channel | The channel type |
cno | The constant C/N0 value to set |
Definition at line 125 of file satellite-cno-helper.cc.
References SetGwNodeCno().
void ns3::SatCnoHelper::SetGwNodeCnoFile | ( | Ptr< Node > | node, |
SatEnums::ChannelType_t | channel, | ||
std::string | path | ||
) |
Set a constant C/N0 for one GW node and one channel direction.
node | The node to apply the new C/N0 |
channel | The channel type |
path | The path to the file to read |
Definition at line 155 of file satellite-cno-helper.cc.
References ApplyConfiguration(), ns3::SatCnoHelper::cnoCustomParams_s::channelType, CheckDuplicate(), ns3::SatCnoHelper::cnoCustomParams_s::constant, ns3::SatEnums::FORWARD_FEEDER_CH, ns3::SatCnoHelper::cnoCustomParams_s::isGw, m_customCno, ns3::SatCnoHelper::cnoCustomParams_s::node, ns3::SatCnoHelper::cnoCustomParams_s::pathToFile, and ns3::SatEnums::RETURN_FEEDER_CH.
Referenced by SetGwNodeCnoFile().
void ns3::SatCnoHelper::SetGwNodeCnoFile | ( | uint32_t | nodeId, |
SatEnums::ChannelType_t | channel, | ||
std::string | path | ||
) |
Set a constant C/N0 for one GW node and one channel direction.
nodeId | The ID of the node to apply the new C/N0 |
channel | The channel type |
path | The path to the file to read |
Definition at line 199 of file satellite-cno-helper.cc.
References SetGwNodeCnoFile().
void ns3::SatCnoHelper::SetUtNodeCno | ( | NodeContainer | nodes, |
SatEnums::ChannelType_t | channel, | ||
double | cno | ||
) |
Set a constant C/N0 for one UT node and one channel direction.
nodes | The nodes to apply the new C/N0 |
channel | The channel type |
cno | The constant C/N0 value to set |
Definition at line 146 of file satellite-cno-helper.cc.
References SetUtNodeCno().
void ns3::SatCnoHelper::SetUtNodeCno | ( | Ptr< Node > | node, |
SatEnums::ChannelType_t | channel, | ||
double | cno | ||
) |
Set a constant C/N0 for one UT node and one channel direction.
node | The node to apply the new C/N0 |
channel | The channel type |
cno | The constant C/N0 value to set |
Definition at line 103 of file satellite-cno-helper.cc.
References ApplyConfiguration(), ns3::SatCnoHelper::cnoCustomParams_s::channelType, CheckDuplicate(), ns3::SatCnoHelper::cnoCustomParams_s::cno, ns3::SatCnoHelper::cnoCustomParams_s::constant, ns3::SatEnums::FORWARD_USER_CH, ns3::SatCnoHelper::cnoCustomParams_s::isGw, m_customCno, ns3::SatCnoHelper::cnoCustomParams_s::node, and ns3::SatEnums::RETURN_USER_CH.
Referenced by SetUtNodeCno().
void ns3::SatCnoHelper::SetUtNodeCno | ( | uint32_t | nodeId, |
SatEnums::ChannelType_t | channel, | ||
double | cno | ||
) |
Set a constant C/N0 for one UT node and one channel direction.
nodeId | The ID of the node to apply the new C/N0 |
channel | The channel type |
cno | The constant C/N0 value to set |
Definition at line 131 of file satellite-cno-helper.cc.
References SetUtNodeCno().
void ns3::SatCnoHelper::SetUtNodeCnoFile | ( | Ptr< Node > | node, |
SatEnums::ChannelType_t | channel, | ||
std::string | path | ||
) |
Set a constant C/N0 for one UT node and one channel direction.
node | The node to apply the new C/N0 |
channel | The channel type |
path | The path to the file to read |
Definition at line 177 of file satellite-cno-helper.cc.
References ApplyConfiguration(), ns3::SatCnoHelper::cnoCustomParams_s::channelType, CheckDuplicate(), ns3::SatCnoHelper::cnoCustomParams_s::constant, ns3::SatEnums::FORWARD_USER_CH, ns3::SatCnoHelper::cnoCustomParams_s::isGw, m_customCno, ns3::SatCnoHelper::cnoCustomParams_s::node, ns3::SatCnoHelper::cnoCustomParams_s::pathToFile, and ns3::SatEnums::RETURN_USER_CH.
Referenced by SetUtNodeCnoFile().
void ns3::SatCnoHelper::SetUtNodeCnoFile | ( | uint32_t | nodeId, |
SatEnums::ChannelType_t | channel, | ||
std::string | path | ||
) |
Set a constant C/N0 for one UT node and one channel direction.
nodeId | The ID of the node to apply the new C/N0 |
channel | The channel type |
path | The path to the file to read |
Definition at line 205 of file satellite-cno-helper.cc.
References SetUtNodeCnoFile().
void ns3::SatCnoHelper::UseTracesForDefault | ( | bool | useTraces | ) |
Set m_useTraces attribute.
Definition at line 74 of file satellite-cno-helper.cc.
References ApplyConfiguration(), and m_useTraces.
|
private |
Array storing manual C/N0 updates (constant or custom file)
Definition at line 189 of file satellite-cno-helper.h.
Referenced by ApplyConfiguration(), CheckDuplicate(), SetGwNodeCno(), SetGwNodeCnoFile(), SetUtNodeCno(), and SetUtNodeCnoFile().
|
private |
Pointer to the SatHelper objet.
Definition at line 179 of file satellite-cno-helper.h.
|
private |
Use C/N0 input traces instead of power calculation from antenna gain.
Definition at line 184 of file satellite-cno-helper.h.
Referenced by ApplyConfiguration(), and UseTracesForDefault().