PUCCH Formats & UCI in LTE 4G
Uplink Control Information (HARQ-ACK, SR, CQI/PMI/RI) and PUCCH formats 1/1a/1b/2/2a/2b/3.
The LTE uplink carries more than user data. Your phone constantly needs to tell the network small but essential things: "I decoded that packet" (or "I did not"), "I have data waiting, please give me a grant," and "here is how the downlink channel looks right now." Bundle those messages and you have Uplink Control Information (UCI), and when there is no data channel to ride on it travels on the Physical Uplink Control Channel (PUCCH).
Introduction
The PUCCH is the LTE uplink's dedicated control lane. It exists so a UE can always send the small pieces of feedback the network depends on — downlink acknowledgements, requests for uplink resources, and channel-quality reports — even when it has no user data scheduled. Its coding is specified in TS 36.212, and its physical structure and procedures in TS 36.211 and TS 36.213.
You meet the PUCCH the moment a connected UE has anything to say upstream without a data grant. Every downlink transport block the eNB sends must be answered with a HARQ-ACK; a UE with fresh data but no grant must raise a Scheduling Request; and the downlink link-adaptation loop is fed by periodic channel-state reports. All three ride the PUCCH whenever there is no PUSCH in the subframe to carry them instead.
It matters because without this back-channel the downlink is blind. HARQ cannot retransmit what it does not know failed, the scheduler cannot know a UE is waiting, and the eNB cannot pick a sensible modulation and coding scheme. The PUCCH is small in bandwidth but sits on the critical path of almost every downlink transaction.
On this page
Why the PUCCH is needed
In plain words: think of a delivery driver who keeps texting the dispatcher — "got it," "still waiting for the next drop," "traffic is light on Main Street." Those texts are tiny next to the parcels themselves, but without them the dispatcher cannot confirm deliveries, cannot send the next job, and cannot route around jams. The PUCCH is that texting channel: small messages that keep the whole downlink operation coordinated.
Concretely, three loops depend on this feedback. HARQ needs an acknowledgement per downlink transport block or it cannot decide whether to retransmit. The scheduler needs a Scheduling Request or it never learns a UE has data waiting — and a UE with no grant has no other way to ask. Downlink link adaptation needs a channel-state report, or the eNB must guess the modulation and coding blindly. The PUCCH is the resource that guarantees all three can happen even when the UE has no data channel to speak on.
What UCI carries
UCI is the umbrella term for the control feedback the UE sends in the uplink. It has three ingredients, and any PUCCH transmission carries one of them or a defined combination.
Uplink Control Information: HARQ-ACK (acknowledgements), SR (Scheduling Request), and channel-state feedback — CQI (Channel Quality Indicator), PMI (Precoding Matrix Indicator) and RI (Rank Indicator). Coding of the fields is in TS 36.212; the physical carriage and procedures are in TS 36.211/TS 36.213.
HARQ cannot work without acknowledgements, the eNB scheduler needs to know a UE wants resources, and downlink link adaptation needs channel feedback. Strip out UCI and the downlink is flying blind.
UCI rides on the PUCCH when the UE has no PUSCH in that subframe. If a PUSCH is present, the UCI is multiplexed onto the PUSCH instead, so in Rel-8/9 single-carrier operation the UE never transmits PUCCH and PUSCH at the same time.
The three components differ sharply in size and in how often they appear. HARQ-ACK is one or two bits per downlink transport block and must be sent with a fixed timing relationship to the downlink data it answers — in FDD, four subframes later (a downlink PDSCH in subframe n is acknowledged in subframe n+4). The SR is a single logical bit that a UE is granted a periodic on/off resource for; its period is RRC-configured (sr-ConfigIndex, giving periods from every 1 subframe up to every 80 ms), and it exists only to break the chicken-and-egg problem of needing an uplink grant to ask for an uplink grant. The channel-state report — CQI, PMI and RI together often abbreviated CSI — is the largest payload, a coded report of tens of bits that the eNB configures either periodically on PUCCH (via cqi-PUCCH-ResourceIndex) or aperiodically on PUSCH.
| UCI component | Carries | Typical size | Purpose |
|---|---|---|---|
HARQ-ACK | ACK / NACK bits | 1–2 bits (per codeword) | Confirm whether downlink transport blocks decoded correctly |
SR | 1-bit request (per SR resource) | 1 bit (on/off) | Ask the eNB for an uplink grant when the UE has data but no PUSCH |
CQI | Channel quality report | ~4–11 bits | Report supportable modulation and coding for the downlink |
PMI | Preferred precoder index | a few bits | Recommend a downlink precoding matrix for MIMO |
RI | Usable rank | 1–2 bits | Report how many spatial layers the channel can carry |
One-line intuition: UCI is the phone's "back-channel" — acknowledgements, resource requests, and a channel report — and the PUCCH is the dedicated lane it uses whenever there is no data channel to share.
Where the PUCCH sits: band edges and hopping
The PUCCH is not placed in the middle of the band. It is deliberately pushed to the two outermost resource-block regions, one at the lower edge of the system bandwidth and one at the upper edge. Keeping control at the edges leaves a large contiguous block in the centre for PUSCH, which must stay contiguous to preserve the single-carrier property of SC-FDMA. A UE that were handed control resources in the middle would fragment the band and force every PUSCH allocation to route around it.
To fight fading, each PUCCH transmission uses slot-level frequency hopping: a UE that occupies the lower edge in the first slot of the subframe mirrors up to the upper edge in the second slot (and vice versa). If one edge is in a deep fade, the other edge usually is not, so the two halves of the acknowledgement or CQI report see independent channels. The mapping is symmetric about the band centre, so the amount of spectrum consumed at each edge is identical and the eNB can size the control region once for the whole cell.
The size of the PUCCH region is set by broadcast parameters. The number of RBs reserved for the mixed CQI/HARQ formats is set by NRB(2), the split between Format 1 and Format 2 regions by NCS(1), and the cyclic-shift spacing by deltaPUCCH-Shift (Δshift ∈ {1, 2, 3}) — all advertised in PUCCH-ConfigCommon (broadcast in SIB2) so every UE agrees on which RBs are control and which are data. As the number of active users grows, the eNB widens the region from the edges inward; when the cell is lightly loaded, more of the band is freed back to PUSCH.
The PUCCH formats
LTE defines a small family of PUCCH formats, each tuned to a different kind and size of UCI. Formats 1/1a/1b are built from a cyclic-shifted CAZAC base sequence with an orthogonal cover code, so many UEs share the same resource blocks. Format 2 carries a coded channel report. Format 3 was added in Release 10 to carry the larger HARQ-ACK payloads that carrier aggregation produces. Every format occupies exactly one resource block (12 subcarriers) per slot and hops to the opposite edge in the second slot.
| Format | Payload | Modulation | Use |
|---|---|---|---|
Format 1 | 0 bits (on/off) | On/off keying of the sequence | SR — presence or absence of the transmission signals the request |
Format 1a | 1 bit | BPSK | 1-bit HARQ-ACK (one downlink codeword) |
Format 1b | 2 bits | QPSK | 2-bit HARQ-ACK, e.g. two downlink codewords |
Format 2 | ~20 bits | QPSK | Periodic CQI/PMI/RI channel-state report |
Format 2a | CQI + 1 bit | QPSK + BPSK | CQI plus 1-bit HARQ-ACK (normal cyclic prefix only) |
Format 2b | CQI + 2 bits | QPSK + QPSK | CQI plus 2-bit HARQ-ACK (normal cyclic prefix only) |
Format 3 | up to ~48 bits | DFT-s-OFDM, QPSK | Rel-10 multi-bit HARQ-ACK for carrier aggregation (many cells) |
Notice the split by job. The Format 1 family handles the tiny SR and HARQ-ACK payloads, riding on a length-12 base sequence whose cyclic shift and cover code separate users. In normal cyclic prefix each 0.5 ms slot has 7 SC-FDMA symbols: 3 carry DMRS (spread by a length-3 orthogonal sequence) and 4 carry the modulated ACK/SR symbol (spread by a length-4 orthogonal cover code), so up to 3×12 = 36 code combinations exist in principle before delay spread trims the usable count. Format 2 carries the moderate CQI report as 10 QPSK data symbols = 20 coded bits per subframe (2 DMRS symbols per slot in normal CP), the input being up to ~13 information bits protected by a (20, A) Reed–Muller block code. The Format 2a/2b variants let a CQI report and an acknowledgement share one transmission by modulating the second reference symbol with the ACK bits — which is why they are defined for normal cyclic prefix only, where two DMRS symbols per slot are available. Format 3 exists purely because aggregating several downlink carriers can require far more than two ACK bits at once; it block-codes the whole HARQ-ACK payload (up to ~22 information bits, i.e. 48 coded bits) and sends it as a DFT-spread-OFDM symbol stream, spread across the data symbols with a length-5 orthogonal cover in the time domain.
Spec anchor: the PUCCH formats and their sequences are defined in TS 36.211; the mapping of UCI to formats and the resource procedures are in TS 36.213; UCI coding is in TS 36.212.
PUCCH resources: cyclic shift, cover code, and the resource index
A single pair of PUCCH resource blocks (one at each edge) is shared by many UEs at once. That sharing is possible because a PUCCH "resource" is not a raw slice of spectrum — it is a code-domain address. For the Format 1 family it has two ingredients, and a resource index nPUCCH that maps onto them:
- Cyclic shift of the length-12 base sequence. Twelve distinct shifts are possible in principle; the spacing between usable shifts is set by
deltaPUCCH-Shift(Δshift = 1, 2 or 3), so a cell trades the number of shifts against robustness under delay spread — Δshift = 1 exposes all 12 shifts, Δshift = 3 leaves 4 well-separated ones. - Orthogonal cover code (OCC) applied across the SC-FDMA symbols of a slot. Several UEs sharing the same cyclic shift are still separable if they use different cover sequences.
The product of usable cyclic shifts and cover codes is how many UEs can multiplex onto one PUCCH RB pair. The scalar resource index nPUCCH(1) (for Format 1/1a/1b) or nPUCCH(2) (for Format 2) is what higher layers and the derivation rules actually carry; the physical layer turns that index into the concrete (RB, cyclic shift, cover code) triplet with a fixed formula.
Deriving the ACK resource from the PDCCH
For a dynamically scheduled downlink, the UE is not told explicitly which PUCCH resource to use for its acknowledgement. Instead the resource is derived implicitly from the control channel that carried the grant. The PUCCH resource index for the HARQ-ACK is computed from the number of the first Control Channel Element (CCE) the scheduling PDCCH used:
Here nCCE is the index of the first CCE of the PDCCH, and NPUCCH(1) is a cell-wide offset broadcast in the system information (n1PUCCH-AN). Because each PDCCH occupies a distinct set of CCEs, this rule guarantees that two UEs scheduled by different PDCCHs land on different PUCCH resources — no extra signalling needed, and no collisions. For semi-persistent scheduling and other cases where there is no scheduling PDCCH, the resource is configured by RRC instead.
| Scenario | How the PUCCH resource is obtained | UCI carried |
|---|---|---|
| Dynamic DL assignment (FDD) | Implicit: nPUCCH(1) = nCCE + NPUCCH(1) | 1–2 bit HARQ-ACK (Format 1a/1b) |
| Semi-persistent scheduling | RRC-configured resource (no PDCCH to derive from) | HARQ-ACK (Format 1a/1b) |
| Scheduling Request | RRC-configured periodic SR resource | SR (Format 1) |
| Periodic CSI | RRC-configured nPUCCH(2) | CQI/PMI/RI (Format 2) |
| Carrier aggregation HARQ-ACK | RRC-configured resource set, one entry selected by TPC/ARI in the DCI | Multi-bit HARQ-ACK (Format 1b with channel selection or Format 3) |
Why it is elegant: the acknowledgement resource is "free" — it rides on information the UE already has (which CCEs its grant used), so dynamic ACKs need no dedicated PUCCH signalling.
PUCCH, or piggyback on PUSCH
The default carrier for UCI is the PUCCH. But an uplink subframe can also contain a PUSCH — the data channel. In Rel-8/9 single-carrier operation the UE must not transmit PUCCH and PUSCH simultaneously, because doing so would break the single-carrier property and inflate the cubic metric of the transmitted waveform. So when the UE has a scheduled PUSCH, the UCI is multiplexed onto the PUSCH instead — commonly called UCI piggybacking or "UCI on PUSCH."
The HARQ-ACK and RI bits are placed on resource elements next to the PUSCH demodulation reference symbols (where the channel estimate is freshest), and the CQI/PMI bits are mapped across the data region. This keeps the transmission single-carrier and within one power budget, so the UE pays for one uplink transmission rather than two. The number of resource elements the UCI steals from the data is fixed by an offset (βoffset, configured per UCI type by RRC) so the eNB and UE agree on the rate matching; a larger offset gives the UCI more redundancy at the cost of data throughput.
Release 10 added an optional mode, simultaneous PUCCH and PUSCH, enabled by the RRC flag simultaneousAckNackAndCQI and the more general capability that lets HARQ-ACK/SR stay on the PUCCH while data flows on PUSCH. This is only viable for UEs whose power amplifier can tolerate the higher cubic metric, and it trades waveform purity for the ability to always send control on its dedicated resource. When it is not configured, the piggyback rule applies.
Rule of thumb: no PUSCH in the subframe → UCI on PUCCH. PUSCH scheduled → UCI piggybacks on PUSCH. With Rel-10 simultaneous PUCCH+PUSCH configured, the UE may keep HARQ-ACK/SR on PUCCH while data is on PUSCH.
HARQ-ACK bundling and multiplexing for TDD and CA
In FDD single-carrier operation a UE answers one downlink subframe with one HARQ-ACK four subframes later — simple. Two situations break that one-to-one relationship and force the UE to compress or combine multiple acknowledgements into a single PUCCH transmission: TDD, where several downlink subframes are acknowledged in one uplink subframe, and carrier aggregation, where several serving cells are acknowledged at once. LTE offers two mechanisms.
- ACK/NACK bundling — the UE logically ANDs the acknowledgements of multiple transport blocks (across subframes, or across codewords) into a single ACK/NACK. If everything decoded, it sends ACK; if any one failed, it sends NACK, and the eNB retransmits the group. Bundling keeps the payload tiny but is coarse: one failure taints the whole bundle. A Downlink Assignment Index (DAI) in the DCI tells the UE how many downlink subframes it should have received, so a missed assignment does not silently shrink the bundle.
- ACK/NACK multiplexing (channel selection) — the UE reports the individual acknowledgements by which PUCCH resource it transmits on and which QPSK constellation point it sends. With
Format 1b with channel selection, the choice among a small set of configured resources plus the two modulated bits jointly encodes the ACK/NACK pattern of up to four transport blocks. This preserves per-block information at the cost of needing a set of resources.
For carrier aggregation with many cells, even channel selection runs out of room, which is exactly why Format 3 exists: it block-codes the full multi-bit HARQ-ACK payload and sends it on one DFT-s-OFDM resource selected from an RRC-configured set (up to four entries) by the ACK/NACK Resource Indicator (ARI) carried in the DCI's TPC field of the secondary cells.
| Mechanism | How multiple ACKs combine | Payload | Where used |
|---|---|---|---|
| Bundling | Logical AND across subframes/codewords | 1–2 bits | TDD (spatial and time-domain bundling); DAI guards against missed grants |
| Multiplexing / channel selection | Resource choice + constellation point | Up to 4 TBs | TDD and CA (2 cells); Format 1b with channel selection |
| Format 3 | Joint block coding of all bits | up to ~10+ cells | CA with many cells; resource picked by ARI |
Spec anchor: the TDD and CA HARQ-ACK procedures, the DAI, channel selection and Format 3 resource selection are all in TS 36.213.
SRS and PUCCH collisions
The Sounding Reference Signal (SRS) is a wideband uplink pilot the UE sends so the eNB can estimate the uplink channel for frequency-selective scheduling. SRS is transmitted in the last SC-FDMA symbol of a configured subframe, spanning much of the band — which is precisely where a PUCCH transmission also has energy. When an SRS occasion and a PUCCH transmission land in the same subframe, they collide, and LTE resolves it with deterministic rules rather than letting the UE choose.
- For the shortened PUCCH formats, the UE uses a shortened PUCCH format: it simply drops the last symbol of the PUCCH so the SRS can occupy it. This applies to cell-specific SRS subframes when the parameter
ackNackSRS-SimultaneousTransmissionis enabled, letting both signals coexist in the subframe. - When simultaneous transmission is not configured, the UE drops the SRS in any subframe where it would collide with a PUCCH carrying HARQ-ACK or a positive SR — control feedback wins, because a lost acknowledgement is far more damaging than a skipped channel sounding.
- Periodic CSI on PUCCH that would clash with SRS is handled by dropping the lower-priority report according to configured rules, so the UE never has to transmit two overlapping signals it cannot power.
The theme throughout is priority: HARQ-ACK is the most protected UCI, SR next, and channel sounding or CSI yields when something has to give. The shortened-format trick is the preferred outcome because it preserves both signals; dropping is the fallback when the UE is not configured to shorten.
Collision priority: keep the acknowledgement above all else. Either shorten the PUCCH to make room for SRS (when configured), or drop the SRS. CSI reports give way when they would overlap a higher-priority transmission.
LTE ↔ NR: NR keeps the idea of a control channel but rebuilds it. LTE's fixed family of Format 1/1a/1b/2/2a/2b/3 becomes NR's five formats keyed by duration and payload — short PUCCH format 0/2 (1–2 symbols) and long PUCCH format 1/3/4 (4–14 symbols) — and NR's PUCCH can sit anywhere in the band via a configured PUCCH-Config rather than only at the two edges. LTE's implicit nPUCCH(1) = nCCE + NPUCCH(1) rule is replaced by an explicit PUCCH resource indicator (PRI) field in the DCI that selects from an RRC-configured resource set, and NR's flexible K1 timing supersedes LTE's fixed n+4 HARQ-ACK gap. The CSI content (CQI/PMI/RI) carries over conceptually but is far more configurable in NR.
Summary
The PUCCH is the LTE uplink's dedicated control lane, carrying UCI — HARQ-ACK, SR and CQI/PMI/RI — whenever the UE has no PUSCH to piggyback on. It lives at the two band edges and hops across the slot boundary for frequency diversity, leaving the contiguous centre for SC-FDMA data. A small family of formats matches payload to job: Format 1/1a/1b for the 0–2-bit SR and HARQ-ACK, Format 2/2a/2b for the ~20-bit CQI report, and Rel-10 Format 3 for the large multi-bit HARQ-ACK that carrier aggregation demands.
The elegant core is that a Format 1 resource is a code-domain address — a cyclic shift plus an orthogonal cover code — so many UEs share one RB pair, and the dynamic ACK resource is derived for free from the scheduling PDCCH's first CCE. When data is scheduled, UCI multiplexes onto the PUSCH; when TDD or CA break the one-ACK-per-subframe relationship, bundling, channel selection or Format 3 compress the feedback; and when SRS collides, a strict priority order protects the acknowledgement above all else.
Quick Q&A
Q. Which PUCCH formats carry HARQ-ACK, and how many bits each?
A. Format 1a carries 1 bit and Format 1b carries 2 bits of HARQ-ACK; Format 2a/2b carry CQI plus 1/2 ACK bits; and Format 3 (Rel-10) carries the larger multi-bit HARQ-ACK needed for carrier aggregation.
Q. Where in the band does PUCCH live, and why does it hop?
A. At the two outermost RB regions (band edges), leaving a contiguous centre for PUSCH. It hops edge-to-edge between the two slots of a subframe so the two halves of the transmission see independent fading — frequency diversity.
Q. What two code-domain ingredients make up a Format 1 PUCCH resource?
A. A cyclic shift of the length-12 base sequence and an orthogonal cover code across the slot's symbols. Their product is how many UEs share one PUCCH RB pair; the scalar index nPUCCH maps onto that triplet.
Q. How does a UE know which PUCCH resource to use for a dynamic ACK?
A. It is derived implicitly: nPUCCH(1) = nCCE + NPUCCH(1), where nCCE is the first CCE of the scheduling PDCCH. Different PDCCHs map to different resources with no extra signalling.
Q. What is the difference between HARQ-ACK bundling and multiplexing?
A. Bundling logical-ANDs several acknowledgements into one ACK/NACK (coarse, tiny payload, one failure taints the group). Multiplexing (channel selection) preserves per-block information by encoding the pattern in the chosen PUCCH resource plus the constellation point, at the cost of needing a resource set.
Q. What happens when an SRS subframe collides with a PUCCH?
A. If simultaneous transmission is configured, the UE uses the shortened PUCCH format and drops the PUCCH's last symbol for SRS. Otherwise it drops the SRS, because HARQ-ACK/SR takes priority over channel sounding.
Where this leads next
The PUCCH closes the uplink control loop. The HARQ-ACK it carries answers a downlink grant and feeds the retransmission machinery, while the CQI/PMI/RI it reports drives downlink link adaptation. When data is also scheduled, the same UCI moves onto the data channel instead, and the resource it uses is derived from the very PDCCH that scheduled the downlink.