5G NR · Uplink control multiplexing

UCI on PUSCH

When control (HARQ-ACK, CSI) collides with a data grant, NR doesn't drop either — it multiplexes the control onto PUSCH. How many resource elements each control type steals is set by a precise formula and the beta offsets. This is the full technical mechanism: the Q′ equation, the placement order, puncture vs rate-matching, and the priority that decides what survives when room runs out. TS 38.212 §6.3.2 / TS 38.213 §9.3.

HARQ+ CSI 1/2
βoffsetreliability knob
αmax-UCI cap
38.212§6.3.2
HARQ-ACK near DM-RS · CSI rate-matched into data
1 The collision

When control meets data

On a single carrier the UE can't transmit a PUCCH and a PUSCH at the same time. So when UCI (scheduled on PUCCH) overlaps a PUSCH in the slot — and the preparation timeline allows it — the UCI is piggybacked onto the PUSCH. HARQ-ACK and CSI are encoded separately and mapped into reserved REs; the UL-SCH data is rate-matched around them.

If the timeline is too tight, or priorities differ (Rel-16 intra-UE prioritisation), the lower-priority transmission may instead be dropped. Here we focus on the multiplexing case.
2 What gets multiplexed

Three payloads, strict priority

HARQ-ACK P1

Highest priority, placed right after the front-loaded DM-RS for the best channel estimate. ≤2 bits puncture data; >2 bits rate-match. Adds an 11-bit CRC if OACK > 11.

CSI part 1 P2

Fixed-size (RI, CQI, wideband PMI). Rate-matched into PUSCH after the HARQ-ACK region. Its size tells the decoder how big part 2 is.

CSI part 2 P3

Variable-size (subband PMI/CQI). Lowest priority → dropped first if the α cap leaves no room.

3 The reliability knob

Beta offsets

Each UCI type has a βPUSCHoffset — a multiplier that buys it more coded REs (more protection) at the cost of data REs. The DCI/RRC selects an index into the beta-offset tables (TS 38.213 Table 9.3-1/2). Pick values and watch them feed the Q′ formula.

Higher β = more reliable UCI but less room for data. α caps the total REs UCI may consume (scaling in UCI-OnPUSCH), protecting a minimum data rate.
4 The maths

Q′ — how many REs each UCI gets

This is the actual TS 38.212 §6.3.2.4 equation. The number of coded modulation symbols Q′ grows with the payload and its beta offset, shrinks with the amount of UL-SCH data, and is hard-capped by α. Move the inputs and the live computation updates.

Coded modulation symbols (38.212 6.3.2.4.1, HARQ-ACK)Q′ACK = min{ ⌈ (OACK + LACK) · βACK · Σ MscUCI / Σ Kr ⌉ ,   ⌈ α · Σ MscUCI ⌉ − (already used) }
Q′ACK
Q′CSI1
Q′CSI2
α cap (REs)
5 On the grid

Placement order

The Q′ values become REs on the PUSCH grid in strict order: HARQ-ACK first (just after the front-loaded DM-RS), then CSI-1, then CSI-2, with UL-SCH data rate-matched around all of them. Watch the regions fill as you change the inputs above.

UL-SCH data 0
DM-RS 0
HARQ-ACK 0
CSI-1 0
CSI-2 0
UCI overhead
HARQ-ACK handling
6 Two rules for HARQ-ACK

Puncture vs rate-match

HARQ-ACK can arrive late (after PUSCH is encoded), so it gets special handling. For ≤2 bits the UE punctures — reserved REs are overwritten and the decoder treats those data bits as erasures, keeping a fixed predictable position. For >2 bits the data is properly rate-matched around reserved REs, so no data bits are lost.

Puncture (≤ 2 bits)

Reserved REs overwritten after encoding; the rest of the codeword was sized as if they existed. Predictable, low-latency HARQ-ACK position.

Rate-match (> 2 bits)

UL-SCH encoding accounts for the reserved REs up-front, so no data bits are lost — the effective data code rate just rises slightly.

7 Special case

UCI on PUSCH without UL-SCH

A DCI can schedule a PUSCH that carries only control — e.g. a triggered aperiodic CSI report with no data. Then there is no UL-SCH to rate-match around; the whole PUSCH is filled by CSI (and HARQ-ACK) under their own beta offsets, and a slightly different Q′ form applies (the UL-SCH ratio term is replaced).

This is exactly how a DCI-triggered aperiodic CSI report is delivered when the scheduler has no data for the UE — the PUSCH becomes a pure control carrier.
8 Put it together

One overlapping slot, fully resolved

9 Knowledge check

Test yourself