A Discrete-Event Network Simulator
API
spectrum-signal-parameters.cc
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2011 CTTC
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation;
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16  *
17  * Author: Nicola Baldo <nbaldo@cttc.es>
18  */
19 
21 
22 #include "spectrum-phy.h"
23 #include "spectrum-value.h"
24 
25 #include <ns3/antenna-model.h>
26 #include <ns3/log.h>
27 
28 namespace ns3
29 {
30 
31 NS_LOG_COMPONENT_DEFINE("SpectrumSignalParameters");
32 
34 {
35  NS_LOG_FUNCTION(this);
36 }
37 
39 {
40  NS_LOG_FUNCTION(this);
41 }
42 
44 {
45  NS_LOG_FUNCTION(this << &p);
46  psd = p.psd->Copy();
47  duration = p.duration;
48  txPhy = p.txPhy;
49  txAntenna = p.txAntenna;
50  spectrumChannelMatrix = p.spectrumChannelMatrix; // we do not need a deep copy, it will not be
51  // changed once is created
53  p.precodingMatrix; // we do not need a deep copy, it will not be changed once is created
54 }
55 
58 {
59  NS_LOG_FUNCTION(this);
60  return Create<SpectrumSignalParameters>(*this);
61 }
62 
63 } // namespace ns3
Ptr< SpectrumValue > Copy() const
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:202
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
This struct provides the generic signal representation to be used by all wireless technologies.
Ptr< AntennaModel > txAntenna
The AntennaModel instance that was used to transmit this signal.
Ptr< const ComplexMatrixArray > spectrumChannelMatrix
The 3D channel matrix where the dimensions are: the number of RX ports, the number of TX Ports,...
Ptr< const ComplexMatrixArray > precodingMatrix
The 3D precoding matrix where the dimensions are: the number of TX ports, the number of TX streams,...
Time duration
The duration of the packet transmission.
Ptr< SpectrumPhy > txPhy
The SpectrumPhy instance that is making the transmission.
virtual Ptr< SpectrumSignalParameters > Copy() const
make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is ...
Ptr< SpectrumValue > psd
The Power Spectral Density of the waveform, in linear units.