A Discrete-Event Network Simulator
API
ns3::LteSpectrumValueHelper Class Reference

This class defines all functions to create spectrum model for lte. More...

#include "lte-spectrum-value-helper.h"

Static Public Member Functions

static Ptr< SpectrumValueCreateNoisePowerSpectralDensity (uint32_t earfcn, uint16_t bandwidth, double noiseFigure)
 create a SpectrumValue that models the power spectral density of AWGN More...
 
static Ptr< SpectrumValueCreateNoisePowerSpectralDensity (double noiseFigure, Ptr< SpectrumModel > spectrumModel)
 create a SpectrumValue that models the power spectral density of AWGN More...
 
static Ptr< SpectrumValueCreateTxPowerSpectralDensity (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. More...
 
static Ptr< SpectrumValueCreateTxPowerSpectralDensity (uint32_t earfcn, uint16_t bandwidth, double powerTx, std::map< int, double > powerTxMap, std::vector< int > activeRbs)
 create a spectrum value representing the power spectral density of a signal to be transmitted. More...
 
static Ptr< SpectrumValueCreateUlTxPowerSpectralDensity (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. More...
 
static double GetCarrierFrequency (uint32_t earfcn)
 Calculates the carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARFCN) according to 3GPP TS 36.101 section 5.7.3 "Carrier frequency and EARFCN". More...
 
static double GetChannelBandwidth (uint16_t txBandwidthConf)
 
static uint16_t GetDownlinkCarrierBand (uint32_t nDl)
 Converts downlink EARFCN to corresponding LTE frequency band number. More...
 
static double GetDownlinkCarrierFrequency (uint32_t earfcn)
 Calculates the downlink carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARFCN) using the formula in 3GPP TS 36.101 section 5.7.3 "Carrier frequency and EARFCN". More...
 
static Ptr< SpectrumModelGetSpectrumModel (uint32_t earfcn, uint16_t bandwidth)
 
static uint16_t GetUplinkCarrierBand (uint32_t nUl)
 Converts uplink EARFCN to corresponding LTE frequency band number. More...
 
static double GetUplinkCarrierFrequency (uint32_t earfcn)
 Calculates the uplink carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARFCN) using the formula in 3GPP TS 36.101 section 5.7.3 "Carrier frequency and EARFCN". More...
 

Detailed Description

This class defines all functions to create spectrum model for lte.

Definition at line 36 of file lte-spectrum-value-helper.h.

Member Function Documentation

◆ CreateNoisePowerSpectralDensity() [1/2]

Ptr< SpectrumValue > ns3::LteSpectrumValueHelper::CreateNoisePowerSpectralDensity ( uint32_t  earfcn,
uint16_t  bandwidth,
double  noiseFigure 
)
static

create a SpectrumValue that models the power spectral density of AWGN

Parameters
earfcnthe carrier frequency (EARFCN) at which reception is made
bandwidththe Transmission Bandwidth Configuration in number of resource blocks
noiseFigurethe noise figure in dB w.r.t. a reference temperature of 290K
Returns
a pointer to a newly allocated SpectrumValue representing the noise Power Spectral Density in W/Hz for each Resource Block

Definition at line 360 of file lte-spectrum-value-helper.cc.

References GetSpectrumModel(), and NS_LOG_FUNCTION.

Referenced by ComputeSnr(), ns3::LteEnbPhy::DoInitialize(), and ns3::LteUePhy::DoSetDlBandwidth().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateNoisePowerSpectralDensity() [2/2]

Ptr< SpectrumValue > ns3::LteSpectrumValueHelper::CreateNoisePowerSpectralDensity ( double  noiseFigure,
Ptr< SpectrumModel spectrumModel 
)
static

create a SpectrumValue that models the power spectral density of AWGN

Parameters
noiseFigurethe noise figure in dB w.r.t. a reference temperature of 290K
spectrumModelthe SpectrumModel instance to be used
Returns
a pointer to a newly allocated SpectrumValue representing the noise Power Spectral Density in W/Hz for each Resource Block

Definition at line 368 of file lte-spectrum-value-helper.cc.

References NS_LOG_FUNCTION.

◆ CreateTxPowerSpectralDensity() [1/2]

Ptr< SpectrumValue > ns3::LteSpectrumValueHelper::CreateTxPowerSpectralDensity ( uint32_t  earfcn,
uint16_t  bandwidth,
double  powerTx,
std::vector< int >  activeRbs 
)
static

create a spectrum value representing the power spectral density of a signal to be transmitted.

See 3GPP TS 36.101 for a definition of most of the parameters described here.

Parameters
earfcnthe carrier frequency (EARFCN) of the transmission
bandwidththe Transmission Bandwidth Configuration in number of resource blocks
powerTxthe total power in dBm over the whole bandwidth
activeRbsthe list of Active Resource Blocks (PRBs)
Returns
a pointer to a newly allocated SpectrumValue representing the TX Power Spectral Density in W/Hz for each Resource Block

Definition at line 274 of file lte-spectrum-value-helper.cc.

References GetSpectrumModel(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by ComputeSnr(), ns3::LteEnbPhy::CreateTxPowerSpectralDensity(), and ns3::LteEnbPhy::CreateTxPowerSpectralDensityWithPowerAllocation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CreateTxPowerSpectralDensity() [2/2]

Ptr< SpectrumValue > ns3::LteSpectrumValueHelper::CreateTxPowerSpectralDensity ( uint32_t  earfcn,
uint16_t  bandwidth,
double  powerTx,
std::map< int, double >  powerTxMap,
std::vector< int >  activeRbs 
)
static

create a spectrum value representing the power spectral density of a signal to be transmitted.

See 3GPP TS 36.101 for a definition of most of the parameters described here.

Parameters
earfcnthe carrier frequency (EARFCN) of the transmission
bandwidththe Transmission Bandwidth Configuration in number of resource blocks
powerTxthe total power in dBm over the whole bandwidth
powerTxMapthe map of power in dBm for each RB, if map contain power for RB, powerTx is not used for this RB, otherwise powerTx is set for this RB
activeRbsthe list of Active Resource Blocks (PRBs)
Returns
a pointer to a newly allocated SpectrumValue representing the TX Power Spectral Density in W/Hz for each Resource Block

Definition at line 298 of file lte-spectrum-value-helper.cc.

References GetSpectrumModel(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ CreateUlTxPowerSpectralDensity()

Ptr< SpectrumValue > ns3::LteSpectrumValueHelper::CreateUlTxPowerSpectralDensity ( uint16_t  earfcn,
uint16_t  bandwidth,
double  powerTx,
std::vector< int >  activeRbs 
)
static

create a spectrum value representing the uplink power spectral density of a signal to be transmitted.

See 3GPP TS 36.101 for a definition of most of the parameters described here. This function splits the power over the active RBs instead of the entire bandwidth

Parameters
earfcnthe carrier frequency (EARFCN) of the transmission
bandwidththe Transmission Bandwidth Configuration in number of resource blocks
powerTxthe total power in dBm over the whole bandwidth
activeRbsthe list of Active Resource Blocks (PRBs)
Returns
a pointer to a newly allocated SpectrumValue representing the TX Power Spectral Density in W/Hz for each Resource Block

Definition at line 336 of file lte-spectrum-value-helper.cc.

References GetSpectrumModel(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by ns3::LteUePhy::CreateTxPowerSpectralDensity().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCarrierFrequency()

double ns3::LteSpectrumValueHelper::GetCarrierFrequency ( uint32_t  earfcn)
static

Calculates the carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARFCN) according to 3GPP TS 36.101 section 5.7.3 "Carrier frequency and EARFCN".

Parameters
earfcnthe EARFCN
Returns
the carrier frequency in Hz

Definition at line 102 of file lte-spectrum-value-helper.cc.

References GetDownlinkCarrierFrequency(), GetUplinkCarrierFrequency(), and NS_LOG_FUNCTION.

Referenced by GetSpectrumModel(), and ns3::LteHelper::InstallSingleEnbDevice().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetChannelBandwidth()

double ns3::LteSpectrumValueHelper::GetChannelBandwidth ( uint16_t  txBandwidthConf)
static
Parameters
txBandwidthConfthe tranmission bandwidth configuration in number of resource blocks
Returns
the nominal channel bandwidth in Hz as per 3GPP TS 36.101

Definition at line 176 of file lte-spectrum-value-helper.cc.

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

Referenced by ns3::CcHelper::EquallySpacedCcs(), and CarrierAggregationConfigTestCase::EquallySpacedCcs().

+ Here is the caller graph for this function:

◆ GetDownlinkCarrierBand()

uint16_t ns3::LteSpectrumValueHelper::GetDownlinkCarrierBand ( uint32_t  nDl)
static

Converts downlink EARFCN to corresponding LTE frequency band number.

Parameters
nDlthe EARFCN
Returns
the downlink carrier band

Definition at line 118 of file lte-spectrum-value-helper.cc.

References ns3::g_eutraChannelNumbers, NS_LOG_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, and NUM_EUTRA_BANDS.

Referenced by ns3::CcHelper::EquallySpacedCcs(), CarrierAggregationConfigTestCase::EquallySpacedCcs(), and GetDownlinkCarrierFrequency().

+ Here is the caller graph for this function:

◆ GetDownlinkCarrierFrequency()

double ns3::LteSpectrumValueHelper::GetDownlinkCarrierFrequency ( uint32_t  earfcn)
static

Calculates the downlink carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARFCN) using the formula in 3GPP TS 36.101 section 5.7.3 "Carrier frequency and EARFCN".

Parameters
earfcnthe EARFCN
Returns
the downlink carrier frequency in Hz

Definition at line 152 of file lte-spectrum-value-helper.cc.

References ns3::EutraChannelNumbers::fDlLow, ns3::g_eutraChannelNumbers, GetDownlinkCarrierBand(), ns3::EutraChannelNumbers::nOffsDl, NS_LOG_FUNCTION, and NUM_EUTRA_BANDS.

Referenced by GetCarrierFrequency().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetSpectrumModel()

Ptr< SpectrumModel > ns3::LteSpectrumValueHelper::GetSpectrumModel ( uint32_t  earfcn,
uint16_t  bandwidth 
)
static
Parameters
earfcnthe carrier frequency (EARFCN) at which reception is made
bandwidththe Transmission Bandwidth Configuration in number of resource blocks
Returns
the static SpectrumModel instance corresponding to the given carrier frequency and transmission bandwidth configuration. If such SpectrumModel does not exist, it is created.

Definition at line 239 of file lte-spectrum-value-helper.cc.

References f(), ns3::BandInfo::fc, ns3::BandInfo::fh, ns3::BandInfo::fl, ns3::g_lteSpectrumModelMap, GetCarrierFrequency(), ns3::SpectrumModel::GetUid(), NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by CreateNoisePowerSpectralDensity(), CreateTxPowerSpectralDensity(), CreateUlTxPowerSpectralDensity(), and ns3::RadioEnvironmentMapHelper::DelayedInstall().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetUplinkCarrierBand()

uint16_t ns3::LteSpectrumValueHelper::GetUplinkCarrierBand ( uint32_t  nUl)
static

Converts uplink EARFCN to corresponding LTE frequency band number.

Parameters
nUlthe EARFCN
Returns
the uplink carrier band

Definition at line 135 of file lte-spectrum-value-helper.cc.

References ns3::g_eutraChannelNumbers, NS_LOG_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, and NUM_EUTRA_BANDS.

Referenced by ns3::CcHelper::EquallySpacedCcs(), CarrierAggregationConfigTestCase::EquallySpacedCcs(), and GetUplinkCarrierFrequency().

+ Here is the caller graph for this function:

◆ GetUplinkCarrierFrequency()

double ns3::LteSpectrumValueHelper::GetUplinkCarrierFrequency ( uint32_t  earfcn)
static

Calculates the uplink carrier frequency from the E-UTRA Absolute Radio Frequency Channel Number (EARFCN) using the formula in 3GPP TS 36.101 section 5.7.3 "Carrier frequency and EARFCN".

Parameters
earfcnthe EARFCN
Returns
the uplink carrier frequency in Hz

Definition at line 164 of file lte-spectrum-value-helper.cc.

References ns3::EutraChannelNumbers::fUlLow, ns3::g_eutraChannelNumbers, GetUplinkCarrierBand(), ns3::EutraChannelNumbers::nOffsUl, NS_LOG_FUNCTION, and NUM_EUTRA_BANDS.

Referenced by GetCarrierFrequency().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: