8#include "nr-mimo-chunk-processor.h"
10#include "ns3/object.h"
11#include "ns3/spectrum-value.h"
131 const SpectrumValue& sinr,
132 const std::vector<int>& map,
164 Mode mode)
const = 0;
192 const std::vector<MimoSinrChunk>& mimoChunks,
193 const std::vector<int>& map,
Interface for calculating the error probability for a transport block.
virtual uint32_t GetMaxCbSize(uint32_t tbSize, uint8_t mcs) const =0
Get the maximum codeblock size.
virtual Ptr< NrErrorModelOutput > GetTbDecodificationStatsMimo(const std::vector< MimoSinrChunk > &mimoChunks, const std::vector< int > &map, uint32_t size, uint8_t mcs, uint8_t rank, const NrErrorModelHistory &history)
Get an output for the decoding error probability of a given transport block. This method is not purel...
std::vector< Ptr< NrErrorModelOutput > > NrErrorModelHistory
Vector of previous output.
virtual double GetSpectralEfficiencyForMcs(uint8_t mcs) const =0
Get the SpectralEfficiency for a given MCS.
std::vector< int > CreateVectorizedRbMap(std::vector< int > map, uint8_t rank)
Create an equivalent RB index map for vectorized SINR values Matches layer-to-codeword mapping in TR ...
NrErrorModel()
NrErrorModel default constructor.
static TypeId GetTypeId()
GetTypeId.
virtual Ptr< NrErrorModelOutput > GetTbDecodificationStats(const SpectrumValue &sinr, const std::vector< int > &map, uint32_t size, uint8_t mcs, const NrErrorModelHistory &history)=0
Get an output for the decodification error probability of a given transport block.
virtual NrSinrMatrix ComputeAvgSinrMimo(const std::vector< MimoSinrChunk > &sinrChunks)
Compute an average SINR matrix.
Mode
Indicate the mode (UL or DL)
virtual double GetSpectralEfficiencyForCqi(uint8_t cqi)=0
Get the SpectralEfficiency for a given CQI.
virtual uint32_t GetPayloadSize(uint32_t usefulSc, uint8_t mcs, uint8_t rank, uint32_t rbNum, Mode mode) const =0
Get the payload size (in bytes) for a given mcs and resource block number.
~NrErrorModel() override
deconstructor
virtual uint8_t GetMaxMcs() const =0
Get the maximum MCS.
NrSinrMatrix stores the MIMO SINR matrix, with dimension rank x nRbs.
Store the output of an NRErrorModel.
NrErrorModelOutput()=delete
NrErrorModelOutput default constructor (deleted)
virtual ~NrErrorModelOutput()
~NrErrorModelOutput
double m_tbler
Transport Block Error Rate.
NrErrorModelOutput(double tbler)
Official NrErrorModelOutput constructor.