Bugfix for number of PRBs in PUCCH format 2
[TS 38.213 - Section 9.2.1 PUCCH Resource Sets] If the format indicates PUCCH-format2 or PUCCH-format3, the PUCCH format configured for a PUCCH resource is PUCCH format 2 or PUCCH format 3, respectively, where the PUCCH resource also includes a number of PRBs provided by nrofPRBs, a number of symbols for a PUCCH transmission provided by nrofSymbols, and a first symbol for the PUCCH transmission provided by startingSymbolIndex.
[TS 38.213 - Section 9.2.3 UE procedure for reporting HARQ-A] If a UE transmits a PUCCH with O_ACK HARQ-ACK information bits and O_CRC bits using PUCCH format 2 or PUCCH format 3 in a PUCCH resource that includes M_PUCCH_RB PRBs, the UE determines a number of PRBs M_PUCCH_RB_min for the PUCCH transmission to be the minimum number of PRBs (...)
[TS 38.213 - Section 9.2.5.1 UE procedure for multiplexing HARQ-ACK or CSI and SR in a PUCCH] If a UE transmits a PUCCH with O_ACK HARQ-ACK information bits, O_SR = ⌈log2(K+1)⌉ SR bits, and O_CRC CRC bits using PUCCH format 2 or PUCCH format 3 in a PUCCH resource that includes M_PUCCH_RB PRBs, the UE determines a number of PRBs M_PUCCH_RB_min for the PUCCH transmission to be the minimum number of PRBs (...)
[TS 38.213 - Section 9.2.5.2 UE procedure for multiplexing HARQ-ACK/SR/CSI in a PUCCH] If a UE has HARQ-ACK, SR and wideband or sub-band CSI reports to transmit and the UE determines a PUCCH resource with PUCCH format 2, or the UE has HARQ-ACK, SR and wideband CSI reports to transmit and the UE determines a PUCCH resource with PUCCH format 3 or PUCCH format 4, where (...) the UE transmits the HARQ-ACK, SR, and CSI reports bits by selecting the minimum number PUCCH M_PUCCH_RB_min of the M_PUCCH_RB PRBs satisfying (...)
[TS 38.213 - Section 9.2.5.2 UE procedure for multiplexing HARQ-ACK/SR/CSI in a PUCCH] If a UE has one or more CSI reports and zero or more HARQ-ACK/SR information bits to transmit in a PUCCH where the HARQ-ACK, if any, is in response to a PDSCH reception without a corresponding PDCCH; if any of the CSI reports are overlapping (...); else, the UE transmits the O_ACK + O_SR + O_CSI + O_CRC bits in a PUCCH resource provided by pucch-CSI-ResourceList and determined as described in clause 9.2.5
Therefore, the number of PRBs to be used by PUCCH-format2 is M_PUCCH_RB_min, except if we have zero HARQ-ACK bits, or if we have any HARQ-ACK, is in response to a PDSCH reception without a corresponding PDCCH. In this case, we must use the resources indicated in the pucch-CSI-ResourceList and determined as described in clause 9.2.5.
In OAI, we have:
asn1cSeqAdd(&csirep->reportConfigType.choice.periodic->pucch_CSI_ResourceList.list, pucchcsires);
Where the resource added to the list corresponds to:
pucchres2->pucch_ResourceId = *pucchressetid;
pucchres2->startingPRB = 0;
pucchres2->intraSlotFrequencyHopping = NULL;
pucchres2->secondHopPRB = NULL;
pucchres2->format.present = NR_PUCCH_Resource__format_PR_format2;
pucchres2->format.choice.format2 = calloc(1,sizeof(*pucchres2->format.choice.format2));
pucchres2->format.choice.format2->nrofPRBs = 8;
pucchres2->format.choice.format2->nrofSymbols = 1;
pucchres2->format.choice.format2->startingSymbolIndex = 13;
Currently, in develop branch, we get these prb_size for PUCCH-format2:
[NR_RRC] NGAP_PDUSESSION_SETUP_RESP: sending the message
[NGAP] pdusession_setup_resp_p: pdusession ID 1, gnb_addr 172.31.0.1, SIZE 4, TEID 1579669408
[NR_MAC] (596.3) pucch_pdu->prb_size = 4
[NR_MAC] (596.4) pucch_pdu->prb_size = 3
[NR_MAC] (600.3) pucch_pdu->prb_size = 4
[NR_MAC] (600.4) pucch_pdu->prb_size = 3
[NR_MAC] (604.3) pucch_pdu->prb_size = 4
[NR_MAC] (604.4) pucch_pdu->prb_size = 3
[NR_MAC] (608.3) pucch_pdu->prb_size = 4
While in QXDM we have Num RB = 8
, whenever we have zero HARQ-ACK bits:
UCI Request BMask = ACK_NACK_RPT | CSI_RPT
Start symbol = 13
Num Symbols = 1
Starting RB = 0
REL16 DMRS EN = 0
Dual Pol Status = 0
Num RB = 2
Freq Hopping Flag = HOP_MOD_NEITHER
Second Hop RB = NA
Num HARQ ACK Bits = 1
Num SR Bits = 0
Num UCI P1 Bits = 8
UCI Request BMask = ACK_NACK_RPT | CSI_RPT
Start symbol = 13
Num Symbols = 1
Starting RB = 0
REL16 DMRS EN = 0
Dual Pol Status = 0
Num RB = 3
Freq Hopping Flag = HOP_MOD_NEITHER
Second Hop RB = NA
Num HARQ ACK Bits = 3
Num SR Bits = 0
Num UCI P1 Bits = 13
UCI Request BMask = CSI_RPT
Start symbol = 13
Num Symbols = 1
Starting RB = 0
REL16 DMRS EN = 0
Dual Pol Status = 0
Num RB = 8
Freq Hopping Flag = HOP_MOD_NEITHER
Second Hop RB = NA
Num HARQ ACK Bits = 0
Num SR Bits = 0
Num UCI P1 Bits = 10
UCI Request BMask = CSI_RPT | SR_RPT
Start symbol = 13
Num Symbols = 1
Starting RB = 0
REL16 DMRS EN = 0
Dual Pol Status = 0
Num RB = 8
Freq Hopping Flag = HOP_MOD_NEITHER
Second Hop RB = NA
Num HARQ ACK Bits = 0
Num SR Bits = 1
Num UCI P1 Bits = 11
Therefore, this MR fixes the prb_size
, so that the number of PUCCH-format2 PRBs matches correctly.