A Discrete-Event Network Simulator
API
lte-test-downlink-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_TEST_DOWNLINK_POWER_CONTROL_H
23 #define LTE_TEST_DOWNLINK_POWER_CONTROL_H
24 
25 #include "ns3/spectrum-value.h"
26 #include <ns3/lte-rrc-sap.h>
27 
28 #include "ns3/spectrum-test.h"
29 #include "ns3/lte-spectrum-value-helper.h"
30 
31 #include "ns3/test.h"
32 
33 using namespace ns3;
34 
43 {
44 public:
46 
53  double CalculateRbTxPower (double txPower, uint8_t pa);
54 };
55 
64 {
65 public:
78  uint16_t earfcn, uint8_t bw, double powerTx,
79  std::map<int, double> powerTxMap, std::vector <int> activeRbs,
80  SpectrumValue& expected);
82 
83 private:
84  virtual void DoRun (void);
87 
88 };
89 
99 {
100 public:
108  LteDownlinkPowerControlTestCase (bool changePower, uint8_t pa, std::string name);
110 
111 private:
112  virtual void DoRun (void);
113 
117 };
118 
119 
129 {
130 public:
137  LteDownlinkPowerControlRrcConnectionReconfigurationTestCase (bool useIdealRrc, std::string name);
139 
148  void ConnectionReconfigurationEnb (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti);
149 
158  void ConnectionReconfigurationUe (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti);
159 
166  void ChangePdschConfigDedicated (uint16_t rnti, uint8_t pa);
167 private:
168  virtual void DoRun (void);
170 
174 };
175 
176 #endif /* LTE_TEST_DOWNLINK_POWER_CONTROL_H */
A suite of tests to run.
Definition: test.h:1342
encapsulates test code
Definition: test.h:1155
Every class exported by the ns3 library is enclosed in the ns3 namespace.
PdschConfigDedicated structure.
Definition: lte-rrc-sap.h:154
Set of values corresponding to a given SpectrumModel.