A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
lte-ue-power-control.h
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2014 Piotr Gawlowicz
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Piotr Gawlowicz <gawlowicz.p@gmail.com>
19
*
20
*/
21
22
#ifndef LTE_UE_POWER_CONTROL_H
23
#define LTE_UE_POWER_CONTROL_H
24
25
#include <ns3/ptr.h>
26
#include <ns3/traced-callback.h>
27
#include <ns3/object.h>
28
#include <vector>
29
30
31
namespace
ns3 {
32
54
class
LteUePowerControl
:
public
Object
55
{
56
public
:
57
58
LteUePowerControl
();
59
virtual
~LteUePowerControl
();
60
61
// inherited from Object
62
static
TypeId
GetTypeId
(
void
);
63
virtual
void
DoInitialize
(
void
);
64
virtual
void
DoDispose
(
void
);
65
66
void
SetPcmax
(
double
value);
67
double
GetPcmax
();
68
69
void
SetTxPower
(
double
value);
70
void
ConfigureReferenceSignalPower
(int8_t referenceSignalPower);
71
72
void
SetCellId
(uint16_t cellId);
73
void
SetRnti
(uint16_t rnti);
74
75
void
SetPoNominalPusch
(int16_t value);
76
void
SetPoUePusch
(int16_t value);
77
void
SetAlpha
(
double
value);
78
79
void
SetRsrp
(
double
value);
80
void
ReportTpc
(uint8_t tpc);
81
82
void
CalculatePuschTxPower
();
83
void
CalculatePucchTxPower
();
84
void
CalculateSrsTxPower
();
85
86
double
GetPuschTxPower
(std::vector <int> rb);
87
double
GetPucchTxPower
(std::vector <int> rb);
88
double
GetSrsTxPower
(std::vector <int> rb);
89
90
private
:
91
void
SetSubChannelMask
(std::vector <int> mask);
92
93
double
m_txPower
;
94
double
m_Pcmax
;
95
double
m_Pcmin
;
96
97
double
m_curPuschTxPower
;
98
double
m_curPucchTxPower
;
99
double
m_curSrsTxPower
;
100
101
double
m_referenceSignalPower
;
102
bool
m_rsrpSet
;
103
double
m_rsrp
;
104
105
std::vector<int16_t>
m_PoNominalPusch
;
106
std::vector<int16_t>
m_PoUePusch
;
107
108
int16_t
m_PsrsOffset
;
109
110
uint16_t
m_M_Pusch
;
111
std::vector<double>
m_alpha
;
112
double
m_pathLoss
;
113
double
m_deltaTF
;
114
115
std::vector<int8_t>
m_deltaPusch
;
116
double
m_fc
;
117
118
uint16_t
m_srsBandwidth
;
119
120
bool
m_closedLoop
;
121
bool
m_accumulationEnabled
;
122
123
uint16_t
m_cellId
;
124
uint16_t
m_rnti
;
129
TracedCallback<uint16_t, uint16_t, double>
m_reportPuschTxPower
;
130
TracedCallback<uint16_t, uint16_t, double>
m_reportPucchTxPower
;
131
TracedCallback<uint16_t, uint16_t, double>
m_reportSrsTxPower
;
132
133
};
134
135
136
}
137
138
#endif
/* LTE_UE_POWER_CONTROL_H */
ns3::LteUePowerControl::m_pathLoss
double m_pathLoss
Definition:
lte-ue-power-control.h:112
ns3::LteUePowerControl::SetTxPower
void SetTxPower(double value)
Definition:
lte-ue-power-control.cc:146
ns3::LteUePowerControl::SetSubChannelMask
void SetSubChannelMask(std::vector< int > mask)
Definition:
lte-ue-power-control.cc:351
ns3::LteUePowerControl::m_PoNominalPusch
std::vector< int16_t > m_PoNominalPusch
Definition:
lte-ue-power-control.h:105
ns3::LteUePowerControl::~LteUePowerControl
virtual ~LteUePowerControl()
Definition:
lte-ue-power-control.cc:53
ns3::LteUePowerControl::SetCellId
void SetCellId(uint16_t cellId)
Definition:
lte-ue-power-control.cc:163
ns3::LteUePowerControl::SetAlpha
void SetAlpha(double value)
Definition:
lte-ue-power-control.cc:212
ns3::LteUePowerControl::CalculateSrsTxPower
void CalculateSrsTxPower()
Definition:
lte-ue-power-control.cc:394
ns3::LteUePowerControl::m_referenceSignalPower
double m_referenceSignalPower
Definition:
lte-ue-power-control.h:101
ns3::LteUePowerControl::GetPuschTxPower
double GetPuschTxPower(std::vector< int > rb)
Definition:
lte-ue-power-control.cc:418
ns3::LteUePowerControl::m_M_Pusch
uint16_t m_M_Pusch
Definition:
lte-ue-power-control.h:110
ns3::LteUePowerControl::SetPoUePusch
void SetPoUePusch(int16_t value)
Definition:
lte-ue-power-control.cc:195
ns3::TracedCallback< uint16_t, uint16_t, double >
ns3::LteUePowerControl::m_deltaPusch
std::vector< int8_t > m_deltaPusch
Definition:
lte-ue-power-control.h:115
ns3::LteUePowerControl::m_closedLoop
bool m_closedLoop
Definition:
lte-ue-power-control.h:120
ns3::LteUePowerControl::m_srsBandwidth
uint16_t m_srsBandwidth
Definition:
lte-ue-power-control.h:118
ns3::LteUePowerControl::m_curPucchTxPower
double m_curPucchTxPower
Definition:
lte-ue-power-control.h:98
ns3::LteUePowerControl::m_reportPucchTxPower
TracedCallback< uint16_t, uint16_t, double > m_reportPucchTxPower
Definition:
lte-ue-power-control.h:130
ns3::LteUePowerControl::SetPcmax
void SetPcmax(double value)
Definition:
lte-ue-power-control.cc:132
ns3::LteUePowerControl::m_Pcmax
double m_Pcmax
Definition:
lte-ue-power-control.h:94
ns3::LteUePowerControl::m_fc
double m_fc
Definition:
lte-ue-power-control.h:116
ns3::LteUePowerControl::m_reportSrsTxPower
TracedCallback< uint16_t, uint16_t, double > m_reportSrsTxPower
Definition:
lte-ue-power-control.h:131
ns3::LteUePowerControl::DoInitialize
virtual void DoInitialize(void)
This method is called only once by Object::Initialize.
Definition:
lte-ue-power-control.cc:59
ns3::LteUePowerControl::LteUePowerControl
LteUePowerControl()
Definition:
lte-ue-power-control.cc:35
ns3::LteUePowerControl::m_reportPuschTxPower
TracedCallback< uint16_t, uint16_t, double > m_reportPuschTxPower
Trace information regarding Uplink TxPower uint16_t cellId, uint16_t rnti, double txPower...
Definition:
lte-ue-power-control.h:129
ns3::LteUePowerControl::m_rsrp
double m_rsrp
Definition:
lte-ue-power-control.h:103
ns3::LteUePowerControl::m_curPuschTxPower
double m_curPuschTxPower
Definition:
lte-ue-power-control.h:97
ns3::LteUePowerControl::GetTypeId
static TypeId GetTypeId(void)
Definition:
lte-ue-power-control.cc:71
ns3::LteUePowerControl::m_deltaTF
double m_deltaTF
Definition:
lte-ue-power-control.h:113
ns3::LteUePowerControl::m_PoUePusch
std::vector< int16_t > m_PoUePusch
Definition:
lte-ue-power-control.h:106
ns3::LteUePowerControl::CalculatePucchTxPower
void CalculatePucchTxPower()
Definition:
lte-ue-power-control.cc:386
ns3::LteUePowerControl::m_Pcmin
double m_Pcmin
Definition:
lte-ue-power-control.h:95
ns3::LteUePowerControl::m_PsrsOffset
int16_t m_PsrsOffset
Definition:
lte-ue-power-control.h:108
ns3::LteUePowerControl::SetPoNominalPusch
void SetPoNominalPusch(int16_t value)
Definition:
lte-ue-power-control.cc:176
ns3::LteUePowerControl::m_alpha
std::vector< double > m_alpha
Definition:
lte-ue-power-control.h:111
ns3::LteUePowerControl::CalculatePuschTxPower
void CalculatePuschTxPower()
Definition:
lte-ue-power-control.cc:358
ns3::LteUePowerControl::GetPcmax
double GetPcmax()
Definition:
lte-ue-power-control.cc:139
ns3::LteUePowerControl::m_curSrsTxPower
double m_curSrsTxPower
Definition:
lte-ue-power-control.h:99
ns3::LteUePowerControl
This class realizes Uplink Power Control functionality.
Definition:
lte-ue-power-control.h:54
ns3::LteUePowerControl::SetRnti
void SetRnti(uint16_t rnti)
Definition:
lte-ue-power-control.cc:169
ns3::LteUePowerControl::m_rsrpSet
bool m_rsrpSet
Definition:
lte-ue-power-control.h:102
ns3::LteUePowerControl::m_cellId
uint16_t m_cellId
Definition:
lte-ue-power-control.h:123
ns3::LteUePowerControl::GetPucchTxPower
double GetPucchTxPower(std::vector< int > rb)
Definition:
lte-ue-power-control.cc:431
ns3::LteUePowerControl::m_rnti
uint16_t m_rnti
Definition:
lte-ue-power-control.h:124
ns3::LteUePowerControl::GetSrsTxPower
double GetSrsTxPower(std::vector< int > rb)
Definition:
lte-ue-power-control.cc:443
ns3::LteUePowerControl::m_txPower
double m_txPower
Definition:
lte-ue-power-control.h:93
ns3::LteUePowerControl::SetRsrp
void SetRsrp(double value)
Definition:
lte-ue-power-control.cc:248
ns3::Object
a base class which provides memory management and object aggregation
Definition:
object.h:64
ns3::LteUePowerControl::ConfigureReferenceSignalPower
void ConfigureReferenceSignalPower(int8_t referenceSignalPower)
Definition:
lte-ue-power-control.cc:156
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::LteUePowerControl::m_accumulationEnabled
bool m_accumulationEnabled
Definition:
lte-ue-power-control.h:121
ns3::LteUePowerControl::ReportTpc
void ReportTpc(uint8_t tpc)
Definition:
lte-ue-power-control.cc:265
ns3::LteUePowerControl::DoDispose
virtual void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
Definition:
lte-ue-power-control.cc:65
src
lte
model
lte-ue-power-control.h
Generated on Wed Sep 17 2014 23:33:33 for ns-3 by
1.8.6