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. | |
| SatCnoHelper (Ptr< SatHelper > satHelper) | |
| Create a base SatCnoHelper. | |
| virtual | ~SatCnoHelper () |
| Destructor for SatCnoHelper. | |
| void | SetGwNodeCno (NodeContainer nodes, SatEnums::ChannelType_t channel, double cno) |
| Set a constant C/N0 for one GW node and one channel direction. | |
| void | SetGwNodeCno (Ptr< Node > node, SatEnums::ChannelType_t channel, double cno) |
| Set a constant C/N0 for one GW node and one channel direction. | |
| void | SetGwNodeCno (uint32_t nodeId, SatEnums::ChannelType_t channel, double cno) |
| Set a constant C/N0 for one GW node and one channel direction. | |
| 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. | |
| 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. | |
| void | SetUtNodeCno (NodeContainer nodes, SatEnums::ChannelType_t channel, double cno) |
| Set a constant C/N0 for one UT node and one channel direction. | |
| void | SetUtNodeCno (Ptr< Node > node, SatEnums::ChannelType_t channel, double cno) |
| Set a constant C/N0 for one UT node and one channel direction. | |
| void | SetUtNodeCno (uint32_t nodeId, SatEnums::ChannelType_t channel, double cno) |
| Set a constant C/N0 for one UT node and one channel direction. | |
| 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. | |
| 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. | |
| void | UseTracesForDefault (bool useTraces) |
| Set m_useTraces attribute. | |
Static Public Member Functions | |
| static TypeId | GetTypeId (void) |
| Get the type ID. | |
Private Member Functions | |
| void | ApplyConfiguration () |
| Apply configuration to all the satellite channels Needs to be done after node creation. | |
| bool | CheckDuplicate (Ptr< Node > node, SatEnums::ChannelType_t channel) |
| Verify if a node has already been set. | |
Private Attributes | |
| std::vector< cnoCustomParams_s > | m_customCno |
| Array storing manual C/N0 updates (constant or custom file). | |
| Ptr< SatHelper > | m_satHelper |
| Pointer to the SatHelper objet. | |
| bool | m_useTraces |
| Use C/N0 input traces instead of power calculation from antenna gain. | |
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 49 of file satellite-cno-helper.cc.
References m_satHelper, m_useTraces, and ns3::SatEnums::RX_CNO_INPUT_TRACE.
| ns3::SatCnoHelper::SatCnoHelper | ( | Ptr< SatHelper > | satHelper | ) |
Create a base SatCnoHelper.
| satHelper | The satellite Helper |
Definition at line 57 of file satellite-cno-helper.cc.
References m_satHelper, m_useTraces, and ns3::SatEnums::RX_CNO_INPUT_TRACE.
|
inlinevirtual |
Destructor for SatCnoHelper.
Definition at line 79 of file satellite-cno-helper.h.
|
private |
Apply configuration to all the satellite channels Needs to be done after node creation.
Definition at line 203 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 291 of file satellite-cno-helper.cc.
References m_customCno.
Referenced by SetGwNodeCno(), SetGwNodeCnoFile(), SetUtNodeCno(), and SetUtNodeCnoFile().
|
static |
| 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 129 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 73 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(), and 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 117 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 147 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 191 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 138 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 95 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(), and 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 123 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 169 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 197 of file satellite-cno-helper.cc.
References SetUtNodeCnoFile().
| void ns3::SatCnoHelper::UseTracesForDefault | ( | bool | useTraces | ) |
Set m_useTraces attribute.
Definition at line 66 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 183 of file satellite-cno-helper.h.
Referenced by ApplyConfiguration(), CheckDuplicate(), SetGwNodeCno(), SetGwNodeCnoFile(), SetUtNodeCno(), and SetUtNodeCnoFile().
|
private |
Pointer to the SatHelper objet.
Definition at line 173 of file satellite-cno-helper.h.
Referenced by SatCnoHelper(), and SatCnoHelper().
|
private |
Use C/N0 input traces instead of power calculation from antenna gain.
Definition at line 178 of file satellite-cno-helper.h.
Referenced by SatCnoHelper(), SatCnoHelper(), ApplyConfiguration(), and UseTracesForDefault().