ns3::DciInfoElementTdma struct

Scheduling information. Despite the name, it is not TDMA.

Public types

enum DciFormat { DL = 0, UL = 1 }
Format of the DCI.
enum VarTtiType { SRS = 0, DATA = 1, CTRL = 2 }
The VarTtiType enum.

Constructors, destructors, conversion operators

DciInfoElementTdma(uint16_t rnti, DciFormat format, uint8_t symStart, uint8_t numSym, std::vector<uint8_t> mcs, std::vector<uint32_t> tbs, std::vector<uint8_t> ndi, std::vector<uint8_t> rv, VarTtiType type, uint8_t bwpIndex, uint8_t tpc)
Construct to build brand new DCI. Please remember to update manually the HARQ process ID and the RBG bitmask.
DciInfoElementTdma(uint8_t symStart, uint8_t numSym, DciFormat format, VarTtiType type, const std::vector<uint8_t>& rbgBitmask)
Constructor used in NrUePhy to build local DCI for DL and UL control.
DciInfoElementTdma(uint8_t symStart, uint8_t numSym, std::vector<uint8_t> ndi, std::vector<uint8_t> rv, const DciInfoElementTdma& o)
Copy constructor except for some values that have to be overwritten.

Public variables

const uint8_t m_bwpIndex
BWP Index to identify to which BWP this DCI applies to.
const DciFormat m_format
DCI format.
uint8_t m_harqProcess
HARQ process id.
const std::vector<uint8_t> m_mcs
MCS per stream.
const std::vector<uint8_t> m_ndi
const uint8_t m_numSym
number of symbols for flexible TTI scheme
std::vector<uint8_t> m_rbgBitmask
RBG mask: 0 if the RBG is not used, 1 otherwise.
const uint16_t m_rnti
RNTI of the UE.
const std::vector<uint8_t> m_rv
const uint8_t m_symStart
starting symbol index for flexible TTI scheme
const std::vector<uint32_t> m_tbSize
TB size per stream.
const uint8_t m_tpc
Tx power control command.
const VarTtiType m_type
Var TTI type.

Enum documentation

enum ns3::DciInfoElementTdma::DciFormat

Format of the DCI.

Enumerators
DL

DL DCI.

UL

UL DCI.

enum ns3::DciInfoElementTdma::VarTtiType

The VarTtiType enum.

Enumerators
SRS

Used for SRS (it would be like DCI format 2_3)

DATA

Used for DL/UL DATA.

CTRL

Used for DL/UL CTRL.

Function documentation

ns3::DciInfoElementTdma::DciInfoElementTdma(uint16_t rnti, DciFormat format, uint8_t symStart, uint8_t numSym, std::vector<uint8_t> mcs, std::vector<uint32_t> tbs, std::vector<uint8_t> ndi, std::vector<uint8_t> rv, VarTtiType type, uint8_t bwpIndex, uint8_t tpc)

Construct to build brand new DCI. Please remember to update manually the HARQ process ID and the RBG bitmask.

Parameters
rnti RNTI of the UE
format DCI format
symStart starting symbol index for flexible TTI scheme
numSym number of symbols for flexible TTI scheme
mcs MCS per stream
tbs TB size per stream
ndi New Data Indicator per stream
rv Redundancy Version per stream
type
bwpIndex
tpc

ns3::DciInfoElementTdma::DciInfoElementTdma(uint8_t symStart, uint8_t numSym, DciFormat format, VarTtiType type, const std::vector<uint8_t>& rbgBitmask)

Constructor used in NrUePhy to build local DCI for DL and UL control.

Parameters
symStart Sym start
numSym Num sym
format
type
rbgBitmask Bitmask of RBG

ns3::DciInfoElementTdma::DciInfoElementTdma(uint8_t symStart, uint8_t numSym, std::vector<uint8_t> ndi, std::vector<uint8_t> rv, const DciInfoElementTdma& o)

Copy constructor except for some values that have to be overwritten.

Parameters
symStart Sym start
numSym Num sym
ndi New Data Indicator: 0 for Retx, 1 for New Data
rv Retransmission value
o Other object from which copy all that is not specified as parameter

Variable documentation

const std::vector<uint8_t> ns3::DciInfoElementTdma::m_ndi

New Data Indicator per stream (Old comment: By default is retransmission. Zoraze to check if it has any effect)

const std::vector<uint8_t> ns3::DciInfoElementTdma::m_rv

Redundancy Version per stream (Old comment: // not used for UL DCI. Zoraze to check why?)