How the network learns a UE's available TX power margin for smarter uplink grants
The gNB doesn't know how much transmit power the UE is using vs. its maximum (P_CMAX, typically 23 dBm). Power Headroom = P_CMAX − P_PUSCH. Positive PH = remaining margin. Negative PH = power limited. The gNB uses PHR to decide grant size, MCS, and RB allocation.
Adjust P_CMAX and PUSCH power to see the PH value, headroom bar, and what the gNB should do.
Cell center. Lots of headroom. gNB can increase RBs, use higher MCS, or add layers.
Moderate margin. Current grant is fine. gNB maintains current allocation.
Power limited. gNB should reduce RBs, lower MCS, or trigger handover if persistent.
| Type | Formula | When Used |
|---|---|---|
| Type 1 | P_CMAX − P_PUSCH | Always (most common) |
| Type 2 | P_CMAX − (P_PUSCH + P_PUCCH) | Simultaneous PUSCH + PUCCH |
| Type 3 | P_CMAX − P_SRS | SRS-only (no PUSCH in slot) |
Interactive viewer showing the Ci bitmap, PCell PHR, and SCell PHR entries. Toggle cells to see the structure change.
| Field | Size | Purpose |
|---|---|---|
| Ci bitmap | 1 byte | Which SCells are included (1 bit each) |
| PH (per cell) | 6 bits | Power headroom: index 0-63 → PH = index − 32 dB |
| P | 1 bit | Power backoff applied (MPR/AMPR) |
| V | 1 bit | 0 = real PH, 1 = virtual PH |
| P_CMAX,f,c | 7 bits | UE max power for this cell/carrier |
| Trigger | Type | Description |
|---|---|---|
| periodicPHR-Timer | Periodic | Timer expiry (sf10–sf1000, infinity) |
| prohibitPHR-Timer + pathloss change | Event | Pathloss changed > threshold (dB1/3/6) |
| RRC configuration | Config | PHR function first configured |
| SCell activation | Event | New SCell needs PHR report |
| PSCell change | Event | DC cell group change |
| BWP switch | Event | Different power parameters on new BWP |
Animated timeline showing periodic and event-driven PHR triggers. Watch the timers and pathloss change detection.
| Scenario | periodicTimer | prohibitTimer | txPowerChange |
|---|---|---|---|
| Dense urban | sf100 | sf50 | dB3 |
| Rural (slow) | sf500 | sf200 | dB6 |
| High mobility | sf50 | sf20 | dB1 |
| IoT (power save) | sf1000 | sf500 | dB6 |
| URLLC | sf20 | sf10 | dB1 |
| Aspect | LTE | 5G NR |
|---|---|---|
| PHR types | Type 1, 2 | Type 1, 2, 3 |
| Multi-cell | Up to 5 SCells | Up to 32 SCells |
| BWP awareness | None | Trigger on BWP switch |
| DC support | Dual PHR | phr-ModeOtherCG |
gNB AI predicts PH from historical reports, UE speed, beam patterns. Adjusts grants proactively. 50-70% fewer PHR reports needed.
Instead of 6-bit value: send 2-bit category (high/moderate/limited/power-limited). Only full PHR when AI prediction error exceeds threshold.
64+ cells in 6G → compressed PHR essential to avoid 130+ byte MAC CEs. AI handles per-cell power optimization.
Compare PHR capabilities across generations.
| Dimension | 4G (LTE) | 5G NR | 6G (Target) |
|---|---|---|---|
| PHR types | Type 1, 2 | Type 1, 2, 3 | + AI-inferred |
| Multi-cell | Up to 5 | Up to 32 | 64+ |
| Report size | 1-12 bytes | 1-65 bytes | 2-bit compressed |
| Prediction | None | None | AI-predicted |