![]() |
5G-LENA nr-v3.3-120-gdac69c56
The 5G/NR module for the ns-3 simulator
|
Implementation of the two-port codebook in 3GPP TS 38.214 This class implements a codebook for a gNB with at most 2 antenna ports. For a single port, it returns single-element matrix with value 1.0. For two ports, it implements Table 5.2.2.2.1-1: Codebooks for 1-layer and 2-layer CSI reporting using antenna ports 3000 to 3001. There is a slight abuse of notation: For the "codebook index", the i2 index of other Type-I codebooks is used, and the i1 index remains unused. More...
#include "nr-cb-two-port.h"
Public Member Functions | |
ComplexMatrixArray | GetBasePrecMat (size_t i1, size_t i2) const override |
Get the 2D precoding matrix. | |
void | Init () override |
Initialize the codebook parameters after construction, based on attribute values. | |
![]() | |
size_t | GetNumI1 () const |
Get number of i1 values. | |
size_t | GetNumI2 () const |
Get number of i2 values. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get TypeId. | |
![]() | |
static TypeId | GetTypeId () |
Get TypeId. | |
Additional Inherited Members | |
![]() | |
bool | m_isDualPol {NR_CB_TYPE_ONE_INIT_POL} |
3GPP n1-n2 config (num vert gNB ports) | |
size_t | m_n1 {NR_CB_TYPE_ONE_INIT_N1} |
size_t | m_n2 {NR_CB_TYPE_ONE_INIT_N2} |
3GPP n1-n2 config (num horiz gNB ports) | |
size_t | m_nPorts {NR_CB_TYPE_ONE_INIT_NPORTS} |
Number of possible subband indices (i2) | |
size_t | m_numI1 {NR_CB_TYPE_ONE_INIT_NI1} |
Number of MIMO layers. | |
size_t | m_numI2 {NR_CB_TYPE_ONE_INIT_NI2} |
Number of possible wideband indices (i1) | |
uint8_t | m_rank {NR_CB_TYPE_ONE_INIT_RANK} |
Defines if gNB antennas are dual-polarized. | |
Implementation of the two-port codebook in 3GPP TS 38.214 This class implements a codebook for a gNB with at most 2 antenna ports. For a single port, it returns single-element matrix with value 1.0. For two ports, it implements Table 5.2.2.2.1-1: Codebooks for 1-layer and 2-layer CSI reporting using antenna ports 3000 to 3001. There is a slight abuse of notation: For the "codebook index", the i2 index of other Type-I codebooks is used, and the i1 index remains unused.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 104 bytes (on a 64-bit architecture).
Definition at line 18 of file nr-cb-two-port.h.
|
overridevirtual |
Get the 2D precoding matrix.
i1 | the index of the wideband precoding (always 0 for this codebook) |
i2 | the index of the subband precoding (the "codebook index" in Table 5.2.2.2.1-1) |
Implements ns3::NrCbTypeOne.
Definition at line 34 of file nr-cb-two-port.cc.
References ns3::NrCbTypeOne::m_nPorts, ns3::NrCbTypeOne::m_numI1, ns3::NrCbTypeOne::m_numI2, and ns3::NrCbTypeOne::m_rank.
|
static |
Get TypeId.
Definition at line 14 of file nr-cb-two-port.cc.
Referenced by ns3::NrPmSearchFull::GetTypeId().
|
overridevirtual |
Initialize the codebook parameters after construction, based on attribute values.
Implements ns3::NrCbTypeOne.
Definition at line 22 of file nr-cb-two-port.cc.
References ns3::NrCbTypeOne::m_isDualPol, ns3::NrCbTypeOne::m_n2, ns3::NrCbTypeOne::m_nPorts, ns3::NrCbTypeOne::m_numI1, ns3::NrCbTypeOne::m_numI2, and ns3::NrCbTypeOne::m_rank.