5#ifndef NR_SPECTRUM_VALUE_HELPER_H
6#define NR_SPECTRUM_VALUE_HELPER_H
8#include <ns3/spectrum-value.h>
23 enum PowerAllocationType
25 UNIFORM_POWER_ALLOCATION_USED,
26 UNIFORM_POWER_ALLOCATION_BW
39 double centerFrequency,
40 double subcarrierSpacing);
52 const std::vector<int>& rbIndexVector,
53 const Ptr<const SpectrumModel>& txSm,
54 enum PowerAllocationType allocationType);
65 const Ptr<const SpectrumModel>& spectrumModel);
85 const std::vector<int>& activeRbs,
86 const Ptr<const SpectrumModel>& spectrumModel);
95 const std::vector<int>& activeRbs,
96 const Ptr<const SpectrumModel>& spectrumModel);
This class provides a set of useful functions when working with spectrum model for NR.
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 powe...
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 an...
static Ptr< SpectrumValue > CreateNoisePowerSpectralDensity(double noiseFigure, const Ptr< const SpectrumModel > &spectrumModel)
Create a SpectrumValue that models the power spectral density of AWGN.
static uint64_t GetEffectiveBandwidth(double bandwidth, uint8_t numerology)
Returns the effective bandwidth for the total system bandwidth.
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 powe...
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 a...
static const uint8_t SUBCARRIERS_PER_RB
subcarriers per resource block
static void DeleteSpectrumValues()