A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
src
lte
model
lte-spectrum-signal-parameters.cc
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011 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
* Modified by Marco Miozzo <mmiozzo@cttc.es> (add data and ctrl diversity)
20
*/
21
22
#include <ns3/log.h>
23
#include <ns3/packet-burst.h>
24
#include <ns3/ptr.h>
25
#include <ns3/lte-spectrum-signal-parameters.h>
26
#include <ns3/lte-control-messages.h>
27
28
29
namespace
ns3
{
30
31
NS_LOG_COMPONENT_DEFINE
(
"LteSpectrumSignalParameters"
);
32
33
LteSpectrumSignalParameters::LteSpectrumSignalParameters
()
34
{
35
NS_LOG_FUNCTION
(
this
);
36
}
37
38
LteSpectrumSignalParameters::LteSpectrumSignalParameters
(
const
LteSpectrumSignalParameters
& p)
39
:
SpectrumSignalParameters
(p)
40
{
41
NS_LOG_FUNCTION
(
this
<< &p);
42
packetBurst
= p.
packetBurst
->Copy ();
43
}
44
45
Ptr<SpectrumSignalParameters>
46
LteSpectrumSignalParameters::Copy
()
47
{
48
NS_LOG_FUNCTION
(
this
);
49
// Ideally we would use:
50
// return Copy<LteSpectrumSignalParameters> (*this);
51
// but for some reason it doesn't work. Another alternative is
52
// return Copy<LteSpectrumSignalParameters> (this);
53
// but it causes a double creation of the object, hence it is less efficient.
54
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
55
Ptr<LteSpectrumSignalParameters>
lssp (
new
LteSpectrumSignalParameters
(*
this
),
false
);
56
return
lssp;
57
}
58
59
60
61
LteSpectrumSignalParametersDataFrame::LteSpectrumSignalParametersDataFrame
()
62
{
63
NS_LOG_FUNCTION
(
this
);
64
}
65
66
LteSpectrumSignalParametersDataFrame::LteSpectrumSignalParametersDataFrame
(
const
LteSpectrumSignalParametersDataFrame
& p)
67
:
SpectrumSignalParameters
(p)
68
{
69
NS_LOG_FUNCTION
(
this
<< &p);
70
cellId
= p.
cellId
;
71
if
(p.
packetBurst
)
72
{
73
packetBurst
= p.
packetBurst
->Copy ();
74
}
75
ctrlMsgList
= p.
ctrlMsgList
;
76
}
77
78
Ptr<SpectrumSignalParameters>
79
LteSpectrumSignalParametersDataFrame::Copy
()
80
{
81
NS_LOG_FUNCTION
(
this
);
82
// Ideally we would use:
83
// return Copy<LteSpectrumSignalParametersDataFrame> (*this);
84
// but for some reason it doesn't work. Another alternative is
85
// return Copy<LteSpectrumSignalParametersDataFrame> (this);
86
// but it causes a double creation of the object, hence it is less efficient.
87
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
88
Ptr<LteSpectrumSignalParametersDataFrame>
lssp (
new
LteSpectrumSignalParametersDataFrame
(*
this
),
false
);
89
return
lssp;
90
}
91
92
93
94
LteSpectrumSignalParametersDlCtrlFrame::LteSpectrumSignalParametersDlCtrlFrame
()
95
{
96
NS_LOG_FUNCTION
(
this
);
97
}
98
99
LteSpectrumSignalParametersDlCtrlFrame::LteSpectrumSignalParametersDlCtrlFrame
(
const
LteSpectrumSignalParametersDlCtrlFrame
& p)
100
:
SpectrumSignalParameters
(p)
101
{
102
NS_LOG_FUNCTION
(
this
<< &p);
103
cellId
= p.
cellId
;
104
pss
= p.
pss
;
105
ctrlMsgList
= p.
ctrlMsgList
;
106
}
107
108
Ptr<SpectrumSignalParameters>
109
LteSpectrumSignalParametersDlCtrlFrame::Copy
()
110
{
111
NS_LOG_FUNCTION
(
this
);
112
// Ideally we would use:
113
// return Copy<LteSpectrumSignalParametersDlCtrlFrame> (*this);
114
// but for some reason it doesn't work. Another alternative is
115
// return Copy<LteSpectrumSignalParametersDlCtrlFrame> (this);
116
// but it causes a double creation of the object, hence it is less efficient.
117
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
118
Ptr<LteSpectrumSignalParametersDlCtrlFrame>
lssp (
new
LteSpectrumSignalParametersDlCtrlFrame
(*
this
),
false
);
119
return
lssp;
120
}
121
122
123
LteSpectrumSignalParametersUlSrsFrame::LteSpectrumSignalParametersUlSrsFrame
()
124
{
125
NS_LOG_FUNCTION
(
this
);
126
}
127
128
LteSpectrumSignalParametersUlSrsFrame::LteSpectrumSignalParametersUlSrsFrame
(
const
LteSpectrumSignalParametersUlSrsFrame
& p)
129
:
SpectrumSignalParameters
(p)
130
{
131
NS_LOG_FUNCTION
(
this
<< &p);
132
cellId
= p.
cellId
;
133
}
134
135
Ptr<SpectrumSignalParameters>
136
LteSpectrumSignalParametersUlSrsFrame::Copy
()
137
{
138
NS_LOG_FUNCTION
(
this
);
139
// Ideally we would use:
140
// return Copy<LteSpectrumSignalParametersUlSrsFrame> (*this);
141
// but for some reason it doesn't work. Another alternative is
142
// return Copy<LteSpectrumSignalParametersUlSrsFrame> (this);
143
// but it causes a double creation of the object, hence it is less efficient.
144
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
145
Ptr<LteSpectrumSignalParametersUlSrsFrame>
lssp (
new
LteSpectrumSignalParametersUlSrsFrame
(*
this
),
false
);
146
return
lssp;
147
}
148
149
150
151
152
153
154
155
}
// namespace ns3
ns3::LteSpectrumSignalParametersDlCtrlFrame::ctrlMsgList
std::list< Ptr< LteControlMessage > > ctrlMsgList
control message list
Definition:
lte-spectrum-signal-parameters.h:121
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:73
NS_LOG_FUNCTION
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
Definition:
log-macros-enabled.h:213
ns3::LteSpectrumSignalParameters
Signal parameters for Lte.
Definition:
lte-spectrum-signal-parameters.h:39
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition:
log.h:202
ns3::LteSpectrumSignalParametersUlSrsFrame::cellId
uint16_t cellId
cell ID
Definition:
lte-spectrum-signal-parameters.h:151
ns3::LteSpectrumSignalParametersDataFrame
Signal parameters for Lte Data Frame (PDSCH), and eventually after some control messages through othe...
Definition:
lte-spectrum-signal-parameters.h:70
ns3::LteSpectrumSignalParameters::Copy
virtual Ptr< SpectrumSignalParameters > Copy()
make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is ...
Definition:
lte-spectrum-signal-parameters.cc:46
ns3::LteSpectrumSignalParametersUlSrsFrame
Signal parameters for Lte SRS Frame.
Definition:
lte-spectrum-signal-parameters.h:134
ns3::LteSpectrumSignalParametersDataFrame::cellId
uint16_t cellId
cell ID
Definition:
lte-spectrum-signal-parameters.h:94
ns3::LteSpectrumSignalParametersUlSrsFrame::Copy
virtual Ptr< SpectrumSignalParameters > Copy()
make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is ...
Definition:
lte-spectrum-signal-parameters.cc:136
ns3::LteSpectrumSignalParametersDataFrame::Copy
virtual Ptr< SpectrumSignalParameters > Copy()
make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is ...
Definition:
lte-spectrum-signal-parameters.cc:79
ns3::LteSpectrumSignalParametersDlCtrlFrame::pss
bool pss
primary synchronization signal
Definition:
lte-spectrum-signal-parameters.h:124
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LteSpectrumSignalParametersDataFrame::packetBurst
Ptr< PacketBurst > packetBurst
The packet burst being transmitted with this signal.
Definition:
lte-spectrum-signal-parameters.h:90
ns3::LteSpectrumSignalParametersDlCtrlFrame
Signal parameters for Lte DL Ctrl Frame (RS, PCFICH and PDCCH)
Definition:
lte-spectrum-signal-parameters.h:103
ns3::SpectrumSignalParameters
This struct provides the generic signal representation to be used by all wireless technologies...
Definition:
spectrum-signal-parameters.h:55
ns3::LteSpectrumSignalParametersUlSrsFrame::LteSpectrumSignalParametersUlSrsFrame
LteSpectrumSignalParametersUlSrsFrame()
default constructor
Definition:
lte-spectrum-signal-parameters.cc:123
ns3::LteSpectrumSignalParameters::packetBurst
Ptr< PacketBurst > packetBurst
The packet burst being transmitted with this signal.
Definition:
lte-spectrum-signal-parameters.h:59
ns3::LteSpectrumSignalParametersDlCtrlFrame::Copy
virtual Ptr< SpectrumSignalParameters > Copy()
make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is ...
Definition:
lte-spectrum-signal-parameters.cc:109
ns3::LteSpectrumSignalParameters::LteSpectrumSignalParameters
LteSpectrumSignalParameters()
default constructor
Definition:
lte-spectrum-signal-parameters.cc:33
ns3::LteSpectrumSignalParametersDlCtrlFrame::LteSpectrumSignalParametersDlCtrlFrame
LteSpectrumSignalParametersDlCtrlFrame()
default constructor
Definition:
lte-spectrum-signal-parameters.cc:94
ns3::LteSpectrumSignalParametersDataFrame::ctrlMsgList
std::list< Ptr< LteControlMessage > > ctrlMsgList
the control message list
Definition:
lte-spectrum-signal-parameters.h:92
ns3::LteSpectrumSignalParametersDataFrame::LteSpectrumSignalParametersDataFrame
LteSpectrumSignalParametersDataFrame()
default constructor
Definition:
lte-spectrum-signal-parameters.cc:61
ns3::LteSpectrumSignalParametersDlCtrlFrame::cellId
uint16_t cellId
cell ID
Definition:
lte-spectrum-signal-parameters.h:123
Generated on Wed Nov 7 2018 10:02:01 for ns-3 by
1.8.14