8#include <ns3/propagation-loss-model.h>
10#include <ns3/spectrum-channel.h>
11#include <ns3/spectrum-propagation-loss-model.h>
102 std::vector<BandwidthPartInfoPtr>
m_bwp;
135 std::vector<ComponentCarrierInfoPtr>
m_cc;
195 double channelBw = 400e6,
226 const std::vector<SimpleOperationBandConf>& configuration);
235 const std::vector<std::reference_wrapper<OperationBandInfo>>& operationBands);
244 const std::string& filename);
253 const std::string& filename);
256 void InitializeCc(std::unique_ptr<ComponentCarrierInfo>& cc,
265 uint8_t bwpId)
const;
266 std::unique_ptr<ComponentCarrierInfo> CreateCc(
double ccBandwidth,
282 static void PlotFrequencyBand(std::ofstream& outFile,
288 const std::string& label);
290 uint8_t m_operationBandCounter{0};
291 uint8_t m_componentCarrierCounter{0};
292 uint8_t m_bandwidthPartCounter{0};
Manages the correct creation of operation bands, component carriers and bandwidth parts.
OperationBandInfo CreateOperationBandContiguousCc(const SimpleOperationBandConf &conf)
Create an operation band with the CC specified.
static BandwidthPartInfoPtrVector GetAllBwps(const std::vector< std::reference_wrapper< OperationBandInfo > > &operationBands)
Get all the BWP pointers from the specified vector of operation bands.
static void PlotLteCaConfiguration(const std::vector< OperationBandInfo * > &bands, const std::string &filename)
Plots the CA/BWP configuration using GNUPLOT. There must be a valid configuration.
static void PlotNrCaBwpConfiguration(const std::vector< OperationBandInfo * > &bands, const std::string &filename)
Plots the CA/BWP configuration using GNUPLOT. There must be a valid configuration.
OperationBandInfo CreateOperationBandNonContiguousCc(const std::vector< SimpleOperationBandConf > &configuration)
Creates an operation band with non-contiguous CC.
std::unique_ptr< const BandwidthPartInfo > BandwidthPartInfoConstPtr
unique_ptr of a const BandwidthPartInfo
std::unique_ptr< BandwidthPartInfo > BandwidthPartInfoPtr
unique_ptr of BandwidthPartInfo
std::vector< std::reference_wrapper< BandwidthPartInfoPtr > > BandwidthPartInfoPtrVector
vector of unique_ptr of BandwidthPartInfo
static const uint8_t MAX_CC_INTRA_BAND
. 16, 8
std::unique_ptr< ComponentCarrierInfo > ComponentCarrierInfoPtr
unique_ptr of ComponentCarrierInfo
static const uint8_t MAX_CC_INTER_BAND
double m_centralFrequency
BWP central frequency.
double m_lowerFrequency
BWP lower frequency.
Ptr< SpectrumChannel > GetChannel() const
Get the spectrum channel associated with the BWP.
double m_channelBandwidth
BWP bandwidth.
void SetChannel(Ptr< SpectrumChannel > channel)
Set the spectrum channel for the BWP.
double m_higherFrequency
BWP higher frequency.
Minimum configuration requirements for a OperationBand.
uint8_t m_numCc
Number of CC in this OpBand.
uint8_t m_numBwp
Number of BWP per CC.
double m_centralFrequency
Central Freq.
double m_channelBandwidth
Total Bandwidth of the operation band.
SimpleOperationBandConf(double centralFreq=28e9, double channelBw=400e6, uint8_t numCc=1)
Default constructor.
Component carrier configuration element.
double m_higherFrequency
BWP higher frequency.
bool AddBwp(BandwidthPartInfoPtr &&bwp)
Adds a bandwidth part configuration to the carrier.
double m_lowerFrequency
BWP lower frequency.
std::vector< BandwidthPartInfoPtr > m_bwp
Space for BWP.
double m_channelBandwidth
BWP bandwidth.
double m_centralFrequency
BWP central frequency.
Operation band information structure.
double m_channelBandwidth
Operation band bandwidth.
BandwidthPartInfoPtr & GetBwpAt(uint32_t ccId, uint32_t bwpId) const
Get the BWP at the cc/bwp specified.
std::vector< ComponentCarrierInfoPtr > m_cc
Operation band component carriers.
BandwidthPartInfoPtrVector GetBwps() const
Get the list of all the BWPs to pass to NrHelper.
bool AddCc(ComponentCarrierInfoPtr &&cc)
Adds the component carrier definition given as an input reference to the current operation band confi...
double m_lowerFrequency
Operation band lower frequency.
double m_centralFrequency
Operation band central frequency.
double m_higherFrequency
Operation band higher frequency.
uint8_t m_bandId
Operation band id.