![]() |
5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
|
This class provides a set of useful functions when working with spectrum model for NR. More...
#include "nr-spectrum-value-helper.h"
Public Types | |
enum | PowerAllocationType { UNIFORM_POWER_ALLOCATION_USED , UNIFORM_POWER_ALLOCATION_BW } |
Static Public Member Functions | |
static Ptr< SpectrumValue > | CreateNoisePowerSpectralDensity (double noiseFigure, const Ptr< const SpectrumModel > &spectrumModel) |
Create a SpectrumValue that models the power spectral density of AWGN. | |
static Ptr< SpectrumValue > | CreateTxPowerSpectralDensity (double powerTx, const std::vector< int > &rbIndexVector, const Ptr< const SpectrumModel > &txSm, enum PowerAllocationType allocationType) |
Create SpectrumValue that will represent transmit power spectral density, and assuming that all RBs are active. | |
static uint64_t | GetEffectiveBandwidth (double bandwidth, uint8_t numerology) |
Returns the effective bandwidth for the total system bandwidth. | |
static Ptr< const SpectrumModel > | GetSpectrumModel (uint32_t numRbs, double centerFrequency, double subcarrierSpacing) |
Creates or obtains from a global map a spectrum model with a given number of RBs, center frequency and subcarrier spacing. | |
Static Public Attributes | |
static const uint8_t | SUBCARRIERS_PER_RB = 12 |
subcarriers per resource block | |
Static Protected Member Functions | |
static Ptr< SpectrumValue > | CreateTxPsdOverActiveRbs (double powerTx, const std::vector< int > &activeRbs, const Ptr< const SpectrumModel > &spectrumModel) |
Create SpectrumValue that will represent transmit power spectral density, and the total transmit power will be uniformly distributed only over active RBs. | |
static Ptr< SpectrumValue > | CreateTxPsdOverAllRbs (double powerTx, const std::vector< int > &activeRbs, const Ptr< const SpectrumModel > &spectrumModel) |
Create SpectrumValue that will represent transmit power spectral density, and the total transmit power will divided among all RBs, and then it will be assigned to active RBs. | |
static void | DeleteSpectrumValues () |
This class provides a set of useful functions when working with spectrum model for NR.
Definition at line 20 of file nr-spectrum-value-helper.h.
enum ns3::NrSpectrumValueHelper::PowerAllocationType |
Definition at line 23 of file nr-spectrum-value-helper.h.
|
static |
Create a SpectrumValue that models the power spectral density of AWGN.
noiseFigure | the noise figure in dB w.r.t. a reference temperature of 290K |
spectrumModel | the SpectrumModel instance to be used to create the output spectrum value |
Definition at line 169 of file nr-spectrum-value-helper.cc.
Referenced by ns3::NrPhy::GetNoisePowerSpectralDensity().
|
static |
Create SpectrumValue that will represent transmit power spectral density, and assuming that all RBs are active.
powerTx | total power in dBm |
rbIndexVector | the list of active/used RBs for the current transmission |
txSm | spectrumModel to be used to create this SpectrumValue |
allocationType | power allocation type to be used |
Definition at line 149 of file nr-spectrum-value-helper.cc.
Referenced by ns3::CellScanBeamforming::GetBeamformingVectors(), ns3::CellScanQuasiOmniBeamforming::GetBeamformingVectors(), ns3::KroneckerBeamforming::GetBeamformingVectors(), ns3::KroneckerQuasiOmniBeamforming::GetBeamformingVectors(), and ns3::NrPhy::GetTxPowerSpectralDensity().
|
staticprotected |
Create SpectrumValue that will represent transmit power spectral density, and the total transmit power will be uniformly distributed only over active RBs.
powerTx | total power in dBm |
activeRbs | vector of RBs that are active for this transmission |
spectrumModel | spectrumModel to be used to create this SpectrumValue |
Definition at line 107 of file nr-spectrum-value-helper.cc.
|
staticprotected |
Create SpectrumValue that will represent transmit power spectral density, and the total transmit power will divided among all RBs, and then it will be assigned to active RBs.
powerTx | total power in dBm |
activeRbs | vector of RBs that are active for this transmission |
spectrumModel | spectrumModel to be used to create this SpectrumValue |
Definition at line 128 of file nr-spectrum-value-helper.cc.
|
staticprotected |
Delete SpectrumValues stored in g_nrSpectrumModelMap
Definition at line 196 of file nr-spectrum-value-helper.cc.
|
static |
Returns the effective bandwidth for the total system bandwidth.
bandwidth | the total system bandwidth in Hz |
numerology | the numerology to be used over the whole bandwidth |
Definition at line 185 of file nr-spectrum-value-helper.cc.
Referenced by ns3::NrSpectrumPhyTestSuite::NrSpectrumPhyTestSuite().
|
static |
Creates or obtains from a global map a spectrum model with a given number of RBs, center frequency and subcarrier spacing.
numRbs | bandwidth in number of RBs |
centerFrequency | the center frequency of this band |
Definition at line 62 of file nr-spectrum-value-helper.cc.
Referenced by ns3::NrPhy::GetSpectrumModel().
|
static |
subcarriers per resource block
Definition at line 29 of file nr-spectrum-value-helper.h.
Referenced by ns3::NrPhy::DoUpdateRbNum(), and ns3::NrAmc::GetPayloadSize().