PUCCH Resource Indicator

Hello Experts.

How does the UE determine the full set of 32 PUCCH resources in Resource Set1 when the PUCCH Resource Indicator in DCI is limited to only 3 bits, allowing direct indexing of only 8 resource IDs (0 to 7)?

1 Like
  • The UE receives a PUCCH Resource Set (e.g., resourceSet1) via RRC signaling, which may contain up to 32 PUCCH Resource IDs.

  • These IDs are not directly indexed by the 3-bit field in DCI. Instead, the DCI’s 3-bit PUCCH Resource Indicator (PRI) refers to an index into a subgroup of up to 8 PUCCH Resources that are associated with the configured SR/CSI processes, configured per logical channel, or other mechanisms.

  • In essence, DCI only selects from a subset of the total 32, and this subset mapping is known to the UE via prior RRC configuration.

Here you have some Specification References:

1. TS 38.213 – Physical Layer Procedures for Control (§ 9.2.3.2.1 and § 9.2.3.2.2)

“The PUCCH resource indicator field in the DCI format indicates a PUCCH resource, which is configured via RRC.”

If multiple PUCCH resource sets are configured (e.g., resourceSet0 and resourceSet1), the selection of which set and which resource within that set is based on context – for example, the purpose of the uplink control information (ACK/NACK, SR, CSI).

2. TS 38.331 – RRC Specification (PUCCH-ResourceSet, PUCCH-Resource)

  • Each PUCCH-ResourceSet (e.g., resourceSet1) contains a list of PUCCH-ResourceId elements (up to 32 entries).
  • Each PUCCH-ResourceId points to a PUCCH-Resource structure defined in the RRC.
  • Which subset of those 32 is associated with the 3-bit DCI field depends on the mapping configured by the network, possibly through:
    • Logical Channel configurations.
    • SR/CSI processes.
    • Scheduling grants.

:brain: Analogy:

Think of the full 32 PUCCH resources as a warehouse with 32 drawers, and the network configures the UE by saying: “Here are 32 labeled drawers”. But for a specific situation, like sending a HARQ-ACK, the network tells the UE: “Only consider drawers 5, 9, 12, 14, 20, 22, 28, 30 for this task.” The DCI’s 3-bit field (values 0 to 7) simply points to one of these eight drawers, and the UE maps it accordingly.


:white_check_mark: Conclusion:

Although the RRC can configure up to 32 resources in resourceSet1, the 3-bit DCI field only selects among a subset (max 8), and this subset is mapped from the full set via RRC signaling. The UE maintains this mapping internally and uses it to resolve which PUCCH resource to use when receiving a specific DCI.

1 Like

@RFGirl This seems to be wrong, even if DCI select subset of 32 that subset how can it tell UE. as PUCCH resource indicator is 3-bit field in DL DCI. Also, you mentioned that the subset mapping is already know to UE, can you tell via which message subset mapping is known? And in DCI or in RRC how that subset is indicated to UE as an when DL data is sent?

At any given point resource ID in DCI can be 3 bits only then what is the point of sending 32 resource ID to UE?

1 Like

PUCCH-ResourceSet (via RRC) defines up to 32 resources.

dl-DataToUL-ACK (in PDSCH-Config) tells the UE: “for HARQ-ACK, use this specific Resource Set.”

The order of resources in the PUCCH-ResourceSet list defines the mapping for the 3-bit index from DCI.

UE maintains this mapping internally.

1 Like

dl-DataToUL-ACK only talks about HARQ feedback timing (basically K1 values) and not the Specific resource set to use to use as per TS 38.213

Further at any given point of time if UE can be only told about 8 resources, then there is no point of sending 32 resources to UE, gNB can internally allocated 1000 resources but sending all those info to UE has no use.

1 Like

I think this is already answered above,
just to describe with real life examples
https://www.sharetechnote.com/html/5G/5G_PUCCH.html#How_does_UE_figure_out_which_resource_to_apply
https://www.sharetechnote.com/html/5G/5G_PUCCH.html#How_the_PUCCH_Resource_table_is_defined

2 Likes

Thanks a lot

I hope this gives better clarity from 38.213, section 9.2.3 v15.3.0