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-helper.h
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
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: Nicola Baldo <nbaldo@cttc.es>
19
*/
20
21
#ifndef LTE_HELPER_H
22
#define LTE_HELPER_H
23
24
#include <ns3/config.h>
25
#include <ns3/simulator.h>
26
#include <ns3/names.h>
27
#include <ns3/net-device.h>
28
#include <ns3/net-device-container.h>
29
#include <ns3/node.h>
30
#include <ns3/node-container.h>
31
#include <ns3/eps-bearer.h>
32
#include <ns3/mac-stats-calculator.h>
33
#include <ns3/radio-bearer-stats-calculator.h>
34
#include <ns3/epc-tft.h>
35
#include <ns3/mobility-model.h>
36
37
namespace
ns3 {
38
39
40
class
LteUePhy;
41
class
LteEnbPhy;
42
class
SpectrumChannel;
43
class
EpcHelper;
44
class
PropagationLossModel;
45
46
51
class
LteHelper
:
public
Object
52
{
53
public
:
54
LteHelper
(
void
);
55
virtual
~LteHelper
(
void
);
56
57
static
TypeId
GetTypeId
(
void
);
58
virtual
void
DoDispose
(
void
);
59
60
74
void
SetEpcHelper
(
Ptr<EpcHelper>
h);
75
81
void
SetPathlossModelType
(std::string type);
82
89
void
SetPathlossModelAttribute
(std::string n,
const
AttributeValue
&v);
90
95
void
SetSchedulerType
(std::string type);
96
103
void
SetSchedulerAttribute
(std::string n,
const
AttributeValue
&v);
104
111
void
SetEnbDeviceAttribute
(std::string n,
const
AttributeValue
&v);
112
117
void
SetEnbAntennaModelType
(std::string type);
118
125
void
SetEnbAntennaModelAttribute
(std::string n,
const
AttributeValue
&v);
126
131
void
SetUeAntennaModelType
(std::string type);
132
139
void
SetUeAntennaModelAttribute
(std::string n,
const
AttributeValue
&v);
140
145
void
SetSpectrumChannelType
(std::string type);
146
153
void
SetSpectrumChannelAttribute
(std::string n,
const
AttributeValue
&v);
161
NetDeviceContainer
InstallEnbDevice
(
NodeContainer
c);
162
170
NetDeviceContainer
InstallUeDevice
(
NodeContainer
c);
171
178
void
Attach
(
NetDeviceContainer
ueDevices,
Ptr<NetDevice>
enbDevice);
179
186
void
Attach
(
Ptr<NetDevice>
ueDevice,
Ptr<NetDevice>
enbDevice);
187
194
void
AttachToClosestEnb
(
NetDeviceContainer
ueDevices,
NetDeviceContainer
enbDevices);
195
202
void
AttachToClosestEnb
(
Ptr<NetDevice>
ueDevice,
NetDeviceContainer
enbDevices);
203
211
void
ActivateEpsBearer
(
NetDeviceContainer
ueDevices,
EpsBearer
bearer,
Ptr<EpcTft>
tft);
212
220
void
ActivateEpsBearer
(
Ptr<NetDevice>
ueDevice,
EpsBearer
bearer,
Ptr<EpcTft>
tft);
221
228
TypeId
GetRlcType
(
EpsBearer
bearer);
229
235
void
SetFadingModel
(std::string model);
236
240
void
SetFadingModelAttribute
(std::string n,
const
AttributeValue
&v);
241
246
void
EnableLogComponents
(
void
);
247
251
void
EnableTraces
(
void
);
252
256
void
EnableMacTraces
(
void
);
257
261
void
EnableDlMacTraces
(
void
);
262
266
void
EnableUlMacTraces
(
void
);
267
271
void
EnableRlcTraces
(
void
);
272
276
void
EnableDlRlcTraces
(
void
);
277
281
void
EnableUlRlcTraces
(
void
);
282
287
Ptr<RadioBearerStatsCalculator>
GetRlcStats
(
void
);
288
292
void
EnablePdcpTraces
(
void
);
293
297
void
EnableDlPdcpTraces
(
void
);
298
302
void
EnableUlPdcpTraces
(
void
);
303
308
Ptr<RadioBearerStatsCalculator>
GetPdcpStats
(
void
);
309
310
enum
LteEpsBearerToRlcMapping_t
{
RLC_SM_ALWAYS
= 1,
311
RLC_UM_ALWAYS
= 2,
312
RLC_AM_ALWAYS
= 3,
313
PER_BASED
= 4};
314
326
int64_t
AssignStreams
(
NetDeviceContainer
c, int64_t stream);
327
328
protected
:
329
// inherited from Object
330
virtual
void
DoStart
(
void
);
331
332
private
:
333
Ptr<NetDevice>
InstallSingleEnbDevice
(
Ptr<Node>
n);
334
Ptr<NetDevice>
InstallSingleUeDevice
(
Ptr<Node>
n);
335
336
Ptr<SpectrumChannel>
m_downlinkChannel
;
337
Ptr<SpectrumChannel>
m_uplinkChannel
;
338
339
Ptr<Object>
m_downlinkPathlossModel
;
340
Ptr<Object>
m_uplinkPathlossModel
;
341
342
ObjectFactory
m_schedulerFactory
;
343
ObjectFactory
m_propagationModelFactory
;
344
ObjectFactory
m_enbNetDeviceFactory
;
345
ObjectFactory
m_enbAntennaModelFactory
;
346
ObjectFactory
m_ueAntennaModelFactory
;
347
348
ObjectFactory
m_dlPathlossModelFactory
;
349
ObjectFactory
m_ulPathlossModelFactory
;
350
351
ObjectFactory
m_channelFactory
;
352
353
std::string
m_fadingModelType
;
354
ObjectFactory
m_fadingModelFactory
;
355
356
Ptr<MacStatsCalculator>
m_macStats
;
357
Ptr<RadioBearerStatsCalculator>
m_rlcStats
;
358
Ptr<RadioBearerStatsCalculator>
m_pdcpStats
;
359
360
enum
LteEpsBearerToRlcMapping_t
m_epsBearerToRlcMapping
;
361
362
Ptr<EpcHelper>
m_epcHelper
;
363
364
};
365
366
367
}
// namespace ns3
368
369
370
371
#endif // LTE_HELPER_H
src
lte
helper
lte-helper.h
Generated on Tue Oct 9 2012 16:45:40 for ns-3 by
1.8.1.2