|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
24 #include <ns3/boolean.h>
25 #include <ns3/double.h>
26 #include <ns3/integer.h>
78 .AddAttribute (
"ClosedLoop",
79 "If true Closed Loop mode will be active, otherwise Open Loop",
83 .AddAttribute (
"AccumulationEnabled",
84 "If true TCP accumulation mode will be active, otherwise absolute mode will be active",
88 .AddAttribute (
"Alpha",
89 "Value of Alpha parameter",
92 MakeDoubleChecker<double> ())
93 .AddAttribute (
"Pcmax",
94 "Max Transmission power in dBm, Default value 23 dBm"
95 "TS36.101 section 6.2.3",
98 MakeDoubleChecker<double> ())
99 .AddAttribute (
"Pcmin",
100 "Min Transmission power in dBm, Default value -40 dBm"
101 "TS36.101 section 6.2.3",
104 MakeDoubleChecker<double> ())
105 .AddAttribute (
"PoNominalPusch",
106 "P_O_NOMINAL_PUSCH INT (-126 ... 24), Default value -80",
109 MakeIntegerChecker<int16_t> ())
110 .AddAttribute (
"PoUePusch",
111 "P_O_UE_PUSCH INT(-8...7), Default value 0",
114 MakeIntegerChecker<int16_t> ())
115 .AddAttribute (
"PsrsOffset",
116 "P_SRS_OFFSET INT(0...15), Default value 7",
119 MakeIntegerChecker<int16_t> ())
120 .AddTraceSource (
"ReportPuschTxPower",
121 "Report PUSCH TxPower in dBm",
123 "ns3::LteUePowerControl::TxPowerTracedCallback")
124 .AddTraceSource (
"ReportPucchTxPower",
125 "Report PUCCH TxPower in dBm",
127 "ns3::LteUePowerControl::TxPowerTracedCallback")
128 .AddTraceSource (
"ReportSrsTxPower",
129 "Report SRS TxPower in dBm",
131 "ns3::LteUePowerControl::TxPowerTracedCallback")
221 uint32_t temp = value * 10;
360 NS_LOG_INFO (
"ReportTpc: " << (
int)tpc <<
" delta: " << delta <<
" Fc: " <<
m_fc);
bool m_accumulationEnabled
accumulation enabled
bool m_rsrpSet
is RSRP set?
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
void ConfigureReferenceSignalPower(int8_t referenceSignalPower)
Configure reference signal power (dBm) function.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
AttributeValue implementation for Boolean.
TracedCallback< uint16_t, uint16_t, double > m_reportPuschTxPower
Trace information regarding Uplink TxPower uint16_t cellId, uint16_t rnti, double txPower.
Ptr< const AttributeAccessor > MakeIntegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
void SetRnti(uint16_t rnti)
Set the RNTI function.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
double m_txPower
transmit power
TracedCallback< uint16_t, uint16_t, double > m_reportSrsTxPower
Trace information regarding Uplink TxPower uint16_t cellId, uint16_t rnti, double txPower.
Hold a signed integer type.
void SetRsrp(double value)
Set RSRP function.
void CalculateSrsTxPower()
Calculate SRS transmit power function.
double GetPcmax()
Get PC maximum function.
void SetRsrpFilterCoefficient(uint8_t rsrpFilterCoefficient)
Set RSRP function.
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
This class can be used to hold variables of floating point type such as 'double' or 'float'.
void SetCellId(uint16_t cellId)
Set the cell ID function.
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
This class realizes Uplink Power Control functionality.
void CalculatePuschTxPower()
Calculate PUSCH transmit power function.
double GetPuschTxPower(std::vector< int > rb)
Get PUSCH transmit power function.
void SetPcmax(double value)
Set PC maximum function.
void SetSubChannelMask(std::vector< int > mask)
Set subchannel mask function.
virtual void DoDispose(void)
Destructor implementation.
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
double m_pathLoss
path loss value in dB
double m_curPucchTxPower
current PUCCH transmit power
void SetTxPower(double value)
Set transmit power function.
A base class which provides memory management and object aggregation.
virtual ~LteUePowerControl()
uint16_t m_M_Pusch
size of DL RB list
bool m_closedLoop
is closed loop
double m_referenceSignalPower
reference signal power in dBm
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
std::vector< int16_t > m_PoNominalPusch
PO nominal PUSCH.
double m_Pcmin
PC minimum.
void SetPoNominalPusch(int16_t value)
Set PO nominal PUSCH function.
Ptr< const AttributeChecker > MakeBooleanChecker(void)
void ReportTpc(uint8_t tpc)
Set RSRP function.
std::vector< int8_t > m_deltaPusch
delta PUSCH
std::vector< int16_t > m_PoUePusch
PO US PUSCH.
Ptr< const AttributeAccessor > MakeDoubleAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
double m_Pcmax
PC maximum.
int16_t m_PsrsOffset
PSRS offset.
uint16_t m_srsBandwidth
SRS bandwidth.
void CalculatePucchTxPower()
Calculate PUCCH transmit power function.
static TypeId GetTypeId(void)
Get the type ID.
double m_curPuschTxPower
current PUSCH transmit power
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
std::vector< double > m_alpha
alpha values
void SetPoUePusch(int16_t value)
Set PO UE PUSCH function.
virtual void DoInitialize(void)
Initialize() implementation.
void SetAlpha(double value)
Set alpha function.
uint8_t m_pcRsrpFilterCoefficient
The RsrpFilterCoefficient attribute.
double GetPucchTxPower(std::vector< int > rb)
Get PUCCH transmit power function.
TracedCallback< uint16_t, uint16_t, double > m_reportPucchTxPower
Trace information regarding Uplink TxPower uint16_t cellId, uint16_t rnti, double txPower.
double m_rsrp
RSRP value in dBm.
double m_curSrsTxPower
current SRS transmit power
double GetSrsTxPower(std::vector< int > rb)
Get SRS transmit power function.