5G Fundamentals

NR PUSCH: The Uplink Is Not a Mirror of the Downlink

PUSCH looks like PDSCH turned around, and the differences are where the engineering is: a choice of waveform, a power-limited transmitter, and a grant that costs a round trip unless you configure one in advance.

By Manas·9 min read·Updated 2026-09-08

At the block-diagram level, PUSCH is PDSCH with the arrows reversed. Same LDPC coding, same transport block handling, same resource grid, same HARQ machinery. If that were the whole story the channel would need no article of its own.

It is not, and the reason is that the transmitter at the UE end is a fundamentally worse transmitter than the one at the gNB. It runs on a battery, it has one or two antennas rather than sixty-four, and its power amplifier is the binding constraint on how far the cell reaches. Almost every way PUSCH differs from PDSCH traces back to that asymmetry.


The downlink is always CP-OFDM. The uplink can be either CP-OFDM or DFT-s-OFDM, and the network chooses per UE.

DFT-s-OFDM applies a DFT spread before the OFDM modulation, which produces a single-carrier-like signal with a peak-to-average power ratio several dB lower than CP-OFDM. That difference is not academic. A lower PAPR means the amplifier can run closer to saturation without distorting, which means more average transmit power, which means the cell edge moves outward.

What it costs is spatial multiplexing. The DFT spread couples the subcarriers, so DFT-s-OFDM supports only single-layer transmission. A UE near the gNB with a good channel wants two or four layers and does not care about PAPR, so it uses CP-OFDM. The same UE at the edge would rather have the coverage than the layers.

The network signals the choice in configuration, and it is one of the clearest examples of NR's approach that the air interface takes generally: where LTE picked one option for everyone, NR parameterises it and lets the network decide per situation.

Getting a grant costs a round trip

The default is grant-based transmission. The gNB sends an uplink grant in DCI on PDCCH, and the UE transmits on PUSCH some number of slots later, that offset being K2.

This is the arrangement that keeps the uplink orthogonal — the scheduler knows exactly who will transmit where, so nothing collides and nothing is wasted. It is also a round trip the UE pays before a single byte leaves it.

For a UE with a full buffer that cost is amortised across a long transmission and does not matter. For a UE sending one small packet it is most of the latency, and no amount of shortening K2 fixes it, because the UE still has to ask first: send a scheduling request, wait for a grant, then transmit.

Configured grants remove the asking

A configured grant allocates uplink resources to a UE in advance, periodically, whether or not it has anything to send.

When a packet arrives, the UE transmits on the next occasion. No scheduling request, no grant, no round trip. Latency collapses to the wait for the next occasion, which the network sets by choosing the period.

Two types exist and the difference matters operationally. Type 1 is configured entirely by RRC and is active as soon as it is configured. Type 2 is configured by RRC but activated and released by DCI, so the network can hand out the configuration once and switch it on only when the traffic justifies it.

The cost is straightforward: reserved occasions consume uplink resource whether or not they are used. A configured grant with a 1 ms period given to a UE that transmits every 100 ms wastes ninety-nine occasions out of a hundred. This is a latency-for-efficiency trade with no clever way around it, and it is why configured grants are deployed for known-periodic traffic — industrial sensors, voice — rather than as a general accelerator.

Power control is doing more work than it looks

The UE sets its transmit power from an open-loop estimate — a target received power plus a fraction of the estimated path loss — corrected by closed-loop commands from the gNB.

The fractional part is worth pausing on. The path loss compensation factor is deliberately less than one, so a UE at the edge does not fully compensate for its path loss. That sounds like a mistake and is not: full compensation would have edge UEs transmitting at maximum power, generating interference into neighbouring cells out of proportion to the throughput they achieve. Partial compensation accepts a lower edge data rate in exchange for a quieter system.

When a UE runs out of headroom, it reports that in a power headroom report, and the scheduler is expected to respond by granting fewer resource blocks — because a power-limited UE spreading its budget over more bandwidth gets less power per subcarrier and a worse result. A scheduler that ignores headroom reports and grants wide allocations to edge UEs produces exactly the failure pattern of poor throughput at the edge that looks like coverage and is scheduling.

Transform precoding, waveform, and the naming confusion

The specification does not have a field called "waveform". It has transform precoding, enabled or disabled. Enabled means the DFT spread is applied, which is DFT-s-OFDM. Disabled means CP-OFDM.

This trips people up in logs and configuration, because the thing you search for is not the thing that is written down. The same applies to the reference signal: with transform precoding enabled, the DM-RS sequence type changes too, and a mismatch there is a classic cause of a UE that attaches fine and then fails to transmit.

What goes wrong in practice

Configured grants sized by period rather than by traffic. The instinct is to shorten the period until latency looks good. The uplink capacity cost is invisible in a lightly loaded lab and very visible in a loaded cell.

Waveform left at the default. Networks that never switch a UE to DFT-s-OFDM leave several dB of edge coverage unclaimed. Ones that leave everybody on it give up multi-layer uplink for UEs that could use it.

K2 tuned without looking at UE processing capability. The UE has a minimum processing time between grant and transmission, and it depends on the numerology and the declared capability. Configuring a K2 shorter than the UE can honour produces missed transmissions that look like interference.


The mental model

The uplink transmitter is the constraint. Battery, one or two antennas, an amplifier at its limit — nearly every PUSCH difference follows from that.

DFT-s-OFDM buys coverage and costs layers. Lower PAPR, single layer. CP-OFDM the other way round.

Grant-based is orthogonal and costs a round trip. Configured grant removes the round trip and pays for it in reserved, often unused, resource.

Fractional path loss compensation is deliberate. Edge UEs are held back on purpose so they do not deafen the neighbours.

The field is called transform precoding, not waveform. Search for the right word.

PUSCH rewards being read as the downlink's constrained sibling rather than its mirror: same machinery, much less power, and a set of choices that exist only because of the difference.

Further reading

  • 3GPP TS 38.211 §6.3.1 — PUSCH and transform precoding
  • 3GPP TS 38.214 §6 — physical layer procedures for uplink data, MCS and resource allocation
  • 3GPP TS 38.213 §7 — uplink power control
  • 3GPP TS 38.321 — configured grant types 1 and 2
  • ShareTechnote — 5G PUSCH, for resource allocation examples and DCI field walkthroughs
5GNRPUSCHPhysical Layer

Practise this on 5G6GTech

Our companion site turns these topics into flashcards and quizzes.