A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
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 (double noiseFigure, Ptr< SpectrumModel > spectrumModel)
 create a SpectrumValue that models the power spectral density of AWGN
 
static Ptr< SpectrumValueCreateNoisePowerSpectralDensity (uint32_t earfcn, uint16_t bandwidth, double noiseFigure)
 create a SpectrumValue that models the power spectral density of AWGN
 
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.
 
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.
 
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.
 
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".
 
static double GetChannelBandwidth (uint16_t txBandwidthConf)
 
static uint16_t GetDownlinkCarrierBand (uint32_t nDl)
 Converts downlink EARFCN to corresponding LTE frequency band number.
 
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".
 
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.
 
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".
 

Detailed Description

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

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

Member Function Documentation

◆ CreateNoisePowerSpectralDensity() [1/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 379 of file lte-spectrum-value-helper.cc.

References ns3::Create(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ CreateNoisePowerSpectralDensity() [2/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 369 of file lte-spectrum-value-helper.cc.

References CreateNoisePowerSpectralDensity(), GetSpectrumModel(), and NS_LOG_FUNCTION.

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

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

◆ CreateTxPowerSpectralDensity() [1/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 301 of file lte-spectrum-value-helper.cc.

References ns3::Create(), GetSpectrumModel(), NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ CreateTxPowerSpectralDensity() [2/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 ns3::Create(), 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:

◆ 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 342 of file lte-spectrum-value-helper.cc.

References ns3::Create(), 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 106 of file lte-spectrum-value-helper.cc.

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

Referenced by LteEarfcnTestCase::DoRun(), 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 transmission bandwidth configuration in number of resource blocks
Returns
the nominal channel bandwidth in Hz as per 3GPP TS 36.101

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

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

Referenced by CarrierAggregationConfigTestCase::EquallySpacedCcs(), and ns3::CcHelper::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 122 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 CarrierAggregationConfigTestCase::EquallySpacedCcs(), ns3::CcHelper::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 154 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 LteEarfcnDlTestCase::DoRun(), and 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 ns3::Create(), ns3::BandInfo::fc, ns3::BandInfo::fh, ns3::BandInfo::fl, ns3::g_lteSpectrumModelMap, GetCarrierFrequency(), NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

Referenced by LteDownlinkPowerControlTestSuite::LteDownlinkPowerControlTestSuite(), LteSpectrumModelTestCase::LteSpectrumModelTestCase(), LteSpectrumValueHelperTestSuite::LteSpectrumValueHelperTestSuite(), CreateNoisePowerSpectralDensity(), CreateTxPowerSpectralDensity(), CreateTxPowerSpectralDensity(), CreateUlTxPowerSpectralDensity(), ns3::RadioEnvironmentMapHelper::DelayedInstall(), LteDistributedFfrAreaTestCase::DoRun(), LteEnhancedFfrAreaTestCase::DoRun(), LteHardFrTestCase::DoRun(), LteSoftFfrAreaTestCase::DoRun(), LteSoftFrAreaTestCase::DoRun(), LteStrictFrAreaTestCase::DoRun(), and LteStrictFrTestCase::DoRun().

+ 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 138 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 CarrierAggregationConfigTestCase::EquallySpacedCcs(), ns3::CcHelper::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 167 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 LteEarfcnUlTestCase::DoRun(), and 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: