antennaInfo is the part of physicalConfigDedicated that tells the UE which downlink transmission mode to use and which precoders it may report in its PMI. It also switches UE transmit antenna selection on the uplink. This page starts from one decoded antennaInfo, then puts it next to the ASN.1 in 36.331, and ends with the codebookSubsetRestriction bitmap of 36.213. The antenna port count itself comes from PBCH, and Antenna Information at RRC Layer covers that side.
- What does a decoded antennaInfo contain ?
- How does 36.331 define antennaInfo ?
- How many codebookSubsetRestriction bits does each transmission mode use ?
- What does each bit mean for 2 antenna ports ?
- Reference
What does a decoded antennaInfo contain ?
Let's start with what a UE actually receives. The tree below is one antennaInfo taken from an RRC message, as a tester decoder prints it. Each line shows the field name, its ASN.1 type and, in square brackets, the value that the network sent.
Decoded RRC message,
| | +-antennaInfo ::= CHOICE [explicitValue] OPTIONAL:Exist | | | +-explicitValue ::= SEQUENCE [1] | | | +-transmissionMode ::= ENUMERATED [tm4] | | | +-codebookSubsetRestriction ::= CHOICE [n2TxAntenna-tm4] OPTIONAL:Exist | | | | +-n2TxAntenna-tm4 ::= BIT STRING SIZE(6) [111111] | | | +-ue-TransmitAntennaSelection ::= CHOICE [setup] | | | +-setup ::= ENUMERATED [closedLoop]
Read it from the top. The antennaInfo field is present as explicitValue, so the network sends the whole configuration rather than the default one. The transmission mode is tm4, which is closed-loop spatial multiplexing. The choice under codebookSubsetRestriction is n2TxAntenna-tm4, the entry for 2 antenna ports in TM4. That entry has 6 bits, and all 6 are 1 here. So the network allows every precoder of the 2 port codebook.
The last field is ue-TransmitAntennaSelection, set to setup with closedLoop. This field is about the uplink, not the downlink. It enables UE transmit antenna selection, and closedLoop means that the eNB chooses the UE transmit antenna. The eNB signals that choice by scrambling the CRC of DCI format 0 with an antenna selection mask, as 36.212 Table 5.3.3.2-1 specifies. With openLoop, the UE chooses the antenna itself.
The network can also send defaultValue instead of explicitValue. The UE then applies the default configuration in 36.331 clause 9.2.4. The default is tm1 when PBCH shows one antenna port and tm2 otherwise, with no codebookSubsetRestriction and with ue-TransmitAntennaSelection set to release.
explicitValue carries the full configuration : defaultValue falls back to tm1 or tm2, depending on the PBCH antenna port count.The CHOICE name shows the port count : n2TxAntenna-tm4 is used only for TM4 with 2 antenna ports.111111 means no restriction : the UE may report any precoder of the 2 port codebook.ue-TransmitAntennaSelection is an uplink feature : closedLoop lets the eNB pick the UE transmit antenna through the DCI format 0 CRC mask.
How does 36.331 define antennaInfo ?
The decoded tree follows the Release 8 structure of the IE. The current 36.331 keeps that structure and adds later versions beside it, so a newer network can send more than one of them. The listing below collects the AntennaInfoDedicated versions that sit in physicalConfigDedicated.
Following is based on
AntennaInfoDedicated ::= SEQUENCE {
transmissionMode ENUMERATED {
tm1, tm2, tm3, tm4, tm5, tm6,
tm7, tm8-v920},
codebookSubsetRestriction CHOICE {
n2TxAntenna-tm3 BIT STRING (SIZE (2)),
n4TxAntenna-tm3 BIT STRING (SIZE (4)),
n2TxAntenna-tm4 BIT STRING (SIZE (6)),
n4TxAntenna-tm4 BIT STRING (SIZE (64)),
n2TxAntenna-tm5 BIT STRING (SIZE (4)),
n4TxAntenna-tm5 BIT STRING (SIZE (16)),
n2TxAntenna-tm6 BIT STRING (SIZE (4)),
n4TxAntenna-tm6 BIT STRING (SIZE (16))
} OPTIONAL, -- Cond TM
ue-TransmitAntennaSelection CHOICE{
release NULL,
setup ENUMERATED {closedLoop, openLoop}
}
}
AntennaInfoDedicated-v920 ::= SEQUENCE {
codebookSubsetRestriction-v920 CHOICE {
n2TxAntenna-tm8-r9 BIT STRING (SIZE (6)),
n4TxAntenna-tm8-r9 BIT STRING (SIZE (32))
} OPTIONAL -- Cond TM8
}
AntennaInfoDedicated-r10 ::= SEQUENCE {
transmissionMode-r10 ENUMERATED {
tm1, tm2, tm3, tm4, tm5, tm6, tm7, tm8-v920,
tm9-v1020, tm10-v1130, spare6, spare5, spare4,
spare3, spare2, spare1},
codebookSubsetRestriction-r10 BIT STRING OPTIONAL, -- Cond TMX
ue-TransmitAntennaSelection CHOICE{
release NULL,
setup ENUMERATED {closedLoop, openLoop}
}
}
AntennaInfoDedicated-v10i0::= SEQUENCE {
maxLayersMIMO-r10 ENUMERATED {twoLayers, fourLayers, eightLayers} OPTIONAL -- Need OR
}
AntennaInfoDedicated-v1250 ::= SEQUENCE {
alternativeCodebookEnabledFor4TX-r12 BOOLEAN
}
AntennaInfoDedicated-v1430 ::= SEQUENCE {
ce-UE-TxAntennaSelection-config-r14 ENUMERATED {on} OPTIONAL -- Need OR
}
AntennaInfoDedicated-v1530 ::= CHOICE {
release NULL,
setup CHOICE {
ue-TxAntennaSelection-SRS-1T4R-Config-r15 NULL,
ue-TxAntennaSelection-SRS-2T4R-NrOfPairs-r15 ENUMERATED {two, three}
}
}
The Release 8 IE carries the three fields of the decoded tree. The Cond TM comment on codebookSubsetRestriction means that the field is mandatory for tm3, tm4, tm5 and tm6, and absent in every other mode. Each CHOICE entry fixes the bitmap size for one mode and one antenna port count, from 2 bits for n2TxAntenna-tm3 up to 64 bits for n4TxAntenna-tm4.
The later versions extend this in steps. AntennaInfoDedicated-v920 adds the TM8 bitmaps of 6 and 32 bits. AntennaInfoDedicated-r10 adds tm9-v1020 and tm10-v1130, and it turns codebookSubsetRestriction-r10 into a plain BIT STRING with no fixed size. The size then comes from 36.213 Table 7.2-1b. AntennaInfoDedicated-v10i0 adds maxLayersMIMO-r10, and AntennaInfoDedicated-v1250 adds alternativeCodebookEnabledFor4TX-r12. The last two versions are about the uplink. AntennaInfoDedicated-v1430 enables transmit antenna selection for a non-BL UE in CE Mode A, and AntennaInfoDedicated-v1530 configures SRS antenna switching for 1T4R or 2T4R.
For TM8 and TM9, the bitmap is not always present. 36.331 says that E-UTRAN configures codebookSubsetRestriction for tm8 only if PMI/RI reporting is configured. For tm9 it also needs more than one CSI-RS port.
The Release 8 CHOICE fixes the size : each alternative names a mode and a port count, so the decoder knows the bitmap length.Release 10 moved the size into 36.213 : codebookSubsetRestriction-r10 is a BIT STRING whose length follows Table 7.2-1b.Later versions touch the uplink too : v1430 and v1530 configure transmit antenna selection for CE Mode A and SRS antenna switching.
How many codebookSubsetRestriction bits does each transmission mode use ?
Why does the size of codebookSubsetRestriction change with the transmission mode? Each bit stands for one precoder or for one group of precoders. So the size follows the codebook that the mode uses, and the number of antenna ports.
The number of CodebookSubsetRestriction bits are defined in 36.213 as follows.
Transmission mode 3 : 2 bits for 2 antenna ports and 4 bits for 4 antenna ports.Transmission mode 4 : 6 bits for 2 antenna ports and 64 bits for 4 antenna ports, one bit per precoder of the closed-loop codebook.Transmission modes 5 and 6 : 4 bits for 2 antenna ports and 16 bits for 4 antenna ports, because these modes use rank 1 precoders only.Transmission mode 8 : 6 bits for 2 antenna ports and 32 bits for 4 antenna ports.Transmission mode 9 : 6 bits for 2 antenna ports, 64 bits for 4 antenna ports and 109 bits for 8 antenna ports.
Now match these numbers with the ASN.1 above. The n2TxAntenna-tm4 entry is SIZE (6) and the n4TxAntenna-tm4 entry is SIZE (64), exactly as the table says. The n4TxAntenna-tm8-r9 entry in AntennaInfoDedicated-v920 is SIZE (32), which is the TM8 entry.
The screenshot above is from an earlier version of 36.213, and v19.4.0 has changed this table in two ways. First, the last row now covers transmission modes 9 and 10 together. Second, alternativeCodeBookEnabledFor4TX-r12 = TRUE enlarges two 4 port entries: TM8 goes from 32 to 64 bits, and TM9 and TM10 go from 64 to 96 bits. The 109 bits for 8 antenna ports are unchanged.
The bitmap size is a function of mode and port count : the UE never needs a separate length field.Modes 5 and 6 need fewer bits than mode 4 : they use only the rank 1 part of the codebook.Release 12 enlarged the 4 port bitmaps : the alternative 4Tx codebook adds precoders, so it adds bits.
What does each bit mean for 2 antenna ports ?
For 2 antenna ports the mapping is short enough to read in full. The 6 bits of TM4 cover every precoder that closed-loop spatial multiplexing can use with 2 ports, so this table also explains the 111111 in the decoded example.
When the number of Antenna is 2, the meaning of each bit is defined in 36.213 as follows.
a0 to a3 : the rank 1 precoders, with codebook index 0 to 3 of 36.211 Table 6.3.4.2.3-1.a4 and a5 : the rank 2 precoders with codebook index 1 and 2.The rows without a bit : rank 2 has no bit for codebook index 0, because 36.211 does not use that index for 2 layers in closed-loop spatial multiplexing. Rank 2 also has no codebook index 3 for 2 antenna ports.
A bit value of 0 means that PMI and RI reporting may not correspond to the precoder of that bit. 36.213 names the bits a0 to a5, with a0 as the LSB and a5 as the MSB. In the decoded example all six bits are 1, so the UE can report any of the six precoders. Suppose instead that the network sets a4 and a5 to 0. Then no rank 2 precoder is allowed, and the UE reports only rank 1 PMI. This is one way to keep a UE at rank 1 without changing the transmission mode.
TM3 uses the same idea with only 2 bits for 2 antenna ports. In 36.213 clause 7.2, one bit stands for the rank 2 precoder with codebook index 0, which is the one that closed-loop mode does not use. The other bit stands for the transmit diversity precoder of 36.211 clause 6.3.4.3.
Six bits, six precoders : four rank 1 precoders and two rank 2 precoders.Clearing a4 and a5 blocks rank 2 : the UE can still report PMI, but only for rank 1.TM3 reuses the rank 2 index 0 precoder : that is the precoder that TM4 leaves out.
Reference
- 3GPP TS 36.331 v19.3.0 - AntennaInfoDedicated and its field descriptions, PhysicalConfigDedicated, clause 9.2.4
- 3GPP TS 36.213 v19.4.0 - clause 7.2, Table 7.2-1b and Table 7.2-1c
- 3GPP TS 36.211 v19.3.0 - clause 6.3.4.2.3, Table 6.3.4.2.3-1
- 3GPP TS 36.212 v19.3.0 - clause 5.3.3.2, Table 5.3.3.2-1