Home / 5G / Protocols / PHY / PUSCH

5G NR PUSCH - Physical Uplink Shared Channel

The 5G NR PUSCH, or Physical Uplink Shared Channel, is the main scheduled uplink data channel in NR. It carries UL-SCH from the UE to the network on uplink time-frequency resources selected by the scheduling process.

Read PUSCH as the point where uplink scheduling turns into an actual UE transmission on the OFDM grid. Grant mode, frequency allocation, time allocation, MCS, layer count, DMRS, optional PTRS, waveform selection, power behavior, and HARQ all shape whether the gNB can decode the transport block efficiently.

Technology 5G NR
Full name Physical Uplink Shared Channel
Transport channel UL-SCH
Main specs 3GPP TS 38.211, 38.212, 38.213, 38.214
Release Release 18
Main concepts Uplink grant, configured grant, transform precoding, MCS, layers, DMRS, PTRS, power behavior, HARQ
Why it matters PUSCH is the main uplink data channel, so it directly affects uplink throughput, coverage, BLER, latency, and gNB decode reliability
5G NR PUSCH uplink path showing grant, UE transmission, DMRS support, and gNB decode
PUSCH is best read as a full uplink chain: scheduling decision, UE transmission, channel conditions, and gNB decode outcome.
5G NR PUSCH workflow showing grant mode, allocation, coding, waveform, reference signals, power, and decode outcome
A useful PUSCH reading path starts from grant mode and allocation, then follows coding, waveform, reference signals, power behavior, and decode outcome.

Contents

  1. Overview
  2. How the PUSCH model works
  3. Operational variants
  4. Where PUSCH appears in real procedures
  5. Troubleshooting
  6. References
  7. FAQ

Overview

PUSCH is the main physical uplink data channel in NR. In many uplink transmissions, the UE receives an uplink grant on PDCCH and then transmits the transport block on PUSCH inside the active BWP. In configured-grant operation, the transmission follows prearranged uplink resources instead of waiting for a fresh grant every time.

  • PUSCH carries UL-SCH on physical uplink resources.
  • Its time and frequency position come from grant-based or configured-grant scheduling.
  • Its usable payload depends on MCS, layers, waveform choice, and overhead such as DMRS and PTRS.
  • PUSCH behavior is central to uplink throughput, coverage, BLER, latency, and power-limited performance.

Quick interpretation

Role Main scheduled uplink data channel
Carries UL-SCH transport blocks
Scheduled by PDCCH uplink grant or configured-grant operation inside the active BWP
Main allocation fields Frequency-domain allocation, time-domain allocation, MCS, HARQ process, redundancy version, transform-precoding context, and layer information
Main overhead DMRS, optional PTRS, reserved resources, and waveform-related constraints
Main impact Uplink throughput, decode reliability, latency, retransmission load, and power-limited coverage behavior

How the PUSCH model works

Read PUSCH as an uplink delivery chain. The grant mode tells the UE when to transmit, the allocation defines the resources, the coding chain prepares the transport block, waveform and reference-signal settings define how the transmission is sent, and the gNB decode outcome determines whether HARQ continues the same story.

Grant-based and configured-grant operation

Grant-based PUSCH starts from a valid uplink grant on PDCCH. Configured-grant PUSCH uses prearranged resources and timing, which changes how regular the uplink pattern looks and how you interpret missing or delayed transmissions in traces.

Frequency-domain allocation

Frequency allocation determines which physical resource blocks are used for the uplink transmission. Read the allocation inside the active BWP, because the same field value can mean something different after a BWP change.

Time-domain allocation

Time allocation determines which OFDM symbols carry the PUSCH transmission. The actual timing must be read in the context of the current frame structure and numerology.

Transport block, coding, and rate matching

The transport block passes through the shared-data coding chain, including code-block handling and rate matching. Payload size depends on scheduled resources together with the selected modulation and coding scheme. Use Transport Block Size and Resource Allocation when checking those assumptions.

Waveform and transform precoding

PUSCH may use CP-OFDM or transform-precoded transmission depending on configuration and transmission mode. Transform precoding changes the uplink waveform behavior and is one of the most important differences between uplink and downlink shared-channel reading. Open Transform Precoding for the dedicated reference page.

Layer mapping and transmission scheme

PUSCH may use one or more layers depending on UE capability, spatial transmission mode, and radio conditions. Codebook-based and non-codebook transmission behave differently in practical reading because the spatial assumptions and uplink signaling context are not identical.

DMRS and PTRS

PUSCH decoding depends on DMRS so the gNB can estimate the uplink channel correctly. PTRS may also be present when phase tracking support is needed. Both improve decode robustness but reduce the resource elements left for pure payload.

Power behavior and decode outcome

Uplink success depends not only on allocation but also on what the UE can actually transmit. Power limitation, coverage conditions, interference, and path loss can turn an apparently valid PUSCH assignment into a weak or unstable gNB decode result. Read PUSCH together with Power Control and Power Headroom Report when uplink coverage is tight.

Element Meaning in PUSCH reading
Grant mode Whether the UE transmits after a fresh uplink grant or from a configured-grant resource pattern
Frequency-domain allocation Which PRBs in the active BWP are used for the transmission
Time-domain allocation Which OFDM symbols carry the PUSCH transmission
MCS The modulation and coding efficiency chosen for the transport block
Waveform choice Whether the uplink transmission uses CP-OFDM or transform precoding
Layers The number of spatial streams used by the uplink transmission
DMRS / PTRS Reference-signal overhead and decode support inside the allocation
HARQ process and RV Retransmission context and combining behavior for repeated delivery
Power limitation Whether the UE can actually sustain the requested uplink transmission cleanly

Operational variants

PUSCH does not use numbered channel formats like PUCCH. The main practical variants are the uplink operating patterns below.

Variant Reading notes
Grant-based PUSCH The common scheduled uplink case where a fresh grant arrives before the UE transmits
Configured-grant PUSCH Prearranged uplink transmission pattern that changes grant timing expectations and scheduling regularity
CP-OFDM PUSCH Uplink transmission without transform precoding in the configured waveform mode
Transform-precoded PUSCH DFT-s-OFDM style uplink transmission with different waveform behavior and practical power characteristics
Single-layer transmission Simpler uplink operation with lower spatial complexity
Multi-layer transmission Higher uplink capacity mode when UE support and radio conditions allow more than one layer
Codebook-based transmission Spatial uplink behavior tied to more explicit transmission assumptions and signaling context
Non-codebook transmission Spatial uplink behavior read with a different transmission-assumption model

Where PUSCH appears in real procedures

Regular uplink data delivery

PDCCH uplink grant -> PUSCH transmission -> gNB decode -> HARQ handling

This is the core PUSCH path for grant-based operation. The UE receives the grant, transmits the transport block on PUSCH, and the gNB decode result determines whether HARQ ends the transaction or continues it.

Configured-grant uplink transmission

Configured resources -> UE transmission opportunity -> PUSCH decode -> continuation or retry

This path matters when uplink traffic appears more periodic or more regular than classic grant-based behavior. In those cases, missing transmissions must be read against configured-grant assumptions instead of only asking whether a fresh PDCCH grant was present.

Coverage-limited uplink behavior

Near the uplink edge, a PUSCH problem may be driven less by nominal resource availability and more by power headroom, path loss, interference, and gNB decode robustness. That is why a healthy downlink does not always imply a healthy uplink.

Troubleshooting

Start with the grant mode, then move through the actual allocation and decode outcome. Many apparent PUSCH failures are really control, BWP, timing, or power-limitation problems.

  • Check whether the expected uplink grant was present, or whether configured-grant operation was active.
  • Check PRB allocation, symbol allocation, and uplink scheduling cadence rather than carrier width alone.
  • Check MCS, code-rate trend, and layer usage against observed uplink conditions.
  • Check DMRS, optional PTRS, and waveform assumptions.
  • Check HARQ retransmission patterns, redundancy version behavior, and uplink BLER.
  • Check the active BWP, current timing interpretation, and UE power limitation.
Symptom What to inspect first
Low uplink throughput Grant mode, PRB count, symbol count, MCS, scheduling cadence, and retransmission rate
High uplink BLER Radio quality, DMRS support, waveform assumptions, power limitation, and HARQ combining behavior
No expected uplink traffic Whether a valid grant appeared, whether configured grant applies, and whether the UE used the right BWP and timing window
Good downlink but weak uplink Power headroom, uplink coverage margin, interference, and gNB decode stability
Allocation looks correct but payload is still small TBS assumptions, MCS choice, DMRS or PTRS overhead, and transform-precoding context

Common mistakes

  • assuming uplink behaves like a mirror image of downlink
  • ignoring UE power limits and uplink coverage constraints
  • reading PRB count without also checking symbols, overhead, and waveform assumptions
  • jumping to the data channel before checking the preceding grant or configured-grant context
  • ignoring active BWP when decoding uplink allocations

References

FAQ

What does PUSCH do in 5G NR?

PUSCH carries the main scheduled uplink data delivered through UL-SCH from the UE to the network.

How is PUSCH related to PDCCH?

In grant-based operation, PDCCH carries the uplink grant that tells the UE where and when to transmit on PUSCH.

Can PUSCH work without a fresh uplink grant every time?

Yes. Configured-grant operation allows the UE to use prearranged uplink resources, so not every transmission needs a new grant right before it.

Why is PUSCH important for uplink throughput?

Because it is the main uplink data-bearing channel. Throughput depends on how much PUSCH resource is really available and how well the gNB can decode the transmission.

Why is uplink troubleshooting often harder than downlink troubleshooting?

Because uplink depends strongly on UE transmit power, coverage margin, interference, and gNB-side decode quality, not only on scheduler choices.

How does BWP affect PUSCH?

PUSCH allocations are interpreted inside the active uplink BWP, so the same carrier can show different practical resource meaning after a BWP change.

Related PHY topics and tools