5G NR · Uplink power

PUSCH Power Control

Just enough power — never more. The UE balances reaching the gNB against draining its battery and drowning its neighbours. This is the complete TS 38.213 §7.1 machine: every term of the equation (P₀, α, bandwidth, the transport-format ΔTF, and the closed loop f(i,l)), the parameter sets, the PCMAX clip, and the Power-Headroom report the UE sends back.

P₀ · αopen loop
ΔTFformat comp.
f(i,l)closed loop
PHRheadroom
open-loop target + closed-loop TPC, clipped at PCMAX
1 The equation

Every term, decoded

One formula sets the PUSCH transmit power. Hover the idea of each colour-coded term below — it is exactly TS 38.213 §7.1.1, indexed by transmission occasion i, open-loop set j, path-loss reference qd, and closed-loop process l.

PUSCH transmit power (dBm)PPUSCH(i,j,qd,l) = min{ PCMAX(i) ,   P₀(j) + 10·log₁₀(2μ·MRB(i)) + α(j)·PL(qd) + ΔTF(i) + f(i,l) }

P₀(j) — target Rx

P₀ = P₀-nominal(j) + P₀-UE(j). The received power the open loop aims for. Index j picks one of the configured P0-PUSCH-AlphaSets (Msg3 uses a special set).

α(j)·PL — fractional comp.

α ∈ [0,1] is how much of the downlink path loss PL the UE compensates. α<1 = cell-edge UEs deliberately under-shoot to limit interference.

Bandwidth term

10·log₁₀(2μ·MRB): more RBs need proportionally more total power to keep the same per-RB density.

ΔTF — transport format

Adds power for higher spectral efficiency (more bits/RE). Zero unless deltaMCS is configured. Detailed below.

f(i,l) — closed loop

Accumulated TPC corrections. Two independent loops (l = 0,1) can be configured.

PCMAX — the ceiling

The UE's configured maximum output power (≤ 23 dBm power class 3). The whole sum is clipped to it.

2 The format term

ΔTF — paying for spectral efficiency

When deltaMCS is enabled, the UE adds power proportional to how hard it is pushing bits per RE. BPRE is bits-per-resource-element; Ks = 1.25. A QPSK low-rate grant adds almost nothing; a 256QAM high-rate grant adds several dB. Slide the efficiency.

ΔTF
Effect
Transport-format power (38.213 §7.1.1)ΔTF = 10·log₁₀( (2BPRE·Kₛ − 1) · βoffsetPUSCH )   with Kₛ = 1.25 if deltaMCS, else ΔTF = 0
3 Open loop

Live power budget

Each slider is one term. The stacked bar shows how the budget builds; the red cap is PCMAX. When the sum would exceed it, the UE is power-limited and clips — and that clipping is exactly what Power Headroom reports.

PPUSCH (final)
Before clip
Status
4 The α trick

Fractional path-loss compensation

α = 1 makes every UE arrive at the same received power (full compensation) — but cell-edge UEs blast interference. α < 1 lets distant UEs fall short, trading their own SINR for a quieter cell. Sweep α.

5 Closed loop

f(i,l) — accumulation vs absolute

The gNB measures received power and sends 2-bit TPC commands. In accumulative mode the UE sums them into f(i,l); in absolute mode each command replaces it. Up to two loops (l = 0,1) run independently. Drive it.

f(i,l)
0 dB
Commands
0
Mode
accumulative
Closed-loop (38.213 §7.1.1)accumulative: f(i,l) = f(i−1,l) + Σ δPUSCH ·   absolute: f(i,l) = δPUSCH   (δ ∈ {−1,0,+1,+3} dB)
6 The feedback

Power Headroom Report (PHR)

How much power does the UE have left? PHR = PCMAX − PPUSCH (Type 1), reported to the gNB in a MAC CE so the scheduler knows whether it can grant more RBs or higher MCS. A negative PHR means the UE is already power-limited (it computed more than it could send). With no real PUSCH, a virtual PHR is reported from a reference format.

Power headroom
Interpretation
Scheduler can…
7 Put it together

One grant, full power budget

8 Knowledge check

Test yourself