A Discrete-Event Network Simulator
API
lte-spectrum-value-helper.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
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: Giuseppe Piro <g.piro@poliba.it>
18  */
19 
20 #ifndef LTE_SPECTRUM_VALUE_HELPER_H
21 #define LTE_SPECTRUM_VALUE_HELPER_H
22 
23 #include <ns3/spectrum-value.h>
24 
25 #include <map>
26 #include <vector>
27 
28 namespace ns3
29 {
30 
37 {
38  public:
48  static double GetCarrierFrequency(uint32_t earfcn);
49 
57  static uint16_t GetDownlinkCarrierBand(uint32_t nDl);
58 
66  static uint16_t GetUplinkCarrierBand(uint32_t nUl);
67 
77  static double GetDownlinkCarrierFrequency(uint32_t earfcn);
78 
88  static double GetUplinkCarrierFrequency(uint32_t earfcn);
89 
98  static double GetChannelBandwidth(uint16_t txBandwidthConf);
99 
112  static Ptr<SpectrumModel> GetSpectrumModel(uint32_t earfcn, uint16_t bandwidth);
113 
128  static Ptr<SpectrumValue> CreateTxPowerSpectralDensity(uint32_t earfcn,
129  uint16_t bandwidth,
130  double powerTx,
131  std::vector<int> activeRbs);
132 
150  static Ptr<SpectrumValue> CreateTxPowerSpectralDensity(uint32_t earfcn,
151  uint16_t bandwidth,
152  double powerTx,
153  std::map<int, double> powerTxMap,
154  std::vector<int> activeRbs);
155 
171  static Ptr<SpectrumValue> CreateUlTxPowerSpectralDensity(uint16_t earfcn,
172  uint16_t bandwidth,
173  double powerTx,
174  std::vector<int> activeRbs);
175 
189  uint16_t bandwidth,
190  double noiseFigure);
191 
201  static Ptr<SpectrumValue> CreateNoisePowerSpectralDensity(double noiseFigure,
202  Ptr<SpectrumModel> spectrumModel);
203 };
204 
205 } // namespace ns3
206 
207 #endif /* LTE_SPECTRUM_VALUE_HELPER_H */
This class defines all functions to create spectrum model for lte.
static Ptr< SpectrumValue > CreateUlTxPowerSpectralDensity(uint16_t earfcn, uint16_t bandwidth, double powerTx, std::vector< int > activeRbs)
create a spectrum value representing the uplink power spectral density of a signal to be transmitted.
static Ptr< SpectrumValue > CreateNoisePowerSpectralDensity(uint32_t earfcn, uint16_t bandwidth, double noiseFigure)
create a SpectrumValue that models the power spectral density of AWGN
static Ptr< SpectrumValue > CreateTxPowerSpectralDensity(uint32_t earfcn, uint16_t bandwidth, double powerTx, std::vector< int > activeRbs)
create a spectrum value representing the power spectral density of a signal to be transmitted.
static uint16_t GetUplinkCarrierBand(uint32_t nUl)
Converts uplink EARFCN to corresponding LTE frequency band number.
static uint16_t GetDownlinkCarrierBand(uint32_t nDl)
Converts downlink EARFCN to corresponding LTE frequency band number.
static double GetChannelBandwidth(uint16_t txBandwidthConf)
static double GetUplinkCarrierFrequency(uint32_t earfcn)
Calculates the uplink carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARF...
static double GetCarrierFrequency(uint32_t earfcn)
Calculates the carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARFCN) acc...
static Ptr< SpectrumModel > GetSpectrumModel(uint32_t earfcn, uint16_t bandwidth)
static double GetDownlinkCarrierFrequency(uint32_t earfcn)
Calculates the downlink carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EA...
Every class exported by the ns3 library is enclosed in the ns3 namespace.