This helper allows to set customs C/N0 values for some GW or UT nodes. More...
#include "satellite-cno-helper.h"
Inheritance diagram for ns3::SatCnoHelper:
Collaboration diagram for ns3::SatCnoHelper: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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
|
static |
Get the type ID.
Definition at line 42 of file satellite-cno-helper.cc.
Referenced by GetInstanceTypeId().
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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.
Here is the call graph for this function:
|
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().