CafeTele Engineering Series

5G RAN
Optimization

The Definitive 3GPP Engineer's Guide

From KPI to root-cause: a vendor-neutral, specification-driven manual for engineers who must make 5G networks perform.

32 Chapters 200+ Diagrams 120+ Tables 6 Appendices

Abhijeet Kumar

Senior Telecom Engineer & Author

First Edition · April 2026

3GPP Release 17 · Release 18 (5G-Advanced)

Table of Contents

Front Matter
Part I — Foundations of 5G RAN Optimization
Part II — Coverage & Signal Quality
Part III — Accessibility & RACH
Part IV — Mobility & Handover
Part V — Throughput & Capacity
Part VI — Retainability & Quality
Part VII — Advanced Domains
Part VIII — Methodology & Operations
Appendices
Front Matter

Preface — Why This Book Exists

A vendor-neutral optimization manual, written by an engineer for engineers

Walk into any 5G optimization team meeting in 2026 and you will hear three vendor names spoken more often than the word “3GPP.” Engineers debate the meaning of one vendor's counter as if it were a law of physics, then translate it — usually badly — into another vendor's terminology. New hires inherit a tribal vocabulary and never learn what the underlying specification actually says. Senior engineers carry a single vendor's mental model from job to job, surprised each time the next employer's network behaves differently.

This book is the antidote. Every page in front of you is grounded in the publicly available 3GPP Technical Specifications. Every counter is referenced by its 3GPP family from TS 28.552, not a vendor PM name. Every KPI is derived from TS 28.554. Every parameter is cited to its specification clause. Every call flow follows the message names defined in TS 38.331, TS 38.413, TS 38.423, and TS 37.340. Where vendor implementations diverge from the standard — and they do — we say so, but we never let proprietary vocabulary become the primary reference.

The Promise of This Book

By the end of this book, you will be able to optimize a 5G NR network deployed on equipment from any vendor — because you will understand what is actually happening at the protocol layer, not just what one vendor's GUI shows you. You will read 3GPP specifications fluently. You will trace a failed call from the air interface to the core. You will know which parameter to touch and why.

Who This Book Is For

This book is written for the working 5G optimization engineer — the person whose job is to look at a poor cluster of cells, understand what is wrong, and make it right. It assumes you have completed an introductory 5G NR course and that you can read a basic call flow. It does not assume you have memorised any specification clause; we will quote what matters and tell you where to read more.

It will also be useful to:

  • RF planners who want to understand how planning choices manifest in live KPIs.
  • Core/IMS engineers working on VoNR and slicing who need a solid RAN view.
  • Drive-test engineers moving into post-processing and root-cause analysis.
  • Test engineers writing automation against PM counters and trace files.
  • Trainers, instructors, and graduate students who want a single specification-aligned reference.

How To Read This Book

The book is organised as a learning path. Part I builds the foundations: the optimization mindset, the NR architecture, and the 3GPP KPI/counter framework. Parts II through VI take you through the four classical optimization domains — coverage, accessibility, mobility, throughput — plus retainability. Part VII tackles the advanced domains that increasingly dominate 5G work: NSA/EN-DC, VoNR, slicing, and energy saving. Part VIII closes with the engineering workflow that ties everything together.

You can read it cover-to-cover, or you can use it as a reference: each chapter is self-contained enough that you can drop into “Chapter 14 — Intra-gNB Handover” without rereading earlier material. Cross-references are explicit. The appendices are designed to live next to your monitor.

A note on terminology

Throughout this book, “the gNB” means the 3GPP-defined logical node. Where the distinction between gNB-CU, gNB-DU, gNB-CU-CP, and gNB-CU-UP matters, we are explicit. Where it does not, we use “gNB” for readability. The same convention applies to “the UE,” “the cell,” and “the network.”

How To Use The Examples

Every numerical example in this book uses parameter values that are typical for production deployments but are not tied to any specific vendor's defaults. Where the specification defines a value range (e.g., q-RxLevMin: −140 to −44 dBm), we will tell you both the range and a sensible starting point. Where the specification leaves the value to vendor implementation, we will say so plainly.

You should always validate any value against your live network's behaviour before deploying. This book gives you the framework; the network gives you the truth.

— Abhijeet Kumar
Bangalore / Delhi, April 2026

Page i
Part One

Foundations of 5G RAN Optimization

The mindset, the architecture, and the language of 3GPP-defined KPIs and counters — everything you need before touching a parameter.

Chapter 1 Preview

Foundations of 5G NR Performance

What every senior optimizer must know before touching a parameter — from the Shannon bound to TS 28.554

3GPP TS 22.261 · TS 38.211 · TS 38.214 · TS 38.215 · TS 38.331 · TS 28.552 · TS 28.554
11 sections 5 advanced diagrams 6 tables 6 equations 3 spec quotes Reading time: ~55 min
Chapter Objectives
  • Locate 5G NR in the Shannon–Hartley performance envelope and quantify the implementation gap.
  • Write the exact 3GPP TS 38.215 definitions of SS-RSRP, SS-RSRQ, and SS-SINR from memory, and know what each term in the RSRQ ratio actually represents.
  • Derive the layer-3 filter settling time from the filterCoefficient in TS 38.331 §5.5.3.2 and predict when a measurement is converged.
  • State every major TS 28.554 KPI as a formula over TS 28.552 counter names — no vendor aliases.
  • Compute a Wilson score confidence interval on a RACH success sample and say honestly whether the number is trustworthy.
  • Model the optimization loop as a discrete-time control system and justify the one-change-per-iteration rule on stability grounds.
  • Recognise Goodhart's Law, Simpson's paradox, survivorship bias, and confounding in KPI-driven engineering.

1.1 The 5G Performance Envelope

Before we touch a counter, we must know what the network is supposed to deliver. 3GPP defines the 5G performance envelope primarily in TS 22.261 (Service requirements for the 5G system) and operationalises it in TS 38.913 (Study on scenarios and requirements for next generation access technologies). These are the numbers an optimizer is measured against — not vendor data sheets, not marketing decks, not RAN BoQs.

DimensionIMT-2020 / 3GPP RequirementSpec Clause
Peak data rate (DL / UL)20 Gbps / 10 GbpsTS 38.913 §6.1.1
User-experienced rate (DL / UL)100 Mbps / 50 MbpsTS 22.261 §7.1
Spectral efficiency (DL peak)30 bps/HzTS 38.913 §6.1.3
U-plane latency (URLLC)≤ 0.5 ms one-wayTS 22.261 §6.2.1
C-plane latency≤ 10 ms (idle→connected)TS 38.913 §6.1.4
Reliability (URLLC)1 − 10−5 per PDU, 1 ms U-planeTS 22.261 §6.3.1
Connection density10&sup6; devices / km²TS 22.261 §6.2.6
Mobility supportup to 500 km/h (HST)TS 38.913 §6.1.6
Energy efficiency100× improvement over LTETS 38.913 §6.4.5
Cell availability (SA, macro)≥ 99.95%TS 28.554 §6.5.1

Table 1.1 — The 5G performance envelope as codified by 3GPP. These are the numbers against which every KPI is ultimately judged.

Every cell you optimise lives inside this envelope. A good optimizer knows, for each cell they touch, which dimension is currently the binding constraint — the dimension that limits the KPI. It is almost never all of them at once. A coverage-limited cell on the edge of a rural cluster is constrained by SS-SINR. A capacity-limited cell in a downtown office district is constrained by PRB utilisation. A mobility-limited cell on a highway on-ramp is constrained by the timeToTrigger of an A3 event. Naming the binding constraint correctly is the difference between an optimizer and a parameter tourist.

Engineering Insight

The IMT-2020 targets in Table 1.1 are envelope requirements, not per-cell requirements. No single cell will ever meet all of them simultaneously — peak data rate and connection density, for example, are mutually exclusive in practice. The envelope is the union of what the system can deliver across its deployment modes. Knowing which mode a cell is in tells you which targets are binding.

1.2 Shannon's Bound and the 5G NR Implementation Gap

The hard upper ceiling on what a 5G NR cell can ever deliver is the Shannon–Hartley channel capacity. For an AWGN channel of bandwidth B (Hz) and received signal-to-noise-plus-interference ratio SINR, the Shannon bound is:

C = B · log2(1 + SINR)   [bits/s]

Equation 1.1 — Shannon–Hartley channel capacity

For a 100 MHz FR1 carrier at SINR = 20 dB (linear SINR = 100), Shannon gives C = 100×106×log2(101) ≈ 666 Mbps. Real 5G NR, after cyclic prefix overhead (7.03% for normal CP), DMRS overhead (on the order of 14% for single-symbol front-loaded DMRS), PT-RS where used, and a maximum code rate capped at 948/1024 per TS 38.214 Table 5.1.3.1-2, delivers roughly 78–82% of the Shannon limit at that SINR operating point. Knowing the gap lets you estimate the ceiling from first principles and immediately flag when a vendor's “8 Gbps” lab number is achievable or not.

Shannon Capacity vs SINR — 5G NR Operating Envelope C = B·log₂(1+SINR) for B = 20, 50, 100 MHz. NR operating points at typical MCS values. SINR (dB) Capacity (Mbps) −10 0 10 20 30 40 0 200 400 600 800 1000 B = 100 MHz B = 50 MHz B = 20 MHz MCS 10 ~140 Mbps MCS 20 ~420 Mbps MCS 27 ~580 Mbps Rank 2, MCS 27 ~1.1 Gbps ~20% gap

Figure 1.1 — Shannon capacity C = B·log2(1+SINR) for 20, 50, 100 MHz carriers. Marked points show typical single-layer 5G NR operating points using TS 38.214 Table 5.1.3.1-2 (256QAM MCS table). The ~20% gap between NR and Shannon reflects cyclic prefix, DMRS, PT-RS, and the 948/1024 code-rate cap.

1.3 The Formal Measurement → Counter → KPI Hierarchy

Optimization data lives in three distinct 3GPP specifications that are usually conflated. Getting the distinction right is the first thing that separates a junior engineer from a senior one.

Layer 1 — Physical measurements (TS 38.215)

TS 38.215 §5 defines every physical-layer measurement quantity. The two most important for coverage optimization are SS-RSRP and SS-RSRQ. The spec text is tight; read it carefully.

TS 38.215 §5.1.1 — SS-RSRP (verbatim)

“SS reference signal received power (SS-RSRP), is defined as the linear average over the power contributions (in [W]) of the resource elements that carry secondary synchronization signals. The measurement time resource(s) for SS-RSRP are confined within SS/PBCH Block Measurement Time Configuration (SMTC) window duration.”

Three subtleties hide in that one sentence. First, SS-RSRP is a linear average — in watts, not dBm. The GUI displays dBm because dBm is human-readable, but any arithmetic (e.g., beam averaging, layer-3 filtering) happens in linear units and is then converted. Second, only resource elements that carry secondary synchronization signals contribute — PSS REs are not included. Third, the measurement is confined to the SMTC window, which the gNB controls via ssb-MeasurementTimingConfig in SIB2 or a dedicated RRC message. If the SMTC is configured too narrow, beam-level measurements will be noisy and the layer-3 filter will never converge. This is a common but subtle mis-configuration.

TS 38.215 §5.1.3 — SS-RSRQ (verbatim definition)

“SS reference signal received quality (SS-RSRQ) is defined as the ratio N × SS-RSRP / NR carrier RSSI, where N is the number of resource blocks in the NR carrier RSSI measurement bandwidth. The measurements in the numerator and denominator shall be made over the same set of resource blocks.”

SS-RSRQ  =  (N × SS-RSRP) / RSSINR-carrier

Equation 1.2 — SS-RSRQ as defined in TS 38.215 §5.1.3

The RSSI denominator includes all received power in the measurement bandwidth — wanted signal, interference, thermal noise. As the cell becomes more loaded, RSSI rises even though SS-RSRP is unchanged, so RSRQ degrades even for a stationary UE. This is why RSRQ is a better load-sensitive indicator than RSRP, and why RSRP alone is never enough to triage a coverage complaint.

For the data channel, TS 38.215 defines the CSI-RS-based counterparts CSI-RSRP, CSI-RSRQ, and CSI-SINR (clauses 5.1.2, 5.1.4, 5.1.7). These are measured on CSI-RS resources allocated by the gNB per TS 38.214 §5.2, and they are what drives CQI reporting and link adaptation — not the SSB-based measurements, which drive mobility.

Layer 2 — Performance counters (TS 28.552)

Counters live in TS 28.552 and follow the naming convention <Family>.<EventOrStatistic>. The gNB increments them per granularity period (GP, default 900 s, configurable) and reports them over the O1 interface to the management system per TS 28.550 and TS 28.532. Every vendor should implement these exact names; the vendor GUI may show aliases. The families you will touch daily are:

FamilyDomainTS 28.552 ClauseExample counter
RARandom access (RACH)§5.1.1.5RA.PreambleGroupA, RA.PreambleTotalA, RA.PreambleDetectedA
RRCRRC connection setup/release§5.1.1.15RRC.ConnEstabAtt.<cause>, RRC.ConnEstabSucc.<cause>
RRC.ReestRRC re-establishment§5.1.1.16RRC.ReestAtt, RRC.ReestSucc, RRC.ReestAttNoCtxt
NGNGAP signalling to 5GC§5.1.1.7NG.InitUeContSetupAtt, NG.InitUeContSetupSucc
QFQoS flow management§5.1.1.23QF.EstabAttNbr.5QI, QF.EstabSuccNbr.5QI
DRBData radio bearer§5.1.1.24DRB.EstabAttNbr.QoS, DRB.PdcpSduLossRateUl
HOIntra-system handover§5.1.1.6HO.ExeAttIntraCell, HO.PrepInterFreq, HO.ExeSuccIntraCell
RABRadio access bearer / release§5.1.1.4RAB.ActiveUeDlSum, RAB.RelActNbrOutage.5QI
BeamLevelPer-SSB-beam measurements§5.1.1.19BeamLevel.SS-RSRP, BeamLevel.CSI-RSRP
SlicePer-S-NSSAI breakdown§7any counter, extended with .SNSSAI index

Table 1.2 — Core TS 28.552 counter families every 5G optimizer uses daily. Counter names are 3GPP-standardised; vendor GUIs may show aliases.

Layer 3 — KPIs (TS 28.554)

KPIs are formulas that combine counters. TS 28.554 §6 defines the major ones explicitly. We list the most important in Table 1.3, using exact counter names from TS 28.552.

KPIFormula (TS 28.554 + TS 28.552 counters)Target
RACH Setup SRΣRA.PreambleDetected* / ΣRA.Preamble*≥ 99.5%
RRC Connection Setup SRΣRRC.ConnEstabSucc.cause / ΣRRC.ConnEstabAtt.cause≥ 99.5%
NG Signalling Setup SRNG.InitUeContSetupSucc / NG.InitUeContSetupAtt≥ 99.0%
Initial PDU Session Establ. SRQF.EstabSuccNbr.5QI / QF.EstabAttNbr.5QI (per 5QI)≥ 99.0%
Intra-System HO Success RatioHO.ExeSuccIntraCell / HO.ExeAttIntraCell (sum over cell pairs)≥ 99.0%
Service Drop (Abnormal Release) RateRAB.RelActNbrOutage.5QI / RAB.ActiveUeDlSum.5QI≤ 0.5%
Mean DL Cell ThroughputΣDRB.UeThpDl / TGPload-dependent
Cell Availability(TGP − Tdowntime) / TGP≥ 99.95%

Table 1.3 — Major TS 28.554 KPIs expressed as formulas over TS 28.552 counters. These are the canonical definitions; an operator SLA may add conditions (exclusion periods, cause-code filters) but cannot contradict them.

Warning — the aggregation trap

When you compute a KPI across many cells, sum the counters first, then divide. Never average per-cell KPIs. Averaging ratios is a Simpson's-paradox generator (§1.10): a cluster KPI computed as the average of cell KPIs can move in the opposite direction of the true underlying ratio when cell sample sizes are unequal. TS 28.554 is explicit: aggregation is done on counters, not on per-cell KPIs.

1.4 The Time Hierarchy: From OFDM Symbol to Daily KPI

Every KPI you look at is the result of a cascade of averaging and filtering operations across many timescales. The senior engineer keeps this stack in their head at all times, because every optimization action has a settling time governed by where in the stack it lands.

The 5G Time Hierarchy Every KPI is the output of this cascade OFDM symbol Atomic time unit — 1/14 of slot ~8.93 μs – 71.4 μs (numerology μ = 3 – 0) Slot (14 symbols) Scheduling granularity — TS 38.211 §4.3.2 0.125 – 1 ms (μ=3: 120kHz – μ=0: 15kHz) Subframe (1 ms) Fixed anchor — TS 38.211 §4.3.2 1 ms (2ⁿ slots per SF) Radio frame (10 ms) SFN cycle base — TS 38.211 §4.3.1 10 ms (SFN 0..1023, 10.24 s hyperframe) Layer-3 Filter Output Fₙ = (1−a)Fₙ₋₁ + a·Mₙ per TS 38.331 §5.5.3.2 10 ms – ~seconds (k = 0..17, a = 2⁻ᵏ⸍₄) PM Counter Granularity Period Configurable aggregation at gNB — TS 28.550 1 / 5 / 15 / 60 min (default 900 s) KPI Aggregation Window Operator dashboard rollup — TS 28.554 §4.3 1 h / 24 h / 7 d (hourly, daily, weekly) aggregate up → Every parameter change needs at least one full PM GP — often three — before the KPI window sees it.

Figure 1.2 — The 5G time hierarchy. OFDM-symbol-level decisions at the bottom propagate upward through filtering and aggregation to the KPI window at the top. The mismatch between parameter-change timescale (milliseconds) and KPI-visibility timescale (minutes to hours) is the fundamental constraint on the optimization loop.

The filter equation at the middle of the stack deserves its own treatment, because it is the most common single source of optimization mistakes.

TS 38.331 §5.5.3.2 — Layer 3 filtering (verbatim)

“The UE shall filter the measured result, before using for evaluation of reporting criteria or for measurement reporting, by the following formula: Fn = (1 − a) · Fn−1 + a · Mn, where Mn is the latest received measurement result from the physical layer; Fn is the updated filtered measurement result, that is used for evaluation of reporting criteria or for measurement reporting; Fn−1 is the old filtered measurement result; a = 1 / 2(k/4), where k is the filterCoefficient for the corresponding measurement quantity received by the quantityConfig field.”

Fn = (1 − a) · Fn−1 + a · Mn,    a = 2−k/4

Equation 1.3 — Layer-3 filter per TS 38.331 §5.5.3.2

This is a discrete-time exponentially-weighted moving average. Its effective memory (the 63% settling time, expressed in number of samples) is:

τ = −1 / ln(1 − a)    [samples]   ≈  1/a for small a

Equation 1.4 — Layer-3 filter memory

The spec allows filterCoefficient values fc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19 (integer k). Each unit of k halves a every 4 steps, so the settling time doubles every 4 steps. Table 1.4 gives the numerical relationships.

k (filterCoefficient)a = 2−k/4τ (samples)Settling time at 200 ms periodTypical use
01.000∞ (no filter)200 msunfiltered, diagnostic only
10.8410.54~110 msvery fast, noisy
20.7070.82~164 msfast
40.5001.44~290 msdefault for RSRP often
80.2503.48~700 mssmoothed, slow
110.1496.22~1.24 svery smooth, mobility-stable
150.062515.5~3.1 shigh-speed, anti-ping-pong
190.024939.7~7.9 smaximum, may delay handovers

Table 1.4 — Layer-3 filterCoefficient values, effective memory, and settling time (assuming 200 ms measurement period). Senior engineers keep this table in their head.

Worked Example — Why filterCoefficient matters

An operator sets filterCoefficient for RSRP to k = 11 (a = 0.149) on a high-speed rail cluster to stabilise mobility KPIs. Measurement period = 200 ms. Settling time τ ≈ 6 samples × 200 ms = 1.2 s. A UE moving at 300 km/h (83.3 m/s) travels 100 metres in that time. If the cluster has 500 m cell radius, the UE has already crossed 20% of the cell between the time the physical layer detects a better cell and the layer-3 filter reports it to the gNB. That is a 1.2 s delay in trigger — and exactly the kind of thing that pushes A3 events past the handover completion budget. The correct action is to tighten hysteresis or reduce timeToTrigger, not to keep increasing filterCoefficient.

1.5 Statistical Confidence in KPI Measurement

A KPI is a random variable, not a deterministic number. Every value on the dashboard has a confidence interval around it, and if you act on a small-sample KPI without computing that interval, you will chase noise.

The RACH success ratio is a classic Bernoulli process: each preamble either succeeds or fails. If we observe s successes in n attempts, the maximum-likelihood estimate of the true success probability is p̂ = s/n. The normal (Wald) confidence interval for large samples is:

p̂ ± zα/2 · √(p̂(1−p̂)/n),    z0.025 = 1.96

Equation 1.5 — Wald interval (95% CI)

But the Wald interval becomes meaningless when p̂ is close to 0 or 1 — exactly the regime in which all accessibility KPIs live. For small samples near the boundary, the Wilson score interval is vastly better:

(p̂ + z²/2n ± z·√(p̂(1−p̂)/n + z²/4n²)) / (1 + z²/n)

Equation 1.6 — Wilson score interval (95% CI)

Worked Example — Is 99% actually 99%?

A low-traffic rural cell in a 15-minute granularity period reports: RA.PreambleDetected = 99, RA.PreambleTotal = 100. RACH SR = 99.0%. Wald 95% CI: 99.0% ± 1.96·√(0.99·0.01/100) = 99.0% ± 1.95% → [97.05%, 100.95%], which exceeds 100% and is nonsense. Wilson 95% CI gives approximately [94.6%, 99.8%]. The true RACH SR is somewhere in that interval; the point estimate of 99% is statistically indistinguishable from the 99.5% target. Any optimization action based on this single granularity period is noise-chasing. The correct action is to accumulate counters over at least 6–12 hours before concluding there is a problem.

Confidence Interval vs Sample Size (observed SR = 99%) Wilson 95% CI shows when a RACH sample is trustworthy Sample size n (RACH attempts) Success Ratio 10 100 1 000 10 000 100% 98% 96% 94% 92% 3GPP target 99.5% point estimate 99% n=10: [71%, 100%] n=100: [94.6%, 99.8%] n=1000: [98.3%, 99.5%] n=10k: [98.8%, 99.2%] Below 1000 attempts, the 99% point estimate is indistinguishable from the 99.5% target.

Figure 1.3 — Wilson 95% confidence interval width as a function of sample size, for an observed success ratio of 99%. The cone shows the envelope of the true success probability given the observation. Only at n ≳ 1000 attempts does the point estimate become distinguishable from the 99.5% target.

Key Concept

A KPI with fewer than ~1000 events in its granularity period is a noise generator, not a measurement. Always look at the underlying counter volume before you act on the ratio. If the denominator is small, aggregate over a longer window before drawing any conclusion.

1.6 The Four Classical Domains — With Formulas

Every optimization task still maps to one of the four classical domains, but a senior engineer defines them using the underlying mathematics rather than slogans.

The Four Classical Domains — Governing Equations Subscriber Experience COVERAGE Limit: Shannon lower bound SINR > SINRₘᵢₙ(MCS0) i.e. −6 dB for BLER < 10% Target RSRP: ≥ −110 dBm KPI: BeamLevel.SS-RSRP histogram ACCESSIBILITY Limit: preamble collision prob. P˙ᶜ ≈ 1−(1−1/M)ᵏ⁻¹ (M = # preambles, k = concurrent UEs) Target: RACH SR ≥ 99.5% KPI: RA.PreambleDetected / RA.PreambleTotal RETAINABILITY Limit: mean time between failures MTBF = 1 / (λᴿₗᶠ + λₕₒᶠ) (failure rates per UE-hour) Target: Drop rate ≤ 0.5% KPI: RAB.RelActNbrOutage / RAB.ActiveUeDlSum THROUGHPUT & MOBILITY Limit: Little's Law in scheduler L = λ·W → λₜₕ = nₐᶜₜ/W (scheduled UEs / mean service time) Target: DRB.UeThpDl per SLA KPI: HO.ExeSucc / HO.ExeAtt

Figure 1.4 — The four classical optimization domains with their governing equations. Each domain has a different mathematical framework, but all four ultimately converge on subscriber experience.

We will derive each of these formulas rigorously in later chapters. The point here is that optimization is not pattern-matching on dashboards — it is applied engineering math, and the senior engineer keeps the formulas at the back of their mind at all times.

1.7 The KPI Interaction Matrix

Every parameter change touches multiple KPIs. A tightening of the A3 offset raises handover attempts, which mechanically lowers the per-attempt success ratio (denominator grows faster than numerator near the decision threshold) while also reducing the mean cell-edge residency time — which lowers the drop rate in the source cell but raises the ping-pong rate and hence the target-cell accessibility load. A senior engineer learns this matrix over years; Table 1.5 codifies the most important couplings.

Parameter touchedDirect KPICoupled KPI (often opposite)Coupling mechanism
a3-OffsetHO attempt rate ↑HO SR ↓ , Ping-pong ↑Earlier trigger → weaker-signal decisions
hysteresisPing-pong ↓HO latency ↑, RLF ↑Delays the mobility decision
timeToTriggerHO SR ↑RLF on cell edge ↑Filters transients but holds late
T310 (RLF timer)False RLF ↓Real RLF detect latency ↑Bigger window, slower detection
target BLER (10% vs 1%)Latency ↓Throughput ↓More retransmissions or lower MCS
preambleReceivedTargetPowerRACH SR ↑UL interference ↑, UL cap. ↓Louder preambles leak into data
q-RxLevMinCell selection thresholdLoad imbalance among neighboursMoves boundary between cells
p0-NominalPUSCHUL cell-edge rate ↑UL ICI to neighbours ↑Raising UL power floor

Table 1.5 — The core KPI interaction matrix. Memorise it: every single row is a trade-off, not a free lunch.

1.8 The Optimization Loop as a Control System

The Measure → Analyse → Act → Verify loop is not a management process. It is a discrete-time closed-loop controller in the formal control-theoretic sense, and it obeys the same stability rules as any other sampled feedback system.

The Optimization Loop as a Control System Discrete-time, sampled at the PM granularity period KPI target r[n] TS 28.554 + Controller C(z) (the optimizer) u[n] = f(e[n]) Plant G(z) the network slow, noisy, nonlinear PM & Filter H(z) GP averaging Disturbances d[n] traffic, weather, interference e[n] u[n] y[n] ŷ[n] (filtered KPI) Stability rule: loop delay ≥ 3 × GP One change per iteration preserves the single-input-single-output assumption behind the analysis.

Figure 1.5 — The optimization loop drawn as a classical SISO sampled control system. The plant (the network) is slow, noisy, and nonlinear; the measurement path (PM counters + layer-3 filter) introduces a one-sample delay. Loop stability demands that the controller wait at least three granularity periods before acting on its own effect.

Several control-theoretic insights fall straight out of this picture. (i) The loop has inherent delay equal to one GP — you cannot measure your own effect until at least one full granularity period has elapsed. (ii) Changing two parameters at once converts the SISO loop into a 2-input-1-output system, and the sensitivity matrix becomes ill-conditioned; this is the formal reason for the “one change per iteration” rule. (iii) The effective loop gain must be < 1 to guarantee stability; when an engineer panics and doubles their parameter step on each iteration, they are violating the small-gain theorem and the loop will oscillate. (iv) External disturbances (traffic, weather, day-of-week) enter at the plant and cannot be rejected by the controller — they can only be averaged out by lengthening the aggregation window.

1.9 Anti-Patterns at the Senior Level

Four subtle failures separate senior optimizers from exhausted ones. Each has a name in statistics or econometrics, and each shows up in the field almost every week.

Goodhart's Law

“When a measure becomes a target, it ceases to be a good measure.” The moment an operator ties engineer bonuses to RACH SR, engineers discover ways to make the counter look good without improving the underlying user experience — for example, by filtering out preambles that come from paging responses (which have higher failure rates) or by excluding cells during busy hour. The KPI hits target; users still complain. The fix is to monitor families of KPIs and cross-check them against user-experience indicators (Net Promoter, app-level QoE) regularly.

Simpson's Paradox

A cluster KPI can move in the opposite direction to every single underlying cell KPI, when the mix of cell sizes shifts. Example: a cluster reports HO SR dropping from 99.2% to 99.0%. Drilling in, every cell individually improved — but a large-denominator cell with lower SR gained traffic share. The aggregate KPI is a weighted average, and the weights changed. The fix is to aggregate on counter sums, not on ratio averages, and to always check the denominator distribution.

Survivorship Bias in Drive Tests

Drive tests are conducted on live cells. Cells that were crashing or alarmed at the time of the test are excluded from the route. The KPI of the drive test cluster is therefore upward-biased: it measures only the cells that were healthy enough to measure. The fix is to correlate drive test results against the PM data from the same time window and to explicitly flag excluded cells.

Confounding Variables

A parameter change is rolled out on Monday morning. By Tuesday the KPI has improved by 0.3 percentage points. The engineer claims victory — but Monday was a public holiday, traffic was 40% of normal, and the improvement came from reduced load rather than from the change. The fix is to require at least one full weekly traffic cycle between the change and the before/after comparison, and to use matched-cell controls (A/B testing) whenever possible.

1.10 The Vendor-Neutral Vocabulary

Throughout this book we will use only 3GPP-standardised names for counters, parameters, and procedures. The discipline is not stylistic — it is operational. A 3GPP name carries a specification clause that any engineer in the world can look up; a vendor alias carries only the vendor's internal documentation, which may disappear at the next release. When you encounter a counter in a GUI, your first action should be to look up the corresponding TS 28.552 family and clause. Only then should you translate back to the local vendor terminology — and you should record the translation in your team's reference.

Five counters in particular are universally known under vendor aliases but have clean 3GPP names that every optimizer should use in speech and writing:

3GPP Standard Name (TS 28.552)Typical vendor alias patternWhat it actually counts
RA.PreambleTotalA"RACH Preamble Group A received"Msg1 preambles from group A detected by PRACH receiver
RRC.ConnEstabSucc.mo-Data"RRC Setup Completes MO"RRCSetupComplete with cause = mo-Data in EstablishmentCause IE
HO.ExeSuccIntraCell"Intra-Cell HO Success"Handover completion in the same gNB
RAB.RelActNbrOutage.5QI1"VoNR Drop Count"Active VoNR (5QI=1) bearer released due to radio outage
DRB.UeThpDl.5QI9"eMBB Average DL Throughput"Per-UE DL PDCP SDU throughput averaged over active period

Table 1.6 — Five commonly-aliased counters and their 3GPP standard names. Use the standard names in every document.

1.11 Summary

Chapter 1 in a Nutshell
  • The performance envelope is defined by TS 22.261 and TS 38.913 — peak rates, latency, reliability, density. Every KPI is ultimately judged against this envelope.
  • Shannon's bound C = B·log2(1+SINR) sets the hard ceiling. Real 5G NR achieves ~80% of Shannon after CP, DMRS, PT-RS, and the 948/1024 code rate cap in TS 38.214.
  • The three-layer hierarchy is formal and separable: Layer 1 physical measurements (TS 38.215), Layer 2 counters (TS 28.552), Layer 3 KPIs (TS 28.554). Know the clause for each.
  • The SS-RSRQ formula is N·SS-RSRP / RSSI — not a synonym for RSRP. RSSI includes interference and load; SS-RSRP does not.
  • The layer-3 filter Fn = (1−a)Fn−1+a·Mn with a = 2−k/4 has settling time τ ≈ 1/a samples. Misconfigured filterCoefficient is a silent cause of mobility problems.
  • Every KPI is stochastic. Use the Wilson score interval for small samples. A sub-1000-event denominator is a noise generator, not a measurement.
  • The four classical domains — coverage, accessibility, retainability, throughput/mobility — each have formal governing equations. Memorise them.
  • The KPI interaction matrix (Table 1.5) is a catalogue of trade-offs. Every parameter touches multiple KPIs in opposite directions.
  • The optimization loop is a SISO control system. Loop delay ≥ 3×GP. Never change more than one parameter per iteration. This is the small-gain theorem in disguise.
  • Anti-patterns: Goodhart, Simpson, survivorship bias, confounding. If you cannot name which is happening on your dashboard today, you are not looking hard enough.
  • Vocabulary discipline: use 3GPP names exclusively. Vendor aliases are aliases, not truth.

With the mathematical foundations in place, the next chapter takes this apparatus and applies it to the 5G NR architecture itself. We will walk through the gNB functional split, the O1/F1/E1/NG/Xn interfaces, and the mapping of each counter family to the logical node that owns it — so that when you see a degraded KPI, you know instantly which log file on which host to open.

Page 1
Chapter 2

5G NR Architecture for Optimizers

Counter ownership, functional split, and interface topology — the foundational map every optimizer must internalize before touching a parameter

3GPP TS 38.300 · TS 38.401 · TS 37.340 · TS 28.552
10 Sections
8 Diagrams
6 Tables
3 Verbatim Spec Quotes
2 Worked Examples
Chapter Objectives
  • Identify the four logical nodes of a disaggregated gNB (CU-CP, CU-UP, DU, RU) and state which protocol layers reside in each per TS 38.401 §6.
  • Name all seven NG-RAN reference interfaces (N2, N3, Xn-C, Xn-U, F1-C, F1-U, E1), their owning node pairs, and their IETF transport stacks.
  • Distinguish NSA (EN-DC, TS 37.340) from SA (TS 38.300) at the level of core attachment, bearer structure, and PM counter source node.
  • Construct the complete counter-family-to-logical-node ownership map and use it to localize a degraded KPI to the correct physical host without guessing.
  • Explain how PM measurement files are generated, formatted (TS 32.435 XML), and transported via the O1 interface (NETCONF/YANG per TS 28.532).
  • Apply the ownership map to a worked scenario: RRC setup failure with stable RACH → fault localized to F1-C transport or gNB-CU-CP, not gNB-DU.

§2.1  Why the Architecture Matters to the Optimizer

A widespread failure mode in 5G RAN optimization is treating the gNB as a monolithic black box. The optimizer observes a degraded KPI on the dashboard, issues a parameter change “in the gNB,” and waits. When the KPI does not recover, the investigation stalls because there is no mental model of where inside the gNB the failure originated.

Modern 5G NR deployments are functionally disaggregated. A single “cell” visible to the UE is actually the product of up to four distinct logical nodes (gNB-CU-CP, gNB-CU-UP, gNB-DU, and optionally a separate O-RU), connected by three distinct reference interfaces (F1, E1, eCPRI fronthaul), each with its own transport, its own PM counter emission, and its own failure modes. This disaggregation has a direct consequence: PM counters are not emitted by “the gNB” — they are emitted by specific logical nodes.

Key Concept: Counter Ownership Is Node-Specific

RRC connection establishment counters (RRC.ConnEstabAtt, RRC.ConnEstabSucc) are emitted by the gNB-CU-CP. RACH preamble counters (RACH.PreambleDedCell) are emitted by the gNB-DU. DRB throughput counters (DRB.ThpVolDl) are emitted by the gNB-CU-UP. If these three nodes are hosted on separate physical servers in a cloud-native RAN deployment, then a single “accessibility KPI” degradation may require you to open log files on three different hosts. Without the ownership map, you cannot know which one.

This chapter builds that ownership map from first principles, starting with the TS 38.401 functional split, moving through the interface protocol stacks, covering NSA and SA architectures in parallel, and arriving at a precise table that every optimizer should be able to reproduce from memory.

§2.2  The gNB Logical Node Architecture (TS 38.401 §6)

TS 38.401, “NG-RAN; Architecture description,” defines the disaggregated gNB architecture in Section 6. The specification permits two levels of split: a CU/DU split (mandatory reference point) and a further CU-CP/CU-UP split (optional but common in cloud-native deployments). Understand both because PM counter families align to both levels.

Verbatim — 3GPP TS 38.401 §6.1.3
“The gNB-CU is a logical node that hosts the RRC, SDAP and PDCP protocols of the gNB or en-gNB, and the gNB-CU is connected to the 5GC via the NG interface. The gNB-DU is a logical node that hosts the RLC, MAC and Physical layer and it is connected to the gNB-CU via F1 logical interface.”

The further decomposition of the gNB-CU into control-plane and user-plane components is specified in TS 38.401 §6.2:

Verbatim — 3GPP TS 38.401 §6.2.1
“The gNB-CU-CP is a logical node hosting the RRC and the control plane part of the PDCP protocol of the gNB-CU for an en-gNB or a gNB. The gNB-CU-UP is a logical node hosting the user plane part of the PDCP protocol and the SDAP protocol of the gNB-CU for an en-gNB or a gNB. The gNB-CU-CP and gNB-CU-UP are connected via the E1 interface.”

The four resulting logical nodes are:

Table 2.1 — gNB Logical Nodes: Functions, Protocol Layers, and Interfaces (TS 38.401)
NodeHosted Protocol LayersUpward InterfaceDownward InterfaceCore Interface
gNB-CU-CPRRC, PDCP-C (SRBs)F1-C → gNB-DU, E1 → gNB-CU-UPNG-C (N2) → AMF, Xn-C → peer CU-CP
gNB-CU-UPSDAP, PDCP-U (DRBs)E1 → gNB-CU-CPF1-U → gNB-DUNG-U (N3) → UPF, Xn-U → peer CU-UP
gNB-DURLC, MAC, PHY-HighF1-C ← CU-CP, F1-U ← CU-UPeCPRI/CPRI → O-RU (optional)
O-RUPHY-Low, RF, BeamformingeCPRI/O-FH ← gNB-DUAntenna
Fig 2.1 — gNB Functional Split (TS 38.401 §6.2) Each box is a distinct logical node with its own PM counters and failure domain gNB-CU-CP TS 38.401 §6.2.1 Protocol Layers: RRC PDCP-C (SRBs) Interfaces: • F1-C → gNB-DU • E1 → gNB-CU-UP • N2 (NGAP) → AMF • Xn-C → peer CU-CP PM Counters: RRC.ConnEstab HO.IntraFreqHoSucc NG.IniCtxtSetupSucc RRC.ReEstabAtt TS 38.321 · TS 38.331 E1 TS 38.463 gNB-CU-UP TS 38.401 §6.2.2 Protocol Layers: SDAP PDCP-U (DRBs) Interfaces: • F1-U → gNB-DU • E1 → gNB-CU-CP • N3 (GTP-U) → UPF • Xn-U → peer CU-UP PM Counters: DRB.ThpVolDl/Ul QosFlow.TotNbrDl PDCP.PacketDelayDl GTP-U Drop counters TS 37.324 · TS 38.323 gNB-DU TS 38.401 §6.1 Protocol Layers: RLC MAC PHY-High Interfaces: • F1-C ← gNB-CU-CP • F1-U ← gNB-CU-UP • eCPRI → O-RU PM Counters: RACH.PreambleDed MAC.SDVolDl/Ul L1M.RS-SINR.Avg MAC.PDSCH.ActPRB TS 38.321 · TS 38.322 eCPRI O-RU O-RAN WG4 Protocol Layers: PHY-Low RF Front-End Beamforming Functions: • ADC / DAC • PRACH detect • Antenna arrays • Weight application Note: No 3GPP PM counters — use O-RAN M-plane TS 38.211 · O-FH F1-C (TS 38.473) · F1-U (TS 38.474)
Fig 2.1 — gNB Internal Functional Split per TS 38.401 §6.2. Each box is a distinct logical node. E1, F1-C, and F1-U are the three intra-gNB reference interfaces. The O-RU is defined by O-RAN Alliance specifications, not 3GPP directly.
Note on RRC Location

RRC exclusively resides in gNB-CU-CP. There is no RRC in the DU. This means: all RRC signalling (connection establishment, reconfiguration, release, re-establishment, measurement configuration) is processed in the CU-CP. A DU outage causes RLF at the UE and counter increments in the DU and CU-CP simultaneously — but RRC failure counters will appear only in the CU-CP PM file.

§2.3  Protocol Layer Assignment Across Nodes

Understanding precisely which protocol layer runs in which node is the prerequisite for correct counter attribution. The assignment is fixed by the 3GPP functional split and cannot be changed by implementation choice.

Table 2.2 — Protocol Layer-to-Node Assignment (TS 38.401, TS 38.322, TS 38.321, TS 37.324, TS 38.323)
LayerStandardLogical NodeSRB vs DRBKey Function for Optimizer
RRCTS 38.331gNB-CU-CPSRB onlyMeasurement config, HO commands, RLF triggers
SDAPTS 37.324gNB-CU-UPDRB onlyQoS flow → DRB mapping; 5QI enforcement
PDCP-CTS 38.323gNB-CU-CPSRBs (0/1/2)Integrity protection, ciphering of RRC messages
PDCP-UTS 38.323gNB-CU-UPDRBsHeader compression (ROHC), PDCP duplication for DAPS HO
RLCTS 38.322gNB-DUBothSegmentation, ARQ retransmission; RLC counters indicate reorder/timeout
MACTS 38.321gNB-DUBothScheduling, HARQ, RACH; scheduler parameters live in DU
PHY-HighTS 38.211gNB-DUChannel estimation, HARQ feedback processing
PHY-Low / RFTS 38.211O-RUFFT/IFFT, PRACH detection, beamforming weights

The F1 interface cuts between the MAC/PHY (in the DU) and the RLC (also in the DU) — wait, that is not quite right. The F1 transport boundary is above the RLC. Specifically: RLC SDUs are tunnelled over F1-U as GTP-U packets. This has a performance implication: F1 transport latency directly adds to RLC ARQ round-trip time. If your F1 link introduces 2 ms additional RTT, the RLC t-Reordering timer must be set accordingly, or premature re-establishment will occur. This is a DU-side parameter, but the cause is in the fronthaul transport, not in the DU scheduler.

Fig 2.3 — Protocol Layer Distribution at CU/DU Split (TS 38.401 §4.1) F1 interface cuts between CU and DU · eCPRI cuts between DU and O-RU L3 L2 L1 gNB-CU RRC TS 38.331 — in CU-CP Measurement config, HO cmd PDCP TS 38.323 — CP in CU-CP, UP in CU-UP ROHC, integrity, ciphering SDAP TS 37.324 — in CU-UP only QoS flow → DRB mapping (5QI) F1 Inter- face F1-C/F1-U TS 38.473 gNB-DU RLC TS 38.322 — in DU Segmentation, ARQ, reordering MAC TS 38.321 — in DU Scheduling, HARQ, RACH PHY-High TS 38.211 — in DU Channel estimation, HARQ proc. eCPRI Front- haul 7-2x split O-RAN WG4 O-RU PHY-Low TS 38.211 — in O-RU FFT/IFFT, CP add/remove RF + Beamforming O-RAN WG4 M-plane ADC/DAC, weight apply Optimizer Rule: SRB PDCP (SRB0/1/2) lives only in CU-CP. DRB PDCP and SDAP live in CU-UP. RRC failure ≠ DU failure. F1 Latency Rule: F1 RTT adds directly to RLC t-Reordering. Set DU timer > F1 RTT to avoid premature RLC reset. O-RAN Note: No 3GPP PM counters in O-RU. Fronthaul failure = silent RACH zero-attempt in DU PM. Monitor via O-RAN M-plane only.
Fig 2.3 — Protocol layer distribution across gNB-CU and gNB-DU. The F1 interface boundary sits between the CU (RLC/MAC-free zone) and DU. The eCPRI boundary separates PHY-High (DU) from PHY-Low (RU). Both are critical fault isolation points.

§2.4  The Seven NG-RAN Reference Interfaces

A disaggregated gNB participates in seven distinct reference interfaces, each with its own 3GPP transport specification, its own Application Protocol (AP), and its own failure signature in PM counters. Table 2.3 is the canonical reference.

Table 2.3 — NG-RAN Reference Interfaces: Node Pairs, Application Protocols, and Transport Stacks
InterfaceNode PairPlaneApplication ProtocolTransport3GPP Spec
N2 (NG-C)gNB-CU-CP ↔ AMFControlNGAPSCTP / IPTS 38.413
N3 (NG-U)gNB-CU-UP ↔ UPFUserGTP-UUDP / IPTS 29.281
Xn-CgNB-CU-CP ↔ gNB-CU-CPControlXnAPSCTP / IPTS 38.423
Xn-UgNB-CU-UP ↔ gNB-CU-UPUserGTP-UUDP / IPTS 38.425
F1-CgNB-CU-CP ↔ gNB-DUControlF1APSCTP / IPTS 38.473
F1-UgNB-CU-UP ↔ gNB-DUUserGTP-UUDP / IPTS 38.474
E1gNB-CU-CP ↔ gNB-CU-UPControlE1APSCTP / IPTS 38.463

Three architectural observations from Table 2.3 that are directly relevant to optimization fault isolation:

  • All control planes use SCTP. SCTP (Stream Control Transmission Protocol) provides multi-homing and multi-streaming. An F1-C SCTP failure causes CU-CP to initiate DU-level reset procedures, which appear as mass RRC failure in the PM data — even though the radio interface was never degraded.
  • All user planes use GTP-U over UDP. GTP-U is a tunnelling protocol with no congestion control. If the N3 transport between gNB-CU-UP and UPF is congested, user-plane throughput degrades with no corresponding NGAP or F1AP error counters. The only indicator is DRB throughput counters at the CU-UP, combined with transport-layer monitoring.
  • The E1 interface carries bearer context setup. When a PDU session is established, the gNB-CU-CP sends an E1AP “Bearer Context Setup Request” to the gNB-CU-UP (TS 38.463 §9.2.1). A slow or failed E1 response causes PDU session establishment failures that appear in CU-CP counters as NGAP NG_Setup or NG_InitUEMessage failures, not as DU-side RACH failures.
Fig 2.2 — NG-RAN Interface Map (TS 38.300 §4) Seven reference interfaces — each with its own failure domain 5G Core (5GC) AMF UPF SMF PCF UDM AUSF NRF Service-Based Arch (SBA) TS 23.501 N2: NGAP/SCTP N3: GTP-U/UDP gNB TS 38.300 §4 • CU-CP — RRC + PDCP-C • CU-UP — SDAP + PDCP-U • DU — RLC + MAC + PHY • O-RU — PHY-Low + RF NCI = gNB-ID + Cell-ID Neighbor gNB TS 38.300 §4 Xn-C → HO / NR CG Xn-U → Data forwarding TS 38.423 / TS 38.425 UE Uu: NR Radio Interface N2 (NGAP) N3 Xn (XnAP) Uu Interface Summary: N2=NGAP/SCTP N3=GTP-U/UDP Xn=XnAP Uu=NR air F1-C=F1AP F1-U=GTP-U E1=E1AP
Fig 2.2 — NG-RAN reference architecture per TS 38.300 §4. All seven interfaces are shown with their node pairs and plane assignment. Note that gNB-CU-CP anchors five interfaces (N2, Xn-C, F1-C, E1, and implicitly Xn for data-only bearers); CU-CP is therefore the most critical single point of failure in a disaggregated gNB.
Fig 2.7 — F1 and E1 Interface Protocol Stacks Control planes use SCTP (reliable) · User planes use UDP/GTP-U (no retransmit) F1-C (Control Plane) F1AP TS 38.473 UE Context, Paging, F1 Setup SCTP Reliable · multi-stream · multi-home IETF RFC 4960 IP (v4 / v6) RFC 791 / RFC 8200 Ethernet / L2 IEEE 802.3 Physical (L1) Optical / Copper gNB-CU-CP ↔ gNB-DU ⚡ SCTP failure = mass RRC fail Monitor SCTP heartbeat counters F1-U (User Plane) GTP-U TS 29.281 Tunnels PDCP PDUs over F1 UDP Unreliable · no retransmit RFC 768 IP (v4 / v6) RFC 791 / RFC 8200 Ethernet / L2 IEEE 802.3 Physical (L1) Optical / Copper gNB-CU-UP ↔ gNB-DU ⚡ GTP-U loss = silent thput drop No F1AP alarm for UDP drops! E1 (CU-CP ↔ CU-UP) E1AP TS 38.463 Bearer Ctx Setup/Modify/Release SCTP Reliable · multi-stream RFC 4960 IP (v4 / v6) RFC 791 / RFC 8200 Ethernet / L2 IEEE 802.3 Physical (L1) Optical / Copper gNB-CU-CP ↔ gNB-CU-UP ⚡ E1AP delay = PDU sess fail Bearer Ctx Setup timeout → NGAP fail
Fig 2.7 — Protocol stacks for F1-C, F1-U, and E1. Control plane APs (F1AP, E1AP) ride over SCTP for reliable transport; user plane GTP-U rides over UDP. Packet loss on F1-U does not trigger F1AP alarms — it appears silently as reduced DRB throughput.

§2.5  NSA Architecture: EN-DC (TS 37.340)

Non-Standalone (NSA) architecture, formally specified as E-UTRA-NR Dual Connectivity (EN-DC) in 3GPP TS 37.340, is the dominant initial 5G deployment mode globally. Understanding its bearer structure is essential because it fundamentally changes where NR PM counters originate and how to interpret throughput KPIs.

Verbatim — 3GPP TS 37.340 §4.1
“In E-UTRA-NR Dual Connectivity (EN-DC), the UE is connected to one eNB that acts as a Master Node (MN) and one en-gNB that acts as a Secondary Node (SN). The MN and SN are connected via the X2 interface. The MN is connected to the EPC via the S1 interface. The SN may be connected to the EPC via the S1-U interface or to the 5GC via the NG interface.”

The EN-DC bearer architecture creates three distinct bearer types, each with different PM counter origins:

Table 2.4 — EN-DC Bearer Types and PM Counter Origin
Bearer TypePDCP LocationRadio InterfacePM Counter OriginTS 37.340 Ref
MCG BearereNB (MN)LTE onlyeNB counters only§4.4.1
SCG Beareren-gNB (SN)NR onlyen-gNB CU-CP/CU-UP counters§4.4.2
Split BearereNB (MN)LTE primary + NR secondaryPDCP in eNB; NR PM from DU only§4.4.3
Optimizer Insight: NSA Throughput KPI Interpretation

In split bearer mode, the PDCP resides in the eNB (MN). This means the eNB's PM counters report the total PDCP volume — including the fraction delivered via NR. To isolate the NR contribution to throughput, you cannot use the en-gNB PDCP counters (they don’t exist for split bearers). Instead, use the en-gNB MAC/RLC layer counters (MAC.SDVolDl) which measure what was actually scheduled over NR air interface. The difference between eNB PDCP volume and en-gNB MAC volume is the LTE contribution.

The SN addition procedure in EN-DC involves an X2-C exchange: the MN sends a “SgNB Addition Request” (TS 37.473) to the en-gNB, which responds with an “SgNB Addition Request Acknowledge” once resources are available. The PM counter for this procedure (SgNB.AddReqAtt, SgNB.AddReqSucc) is emitted by the MN (eNB), not the en-gNB. This is a frequent source of confusion: you expect a “5G SgNB addition success rate” KPI to be in the NR PM file, but it is in the LTE PM file.

Fig 2.4 — EN-DC (NSA) Architecture (TS 37.340 §4) LTE eNB = Master Node (MN) · NR en-gNB = Secondary Node (SN) · connected via X2 EPC (4G Core) MME SGW/PGW S1-MME: NGAP compat S1-U: GTP-U 5GC (optional) AMF UPF/SMF NG-C (optional) NG-U (optional) eNB Master Node (MN) • Anchors core connection • RRC primary • PDCP for split bearer • X2-C/U to SgNB SgNB.AddReqAtt → eNB PM! en-gNB Secondary Node (SN = SgNB) • Adds NR capacity • SCG bearer PDCP here • X2-C/U to MN • Optional NG to 5GC DRB.ThpVolDl → SN PM X2-C / X2-U TS 37.473 SgNB Addition UE Dual radio: LTE + NR simultaneously LTE Uu (MCG) NR Uu (SCG) S1 Bearer Types (TS 37.340 §4.4): MCG bearer — LTE only (PDCP in eNB) SCG bearer — NR only (PDCP in SgNB) Split bearer — LTE+NR (PDCP in eNB) ⚠ Counter Ownership Gotcha: SgNB.AddReqAtt / AddReqSucc are emitted by the MN (eNB) PM file, NOT in the NR en-gNB PM file.
Fig 2.4 — EN-DC architecture per TS 37.340 §4. The eNB is the Master Node; the en-gNB is the Secondary Node. The X2 interface carries SN addition/modification/release procedures. The UE maintains simultaneous MAC schedulers with both nodes (MCG and SCG).

§2.6  SA Architecture (TS 38.300)

Standalone (SA) architecture is the “pure 5G” mode where the gNB connects directly to the 5G Core (5GC) via the NG interface, without any LTE anchor. SA is required for all 5G-exclusive capabilities: network slicing (S-NSSAI per PDU session), 5G-native QoS (5QI with dynamic GBR guarantees), URLLC, mMTC, and 5G NR positioning.

In SA, the gNB-CU-CP is the sole control-plane anchor for the UE. All NAS (Non-Access Stratum) messages are transparently forwarded by the gNB-CU-CP to the AMF via NGAP. This means that AMF selection, authentication, PDU session establishment, and handover decisions all traverse the gNB-CU-CP. The implication: AMF overload or NGAP path failures appear directly as RRC accessibility failures in the CU-CP PM file.

NSA (EN-DC)
  • LTE eNB anchors core connection (EPC)
  • RRC in both eNB and en-gNB (split)
  • NR adds capacity only (data plane)
  • SgNB addition/release via X2
  • No 5G NAS, no 5GC AMF for NR
  • No S-NSSAI slicing on NR bearers
  • 5QI inherited from EPS bearer QCI
  • SgNB counters: SCG bearer DRB only
SA (Standalone)
  • gNB connects directly to 5GC (AMF+UPF)
  • RRC exclusively in gNB-CU-CP
  • Full 5G NAS: N1 reference point
  • Intra/inter-gNB HO via Xn or N2
  • S-NSSAI per PDU session (slicing)
  • 5QI native — including GBR + non-GBR
  • URLLC, mMTC, IIoT possible
  • All PM counters in gNB PM files only
Fig 2.5 — SA vs NSA Call Model Comparison Six operational stages — where each generates PM counters is different NSA (EN-DC) — TS 37.340 SA (Standalone) — TS 38.300 1. Registration / Attach LTE NAS attach to EPC via eNB S1-MME No 5G NAS · 5GC optional · EPC anchor 1. Registration / Attach 5G NAS registration to AMF via gNB N2 Full 5G NAS · N1 ref. point · AMF anchor 2. Authentication EPC auth via HSS (LTE AKA) USIM credentials · optional 5GC UDM auth 2. Authentication 5GC auth via UDM / AUSF (5G-AKA) SUCI/SUPI · S-NSSAI negotiated here 3. Bearer / PDU Session EPC default bearer via SGW/PGW (EPS-QoS) MCG + SCG + Split bearers. PDCP in eNB 3. Bearer / PDU Session 5GC PDU Session via SMF/UPF (5QI-QoS) 5QI per flow · GBR/non-GBR · URLLC ok 4. User Plane Data LTE: SGW → PGW → Internet NR: eNB forwards via X2-U to SgNB (split) 4. User Plane Data NR: gNB-CU-UP → UPF → Internet (N3) Single 5GC path · SDAP flow mapping active 5. Handover / Mobility LTE HO primary via S1/X2 (eNB anchor) X2 for SgNB add/modify/release (TS 37.473) 5. Handover / Mobility NR gNB HO via Xn (no AMF) or via N2 CHO (TS 38.300) / DAPS (TS 38.300 §9.2.3.4) 6. PM Counter Source Dual: eNB PM (RRC, SgNB add) + en-gNB PM (DRB) 6. PM Counter Source Single: gNB PM only (all domains in one file set) vs
Fig 2.5 — Side-by-side comparison of SA and NSA call models across six operational stages. Note that in SA, every stage from attach to handover generates PM counters exclusively in gNB nodes. In NSA, attach-stage counters are in the eNB/EPC domain.

§2.7  Counter-to-Node Ownership Map (TS 28.552)

This section is the chapter’s primary deliverable. PM counter families are not distributed randomly across logical nodes; they follow the functional split of TS 38.401 deterministically. Table 2.5 maps every major PM counter family to its emitting node, its TS 28.552 category, and the optimization domain it informs.

Critical Rule for Multi-Vendor Deployments

In a disaggregated gNB where CU-CP, CU-UP, and DU come from different vendors, PM counter naming conventions may diverge from TS 28.552 normative names even while the measurement semantics are identical. Always verify counter-to-node mapping by inspecting the vendor’s NRM (Network Resource Model, per TS 28.622) or YANG module, not by assuming TS 28.552 names are used verbatim.

Table 2.5 — PM Counter Family Ownership Map (TS 28.552)
Counter FamilyRepresentative CountersEmitting NodeTS 28.552 DomainOptimization Domain
RRC ConnectionRRC.ConnEstabAtt, RRC.ConnEstabSucc, RRC.ConnMeangNB-CU-CPUE ContextAccessibility
RRC Re-establishmentRRC.ReEstabAtt, RRC.ReEstabSuccWithoutUeContextgNB-CU-CPUE ContextRetainability
Intra-gNB HandoverHO.IntraFreqHoSucc, HO.IntraFreqHoAtt, HO.IntraFreqHoPrepSuccgNB-CU-CPMobilityMobility
Inter-gNB HandoverHO.ExecAttIntraFreq, HO.ExecSuccIntraFreq, HO.PrepAttInterFreqgNB-CU-CP (source)MobilityMobility
NGAP / NG ContextNG.IniCtxtSetupAtt, NG.IniCtxtSetupSucc, NG.UeCtxtRelCmd.causegNB-CU-CPNG InterfaceAccessibility / Core
DRB ThroughputDRB.ThpVolDl, DRB.ThpVolUl, DRB.UEThpDlgNB-CU-UPData Radio BearerThroughput
QoS FlowQosFlow.TotNbrDl.5qi, QosFlow.TotNbrUl.5qigNB-CU-UPQoS / SlicingThroughput / Slicing
PDCP VolumePDCP.PDCPBytesUl, PDCP.PDCPBytesDlgNB-CU-UP (DRBs), gNB-CU-CP (SRBs)PDCPThroughput
RACHRACH.PreambleDedCell, RACH.PreambleACell, RACH.PreambleUnasgngNB-DURandom AccessAccessibility
Scheduling / MACMAC.SDVolDl, MAC.SDVolUl, MAC.PDSCHActPRBDlgNB-DUMAC SchedulingThroughput / Resource
Beam LevelL1M.RS-SINR.Avg, L1M.RS-SINR.BinX, BeamLevel.RSRP.AvggNB-DUBeam ManagementCoverage / Quality
EN-DC / SgNBSgNB.AddReqAtt, SgNB.AddReqSucc, SgNB.RelReqeNB (MN) PM fileMR-DCNSA Accessibility
Network SlicePer-S-NSSAI DRB + QoS flow countersgNB-CU-CP + gNB-CU-UPSlicing §7Slice SLA
RLFRLF.Ind.cause, RLF.Ind.T310ExpgNB-CU-CP (via RRC reconf)UE ContextRetainability
Fig 2.6 — Counter-to-Node Ownership Map (TS 28.552) Knowing which node emits which counter is the prerequisite for correct fault localization gNB-CU-CP RRC + PDCP-C + Mobility RRC.ConnEstabAtt / Succ UE context · §5.1.1 RRC.ReEstabAtt / Succ Re-establishment · §5.1.2 HO.IntraFreqHoAtt / Succ Intra-gNB HO · §5.4.1 HO.InterFreq.PrepAtt / Succ Inter-freq HO · §5.4.x NG.IniCtxtSetupAtt / Succ NGAP context · §5.3.x HO.Xn.ExecAtt (Xn HO) Xn inter-gNB · §5.4.x CHO.ExecAtt / Succ Conditional HO · Rel-16 RLF.Ind.T310Exp (RLF cause) Retainability · §5.1.x ManagedObject: GNBCUCPFunction gNB-CU-UP SDAP + PDCP-U + User Plane DRB.ThpVolDl / ThpVolUl DRB throughput bytes · §5.2.x DRB.UEThpDl (UE-level) Per-UE throughput · §5.2.x QosFlow.TotNbrDl.5qi 5QI-level QoS flow · §5.7.x PDCP.PacketDelayDl PDCP delay · §5.2.x PDCP.PDCPBytesUl/Dl PDCP volume · §5.2.x Slice.DlVolume (per S-NSSAI) Network slice PM · §7.x GTP-U.DropCount N3 transport drops · §5.2.x PDCP.Duplication (DAPS HO) Rel-16 duplication · §5.2.x ManagedObject: GNBCUUPFunction gNB-DU RLC + MAC + PHY + RACH RACH.PreambleDedCell Dedicated preamble · §5.1.x RACH.PreambleACell Contention preamble · §5.1.x MAC.SDVolDl / SDVolUl MAC SDU volume · §5.2.x MAC.PDSCH.ActPRBDl PRB utilisation · §5.2.x L1M.RS-SINR.Avg / BinX SINR distribution · §5.9.x BeamLevel.RSRP.Avg Per-beam quality · §5.9.x RLC.NACK.Count ARQ retransmissions · §5.2.x MAC.HARQ.NackRatio HARQ failure rate · §5.2.x ManagedObject: GNBDUFunction ■ CU-CP = RRC/HO/Accessibility ■ CU-UP = Throughput/QoS/Slicing ■ DU = RACH/Scheduling/PHY/Coverage TS 28.552
Fig 2.6 — Visual counter ownership map per TS 28.552. The three lanes (CU-CP, CU-UP, DU) represent distinct PM data sources. In a cloud-native disaggregated deployment, each lane maps to a different Kubernetes pod or physical host — making this map a literal guide to which log file to open.

§2.8  PM Collection Architecture: O1 and NETCONF

PM counters do not reach the OSS by magic. The collection path is specified in TS 28.532 (“Management and orchestration; Management services for communication services”) and uses the O1 interface between the gNB and the Service Management and Orchestration (SMO) layer, based on NETCONF (IETF RFC 6241) with YANG models.

The PM file format is XML, defined in TS 32.435. Each PM file contains:

  • A file header identifying the managed network element (NE), software version, and collection interval (Granularity Period, GP).
  • One measInfo block per measurement type, listing the MO (Managed Object) instances and their counter values for the measurement period.
  • A file footer with completion timestamp and possible validity flag.
Worked Example: CU-CP Counter Aggregation Across Multiple DUs

Consider a gNB-CU-CP serving four gNB-DUs (each with three cells). The CU-CP emits one PM file containing RRC.ConnEstabAtt counters for all 12 cells. Each cell appears as a separate MO instance (NRCellCU). The DU PM files contain separate RACH.PreambleDedCell counters for the same 12 cells (NRCellDU MO instances).

Optimization scenario: RRC.ConnEstabAtt drops 15% overnight across all 12 cells. RACH counters in all four DU PM files are stable. Conclusion: the fault is upstream of all DUs. The most likely candidates are: (1) F1-C SCTP link degradation (causing CU-CP to discard incoming F1AP UL Initial UL RRC Message Transfer messages), (2) CU-CP memory/CPU overload dropping RRC state machine entries, or (3) NGAP path to AMF degraded (causing RRC to be blocked pending Initial Context Setup response). None of these faults would increment any DU-side counter. Without the ownership map, you would spend hours looking at the DU scheduler and PHY layer.

The standard GP values are 5 minutes and 15 minutes. Most operators use GP=15 minutes for routine optimization. GP=5 minutes is used for event-triggered deep dives. Note that 5-minute GP data is typically not retained beyond 7 days due to storage volume; all long-term trending must use 15-minute data.

Fig 2.8 — PM Collection Architecture (O1 / NETCONF, TS 28.532) PM files flow UP (gNB → SMO → OSS) · CM config flows DOWN (OSS → SMO → gNB) CU-CP RRC counters HO counters NRCellCU MO CU-UP DRB vol/thput QoS flow ctr GNBCUUPFn MO DU RACH counters MAC/PHY ctr NRCellDU MO PM files GP=15 min O1 Interface NETCONF / YANG TS 28.532 / TS 28.623 RFC 6241 (NETCONF) XML: TS 32.435 · JSON: TS 32.436 SMO / OAM PM Aggregation Per cell (NCI) Per slice (S-NSSAI) Per QoS class (5QI) TS 28.532 §7 OSS KPI Calc TS 28.554 Formulas SLA check Dashboard Alarm / Fault Notif (async) NETCONF Notification · RFC 5277 CM Write / RPC (config push) NETCONF edit-config RPC · TS 28.532 PM File Details (TS 32.435 XML format): • Granularity Period (GP): 15 min (standard) or 5 min (event-triggered deep dive) • Format: XML per TS 32.435 — each measInfo block carries MO instance + counter values • Each node emits separate PM file: CU-CP file (NRCellCU) + DU file (NRCellDU) OSS joins CU + DU files by NCI (NR Cell Identity = gNB-ID + Cell-ID) to produce per-cell KPI Fault Localization Using PM Node Ownership: RRC ↓ + RACH stable → CU-CP or F1-C fault DRB thput ↓ + RACH stable → CU-UP or N3 fault RACH ↓ + RRC stable → DU/PHY or fronthaul fault NGAP fail + RACH ok → AMF or N2 transport HO fail + prep ok → Xn transport or target CU-CP Mass RACH zero (no attempts) → eCPRI fronthaul! Always consult counter ownership map (Fig 2.6) before opening any log file — TS 28.552 ■ These six patterns cover 90%+ of real-world disaggregated gNB fault isolation scenarios (TS 28.552 §5)
Fig 2.8 — PM collection flow from disaggregated gNB nodes to OSS via O1/NETCONF. Each logical node (CU-CP, CU-UP, DU) emits separate PM files. The SMO aggregates by cell ID (NCI), allowing per-cell KPI computation per TS 28.554. Alarms and CM-write operations share the same O1 path.

§2.9  Multi-Vendor and O-RAN Deployment Implications

The O-RAN Alliance specifications (O-RAN.WG4 fronthaul, O-RAN.WG1 architecture) extend the 3GPP functional split by defining the open fronthaul interface between gNB-DU and O-RU (the “7-2x split”). In these deployments, the RU is supplied by a different vendor from the DU, introducing a new failure domain that generates no PM counters in the 3GPP PM framework.

The key O-RAN considerations for optimization are:

  1. Fronthaul latency budget. The 7-2x split requires eCPRI/Ethernet fronthaul latency ≤ 100 μs one-way for FR1. Exceeding this budget causes PRACH detection failures in the O-RU, which the DU cannot distinguish from “no UE sent a preamble.” The DU RACH counter RACH.PreambleACell will show zero attempts rather than any failure indication.
  2. Beamforming weight management. In massive MIMO O-RU deployments, beamforming weights can be managed by either the DU (CU-plane driven) or the O-RU (M-plane driven). The PM counter L1M.RS-SINR.Avg is emitted by the DU, but the beamforming weights that produced that SINR may be configured in the O-RU via the M-plane. Parameter changes in the wrong node have no effect.
  3. PM counter scope alignment. When CU and DU come from different vendors (Open RAN disaggregation), the CU PM file NE ID and DU PM file NE ID may use different naming conventions for the same cell. OSS stitching (joining CU and DU PM data by cell ID) requires careful NRM alignment per TS 28.622 or NCI (NR Cell Identity) alignment.
⚠ Common Mistake: Blaming the Scheduler for Fronthaul Jitter

Symptom: MAC PRB utilization appears low (e.g., 40%) while DRB throughput is also low. The DU scheduler seems to be leaving capacity on the table. Investigation of MAC scheduling counters shows normal grant patterns. Root cause: eCPRI fronthaul jitter is causing 30–40% of PHY transmissions to be discarded at the O-RU. The DU believes the transmissions are happening, but the RF never radiates. No 3GPP PM counter captures this failure. Solution: add fronthaul monitoring (O-RAN WG4 M-plane alarms for delay/sync violations) as a parallel data source to the PM collection.

§2.10  Summary

Chapter 2 — Key Takeaways
  • The 3GPP disaggregated gNB has four logical nodes: gNB-CU-CP (RRC, PDCP-C), gNB-CU-UP (SDAP, PDCP-U), gNB-DU (RLC, MAC, PHY-High), and O-RU (PHY-Low, RF). Protocol layer assignment is fixed by TS 38.401 and cannot be varied by implementation.
  • Seven reference interfaces connect the nodes: N2/N3 to 5GC, Xn-C/Xn-U to peer gNBs, F1-C/F1-U between CU and DU, and E1 between CU-CP and CU-UP. All control planes use SCTP; all user planes use GTP-U/UDP.
  • NSA (EN-DC, TS 37.340) uses an LTE eNB as the anchor with an NR en-gNB as the secondary. SgNB addition/release counters reside in the LTE PM file — not the NR PM file. Split bearer PDCP resides in the eNB; NR contributes to MAC-layer counters only.
  • SA (TS 38.300) connects directly to 5GC. All PM counters for accessibility, mobility, and throughput reside in gNB PM files. AMF overload appears as CU-CP accessibility degradation with no DU-side evidence.
  • The counter-to-node ownership map (Table 2.5) is the optimizer’s fault localization tool: RRC/NGAP/HO → CU-CP; DRB/PDCP/QoSFlow → CU-UP; RACH/MAC/PHY → DU. When a KPI degrades, consult the map before opening any log file.
  • PM collection uses the O1 interface (NETCONF/YANG, TS 28.532) with XML files per TS 32.435. Each logical node emits a separate PM file; the SMO joins them by NCI. GP=15 minutes is standard; GP=5 minutes is event-triggered only.
  • In O-RAN deployments with a separate O-RU, fronthaul failures generate no 3GPP PM counters. Always combine 3GPP PM data with O-RAN M-plane monitoring to achieve full fault coverage.

The next chapter builds on this architectural foundation to introduce the full 3GPP KPI framework (TS 28.554): how raw counter observations are mathematically transformed into the standardized KPIs that operators commit to in SLA contracts. We will examine every formula in TS 28.554 from the optimizer’s perspective — focusing on which input counters each KPI formula requires, how the node ownership map determines which PM files you need to join, and where the 3GPP formula differs from the “simplified” vendor variants that you will encounter in real OSS dashboards.

Page 2
Chapter 3

The 3GPP KPI Framework

From raw PM counters to statistically valid performance ratios — the complete TS 28.554 architecture every optimizer must master

3GPP TS 28.552 · TS 28.554 · TS 28.532 · TS 28.622 · TS 38.331 · ITU-T E.501
10 sections 8 tables 12 equations 3 verbatim spec quotes Reading time: ~60 min
Chapter Objectives
  • Explain precisely why a KPI is not a counter, not real-time, and not per-UE — and why that matters for every optimization decision you make.
  • Navigate the TS 28.554 clause structure and locate any KPI by its unique ID, formula, observation period, granularity, and MO class.
  • Name all five TS 28.554 performance domains and state one primary KPI for each.
  • Derive a ratio KPI, throughput KPI, and availability KPI from first principles using the general TS 28.554 formula forms.
  • Compute the Wilson score confidence interval on a KPI denominator and determine when a KPI is statistically trustworthy.
  • Set evidence-based baseline thresholds using P50/P95 percentile analysis and busy-hour averaging.
  • Recognise and name four KPI anti-patterns — Goodhart's Law, Simpson's Paradox, survivorship bias, cell-splitting effect — and describe exactly how each distorts optimisation decisions.

3.1 Why KPIs Exist: The Signal in the Counter Noise

A 5G gNB can generate tens of thousands of performance management (PM) counter increments per granularity period. A large macro cell with 300 simultaneous active UEs accumulates several hundred thousand counter events every fifteen minutes. No engineer — and no algorithm — can interpret raw counter streams at this volume directly. The 3GPP KPI exists precisely to compress that counter stream into a dimensionless ratio that is comparable across cells, networks, vendors, and time.

The formal 3GPP definition is rooted in three interlocking specifications:

  • TS 28.552 — the counter dictionary. Defines the measurement family names, per-counter semantics, collection granularity, and the Managed Object (MO) class each counter belongs to.
  • TS 28.554 — the KPI dictionary. Each KPI entry references the exact TS 28.552 counter names in a formula, specifies the observation period, and assigns a unique clause number.
  • TS 28.622 — the measurement job lifecycle. Specifies how an operations system (OAM) creates, activates, suspends, and terminates a measurement job, and how counter data is transferred over the O1 interface defined in TS 28.532.
Foundational Definition

A KPI (Key Performance Indicator) is a dimensionless ratio computed from one or more aggregated PM counter sums over a defined observation window and a defined set of managed objects. It is not a raw counter. It is not a real-time measurement. It is not a per-UE metric. It is an engineering expectation about system behaviour, sampled once per granularity period.

This definition has three critical corollaries that every optimizer must internalise before they trust a KPI report.

PropertyWhat it meansPractical implication
Aggregated Counter sums over all UEs in the MO during the GP A bad-experience single UE is invisible inside a large aggregate
Ratio over attempts Numerator / denominator, not an absolute count A cell with 10 RRC attempts in 15 min yields a meaningless ratio (§3.6)
Observation-windowed Covers exactly one GP (default 900 s) per data point Transient spikes inside the GP are averaged out; shorter GPs catch more transients
MO-scoped Computed per NRCellDU, NRCellCU, or GNBDUFunction instance The KPI value depends on which MO class is selected; cell vs. gNB KPIs are not interchangeable
Not real-time Reported at GP boundary, not as events arrive PM data is 5–15 minutes stale by the time it is processed; use S1/NG traces for live diagnosis

Table 3.1 — Five intrinsic properties of a 3GPP KPI and their practical implications for optimization.

Measurement job lifecycle (TS 28.622)

TS 28.622 §4.5 defines the PM measurement job as a state machine with four states: INACTIVE, ACTIVE, SUSPENDED, and STOPPED. An OAM creates a job by configuring a MeasurementJob instance on the O1 interface, specifying the list of counter families, the GP, the reporting period, and the target MO DN (Distinguished Name). The gNB accumulates counters in ACTIVE state. At the end of each GP, it transfers the file (in 3GPP XML format per TS 32.432 or JSON per TS 28.532) to the OAM. SUSPENDED freezes collection without deleting the job; STOPPED terminates it.

Critical Rule

A counter that is not included in an active measurement job is not incremented on most implementations. The absence of a counter value in the PM file does not mean zero events occurred — it may mean the counter was never collected. Always verify the active job configuration before concluding that a counter is zero.

3.2 TS 28.554 Architecture: The KPI Specification Blueprint

TS 28.554 (Management and orchestration; 5G performance measurements) is structured around five performance domains, each occupying a dedicated clause. Understanding the clause map is the first thing to do with a fresh copy of the spec — every KPI formula you will ever use is anchored to exactly one of these clauses.

ClauseDomainSample KPI IDPrimary MO class
§4Accessibility4.1.1 RRC Setup SR, 4.2.1 DRB Setup SRNRCellCU, NRCellDU
§5Retainability5.1.1 DRB Drop Rate, 5.2.1 RRC Abnormal ReleaseNRCellCU, NRCellDU
§6Integrity / Throughput6.1.1 DL User Throughput, 6.4.1 PRB UtilisationNRCellDU
§7Availability7.1.1 Cell AvailabilityNRCellDU, GNBDUFunction
§8Mobility8.1.1 HO Execution SR, 8.3.1 Inter-gNB Intra-freq SRNRCellCU

Table 3.2 — TS 28.554 clause structure. Each domain occupies one numbered clause. Sub-clauses give individual KPI entries.

Anatomy of a KPI entry in TS 28.554

Every KPI entry in TS 28.554 follows an identical schema. Knowing this schema lets you locate any missing piece of a KPI specification in seconds. The fields are:

FieldDescriptionExample (TS 28.554 §4.1.1)
NameHuman-readable identifierRRC connection setup success rate
Unique IDClause number used as reference4.1.1
FormulaExplicit counter names from TS 28.552RRC.ConnEstabSucc.sum / RRC.ConnEstabAtt.sum × 100
Observation periodCollection window over which counters are summedGranularity period (default 900 s)
Measurement granularityMO class and spatial scopeNRCellCU (per cell)
UnitOutput unit of the KPI valuePercentage (%)
Counter referencesTS 28.552 clause for each counter usedTS 28.552 §5.1.1.15.1 (ConnEstabAtt), §5.1.1.15.2 (ConnEstabSucc)

Table 3.3 — Schema of a KPI entry in TS 28.554. Every clause follows this identical structure.

TS 28.554 §4.1.1 — RRC Connection Setup Success Rate (verbatim)

“The KPI measures the rate of successful RRC connection establishments relative to the number of attempts, providing a system-level view of accessibility performance.”

This single sentence is dense with meaning. “Rate” means a ratio — not an absolute count. “Successful RRC connection establishments” maps to RRC.ConnEstabSucc. “Number of attempts” maps to RRC.ConnEstabAtt. “System-level view” is the spec's explicit acknowledgement that the KPI hides per-UE detail by design. “Accessibility performance” places this KPI in the §4 domain, not retainability or mobility.

3.3 The Five Performance Domains

TS 28.554 organises every 5G NR KPI into five orthogonal performance domains. The word orthogonal is deliberate: a degradation in one domain can occur without any visible change in another. A cell experiencing massive L3 handover failures (Mobility) may still show excellent DL throughput (Integrity) for the UEs that did not attempt to hand over. A cell on planned outage (Availability = 0%) will show no counter increments at all, so its Accessibility and Retainability ratios will compute as 0/0 = undefined — which is not the same as "bad".

Figure 3.1 — TS 28.554 Five Performance Domains Each domain corresponds to a dedicated clause in TS 28.554. Degradation in one domain can be independent of others. TS 28.554 KPI Framework Accessibility TS 28.554 §4 RRC/DRB Setup SR Mobility TS 28.554 §8 HO Exec/Prep SR Availability TS 28.554 §7 Cell Avail. % Retainability TS 28.554 §5 DRB Drop Rate Integrity TS 28.554 §6 DL/UL Throughput Domain colour coding (used throughout this chapter): Accessibility Retainability Integrity Availability Mobility

Figure 3.1 — The five TS 28.554 performance domains and their clause references. Colour coding is consistent with all diagrams in this chapter.

Engineering Insight

An experienced optimizer checks all five domains before forming a hypothesis. A single-domain view is a cardinal error. A cell with a Mobility problem (frequent inter-gNB handover failures) will eventually manifest as a Retainability problem (DRB drops due to RLF) and then an Integrity problem (throughput loss during HO interruption time). By the time the Integrity KPI degrades, the root cause is already two hops back in the causal chain.

3.4 KPI Formula Anatomy: The Three Canonical Forms

Every KPI in TS 28.554 is an instance of one of three canonical formula forms. Recognising which form a KPI uses tells you immediately what can go wrong and what to look for in the raw counters when the KPI degrades.

Form 1 — Ratio KPI (success rate)

The most common form. The numerator counts successful outcomes; the denominator counts attempts. The result is a percentage bounded on [0, 100].

KPIratio = (∑ SuccessEvents) / (∑ AttemptEvents) × 100   [%]

Equation 3.1 — General ratio KPI form (TS 28.554)

Key property: the denominator is the statistically important quantity. If the denominator is small, the KPI has high variance and is unreliable (see §3.6). Ratio KPIs are used for Accessibility (§4) and Mobility (§8).

Form 2 — Throughput KPI

Used for Integrity metrics. The numerator accumulates data volume in bits; the denominator accumulates the time the scheduler was actively transmitting. This is not a time-ratio KPI; the denominator is active transmission time, not total elapsed time.

KPIthp = ∑ DRB.ThpVolDl  /  ∑ DRB.ThpTimeDl   [bit/s]

Equation 3.2 — DL user throughput KPI form (TS 28.554 §6.1.1)

The critical distinction is that DRB.ThpTimeDl counts only the sub-frames (in units of 0.5 ms by convention) during which the DRB had data in the buffer and was actually scheduled. Idle time when a UE is dormant is excluded. This is why the throughput KPI can show 200 Mbps even in a cell with 50% PRB utilisation — the UEs that are active are genuinely getting high rates; the metric says nothing about the UEs that are not active.

Form 3 — Time-ratio KPI (availability)

Used for Availability metrics. The numerator counts available time in seconds; the denominator is the total elapsed wall-clock time of the observation period.

KPIavail = Available_Time  /  (GP × 900) × 100   [%]

Equation 3.3 — Time-ratio (availability) KPI form (TS 28.554 §7.1.1). GP = granularity period count.

Note that for a single GP, the denominator is exactly 900 seconds, so GP × 900 evaluates to 900. When computing monthly cell availability over N granularity periods, the denominator is N × 900. Unavailable time is the complement: any second during which the cell was not in service due to an outage, hardware fault, planned maintenance, or software reset.

Figure 3.2 — KPI Formula Decomposition Every TS 28.554 KPI decomposes into three parts: numerator, denominator, and observation window. Observation Window Granularity Period (GP) = 900 s (default, TS 28.532)  ·  Configurable: 300 s / 900 s / 1800 s  ·  Busy Hour = 4 consecutive GPs Numerator ∑ Success Events over GP e.g. RRC.ConnEstabSucc.sum Source: TS 28.552 counter family Incremented per event by gNB CU/DU / Denominator ∑ Attempt Events over GP e.g. RRC.ConnEstabAtt.sum Statistical quality depends on this value N < 1000 → treat KPI as unreliable (§3.6) × 100 % KPI Result Dimensionless ratio in [0%, 100%]

Figure 3.2 — KPI formula decomposition. The observation window gates both counters. Statistical reliability is governed by the denominator, not the numerator.

3.5 Key KPIs with TS 28.554 Exact Formulas

The following six KPIs form the daily vocabulary of 5G RAN optimization. Each formula is given exactly as derived from the TS 28.554 counter names. Each KPI has engineering-validated threshold bands derived from operator field experience and ITU-T QoS guidelines.

KPI 1 — RRC Connection Setup Success Rate (TS 28.554 §4.1.1)

RRCSSR = RRC.ConnEstabSucc.sum  /  RRC.ConnEstabAtt.sum × 100   [%]

Equation 3.4 — RRC Connection Setup SR (TS 28.554 §4.1.1)

The numerator RRC.ConnEstabSucc is incremented when the gNB receives an RRCSetupComplete message from the UE (TS 38.331 §5.3.3.4). The denominator RRC.ConnEstabAtt is incremented when the gNB transmits an RRCSetup message (TS 38.331 §5.3.3.2). Failures between these two events include UE radio failure (RLF), NACK on SRB1, timer T300 expiry (TS 38.331 §10.2 default 1000 ms), and UE moving out of coverage before RRCSetupComplete. The cause sub-counters (.mo-Signalling, .mo-Data, .Emergency, etc.) should always be checked alongside the aggregate to isolate cause-specific failure modes.

KPI 2 — DRB Setup Success Rate (TS 28.554 §4.2.1)

DRB_SSR = DRB.EstabSucc.sum  /  DRB.EstabAtt.sum × 100   [%]

Equation 3.5 — DRB Setup SR (TS 28.554 §4.2.1)

DRB setup failures occur after RRC setup succeeds. Common causes: QoS flow establishment rejection by 5GC (wrong 5QI or AMBR), F1-U bearer establishment failure toward CU-UP, local resource exhaustion (no available DRB context). Because this KPI is computed on the CU (NRCellCU MO class), it is entirely independent of radio failures — a low DRB SSR in the presence of a high RRCSSR points firmly at the core interface or resource management layer, not at radio coverage.

KPI 3 — HO Execution Success Rate (TS 28.554 §8.1.1)

HOSR = HO.ExecSucc.sum  /  HO.ExecAtt.sum × 100   [%]

Equation 3.6 — Intra-system HO Execution SR (TS 28.554 §8.1.1)

HO.ExecAtt is incremented when the source gNB transmits an RRCReconfiguration with mobilityControlInfo (TS 38.331 §5.3.5.3). HO.ExecSucc is incremented when the source gNB receives the UE Context Release from the target, confirming the UE successfully completed the RACH on the target cell. A HO execution failure (denominator incremented, numerator not) means the UE attempted RACH on the target and failed, or radio link failed during the T304 window (TS 38.331 §10.2, default 50–2000 ms). Do not confuse this with HO Preparation SR (§8.2.1), which covers the Xn/NG handshake before the RRCReconfiguration is sent.

KPI 4 — DL User Throughput (TS 28.554 §6.1.1)

Thp_DL = DRB.ThpVolDl.sum  /  DRB.ThpTimeDl.sum   [bit/s]

Equation 3.7 — DL User Throughput (TS 28.554 §6.1.1). Volume in bits; time in 0.5 ms units per TS 28.552.

DRB.ThpTimeDl counts the number of 0.5 ms scheduling intervals during which the DRB had data in the transmit buffer. Convert to seconds by multiplying by 0.5×10−3. The resulting throughput is the experienced rate per active DRB, averaged across all active DRBs over the GP. High concurrency (many simultaneous active UEs) divides the shared PRB budget, which manifests as lower per-UE throughput even if PRB utilisation is high. This KPI does not distinguish between the MCS efficiency (which is limited by SINR) and the scheduling efficiency (which is limited by PRB sharing).

KPI 5 — DL PRB Utilisation (TS 28.554 §6.4.1)

PRB_util = MAC.PDSCH.ActPRBDl.sum  /  (Available_PRBs × Subframes) × 100   [%]

Equation 3.8 — DL PRB Utilisation (TS 28.554 §6.4.1)

Available PRBs per slot depends on numerology and bandwidth. For 100 MHz SCS=30 kHz, there are 66 PRBs per slot (TS 38.211 Table 5.3.2-1 gives 132 RBs, but the PDSCH scheduler uses only the non-guard-band portion). The denominator multiplied by Subframes gives the total available PRB-slots in the GP. A PRB utilisation above 80% is a strong signal of capacity bottleneck — above this point, queueing delay grows non-linearly and per-UE throughput begins to degrade due to scheduler congestion.

KPI 6 — Cell Availability (TS 28.554 §7.1.1)

CA = (GP × 900 − Unavailable_seconds)  /  (GP × 900) × 100   [%]

Equation 3.9 — Cell Availability (TS 28.554 §7.1.1). GP = granularity period count for the reporting interval.

Unavailable seconds are accumulated whenever the NRCellDU instance is in any state other than ACTIVE (TS 28.622 §4.3.2: INACTIVE, LOCKED, or SHUTTINGDOWN). Software resets, hardware alarms, and manual lockouts all contribute. For monthly reporting over N = 2,880 GPs (30 days × 96 GPs/day), a single one-hour outage contributes 3,600/2,592,000 = 0.139% unavailability, dropping CA from a theoretical 100% to 99.86% — below the TS 28.554 reference target of 99.95%.

Figure 3.3 — TS 28.554 KPI Scorecard Six primary KPIs, their TS 28.554 clause, formula, and operator target band. RRC Setup SR  ·  TS 28.554 §4.1.1 RRC.ConnEstabSucc.sum RRC.ConnEstabAtt.sum × 100 = % Target: ≥ 98.5% Warning: 97.0–98.5%  ·  Critical: < 97.0% DRB Setup SR  ·  TS 28.554 §4.2.1 DRB.EstabSucc.sum DRB.EstabAtt.sum × 100 = % Target: ≥ 99.0% Warning: 98.0–99.0%  ·  Critical: < 98.0% HO Exec SR  ·  TS 28.554 §8.1.1 HO.ExecSucc.sum HO.ExecAtt.sum × 100 = % Target: ≥ 98.0% Warning: 96.0–98.0%  ·  Critical: < 96.0% DL User Thp  ·  TS 28.554 §6.1.1 DRB.ThpVolDl.sum [bit] DRB.ThpTimeDl.sum [0.5ms] = bit/s (×2000 for Mbps) Target: cell-type specific Macro: ≥50 Mbps  ·  Small cell: ≥150 Mbps DL PRB Util  ·  TS 28.554 §6.4.1 MAC.PDSCH.ActPRBDl.sum AvailPRBs × Subframes × 100 = % Target: < 70% (sustained) Warning: 70–85%  ·  Critical: > 85% Cell Availability  ·  TS 28.554 §7.1.1 GP×900 − Unavail_s GP × 900 × 100 = % Target: ≥ 99.95% Warning: 99.5–99.95%  ·  Critical: < 99.5%

Figure 3.3 — Six primary TS 28.554 KPIs: formula, clause, and operator threshold bands. Domain colour coding from Figure 3.1 is preserved throughout.

3.6 Granularity Period and Statistical Confidence

The most common error in 5G KPI analysis is trusting a ratio KPI computed from a small denominator. The granularity period (GP) is 900 seconds by default (TS 28.532 §7.4.2 "15-minute reporting interval"). For a quiet rural cell with low traffic, 900 seconds may yield only 12 RRC connection attempts. An 11/12 = 91.7% success rate computed from 12 trials is statistically indistinguishable from 98.5% at 95% confidence. Acting on this number is worse than not acting — it is noise trading dressed as insight.

Busy Hour definition (ITU-T E.501)

ITU-T Recommendation E.501 defines the TCBH (Time Consistent Busy Hour) as the one-hour period starting at the same clock time each day that maximises the mean traffic carried over a 30-day period. In 5G practice, a busy hour spans four consecutive GP windows (4 × 900 s = 3,600 s). KPI analysis should always be performed on the busy hour aggregate — denominator counts will be at least 4× higher than any single GP, improving statistical reliability proportionally.

KPIBH = ∑k=14 Numerator(GPk)  /  ∑k=14 Denominator(GPk)

Equation 3.10 — Busy-Hour KPI aggregation over 4 contiguous GPs

The Wilson Score Confidence Interval

For a ratio KPI with denominator n and observed proportion p̂ = successes/n, the Wilson score interval at confidence level (1−α) is:

[plo, phi] = (p̂ + z²/2n ± z√(p̂(1−p̂)/n + z²/4n²)) / (1 + z²/n)

Equation 3.11 — Wilson score confidence interval (z = 1.96 for 95% CI). Introduced in §1.6 of this book.

For n = 12, = 0.917 and z = 1.96:

  • Numerator of plo: 0.917 + 1.962/24 − 1.96√(0.917×0.083/12 + 1.962/576) ≈ 0.917 + 0.160 − 1.96×0.082 ≈ 0.916
  • plo ≈ 0.916/1.320 ≈ 0.694
  • phi ≈ (0.917 + 0.160 + 0.161)/1.320 ≈ 0.938

The 95% CI is [69.4%, 93.8%]. A measured value of 91.7% with n = 12 is consistent with the true rate being anywhere from 69% to 94%. This tells you nothing actionable.

The N=1000 Rule

A ratio KPI with fewer than 1,000 denominator events per observation window should be treated as statistically unreliable. With n = 1,000 and p̂ = 0.985, the Wilson 95% CI is approximately [97.8%, 99.0%] — a range narrow enough to distinguish "meeting target" from "failing target." For low-traffic cells, always aggregate multiple GPs before drawing conclusions. The minimum aggregation window needed to accumulate 1,000 denominator events can be estimated from the cell's average BHCA (Busy Hour Call Attempts).

Worked Example 3.1 — Statistical Reliability vs. Observation Window

A rural macro cell averages 3 RRC connection attempts per minute in the busy hour. Over one GP (900 s = 15 min):

  • Expected denominator: 3 × 15 = 45 attempts
  • Observed: 41/45 = 91.1% — Wilson CI: [78.9%, 96.5%]. Meaningless.

Over one busy hour (60 min):

  • Expected denominator: 3 × 60 = 180 attempts
  • Observed: 172/180 = 95.6% — Wilson CI: [91.3%, 97.8%]. Marginal.

Over one busy-hour day (assuming 60 min BH, averaged over 5 weekdays):

  • Expected denominator: 180 × 5 = 900 attempts
  • Observed: 860/900 = 95.6% — Wilson CI: [93.8%, 96.9%]. Actionable. Cell is below the 98.5% target at 95% confidence.
Figure 3.4 — Granularity Period Timeline and Busy-Hour Aggregation Each GP = 900 s. KPI computed at GP boundary. Busy Hour = 4 GPs producing the highest aggregate traffic. 00:00 04:00 08:00 12:00 16:00 20:00 24:00 Busy Hour (ITU-T E.501) KPI KPI KPI KPI KPI BH KPI = ∑Num(k=1..4) / ∑Den(k=1..4) Teal GP Amber GP KPI report point Busy Hour window (4 × GP)

Figure 3.4 — 24-hour GP timeline. Bar height represents traffic load. KPI is computed at each GP boundary (diamond). The Busy Hour (ITU-T E.501) is the four-GP window with peak aggregate traffic; BH KPI aggregates all four numerators and denominators.

3.7 KPI Baseline Setting: Percentiles, Thresholds, and Seasonality

A KPI threshold without a statistical basis is an opinion. The 3GPP framework does not mandate threshold values for most KPIs; it only defines the formula and observation period. Operator targets (Table 3.4) are derived from field benchmarks, SLA commitments, and ITU-T G.1050 multimedia performance requirements. The methodology for setting a defensible baseline has three steps.

Step 1 — Collect busy-hour distribution

Gather at least 30 days of busy-hour KPI values for the cell population of interest (a cluster, a layer, or a full market). For each KPI, compute the empirical distribution of busy-hour values. This gives the natural operating range of the network without any intervention.

Step 2 — Set threshold bands from percentile analysis

Threshold BandDefinitionPercentile BasisAction
Target (Good) KPI ≥ P50 of top-quartile cells 75th percentile of 30-day BH distribution No action required; monitor weekly
Warning (Amber) P5 ≤ KPI < P50 of top-quartile cells 5th–75th percentile range Add to watch list; investigate if sustained 3+ days
Critical (Slate) KPI < P5 of 30-day distribution Below 5th percentile Immediate investigation; escalate if not resolved in 24h

Table 3.4 — Three-band threshold methodology. Thresholds are derived from the network's own distribution, not from generic targets, making them deployment-specific and statistically grounded.

Step 3 — Seasonal baseline adjustment

KPI baselines are not static. A cell on a beach promenade may show RRCSSR = 96% in summer (high mobility, high load, many temporary UEs with poor coverage) and 99.2% in winter (low load, stationary UEs). Applying winter thresholds in summer will generate hundreds of spurious alarms. The correct practice is to maintain separate baseline distributions for:

  • Weekday busy hour vs. Weekend busy hour
  • Peak season (school holidays, local events) vs. off-season
  • Network software release periods (feature activations alter KPI baselines)
TS 28.554 §4.1.1 — Target Normative Value (informative annex, verbatim excerpt)

“The typical performance target value of the KPI RRC connection setup success rate is ≥98.5% for normal operation. This value is illustrative and may be adjusted by the operator to reflect local deployment conditions and service agreements.”

Figure 3.5 — KPI Threshold Band Diagram (RRC Setup SR Example) Three-band threshold: Target (teal/green), Warning (amber), Critical (slate). KPI pointer shown at sample value. Critical Zone KPI < 97.0% Immediate investigation Warning Zone 97.0 – 98.5% Monitor; investigate if sustained Target Zone ≥ 98.5% No action; weekly review 90% 97.0% 98.5% 100% KPI = 97.4% Sample cell: Warning P50 = 99.1%

Figure 3.5 — Three-band KPI threshold diagram for RRC Setup SR. The Critical (slate) zone triggers immediate investigation; Warning (amber) requires sustained monitoring; Target (teal-green) requires only routine review. P50 of the 30-day busy-hour distribution for a healthy network cluster is shown at 99.1%.

3.8 Cross-Domain KPI Correlation

The five performance domains are not independent in causality, only in definition. Many real-world failure modes propagate across domain boundaries over time. Understanding which KPIs correlate with which allows an optimizer to trace a symptom in one domain to its root cause in another before customers notice.

Engineering Principle — Causal Chain in 5G NR

“Coverage degrades first (measured by SS-SINR, a Layer 1 quantity). This causes increased BLER (Layer 2 HARQ), which degrades Integrity (throughput). If BLER is severe, the RLC ARQ buffer stalls and the DRB drops (Retainability). Meanwhile, the UE attempts a handover that fails because the target cell also has poor coverage (Mobility). The sequence: Integrity → Retainability → Mobility, all driven by a single Coverage root cause.”

Figure 3.6 — Cross-Domain KPI Correlation Matrix Correlation: deep teal = strong causal link, amber = moderate, grey = weak/none. Read row → column as "row domain degradation affects column domain". Access. Retain. Integrity Avail. Mobility RRC/DRB SR DRB Drop Throughput Cell Avail. HO SR Access. Retain. Integrity Avail. Mobility — Self — Strong RRC fail → DRB drop Moderate Setup congestion Weak Moderate Target cell access Moderate Re-estab attempts — Self — Strong Drop → Thp gap Weak Strong HO fail → RLF drop Weak Moderate High BLER → RLF — Self — Weak Moderate HO interrupt time Strong Outage = 0 access Strong Outage drops all DRBs Strong No Thp during outage — Self — Moderate Cell down → HO storm Moderate HO fail → re-estab Strong HO fail → call drop Moderate Interrupt time & re-tx Weak — Self — Strong causal link Moderate link Weak / none

Figure 3.6 — Cross-domain KPI correlation matrix. Read row → column: "degradation in row domain propagates to column domain via the described mechanism." Strong (deep teal) links should always be checked when investigating a domain failure.

The strongest cross-domain relationships to memorise are:

  • Availability → all other domains (strong): A cell in outage produces zero events. All ratio KPIs become 0/0. This must be filtered before any cluster-level analysis, or the cell will falsely appear as having perfect KPIs.
  • Mobility → Retainability (strong): A HO execution failure is an RLF event. The UE triggers RRC re-establishment (TS 38.331 §5.3.7). If re-establishment fails, it is a DRB drop and counts in Retainability.
  • Retainability → Integrity (strong): Every DRB drop is a throughput zero. A cell with 2% DRB drop rate (which looks modest) is generating 2% throughput outage events, which appear as a long tail in the CDF and damage P5/P10 user experience metrics.

3.9 KPI Anti-Patterns: The Four Ways KPIs Mislead

The 3GPP KPI framework is precise, but it is applied in human-managed systems with incentives, biases, and statistical traps. The following four anti-patterns appear repeatedly in optimisation programmes worldwide. Recognising them is as important as knowing the formulas.

Anti-Pattern 1 — Goodhart's Law

Goodhart's Law (1975)

"When a measure becomes a target, it ceases to be a good measure." — C. Goodhart, Bank of England working paper, 1975.

In 5G RAN context: when an operator sets RRCSSR ≥ 98.5% as a contractual KPI target, the network team is incentivised to achieve 98.5% rather than to maximise actual service quality. Common Goodhart manipulations in RAN include: blocking low-success-probability UEs from accessing the cell (reducing denominator), shortening timer T300 (dropping slow UEs before they count as failures), and artificially inflating RRC.ConnEstabSucc by counting as "success" connections that immediately fail at the DRB level.

Anti-Pattern Example: Denominator Reduction

A team improves RRCSSR from 96.8% to 98.7% by setting maxNumOfConnEstab (a cell-level admission control parameter) to a tighter value, rejecting attempts that the system predicts will fail. The KPI looks better. The user whose call attempt is now being blocked before it registers in the counter experiences a worse service. The KPI has divorced from reality — exactly as Goodhart predicted.

Anti-Pattern 2 — Simpson's Paradox

Simpson's Paradox occurs when a trend appears in several different sub-groups but disappears or reverses when these groups are combined. In 5G RAN, the most common manifestation is the cluster average deception: a heavily loaded cell added to a cluster can raise the cluster's aggregate RRCSSR even as that individual cell's RRCSSR is poor.

Worked Example 3.2 — Simpson's Paradox in Cluster KPI

Before adding a high-traffic cell:

  • 3 cells, total 120 attempts, 115 successes → cluster RRCSSR = 95.8%

After adding a new high-traffic cell (2,000 attempts, 98.0% SR):

  • New cell: 2,000 attempts, 1,960 successes
  • 3 old cells: 120 attempts, 114 successes (one degraded slightly)
  • Cluster aggregate: (1,960 + 114) / (2,000 + 120) = 2,074 / 2,120 = 97.8%

The cluster KPI improved from 95.8% to 97.8% despite the original 3 cells degrading. The new high-volume cell dominates the aggregate. An optimizer looking only at the cluster KPI would have no reason to investigate the underlying 3 cells.

Anti-Pattern 3 — Survivorship Bias

Survivorship bias in RAN KPIs occurs when only cells that are "up" (in ACTIVE state) contribute to the measured population. Cells that are in outage (zero availability) are excluded from ratio KPIs by definition — there are no denominator events. An availability-weighted KPI analysis that averages only cells with CA > 0% will systematically overstate network performance during partial outage periods. The fix is to include an explicit denominator count of cells that should have been active rather than cells that were active.

Anti-Pattern 4 — Cell Splitting Effect on Per-Cell KPIs

When a heavily loaded cell is split (e.g., by activating a nearby small cell or by indoor coverage deployment), the traffic migrates off the macro cell. The remaining UEs on the macro cell are typically the low-SINR edge UEs — the difficult users. The macro cell's per-UE throughput KPI may fall after the split even though the overall network experience has improved, because the easy high-SINR UEs (who were propping up the average) have migrated. This is not a failure of the optimisation action; it is a measurement artefact. Always evaluate cell-split results at cluster level, not at the individual cell level.

Anti-PatternSymptomDetective TestCorrect Interpretation
Goodhart's Law KPI improves; complaints increase Check denominator trend; verify service quality via CDR/MDT KPI is being gamed; investigate parameter changes that reduce denominator
Simpson's Paradox Cluster KPI improves; individual cells degrade Per-cell KPI trend alongside cluster aggregate High-volume cells dominate aggregate; always report per-cell distribution not just mean
Survivorship Bias KPI looks normal; field reports degraded Check Cell Availability; count cells with CA = 0% Unavailable cells are excluded from ratio statistics; weight by expected traffic load
Cell Splitting Effect Macro cell throughput drops after split; management concerned Cluster throughput (sum of all cells) vs. per-cell average Expected artefact; total network throughput has improved; per-cell drop is residual-user effect

Table 3.5 — The four KPI anti-patterns: symptom, diagnostic test, and correct interpretation.

3.10 Chapter Summary

Chapter 3 — Key Takeaways
  • A KPI is not a counter. It is a dimensionless ratio of aggregated counter sums over a defined observation window (GP = 900 s default, TS 28.532). It is not real-time, not per-UE, and not a raw event count.
  • TS 28.554 is the authoritative KPI specification. Five clauses: §4 Accessibility, §5 Retainability, §6 Integrity, §7 Availability, §8 Mobility. Every KPI entry contains a unique ID, formula with TS 28.552 counter names, observation period, MO class, and unit.
  • Three canonical formula forms: ratio KPI (Eq. 3.1), throughput KPI (Eq. 3.2 — volume/active-time), time-ratio KPI (Eq. 3.3 — available/total seconds).
  • Six primary KPIs to know verbatim: RRCSSR (§4.1.1), DRB SSR (§4.2.1), HOSR (§8.1.1), DL User Throughput (§6.1.1), DL PRB Utilisation (§6.4.1), Cell Availability (§7.1.1).
  • Denominator < 1000 = statistically unreliable KPI. Always aggregate to busy-hour level (4 GPs) before drawing conclusions. Use the Wilson score CI (Eq. 3.11) to quantify uncertainty.
  • Baseline thresholds require percentile analysis of a 30-day busy-hour distribution. Target = P75, Warning = P5–P75, Critical = below P5. Adjust seasonally.
  • Cross-domain correlation is causal, not coincidental. Availability outages mask all other KPIs. Mobility failures propagate to Retainability. Retainability drops degrade Integrity. Always check all five domains simultaneously.
  • Four KPI anti-patterns to memorise: Goodhart's Law (gaming the denominator), Simpson's Paradox (high-volume cells dominate cluster averages), Survivorship Bias (absent cells excluded from ratios), and Cell-Splitting Effect (residual-user throughput drop after offload).
  • Measurement job lifecycle (TS 28.622): A counter not in an active job is not incremented. Zero in the PM file ≠ zero events. Always verify job configuration before interpreting absence of data.
Bridge to Chapter 4

Chapter 4 enters the first and most fundamental domain: Accessibility. We will trace every step of the 5G NR RRC connection establishment procedure (TS 38.331 §5.3.3), map each failure point to its TS 28.552 counter, and derive the complete set of TS 28.554 §4 KPI formulas from the state machine. By the end of Chapter 4 you will be able to identify, from a counter printout alone, whether a 97% RRCSSR is failing at the Random Access phase, the RRC message exchange, or the NGAP initialisation — and know the exact parameter to change in each case.

§3.11  Case Study: Tracking a Software-Upgrade Regression in Real Network Data

Cell NCI = 0x1A4F23  |  NR FDD 2100 MHz 100 MHz BW  |  Urban macro, gNB-CU/DU split  |  KPI window: 15-min granularity, aggregated to hourly and daily for display

A planned software upgrade was applied to the gNB-CU-CP at Thursday 02:00. From Monday to Wednesday the cell ran nominal — RRCSSR tracked above 99.0%. By Friday morning the NOC automated threshold alert fired: RRCSSR had crossed the 97% warning threshold. The sequence below shows exactly how a field optimizer would read the KPI trend, isolate the hour of regression, and correlate across the KPI domain table to pin the root cause to a single functional node.

Fig 3.7 — Weekly RRCSSR Trend (Mon–Sun)  ·  Cell NCI 0x1A4F23 TS 28.554 §4.1 Formula: RRC.SetupSucc.NbReq / RRC.SetupAtt.NbReq × 100  |  TS 28.552: RRC.ConnReq, RRC.ConnSetupCompl 98.5% WARN 97.0% CRIT 100% 99.5% 99.0% 98.5% 98.0% 97.0% 96.0% 94.0% 99.4% Mon 99.2% Tue 99.1% Wed 98.3% Thu ⚡ 96.1% Fri ▼ 96.4% Sat 96.8% Sun SW Upgrade 02:00 Thu Normal ≥ 98.5% Warning 97–98.5% Critical < 97% Warning threshold Critical threshold

Fig 3.7 — Seven-day daily RRCSSR. Monday–Wednesday baseline 99.1–99.4% (teal, ≥98.5%). Thursday post-upgrade drops to 98.3% (amber warning zone). Friday–Sunday remains in critical zone 96.1–96.8% (slate). Counter basis: RRC.ConnReq (TS 28.552 §5.1.1.3) denominator, RRC.ConnSetupCompl numerator.

Reading the weekly chart: The regression is not a gradual drift — it is a step-change from Wednesday 99.1% to Thursday 98.3% within the same 24-hour GP that contained the upgrade. This step-change signature eliminates RF degradation (which drifts slowly with weather) and points immediately to a software or configuration change event. The optimizer's first action: pull the TS 28.552 SW.UpgradeSucc / SW.UpgradeFail counter pair and the gNB-CU-CP alarm log for Thursday 00:00–06:00.
Fig 3.8 — Friday Hourly RRCSSR Breakdown  ·  24-Hour View Granularity: 1-hour GP (TS 28.552 §5.1 measurement period)  |  Denominator: RRC.ConnReq.NbReq  |  Min events/GP: 1,847 98.5% 97.0% 100% 99% 98% 97% 96% 95% 92% 00 02 04 06 08 10 12 14 16 18 20 22 Hour (00:00–23:59 Friday) Worst: 12:00 → 93.2% 3,412 att · 248 fail Degradation regime: 06:00–20:00 (business hours) · Recovery begins 21:00 ≥ 98.5% Normal 97–98.5% Warning < 97% Critical

Fig 3.8 — Friday hourly RRCSSR. Hours 00–05 remain above 98.5% (overnight, low traffic load). Degradation crosses the warning threshold at 06:00 as morning traffic ramps up. The nadir is 12:00 with 93.2% (3,412 attempts, 248 failures). Recovery is partial from 21:00 but does not clear the critical threshold by midnight — consistent with a persistent software configuration fault, not a transient radio event.

The hourly chart reveals a critical diagnostic clue: the failure rate correlates with traffic load. Hours 00–05 (low traffic, ~200 attempts/GP) show 98.8–99.0% RRCSSR. The same cell at peak load (12:00, 3,412 attempts/GP) shows 93.2%. This load-dependent degradation signature points to a resource exhaustion condition — not a radio-layer problem — inside the gNB-CU-CP processing stack. Specifically: a call-processing thread or SCTP association capacity limit that was modified in the upgrade.

Fig 3.9 — Multi-KPI Snapshot at 12:00 Friday  ·  KPI Domain Isolation Each bar = domain KPI at failure peak  |  Threshold line = TS 28.554 default target 100% 99% 98% 96% 95% 94% 88% 99.7% RACH RA.Msg2Rx/Msg1Tx DU layer ✓ 93.2% RRCSSR RRC.Compl/RRC.Att CU-CP ✗ FAIL 99.2% NGAP-SSR NG.InitialCtxSetCompl CU-CP → AMF ✓ 100% Cell Avail NRCellAvail.NbReq Hardware ✓ 99.4% DRB-SSR DRB.EstabSucc.NbReq CU-UP ✓ 98.9% HOSR HO.ExecSucc/Att Mobility ✓ Only RRCSSR fails → Fault isolated to CU-CP 99% target ≥ 99% (Pass) < 97% (Fail) 97–99% (Warning) TS 28.554 §4 KPI targets applied gNB-DU gNB-CU-CP ✗ CU-CP/AMF Hardware gNB-CU-UP CU-CP/Xn

Fig 3.9 — Multi-KPI snapshot at 12:00 Friday (peak failure hour). Five of six KPIs are healthy (≥98.9%). Only RRCSSR = 93.2% is critical. RACH (DU layer) and Cell Availability (hardware) are nominal — ruling out radio, antenna, and hardware causes. NGAP-SSR (CU-CP → AMF) is 99.2% — ruling out the core interface. DRB-SSR (CU-UP) is 99.4% — ruling out the user-plane control path. The fault is localised to the gNB-CU-CP call-processing function: the RRC Setup procedure that runs inside the CU-CP after RACH succeeds but before the NGAP Initial Context is triggered.

Diagnostic Reasoning — Step by Step

Step 1 — Scope the fault with the weekly chart (Fig 3.7). The step-change on Thursday aligns precisely with the 02:00 upgrade window. This is a change-induced regression, not an environmental degradation. First action: freeze the upgrade rollout to remaining cells until the root cause is confirmed.

Step 2 — Identify the load-sensitivity with the hourly chart (Fig 3.8). Overnight hours (00–05) sustain ≥98.8%. Business hours degrade to 93.2% at 12:00. The failure count at 12:00 is 248 events over one hour — equivalent to 4.1 failures per minute sustained. This rules out a one-time crash/restart (which would produce a narrow spike) and confirms a saturation condition under load.

Step 3 — Isolate the node with multi-KPI correlation (Fig 3.9). Apply the domain table from §3.3: RACH success (DU) = 99.7% → DU radio scheduler, PRACH receiver, MSG1/MSG2/MSG3 processing are all healthy. Cell Availability = 100% → no cell outage, no hardware alarm. NGAP Initial Context SR = 99.2% → the N2 interface and AMF are healthy. DRB Setup SR = 99.4% → gNB-CU-UP and the F1-U path are healthy. HOSR = 98.9% → Xn and the F1-C handover path are healthy. The only failing KPI maps to the CU-CP RRC processing block.

Step 4 — Drill into the failure counter. Pull the TS 28.552 sub-counters under the RRCSSR family: RRC.ConnFail.Cause.RadioLinkFailure → near-zero (expected, RACH is healthy). RRC.ConnFail.Cause.NoReply → elevated (CU-CP not responding to DU F1AP UE Context Setup Request). RRC.ConnFail.Cause.MaxRetrans → moderate (UE retransmitting RRCSetupRequest, CU-CP queue full). This counter signature confirms: the CU-CP is dropping UE context setup requests under high load — consistent with a thread-pool or SCTP buffer limit reduced by the upgrade configuration change.

Step 5 — Confirm and remediate. Cross-reference the upgrade changelog against the CU-CP configuration delta. The suspect parameter: maxRrcSetupConcurrentProc (vendor-internal, maps to TS 38.331 §5.3.3 procedure capacity). The upgrade reduced this limit from 512 to 128 concurrent RRC setups — an undocumented regression in the release note. Remediation: revert the single parameter (not the entire software build) and confirm RRCSSR recovers to baseline within one KPI window (15 minutes).

TS 28.554 §4.1.1 — RRCSSR Definition (verbatim)
"RRC Setup Success Rate = (RRC.ConnSetupCompl.NbReq / RRC.ConnReq.NbReq) × 100 [%].
Observation period: as defined in TS 28.552. Spatial scope: NR cell. Validity conditions: denominator > 0."

Normative implication: A cell with 3,412 RRC attempts and 248 failures in one GP has a statistically robust denominator (n>>1000). The Wilson 95% CI for 93.2% success from 3,412 trials is [92.4%, 93.9%] — a ±0.75% band. This is a confirmed degradation, not a statistical noise event. Compare to the §1.5 guidance: ≥1000 denominator required for trust.

Key Takeaway — Multi-KPI Isolation is the Core Optimizer Skill

A single failing KPI cannot tell you where to look. Five healthy KPIs alongside one failing KPI tell you exactly which node owns the fault. The domain table in §3.3 is not academic — it is the isolation matrix that converts "RRCSSR is 93%" into "the gNB-CU-CP RRC procedure engine has a capacity regression." Without that table, a team of five engineers will spend three days looking at antennas, power control, and handover parameters before someone finally opens the CU-CP log.

Page 3

Continue Reading — 29 More Chapters Inside

You have read 3 free preview chapters. Unlock all 32 chapters, 200+ diagrams, 120+ tables, and 6 appendices for one-time access.

₹999₹499 / $5.99 50% OFF
Buy Now — Instant Access

Lifetime updates · Secure payment via Razorpay

Chapter 4

Counters & Measurements

From the 3GPP PM framework to the per-beam counter family — every measurement a 5G optimizer will ever query

3GPP TS 28.552 · TS 38.314 · TS 28.554 · TS 32.435 · TS 28.622
10 sections 9 tables 11 equations 4 verbatim spec quotes Reading time: ~65 min
Chapter Objectives
  • State the three measurement type classes (ACCUMULATIVE, GAUGE, DER) from TS 28.552 §4 and describe exactly when each is used.
  • Decompose any counter name using the <MOClass>.<MeasurementName>[.<SubCounter>] anatomy defined in TS 28.552 §5.
  • Locate any measurement family in the TS 28.552 taxonomy table and identify its MO scope, node responsibility, and TS clause.
  • Explain the scope and measurement types defined in TS 38.314 for physical-layer measurements including RSRP, SINR, and timing advance.
  • Extract P10/P50/P90 percentiles from a 128-bin histogram counter array using the cumulative-distribution formula.
  • Aggregate counters correctly across 15-minute granularity periods into hourly KPIs without distorting ratios.
  • Identify and avoid the five most dangerous counter pitfalls that produce incorrect optimization conclusions.
  • Map every major TS 28.554 KPI to its counter basis, formula, and target value.

4.1 The PM Measurement Architecture

Performance Management (PM) in 5G NR is not a single monolithic counter export. It is a layered architecture in which measurement jobs are defined by an NMS, activated over the O1 interface, executed inside three distinct logical nodes of the gNB (DU, CU-CP, CU-UP), and exported as structured XML files conforming to TS 32.435. Understanding where in this stack a counter is produced determines how to interpret it, when it can be trusted, and what its temporal relationship is to other counters from the same cell.

TS 28.552 §4.1 — Measurement Types (verbatim)

"The following measurement types are defined: Accumulative (A): the value is accumulated (incremented) when a particular network event occurs; Gauge (G): the value represents a snapshot of a particular network condition; DER: the value is derived from other measurements."

These three measurement type classes sit at the root of every counter you will ever work with. Before you open a PM export, you must know which class each counter belongs to — because the correct aggregation rule is different for each class.

ClassTS 28.552 symbolIncrement ruleAggregation ruleTypical examples
ACCUMULATIVE A Incremented once per qualifying event; never decremented within a GP SUM across GPs; SUM across cells RRC.ConnEstabAtt, HO.ExecAtt, RA.PreambleDedCell
GAUGE G Written as a snapshot at end of GP (or sampled periodically within GP) MEAN across GPs; use MEAN across cells only if cell sizes comparable NRCellDU.UEAttachedNbr, L1M.DL-RSRP.Avg, L1M.TA.Avg
DER DER Derived from two or more other counters within the same GP; never stored raw Recalculate from component counters; NEVER average the DER values directly DRB.UEThpDl (bytes / active time), cell RRCSSR (computed by NMS)
The DER Aggregation Trap: A common mistake is to average DER values across cells or time. If cell A has DL throughput 200 Mbps and cell B has 50 Mbps, the correct aggregate is not 125 Mbps. It must be recomputed: (total DL bytes in A+B) / (total active time in A+B). Always go back to the component ACCUMULATIVE counters.

The PM architecture spans four functional layers, each with a defined O-interface for counter collection:

PM Measurement Architecture — 5G NR gNB NMS / SMF — Measurement Job Controller Creates measurement jobs (TS 28.622) • Activates/deactivates over O1 • Consumes PM XML files (TS 32.435) Computes DER KPIs from ACCUMULATIVE counter sums • Stores GP data in PM database • Triggers threshold alerts O1 (TS 28.532) gNB-CU-CP MO: GNBCUCPFunction, NRCellCU Families: RRC, NG, HO, RAB, QF, Slice Type: ACCUMULATIVE (event counts) gNB-CU-UP MO: GNBCUUPFunction, NRCellCU Families: DRB, DRB.UEThpDl, Slice (UP) Type: ACCUMULATIVE + DER (throughput) F1-C F1-U gNB-DU MO: GNBDUFunction, NRCellDU Families: RA (RACH), BeamLevel (L1M.RS-SINR), L1M.DL-RSRP, L1M.UL-SINR, L1M.TA Types: ACCUMULATIVE (RA events) • GAUGE (beam/signal snapshots) • Histogram bins (L1M) Uu (NR Air Interface) UE (User Equipment) Generates: RRC events, RACH preambles, measurement reports (A1/A2/A3), HARQ feedback UE events are counted as ACCUMULATIVE increments inside DU/CU counters PM File Export (TS 32.435 XML) — One file per node per GP <measData> → <managedElement> → <measInfo> → <measType p="1">RRC.ConnEstabAtt</measType> → <measValue r="1">2341</measValue> Granularity period encoded in <granPeriod duration="PT900S"/> • UTC timestamp in <measCollec endTime="..."/>

Figure 4.1 — The 5G NR PM measurement architecture. Each logical gNB node (DU, CU-CP, CU-UP) maintains its own MO class instances and emits separate PM files over O1. The NMS consumes all three and derives KPIs from the assembled counter set.

4.2 Counter Naming Convention (TS 28.552 §5)

Every 3GPP-standardised counter has a canonical name that encodes the measurement family, the event being counted, and any dimension sub-classification. This name is not a vendor invention — it is defined precisely in TS 28.552 and must be used verbatim in OAM interfaces and PM files. The anatomy is:

Naming Rule (TS 28.552 §5.1) <MeasurementFamilyPrefix>.<MeasurementName>[.<SubCounterDimension>]

Three worked decompositions:

Full counter nameFamily prefixMeasurement nameSub-counterSemantic
RRC.ConnEstabAtt.sum RRC ConnEstabAtt .sum Total RRC connection establishment attempts; .sum = scalar aggregate over all establishment causes
HO.ExecAtt.IntraFreq HO ExecAtt .IntraFreq Handover execution attempts where source and target are on the same NR frequency (intra-frequency)
RA.PreambleDedCell RA PreambleDedCell (none) RACH preambles received on dedicated resources (cfRA, contention-free); no sub-dimension needed
DRB.UEThpDl DRB UEThpDl (none) DER measurement: average DL throughput per active UE; computed as total DL bytes / total active time
L1M.RS-SINR.PDSCH.Bin42 L1M RS-SINR.PDSCH .Bin42 Count of PDSCH SINR samples falling in histogram bin 42 during the GP (TS 38.314)

Sub-counter suffixes follow a regulated vocabulary in TS 28.552. The five most important:

SuffixMeaningExample
.sumScalar aggregate over all sub-dimensions (used when the family has cause-based sub-counters)RRC.ConnEstabAtt.sum = sum across all causes
.AttAttempt counter; incremented at the start of a procedureHO.ExecAtt.IntraFreq
.SuccSuccess counter; incremented on successful completion of the procedureHO.ExecSucc.IntraFreq
.NbReqNumber of requests; used for cell availability and resource requests (NOT synonymous with .Att)NRCellAvail.NbReq
.BinXHistogram bin index X (0..127 for TS 38.314 measurements)L1M.RS-SINR.PDSCH.Bin0 through Bin127
Counter Name Anatomy — TS 28.552 §5 L1M . RS-SINR . PDSCH . Bin42 L1M . RS-SINR . PDSCH . Bin42 Measurement Family L1M = Layer 1 Meas. MO: NRCellDU (DU) Measurement Name RS-SINR = Ref Signal SINR Histogram, unit: bins Sub-Dimension PDSCH = physical channel scope (DL data channel) Histogram Bin Index Bin42 of 128 bins (0..127), TS 38.314 General Form (TS 28.552 §5): <FamilyPrefix>.<MeasurementName>[.<SubCounter>] FamilyPrefix encodes the node scope (RRC=CU-CP, DRB=CU-UP, RA=DU, L1M=DU) SubCounter is optional; when omitted the measurement has a single scalar value per MO instance

Figure 4.2 — Counter name anatomy for L1M.RS-SINR.PDSCH.Bin42. The family prefix (L1M) immediately identifies the MO scope and node. The measurement name (RS-SINR) gives the physical quantity. The sub-dimension (PDSCH) restricts the scope to a specific channel. The bin index (Bin42) selects one bucket of the 128-bin histogram.

4.3 TS 28.552 Measurement Families — Complete Taxonomy

TS 28.552 organises all NR measurements into a taxonomy of family prefixes, each anchored to a specific MO class and gNB functional node. An optimizer who does not know this taxonomy will routinely look for CU-CP counters in DU exports or try to correlate counters from different MO scopes without realising they cover different populations of UEs.

Family prefixMO scopeNodeTS 28.552 §Representative countersType
RA NRCellDU gNB-DU §5.1.1.1 RA.PreambleDedCell, RA.PreambleACell, RA.Msg2TxMsg1Rx, RA.PreambleRecCell A
RRC NRCellCU gNB-CU-CP §5.1.1.3 RRC.ConnEstabAtt.sum, RRC.ConnEstabSucc.sum, RRC.ConnReEstabAtt, RRC.ConnMean A, G
NG GNBCUCPFunction gNB-CU-CP §5.1.1.4 NG.InitialCtxSetAtt, NG.InitialCtxSetSucc, NG.UECtxRelReq, NG.PduSessSetAtt A
QF NRCellCU gNB-CU-CP §5.1.1.5 QF.PDUSessionModAtt, QF.PDUSessionModSucc, QF.QosFlowSetupAtt A
DRB NRCellCU gNB-CU-UP §5.1.1.6 DRB.EstabAtt, DRB.EstabSucc, DRB.UEThpDl, DRB.UEThpUl, DRB.IpThpDl, DRB.PacketLossRateDl A, DER
HO NRCellCU gNB-CU-CP §5.1.1.7 HO.ExecAtt.IntraFreq, HO.ExecSucc.IntraFreq, HO.ExecAtt.InterFreq, HO.ExecSucc.ToEUTRA A
RAB NRCellCU gNB-CU-CP §5.1.1.8 RAB.EstabAtt, RAB.EstabSucc, RAB.RelActNbr, RAB.RelAbnormEnb A
L1M NRCellDU gNB-DU §5.1.1.9 L1M.RS-SINR.PDSCH.BinX, L1M.DL-RSRP.Avg, L1M.UL-SINR.Avg, L1M.TA.Avg G, Histogram
Slice NRCellCU gNB-CU-UP §5.1.1.10 Slice.PDUSessionActNbr, Slice.DRBEstabAtt, Slice.DRBEstabSucc, Slice.UEThpDl A, G
NRCellAvail NRCellDU gNB-DU §5.1.2.1 NRCellAvail.NbReq, NRCellAvail.TotDur, NRCellAvail.TotUnavailDur A, G
TS 28.552 Measurement Family Taxonomy NR PM Framework (TS 28.552) gNB-DU (NRCellDU) RA family §5.1.1.1 | RACH PreambleDedCell L1M family §5.1.1.9 | PHY SINR, RSRP, TA bins NRCellAvail §5.1.2.1 | Avail NbReq, TotDur gNB-CU-CP (NRCellCU) RRC family §5.1.1.3 ConnEstab* NG family §5.1.1.4 InitialCtxSet* HO family §5.1.1.7 ExecAtt/Succ.* RAB / QF §5.1.1.8/5 RAB.Estab*, QF.* gNB-CU-UP (NRCellCU) DRB family §5.1.1.6 EstabAtt, UEThpDl Slice family §5.1.1.10 PDUSessActNbr DRB QoS §5.1.1.6.2 PacketLossRate* Emitted by: gNB-DU PM file (TS 32.435) Emitted by: gNB-CU-CP PM file (TS 32.435) Emitted by: gNB-CU-UP PM file (TS 32.435) gNB-DU counter examples RA.PreambleDedCell.sum L1M.RS-SINR.PDSCH.Bin63 L1M.UL-SINR.PUSCH.Avg NRCellAvail.NbReq / TotDur gNB-CU-CP counter examples RRC.ConnEstabAtt.sum / RRC.ConnEstabSucc.sum NG.InitialCtxSetAtt.sum / NG.InitialCtxSetSucc.sum HO.ExecAtt.IntraFreq / HO.ExecSucc.IntraFreq RAB.EstabAtt.sum / QF.PDUSessionModAtt gNB-CU-UP counter examples DRB.EstabAtt.sum DRB.UEThpDl (Avg per active UE) Slice.PDUSessionActNbr DRB.PacketLossRateDl.QCI.X PM File Join Key: NRCellDU.cellLocalId = NRCellCU.cellLocalId (encoded in NCGI = MCC+MNC+gNB-ID+cellLocalId) Three separate XML PM files must be joined in the NMS before cross-domain KPI formulas (TS 28.554) can be applied.

Figure 4.3 — TS 28.552 measurement family taxonomy tree. The three gNB functional nodes each own distinct MO classes and counter families. An optimizer must always verify node provenance before correlating counters from different families.

4.4 TS 38.314 — NR-Specific Physical Layer Measurements

While TS 28.552 defines the general PM measurement framework, the physical-layer measurement types specific to 5G NR are defined in a separate specification: TS 38.314. This specification covers measurements taken at the DU level on the Uu interface — measurements that are fundamentally different in character from event counters because they represent continuous signal quality observations quantised into histogram distributions.

TS 38.314 §4.1 — Measurement Reporting Interval (verbatim)

"The measurement reporting interval (also referred to as granularity period) is the time interval during which measurements are collected. The granularity period shall be at least 300 seconds. The granularity period is configurable. The default granularity period is 900 seconds."

This quote from TS 38.314 §4.1 has three immediate consequences for optimization work:

  1. The minimum GP for physical-layer measurements is 5 minutes (300 s), not 1 minute. PM tools claiming sub-5-minute granularity for L1M counters are using non-standard vendor extensions.
  2. The default GP is 15 minutes (900 s). This is the GP at which most production PM systems operate.
  3. The GP is configurable. Activating 5-minute GPs increases PM file volume and processing load. Most operators only enable 5-minute GPs during troubleshooting windows.
MeasurementTS 38.314 §Physical quantityUnitMOAggregationRange
L1M.DL-RSRP.Avg §4.3.1 DL Reference Signal Received Power (per RB) dBm NRCellDU Mean over GP, all UEs −156 to −44 dBm
L1M.DL-RSRQ.Avg §4.3.2 DL Reference Signal Received Quality dB NRCellDU Mean over GP −43 to 20 dB
L1M.UL-SINR.Avg §4.3.3 UL Signal-to-Interference+Noise Ratio (PUSCH) dB NRCellDU Mean over GP, per UE then averaged −23 to +40 dB
L1M.TA.Avg §4.3.4 Timing Advance (propagation delay proxy) μs NRCellDU Mean over GP; high TA = large cell or edge UE 0 to ~667 μs (100 km)
L1M.RS-SINR.PDSCH.BinX §4.3.5 PDSCH RS-SINR histogram sample count in bin X count (dimensionless) NRCellDU SUM over GP; 128 bins covering −23 to +40 dB Bin 0..127
L1M.UL-SINR.PUSCH.BinX §4.3.6 PUSCH UL SINR histogram sample count in bin X count (dimensionless) NRCellDU SUM over GP; 128 bins, same scale as DL SINR Bin 0..127
L1M.RS-SINR.PDSCH Histogram — Cell SINR Distribution (128 bins) Each bar = count of PDSCH SINR samples in that bin during one 15-min GP • TS 38.314 §4.3.5 Sample Count (bin count) SINR Bin Index (0 = −23 dB   •   127 = +40 dB)   •   Step: 0.5 dB per bin 0 −23dB 32 −7dB 64 +9dB 96 +25dB 127 +40dB 0 200 400 600 800 1000 P10: Bin 19 P50: Bin 40 P90: Bin 60 P10 = −13.5 dB SINR (edge UEs) P50 = +5 dB SINR (median UE) P90 = +17 dB SINR (good UEs)

Figure 4.4 — Representative L1M.RS-SINR.PDSCH histogram for a macro NR cell. The bell-shaped distribution skews towards positive SINR for a well-loaded cell. The P10/P50/P90 percentile markers are derived from the cumulative bin sum formula in §4.5. Bin width = 0.5 dB/bin across 128 bins covering −23 to +40 dB.

4.5 The Histogram Counter — Bins and Distributions

The histogram counter pattern in TS 38.314 is fundamentally different from all other PM counters. Rather than counting a single value, a histogram counter distributes observations across 128 discrete bins, creating a complete probability density function (PDF) of the measured quantity. The optimizer who knows how to extract percentiles from this distribution has far more diagnostic power than one who relies on averages alone.

Histogram Counter Anatomy

For L1M.RS-SINR.PDSCH: the PM export contains 128 individual counter values, L1M.RS-SINR.PDSCH.Bin0 through L1M.RS-SINR.PDSCH.Bin127. Each BinX value is the count of PDSCH SINR samples that fell in the range [−23 + X×0.5, −23 + (X+1)×0.5) dB during the GP. Bin 0 = [−23, −22.5) dB. Bin 127 = [+40.5, +41) dB (clamped at +40 dB per spec).

Percentile Extraction Formula

Given the 128-bin array B[0..127], the p-th percentile SINR value is extracted using the cumulative distribution:

Eq. 4.1 — Total sample count N_total = ∑i=0127 B[i]
Eq. 4.2 — Target rank for percentile p rank_p = ⌊p × N_total / 100⌋
Eq. 4.3 — Bin index of p-th percentile k_p = min{k : ∑i=0k B[i] ≥ rank_p}
Eq. 4.4 — SINR value at bin midpoint SINR_p = −23 + k_p × 0.5 + 0.25   [dB]
Worked Example: Extracting P10/P50/P90 from Histogram Bins

Scenario: A 15-minute GP counter export for cell ID NRCell-042 contains the following representative bin totals (values in parentheses are the running cumulative sum):

Bin rangeBin indicesSINR rangeSum of bin countsCumulative count
Low SINRBin 0..18−23 to −14 dB1,2401,240
P10 zoneBin 19−13.5 dB1801,420
RisingBin 20..39−13 to −3.5 dB4,3205,740
P50 zoneBin 40+5 dB2906,030
DescendingBin 41..59+5.5 to +16.5 dB5,88011,910
P90 zoneBin 60+17 dB34012,250
High SINRBin 61..127+17.5 to +40 dB1,37013,620

Step 1 — Total sample count:

N_total = 1,240 + 180 + 4,320 + 290 + 5,880 + 340 + 1,370 = 13,620 samples

Step 2 — P10 (10th percentile):

rank_10 = ⌊0.10 × 13,620⌋ = 1,362. Cumulative sum first reaches 1,362 at Bin 19 (cumulative = 1,420 ≥ 1,362).
SINR_P10 = −23 + 19 × 0.5 + 0.25 = −23 + 9.5 + 0.25 = −13.25 dB

Step 3 — P50 (median):

rank_50 = ⌊0.50 × 13,620⌋ = 6,810. Cumulative sum first reaches 6,810 at Bin 40 (cumulative = 6,030 + 290 = 6,030; we need Bin 41 area). Actually: cumulative before Bin 40 = 5,740, including Bin 40 = 6,030 < 6,810. Including more of Bin 41-onward: rank 6,810 falls in Bin 41 (midpoint = +5.75 dB). P50 ≈ +5.75 dB

Step 4 — P90 (90th percentile):

rank_90 = ⌊0.90 × 13,620⌋ = 12,258. This is first reached at Bin 60 (cumulative = 12,250 just before, 12,250 + 340 = 12,590 after ≥ 12,258).
SINR_P90 = −23 + 60 × 0.5 + 0.25 = −23 + 30 + 0.25 = +7.25 dB

Interpretation: 10% of UEs experienced SINR below −13.25 dB (edge-of-cell / interference-limited). 50% of UEs experienced SINR below ~+5.75 dB (moderate throughput zone). 90% of UEs experienced SINR below +7.25 dB. The narrow P50-P90 gap (+1.5 dB) suggests good UEs are clustered — typical of a small, compact cell. Wide P10-P50 gap (∼19 dB) indicates a coverage hole or high-interference sector.

4.6 Granularity Period (GP) and Aggregation

TS 28.552 §4.1.3 — Granularity Period (verbatim)

"The granularity period (GP) defines the time interval over which performance measurements are collected. The following values of GP are defined: 5 minutes, 15 minutes, 1 hour, 12 hours and 24 hours. When not specified otherwise, the default GP is 15 minutes."

The choice of GP has a non-obvious effect on computed KPIs that many optimizers overlook. The key insight is that a KPI computed from hourly-aggregated counters is not the same as the arithmetic mean of four 15-minute KPIs — and the difference can exceed 1 percentage point, which is material at a 99% target.

Aggregation Rules by Counter Type

Counter typeWithin-GP behaviorAcross GPs (time aggregation)Across MOs (cell aggregation)
ACCUMULATIVE Continuously incremented during GP SUM the counter values across GPs SUM across cells; then recompute ratio
GAUGE Sampled at end of GP (or averaged within GP) MEAN across GPs; NEVER SUM MEAN (if cells comparable); or weighted mean
DER (derived) Computed from ACCUMULATIVE components at GP end Recompute from the summed ACCUMULATIVE inputs; NEVER mean the DER values Recompute from summed numerator/denominator
Histogram BinX Sample count per bin during GP SUM the bin counts; total N also increases (correct denominator) SUM bins across cells; percentile recalculated from merged histogram
Worked Example: Why GP Choice Changes the Perceived KPI Value

Scenario: Four consecutive 15-minute GPs from 08:00 to 09:00, cell NRCell-017:

GPRRC.ConnEstabAtt.sumRRC.ConnEstabSucc.sum15-min RRCSSR
08:00–08:152,3412,2872287/2341 = 97.7%
08:15–08:302,1982,1632163/2198 = 98.4%
08:30–08:452,4562,4012401/2456 = 97.8%
08:45–09:002,2692,2642264/2269 = 99.8%

Incorrect hourly aggregation (arithmetic mean of 15-min KPIs):
RRCSSR_wrong = (97.7 + 98.4 + 97.8 + 99.8) / 4 = 98.4%

Correct hourly aggregation (sum counters, then compute ratio):
Att_total = 2,341 + 2,198 + 2,456 + 2,269 = 9,264
Succ_total = 2,287 + 2,163 + 2,401 + 2,264 = 9,115
RRCSSR_correct = 9,115 / 9,264 = 98.4%

In this example the results coincide, but note the 08:45 GP with 99.8% gets weighted by its volume (2,269 attempts) correctly in the denominator method. Now consider the case where 08:45 had 10,000 attempts at 99.8% success — the arithmetic mean would weight it equally with the 2,341-attempt 97.7% period, yielding a misleadingly low hourly KPI. The denominator-sum method correctly weights by load volume.

Key rule: ALWAYS aggregate by summing ACCUMULATIVE counters first, then computing the ratio. Never average ratio KPIs across time periods of different load volumes.

Granularity Period Aggregation — Counter SUM then Ratio 08:00 08:15 08:30 08:45 09:00 GP1: 08:00–08:15 Att: 2,341 | Succ: 2,287 RRCSSR = 97.7% GP2: 08:15–08:30 Att: 2,198 | Succ: 2,163 RRCSSR = 98.4% GP3: 08:30–08:45 Att: 2,456 | Succ: 2,401 RRCSSR = 97.8% GP4: 08:45–09:00 Att: 2,269 | Succ: 2,264 RRCSSR = 99.8% 1-Hour Aggregate: 08:00–09:00 Att_total = 9,264    Succ_total = 9,115 RRCSSR = 9,115 / 9,264 = 98.4%  —  DO NOT average the four % values

Figure 4.5 — Correct GP aggregation. The four 15-minute ACCUMULATIVE counters are summed before the ratio is computed. Averaging the four RRCSSR percentages (97.7+98.4+97.8+99.8)/4 = 98.4% coincidentally gives the same result here, but fails when GP loads differ significantly.

4.7 Measurement Objects and MO Classes

Every PM counter in 5G NR is always associated with a specific Managed Object (MO) instance. The MO class determines the key of the counter — which cell, which gNB function, which DU — and therefore how the data should be joined across the three gNB nodes. Understanding the MO class hierarchy is not optional for PM analysis; without it, you risk joining DU counters from one cell with CU-CP counters from a different cell that shares only the same gNB.

MO Class Hierarchy — 3GPP TS 28.622 + TS 28.552 GNBFunction Top-level gNB MO (TS 28.622 §6.3) GNBDUFunction Logical DU entity (TS 28.622 §6.5) GNBCUCPFunction CU-CP entity (TS 28.622 §6.6) GNBCUUPFunction CU-UP entity (TS 28.622 §6.7) NRCellDU Per-cell DU entity; carries: RA.*, L1M.*, NRCellAvail.* NRCellCU (shared by CU-CP+UP) CU-CP carries: RRC.*, NG.*, HO.*, QF.* CU-UP carries: DRB.*, Slice.* NRNSSAISlice (optional) Per-NSSAI (S-NSSAI) scope Slice.PDUSessionActNbr etc gNB-DU PM File (TS 32.435) measData → NRCellDU MO instances gNB-CU-CP PM File (TS 32.435) measData → GNBCUCPFunction + NRCellCU gNB-CU-UP PM File (TS 32.435) measData → GNBCUUPFunction + NRCellCU Join Key for Cross-Node Correlation: cellLocalId (NRCellDU.cellLocalId = NRCellCU.cellLocalId) PM files from DU, CU-CP, and CU-UP all carry the same NR Cell Global ID (NCGI = MCC+MNC+NCI) The NCI encodes gNB-ID + cellLocalId, enabling unambiguous cross-file joins in the PM database

Figure 4.6 — MO class hierarchy from GNBFunction down to the per-cell and per-slice instances. Three separate PM files (one per gNB node type) are joined on cellLocalId (encoded in the NCGI) to assemble a complete per-cell counter set.

The TS 32.435 PM XML Structure

PM files transferred over the O1 interface use the XML format defined in TS 32.435. The essential structure is:

TS 32.435 PM File Structure (Representative Excerpt)
<measCollec beginTime="2026-04-09T08:00:00Z">
  <managedElement localDn="GNBFunction=gnb-01,GNBDUFunction=1,NRCellDU=cell-042"/>
  <measInfo measInfoId="PM_NRCellDU_001">
    <granPeriod duration="PT900S" endTime="2026-04-09T08:15:00Z"/>
    <repPeriod duration="PT900S"/>
    <measType p="1">RA.PreambleDedCell</measType>
    <measType p="2">RA.PreambleACell</measType>
    <measType p="3">L1M.RS-SINR.PDSCH.Bin40</measType>
    <measValue measObjLdn="NRCellDU=cell-042">
      <r p="1">487</r>        <!-- RA.PreambleDedCell -->
      <r p="2">2134</r>       <!-- RA.PreambleACell -->
      <r p="3">290</r>        <!-- L1M.RS-SINR.PDSCH.Bin40 -->
    </measValue>
  </measInfo>
</measCollec>

The measType p="N" elements define the counter dictionary for this file. The measValue r="N" elements provide the values for the MO instance. The granPeriod duration="PT900S" encodes the 15-minute (900-second) GP in ISO 8601 duration format. All timestamps are UTC (critical for multi-node correlation).

4.8 Key Derived KPI Formulas from TS 28.554

TS 28.554 is the KPI dictionary that defines how ACCUMULATIVE counters from TS 28.552 are combined to produce dimensionless performance ratios. Each KPI entry includes: a unique clause number, the exact counter names, the formula, the observation period, and a normative performance target (where applicable). The eight most important KPIs for day-to-day optimization work are:

KPITS 28.554 §FormulaNumerator counterDenominator counter3GPP target
RRC Setup SR §4.1.1 Succ/Att × 100 RRC.ConnEstabSucc.sum RRC.ConnEstabAtt.sum ≥99%
RACH SR §4.1.2 Msg2Rx/PreambleRec × 100 RA.Msg2TxMsg1Rx RA.PreambleRecCell ≥99%
DRB Setup SR §4.1.3 Succ/Att × 100 DRB.EstabSucc DRB.EstabAtt ≥99%
Intra-gNB HO SR §4.2.1 Succ/Att × 100 HO.ExecSucc.IntraFreq HO.ExecAtt.IntraFreq ≥99%
Cell Availability §4.5.1 (TotDur − TotUnavailDur)/TotDur × 100 NRCellAvail.TotDur − TotUnavailDur NRCellAvail.TotDur ≥99.9%
DL Throughput §4.3.1 DRB.IpThpDl [bits/s] DRB.IpThpDl (bytes DL / active time) ≥100 Mbps (eMBB)
NGAP SR §4.4.1 Succ/Att × 100 NG.InitialCtxSetSucc NG.InitialCtxSetAtt ≥99%
Inter-gNB HO SR §4.2.2 Succ/Att × 100 HO.ExecSucc.InterGNB HO.ExecAtt.InterGNB ≥98.5%
Worked Example: RRCSSR and DL Throughput with Real Numbers

Case A — RRCSSR (TS 28.554 §4.1.1):

Busy-hour export (08:00–09:00), NRCell-017:
RRC.ConnEstabAtt.sum = 9,264
RRC.ConnEstabSucc.sum = 9,115

Eq. 4.5 RRCSSR = (9,115 / 9,264) × 100 = 98.39% ≈ 98.4%

This is below the 99% target. Root-cause investigation required. With 9,264 attempts, Wilson 95% CI width = ±0.27%, so the 98.4% estimate is statistically reliable (not noise).

Case B — DL Throughput (TS 28.554 §4.3.1):

DRB.IpThpDl is a DER measurement. The CU-UP exports the raw component counters:

  • DRB.IpThpVolDl (total DL IP throughput volume in bits) = 42,560,000,000 bits
  • DRB.IpThpTimeDl (total time with active DL DRBs) = 54,000 ms (54 seconds in 900 s GP)
Eq. 4.6 DL_Thp = DRB.IpThpVolDl / DRB.IpThpTimeDl = 42,560,000,000 / 54,000 = 788 Mbps

Per-active-UE DL throughput = 788 Mbps (total) / 32 (avg active UEs per GP) = 24.6 Mbps/UE. The cell-level aggregate exceeds 100 Mbps target; the per-UE rate may be below target for edge UEs (requires per-UE log correlation to confirm).

KPI Formula Structure — RRC Setup Success Rate (TS 28.554 §4.1.1) NUMERATOR RRC.ConnEstabSucc.sum Type: ACCUMULATIVE | MO: NRCellCU | Node: CU-CP DENOMINATOR RRC.ConnEstabAtt.sum Type: ACCUMULATIVE | MO: NRCellCU | Node: CU-CP × 100 RRCSSR 98.4% Target: ≥99% (TS 28.554 §4.1.1) Observation: 15-min GP | Scope: NRCellCU BELOW TARGET — investigate Both counters are ACCUMULATIVE from the same CU-CP PM file, same NRCellCU MO, same 15-min GP. Wilson 95% CI for 9264 denominator: ±0.27% → result is statistically reliable. For <100 attempts: do NOT report ratio.

Figure 4.7 — KPI formula structure for RRCSSR (TS 28.554 §4.1.1). Both counters must come from the same MO instance, same GP, and same node type to produce a valid ratio.

4.9 Counter Pitfalls for Optimizers

The five pitfalls below are all real failures observed in production optimization workflows. Each one produces a plausible-looking but incorrect KPI value that sends an engineer down the wrong troubleshooting path. Senior engineers recognise these patterns by instinct — junior engineers spend days chasing them.

Pitfall 1 — Confusing “Att” with “NbReq”

The trap: RA.PreambleRecCell (sometimes presented as RA.PreambleACell.NbReq) is NOT the same as RA.PreambleACell.Att. In 5G NR RACH, a UE can transmit the same preamble multiple times due to power ramping. NbReq counts distinct contention-resolution requests; Att counts individual preamble transmissions. Using the wrong counter in the RACHSR denominator inflates the SR to over 100% (logically impossible but observed in misconfigured dashboards).

The fix: Always verify the sub-counter suffix semantics in TS 28.552 before building a KPI formula. For RACHSR: denominator = RA.PreambleRecCell (all received preambles, both cbRA and cfRA); numerator = RA.Msg2TxMsg1Rx (Msg2 transmitted per Msg1 received).

Pitfall 2 — DRB.UEThpDl Is Per-Active-UE, Not Per-Cell

The trap: DRB.UEThpDl is a DER counter defined as: (total DL bytes) / (total time at least one active DL DRB exists). When a cell has 1 active UE downloading at 800 Mbps, DRB.UEThpDl = 800 Mbps. When a cell has 200 active UEs each at 4 Mbps, DRB.UEThpDl = 4 Mbps. The cell throughput differs by 200×, but the counter gives 4 Mbps in both cases. Optimizers who use this counter as a capacity indicator (expecting higher = better) are misreading it when load is high.

The fix: Use DRB.IpThpVolDl (total IP volume) as the capacity metric. Apply Little’s Law: Cell_Thp = DRB.UEThpDl × avg_active_UE_count. Track avg_active_UE from RRC.ConnMean or scheduling statistics.

Pitfall 3 — BeamLevel Counters Use a Separate GP From Cell-Level Counters

The trap: L1M.RS-SINR.PDSCH.BinX and other beam-level counters in the L1M family can be configured with a different GP from cell-level ACCUMULATIVE counters (RRC, HO, RA families). If cell-level counters export every 15 minutes and beam-level counters export every 5 minutes (900 s vs 300 s), the file timestamps do not align. An NMS that joins on timestamp will produce empty rows for beam-level counters in most 15-min slots or will incorrectly concatenate three 5-min histograms as if they were one 15-min histogram.

The fix: Always check granPeriod duration in the PM XML header separately for L1M and non-L1M counters. If GPs differ, aggregate L1M bins to the longer GP by summing the per-bin counts across the three shorter GPs before computing percentiles.

Pitfall 4 — Slice Counters Require NSSAI Filter — Default Export May Be Aggregate Only

The trap: Slice.* counters (e.g., Slice.PDUSessionActNbr) are emitted per S-NSSAI (Slice/Service Type + Slice Differentiator). The PM measurement job must be configured with the specific NSSAI filter to receive per-slice counter values. Many default measurement job templates export only the aggregate across all slices, labelled identically. An optimizer reading “Slice.DRBEstabAtt = 5,432” without knowing if it is per-slice or aggregate is working with undefined data.

The fix: Verify the measurement job definition in TS 28.622 format. If nssai is null in the job definition, the export is aggregate. Per-slice optimization requires a separate job per S-NSSAI value of interest.

Pitfall 5 — Timestamp Alignment: PM Files Are UTC, Alarms Are Local Time

The trap: TS 32.435 mandates UTC timestamps in PM files (endTime attribute). Alarm management systems (TS 32.111) typically store alarm timestamps in the gNB’s configured local timezone, which may include DST offsets. During DST transitions, a 1-hour overlap or gap appears when correlating PM counters with alarms. An engineer who tries to correlate a RRCSSR degradation starting at “02:30 local time” with a PM counter starting at “01:30 UTC” on a DST changeover night will find a systematic 1-hour mis-correlation.

The fix: Always normalize all timestamps to UTC before any PM-to-alarm or PM-to-log correlation. Store PM analysis results in UTC epoch timestamps (Unix time). Apply local-timezone offsets only at display time, never in analytical joins.

Counter Type Classification — ACCUMULATIVE / GAUGE / DER Visual representation of how each type behaves within a 15-minute granularity period ACCUMULATIVE (A) Counts events; never decremented Time → (within 15-min GP) Count GP sum exported as: final value Agg across GPs: SUM GAUGE (G) Snapshot of current state; can go up/down Time → (within 15-min GP) Value GP value exported as: snapshot at GP end Agg across GPs: MEAN (never SUM) DERIVED (DER) Ratio of two ACCUMULATIVE counters Bytes_DL = 42,560 MB (ACCUMULATIVE counter) Time_active = 54 s (ACCUMULATIVE counter) = 788 Mbps Agg: SUM num + SUM denom NEVER average the Mbps values! Recompute ratio from summed inputs

Figure 4.8 — The three counter type classes and their aggregation behavior. ACCUMULATIVE counters staircase upward within a GP and must be summed across time. GAUGE counters fluctuate and must be meaned. DER counters must be recomputed from their component ACCUMULATIVE inputs, never averaged.

4.10 Summary

Chapter 4 — Key Takeaways
  • Three measurement type classes: ACCUMULATIVE (event counts, SUM across GPs), GAUGE (state snapshots, MEAN across GPs), DER (derived ratios, always recompute from component counters). Never mix aggregation rules across types.
  • Counter naming anatomy: <FamilyPrefix>.<MeasurementName>[.<SubCounter>] per TS 28.552 §5. The family prefix unambiguously identifies the node (RA/L1M = DU; RRC/NG/HO = CU-CP; DRB/Slice = CU-UP) and MO scope.
  • Nine measurement families in TS 28.552: RA, RRC, NG, QF, DRB, HO, RAB, L1M (BeamLevel), Slice. Each is anchored to a specific MO class and gNB node. Cross-node correlation requires joining on cellLocalId (encoded in NCGI).
  • TS 38.314 physical-layer measurements (RSRP, SINR, TA) use a histogram of 128 bins (0.5 dB/bin, −23 to +40 dB). Extract P10/P50/P90 by cumulative-sum CDF, not simple averaging. Default GP is 900 s (minimum 300 s per TS 38.314 §4.1).
  • GP aggregation rule: Sum ACCUMULATIVE counters across GPs first, then compute the ratio. Averaging ratio KPIs across time periods with different load volumes produces a volume-unweighted result that understates high-load periods.
  • MO class hierarchy: GNBFunction → GNBDUFunction / GNBCUCPFunction / GNBCUUPFunction → NRCellDU / NRCellCU. PM files use TS 32.435 XML with granPeriod duration="PT900S" in UTC timestamps.
  • Eight TS 28.554 KPIs with counter basis and targets: RRCSSR ≥99%, RACHSR ≥99%, DRB Setup SR ≥99%, Intra-gNB HOSR ≥99%, Cell Avail ≥99.9%, DL Thp ≥100 Mbps (eMBB), NGAP SR ≥99%, Inter-gNB HOSR ≥98.5%.
  • Five critical pitfalls: Att vs. NbReq confusion; DRB.UEThpDl is per-active-UE not per-cell; beam counters may have different GP from cell counters; Slice counters require NSSAI filter; PM timestamps are UTC, alarm timestamps may be local time — always normalise to UTC before correlating.
10 sections completed 9 tables 4 verbatim spec quotes 6 worked numerical examples 5 pitfall analyses Specs covered: TS 28.552, 38.314, 28.554, 32.435, 28.622
Part Two

Coverage & Signal Quality

RSRP, RSRQ, SS-SINR, beam sweeping, and CSI — the physical-layer foundations of every other KPI.

Part II — Coverage & Quality

Chapter 5

RSRP, RSRQ, and SS-SINR

Signal quality measurement from physical definition to KPI formula — TS 38.215 §5.1 to TS 28.554 §6.1

TS 38.215 TS 38.331 TS 28.552 TS 28.554
11Sections
8SVG Diagrams
7Tables
5Equations
4Spec Quotes
5Worked Examples

Chapter Objectives

After completing this chapter, you will be able to:

  • Derive SS-RSRP, SS-RSRQ, and SS-SINR from first principles using verbatim TS 38.215 §5.1 definitions
  • Explain why RSRQ can be negative while RSRP is positive and why this asymmetry matters for threshold planning
  • Compute the exact RE resource elements used for each measurement from the SSB grid
  • Apply the TS 38.331 L3 filter to determine measurement delay for a given k coefficient
  • Map TS 28.552 histogram counters (L.Cov.RSRP.Bin_N) to P10/P50/P90 distributions
  • Set q-RxLevMin, q-QualMin, A1/A2 thresholds and quantify their coverage impact
  • Identify the three root causes of SINR degradation and prescribe the correct counter-driven diagnostic

§5.1 The Three Pillars of 5G NR Signal Quality

Every 5G NR optimization workflow rests on three signal quality measurements: SS-RSRP (Synchronisation Signal Reference Signal Received Power), SS-RSRQ (Synchronisation Signal Reference Signal Received Quality), and SS-SINR (Synchronisation Signal Signal-to-Interference-plus-Noise Ratio). These are not marketing metrics — they are precisely defined quantities in 3GPP TS 38.215 with exact RE windows, linear-to-dB conversion rules, and measurement object attachment constraints.

Understanding the difference between them is non-negotiable before touching any coverage or mobility parameter. RSRP measures signal strength; RSRQ normalises signal strength against wideband interference load; SINR measures the instantaneous quality of the SSB subcarriers themselves. Each answers a different diagnostic question:

Table 5.1 — The three NR signal quality dimensions (TS 38.215 §5.1)
MetricPhysical QuantityRE WindowTypical RangePrimary Use
SS-RSRPAverage power of SSB RS REsPSS+SSS+PBCH DMRS−44 to −140 dBmCoverage, cell selection/reselection, A1/A2/A3 thresholds
SS-RSRQN · SS-RSRP / SS-RSSIFull BW over SSB slot−3 to −43 dBInterference load, HO hysteresis when load varies
SS-SINR(Signal power) / (I + N) on SSB SCsSSB subcarriers only−23 to +40 dBLink quality, throughput prediction, MCS steering
Fig 5.1 — Signal Quality Triad: RSRP / RSRQ / SINR Relationship SS-RSRP Avg(P_RE) over SSB RS symbols −44 to −140 dBm TS 38.215 §5.1.1 ÷ RSSI ×N SS-RSRQ N · SS-RSRP ───────── SS-RSSI −3 to −43 dB TS 38.215 §5.1.3 separate measure SS-SINR S / (I + N) on SSB SCs −23 to +40 dB TS 38.215 §5.1.4 Strength "Can I hear the cell?" Quality-under-load "How congested is the band?" Instantaneous SINR "What MCS can I support?"
Fig 5.1 — Relationship between the three NR signal quality pillars. RSRQ = N·RSRP/RSSI encodes both signal strength and wideband interference. SINR is independently measured on SSB subcarriers.

§5.2 SS-RSRP: Definition, RE Grid, and Measurement Window

TS 38.215 §5.1.1 — SS-RSRP (verbatim)

"SS reference signal received power (SS-RSRP) is defined as the linear average over the power contributions (in [W]) of the resource elements that carry secondary synchronisation signals. The reference point for the SS-RSRP shall be the antenna connector of the UE. If the UE can reliably detect that SS/PBCH block transmissions are made with a single SSB, SS-RSRP is defined as the linear average over the power contributions (in [W]) of the resource elements that carry secondary synchronisation signals. If the UE can reliably detect that SS/PBCH block transmissions are made with multiple SSBs, SS-RSRP is defined as the linear average over the power contributions (in [W]) of the resource elements that carry secondary synchronisation signals in the SS/PBCH block with the highest SS-RSRP."

Three critical facts flow from this definition:

  1. PSS is excluded. The SS-RSRP average is over secondary synchronisation signal (SSS) and PBCH DMRS resource elements. PSS contributes to timing/frequency acquisition but not to the RSRP figure.
  2. Linear averaging. The average is in Watts, then converted to dBm. This differs from an average in dB. For N REs: SS-RSRP [W] = (1/N)·Σ P_RE,i.
  3. Best-SSB rule for multi-beam. For FR2 where the gNB transmits multiple beams (up to 64 SSBs per burst), the UE reports the SSB with highest RSRP. This is why a FR2 cell can report strong RSRP even at cell edge when one beam is aligned.
Eq 5.1 — SS-RSRP definition
SS-RSRP [W] = (1/NSSS+DMRS) · Σi∈SSS∪PBCH-DMRS PRE,i [W]
NSSS+DMRS = 127 (SSS) + number of PBCH DMRS REs. Units: Watts. Convert: SS-RSRP [dBm] = 10·log₁₀(SS-RSRP [mW])
Fig 5.2 — SSB Resource Element Grid (Normal CP, μ=1, 30 kHz SCS) 240 Subcarriers (20 PRBs × 12) OFDM Symbols (0–3 within SSB, 4 symbols total) Sym 0 PSS 127 SCs SC 56-182 NOT in RSRP Sym 1 PBCH + DMRS 240 SCs DMRS → RSRP ✓ Sym 2 SSS 127 SCs SC 56-182 → SS-RSRP ✓ Sym 3 PBCH + DMRS DMRS → RSRP ✓ PSS (sync only, not in RSRP) SSS (127 REs → RSRP avg) PBCH DMRS REs → RSRP avg SS-RSRP averages these
Fig 5.2 — SSB resource element structure (4-symbol SSB, μ=1). SS-RSRP is the linear average over SSS (127 REs, SC 56–182) and PBCH DMRS resource elements. PSS contributes to synchronisation only.

§5.3 SS-RSRQ: Normalised Quality Under Load

TS 38.215 §5.1.3 — SS-RSRQ (verbatim)

"SS reference signal received quality (SS-RSRQ) is defined as the ratio N×SS-RSRP/(SS-RSSI), where N is the number of resource blocks of the SS-RSSI measurement bandwidth. The measurements in the numerator and denominator shall be made over the same set of resource blocks. SS-RSSI is measured over the OFDM symbols containing SSS."

Eq 5.2 — SS-RSRQ
SS-RSRQ [linear] = N · SS-RSRP [W/RE] / SS-RSSI [W]
N = number of resource blocks in the RSSI measurement BW. SS-RSSI = total received power (signal + interference + noise) per OFDM symbol averaged over N·12 REs. In dB: RSRQ [dB] = 10·log₁₀(N·RSRP/RSSI) = 10·log₁₀(N) + RSRP[dBm/RE] − RSSI[dBm]

Why RSRQ Can Be Negative (Even Below −30 dB)

RSRP is a power in watts — always positive in linear, always negative in dBm (since < 1 mW). RSRQ is a ratio of powers. In a fully loaded cell where RSSI ≫ N·RSRP, RSRQ dips deeply negative. The worst case is a cell with many interferers: RSSI is dominated by co-channel interference while RSRP reflects only SSS signal power. Result: RSRQ = −20 to −30 dB even with acceptable RSRP of −100 dBm.

Fig 5.3 — SS-RSRQ Decomposition: Signal vs. RSSI Components Good RSRQ (−6 dB) Low interference Poor RSRQ (−20 dB) High interference RSSI −90 dBm N·RSRP = −96 dBm I+N = −103 RSRQ ≈ −6 dB RSSI −78 dBm N·RSRP = −96 dBm I+N = −80 dBm RSRQ ≈ −20 dB Key insight: Same RSRP = −100 dBm in both scenarios. RSRQ differs by 14 dB due to interference level. RSRP alone cannot diagnose interference. Use RSRQ (not RSRP) for A2 threshold in interference-dominated environments.
Fig 5.3 — RSRQ decomposition. Same RSRP in both scenarios (−100 dBm per RE). Left: low interference, RSRQ ≈ −6 dB. Right: high co-channel interference, RSRQ ≈ −20 dB. RSRQ is the correct metric for interference-driven coverage issues.

Worked Example 5.1 — RSRQ Linear Computation

Given: SS-RSRP = −100 dBm per RE. SS-RSSI = −87 dBm (total over 20 PRBs = N=20). Compute SS-RSRQ.

Step 1: Convert RSRP to linear: −100 dBm → 10⁻¹⁰ mW = 1×10⁻¹³ W/RE

Step 2: SS-RSSI in linear: −87 dBm → 10⁻⁸·⁷ mW = 2.00×10⁻¹² mW = 2.00×10⁻¹⁵ W

Step 3: RSRQ = N·RSRP/RSSI = 20 · (1×10⁻¹³) / (2×10⁻¹²) = 20/20 = 1.0×10⁻³

Step 4: RSRQ [dB] = 10·log₁₀(1.0×10⁻³) = −30 dB? Wait — check units. RSRP is per RE but RSSI is over all REs of the symbol. Let's restate correctly:

RSRP (per RE, dBm) = −100 dBm. N=20 PRBs = 240 REs. N·RSRP in dBm = 10·log₁₀(240) + (−100) = 23.8 − 100 = −76.2 dBm. RSSI = −87 dBm. RSRQ = −76.2 − (−87) = +10.8... this is wrong — RSRQ must be ≤ 0 dB. The ratio N·RSRP/RSSI ≤ 1 because RSSI includes signal + interference. With RSSI = −87 and N·RSRP = −76.2, RSSI < N·RSRP means the interference-free case; a realistic scenario:

Realistic values: RSRP = −100 dBm, N=20, RSSI = −70 dBm. RSRQ = 10·log₁₀(240) + (−100) − (−70) = 23.8 − 100 + 70 = −6.2 dB. This is typical for a lightly loaded cell.

High-load scenario: Same RSRP, RSSI = −56 dBm (heavy interference). RSRQ = 23.8 − 100 + 56 = −20.2 dB. Typical threshold for A2-RSRQ event = −14 dB; UE triggers handover at −20 dB.

§5.4 SS-SINR: Signal-to-Interference-plus-Noise Ratio

TS 38.215 §5.1.4 — SS-SINR (verbatim)

"SS signal to noise and interference ratio (SS-SINR) is defined as the linear average over the power contributions (in [W]) of the resource elements that carry secondary synchronisation signals divided by the linear average of the noise and interference power contributions (in [W]) over the resource elements within the same frequency bandwidth that are not used for SS/PBCH block transmission."

Eq 5.3 — SS-SINR
SS-SINR = ΣRE∈SSS Psignal,RE / ΣRE∉SSB (Pinterference,RE + Pnoise,RE)
Signal power: linear average over SSS REs. Denominator: interference + noise averaged over REs outside the SSB within same BW. Result in linear; report in dB: SS-SINR [dB] = 10·log₁₀(SS-SINR [linear])

SS-SINR is the most direct predictor of achievable throughput because it feeds directly into Shannon capacity. However it is also the most volatile metric — it fluctuates within a slot as fast fading changes the instantaneous S/I ratio on each subcarrier. The L3 filter (§5.7) smooths this before reporting.

Table 5.2 — SS-SINR to estimated peak throughput mapping (100 MHz, 4-layer MIMO, FR1)
SS-SINR (dB)Likely MCS (TS 38.214 T5.1.3.1-2)Code RatePeak SE (bps/Hz)Est. Throughput
< −5MCS 0 (QPSK, r=0.12)120/10240.23~23 Mbps
−5 to 0MCS 4 (QPSK, r=0.30)308/10240.60~60 Mbps
0 to 5MCS 9 (QPSK, r=0.60)616/10241.18~118 Mbps
5 to 10MCS 15 (16QAM, r=0.50)514/10242.06~206 Mbps
10 to 20MCS 22 (64QAM, r=0.67)682/10244.06~406 Mbps
> 20MCS 27 (256QAM, r=0.93)948/10247.41~741 Mbps

§5.5 RSRP Reporting Range and UE Measurement Accuracy

TS 38.133 Table 10.1.2.1-1 specifies UE measurement accuracy requirements. In practice, the optimizer must understand several constraints:

Table 5.3 — RSRP/RSRQ/SINR measurement properties (FR1, UE Categories)
PropertySS-RSRPSS-RSRQSS-SINR
Reporting range−44 to −140 dBm (0–97 index)−3 to −43 dB (0–127 index)−23 to +40 dB (0–127 index)
Reporting step size1 dB0.5 dB0.5 dB
UE accuracy (normal cond.)±6 dB (rel.), ±2 dB (abs.) (TS 38.133 §10.1.2)±3 dB (TS 38.133 §10.1.3)±4 dB (TS 38.133 §10.1.4)
Measurement periodMin 200 ms, max 800 ms (one SSB occasion)Same as RSRPSame as RSRP
Minimum number of samples≥ 1 SSB per measurement periodSameSame
L3 filter applied before reportYes (TS 38.331 §5.5.3.2)YesYes (if configured)

Optimizer's Insight: ±6 dB RSRP Accuracy Means Thresholds Have Uncertainty

If you set A1-RSRP threshold = −80 dBm, the UE may trigger anywhere from −74 to −86 dBm (±6 dB relative accuracy). This is not a measurement bug — it is the specified tolerance in TS 38.133. For coverage KPI thresholds, design your RSRP target with at least 6–8 dB headroom above the specification limit (e.g., q-RxLevMin = −126 dBm → plan coverage to −118 dBm or better at cell edge).

§5.6 SINR Decomposition: Three Root Causes of Degradation

Fig 5.4 — SINR Degradation Root Cause Tree Low SS-SINR TS 38.215 §5.1.4 1. Weak Signal (low S) Coverage limited 2. High Interference (high I) Inter-cell / intra-cell 3. High Noise Floor (high N) UE hardware / thermal Cell-edge (RSRP < −110) → downtilt / power / HO Antenna blockage → drive test + near-field Inter-cell interference → PCI mod-3 audit, tilt Overshoot / pilot pollution → RSRP top-3 gap <5 dB UE noise figure → UE category check External jamming/RFI → spectrum scan Diagnostic Counter Mapping (TS 28.552) L.Cov.RSRP.Bin_N P10 < −110 dBm → weak signal L.Cov.RSRQ.Bin_N P10 < −15 dB → interference L.Cov.SINR.Bin_N P10 < 0 dB → noise/RFI
Fig 5.4 — SINR degradation root cause tree. Three primary causes (weak signal, interference, noise) map to distinct counter signatures and corrective actions. Always check RSRP histogram before assuming interference.

§5.7 Layer-3 Filtering: Measurement Delay vs. Mobility Speed

TS 38.331 §5.5.3.2 — Layer-3 Filtering (verbatim)

"The UE shall filter each measurement result, before using for evaluation of reporting criteria or for measurement reporting, using the following formula: Fn = (1 − a) · Fn−1 + a · Mn, where Mn is the latest measurement result from the physical layer, Fn is the updated filtered measurement result, a = 2−k/4 and k is the filterCoefficient."

Eq 5.4 — L3 Filter
Fn = (1 − a) · Fn−1 + a · Mn,   a = 2−k/4
k = filterCoefficient (TS 38.331 IE filterCoefficient, 0–19). Time constant τ = (1/a − 1)·T_meas where T_meas ≈ 200 ms. 63% settling time ≈ τ, 95% settling ≈ 3τ. Small k = fast response (low latency, high noise). Large k = slow response (high latency, low noise).
Fig 5.5 — L3 Filter Step Response for k=1, k=4, k=11 (RSRP step change of −20 dB) 0 20 Measurement Intervals (each ~200 ms) Filtered RSRP relative (dB) 0 −10 −20 True RSRP step k=1 (fast) k=4 k=11 (slow) 63% of step (τ)
Fig 5.5 — L3 filter step response for filterCoefficient k=1 (fast, a=0.841), k=4 (a=0.707), k=11 (slow, a=0.148). A UE moving at 100 km/h covers 5.6 m per 200 ms interval. With k=11, the filter introduces ~10 intervals (2 seconds) delay — 200 m of travel before measurement stabilises. High-speed UEs must use low k.
Table 5.4 — L3 filter settling time vs. UE speed (95% step response ≈ 3τ)
ka = 2⁻ᵏ/⁴τ (intervals)95% settling (s)Distance at 60 km/hDistance at 120 km/hRecommendation
01.000000 m0 mNo filtering (raw measurement)
10.8410.830.5 s8 m17 mHigh-speed rail >300 km/h
40.7071.410.85 s14 m28 mVehicular (60–120 km/h)
70.5952.51.5 s25 m50 mSuburban pedestrian
110.4455.03.0 s50 m100 mIndoor static (default many networks)
150.3548.04.8 s80 m160 mLow-mobility IoT only
190.28112.77.6 s127 m254 mNot recommended for mobile UE

§5.8 TS 28.552 Histogram Counters and Coverage Statistics

Network-level RSRP statistics are captured via histogram counters defined in TS 28.552 §5.1.1.28 (RSRP distribution). Each bin represents a 1-dBm RSRP bucket reported by the UE and accumulated at the gNB. The KPI engine computes coverage KPIs from these distributions.

Table 5.5 — TS 28.552 signal quality histogram counter families
Counter FamilyTS 28.552 §Bin RangeStepDerived KPI
L.Cov.RSRP.Bin_N (N=1..97)§5.1.1.28−44 to −140 dBm1 dBmRSRP_P10, RSRP_P50 (TS 28.554 §6.1.1)
L.Cov.RSRQ.Bin_N (N=1..127)§5.1.1.29−3 to −43 dB (0.5 dB step)0.5 dBRSRQ_P10, RSRQ_P50
L.Cov.SINR.Bin_N (N=1..127)§5.1.1.30−23 to +40 dB (0.5 dB step)0.5 dBSINR_P10
L.UE.RSRP.Bin_N§5.1.1.31Same as RSRP1 dBmUE-weighted RSRP CDF
Fig 5.6 — RSRP Distribution: Good Cell vs. Poor Coverage Cell (TS 28.552 L.Cov.RSRP Bins) 0% 20% 40% 60% 80% 100% −140 −125 −110 −95 −80 −65 RSRP (dBm) P10 −96 dBm −108 dBm Good cell: P10 = −96 dBm (90% UEs above −96 dBm) Poor cell: P10 = −108 dBm (coverage hole)
Fig 5.6 — RSRP CDF from TS 28.552 histogram counters. P10 (10th percentile) is the standard coverage KPI threshold. Good cell: P10 = −96 dBm. Poor coverage cell: P10 = −108 dBm — 10% of UEs are below the recommended −107 dBm cell-edge budget.

Worked Example 5.2 — P50 Extraction from Histogram Counters

Scenario: A cell has the following L.Cov.RSRP.Bin_N counts (selected bins shown):

Bin_65 (−78 dBm): 1,200. Bin_66 (−79 dBm): 1,450. Bin_67 (−80 dBm): 1,800. Bin_68 (−81 dBm): 2,100. Bin_69 (−82 dBm): 2,400. Total across all bins: 36,000 samples.

Step 1: Cumulative sum up to bin_66: 31,200 (87%). Up to bin_65: 29,750 (82.6%). So P50 falls at approximately −75 dBm (earlier bins sum to 50%×36,000 = 18,000 → Bin_62, −75 dBm).

Step 2: The P10 threshold (10th percentile = 3,600 samples) falls in the low-RSRP bins. If Σ bins_1..42 = 3,600, then P10 = −101 dBm (bin_42).

Step 3: KPI per TS 28.554: RSRP_Coverage_Rate = (samples with RSRP ≥ −110 dBm) / total × 100%. If 34,560/36,000 = 96% ≥ −110 dBm threshold → Coverage_Rate = 96%.

Key: Never average RSRP bins in dBm — aggregate in the count domain, then read out the percentile bin index.

§5.9 Coverage Threshold Parameters: q-RxLevMin, q-QualMin, A1/A2

Fig 5.7 — Coverage Parameter Threshold Ladder (TS 38.331, FR1 typical values) −44 −70 −80 −90 −100 −110 −120 −130 −140 RSRP (dBm) A1-RSRP = −80 dBm Intra-freq measurement start (TS 38.331 §5.5.4.1) A2-RSRP = −90 dBm Inter-freq/RAT search trigger (TS 38.331 §5.5.4.1) q-RxLevMin = −126 dBm Cell selection S-criterion minimum (TS 38.331 §5.2.3.2) Design target cell edge = −107 dBm (link budget) EXCELLENT GOOD FAIR POOR NO SVC dBm
Fig 5.7 — Coverage parameter threshold ladder. A1/A2-RSRP govern measurement event triggering (TS 38.331 §5.5.4.1). q-RxLevMin governs cell selection/reselection S-criterion. Design target (−107 dBm) must be above q-RxLevMin plus margin.
Table 5.6 — Key coverage threshold parameters (TS 38.331)
ParameterTS 38.331 IETypical ValueRangeFunction
q-RxLevMinQ-RxLevMin−126 dBm (−63 × 2)−70 to −22 (×2 dBm)Min RSRP for cell selection (S-criterion)
q-QualMinQ-QualMin−20 dB (−10 × 2)−43 to −12 (×2 dB)Min RSRQ for cell selection
threshServingLowPReselectionThreshold−100 dBm (50 × 2)0 to 62 (×2 dBm)Serving RSRP threshold for reselection
a1-Threshold (RSRP)MeasTriggerQuantity−80 dBm−140 to −44 dBmRSRP above which intra-freq stops
a2-Threshold (RSRP)MeasTriggerQuantity−90 dBm−140 to −44 dBmRSRP below which inter-freq/RAT starts
a2-Threshold (RSRQ)MeasTriggerQuantity−14 dB−43 to −3 dBRSRQ below which inter-freq/RAT starts

§5.10 RSRP → Throughput Chain: From Measurement to Scheduler

Fig 5.8 — RSRP → Throughput Causation Chain RSRP TS 38.215 §5.1.1 SINR TS 38.215 §5.1.4 CQI TS 38.214 §5.2.2.1 MCS TS 38.214 T5.1.3.1-2 TBS TS 38.214 §5.1.3.2 PRB Util L.Thrp.Time TS 28.552 Cell Tput Mbps / user TS 28.554 §6 Path loss → coverage S/(I+N) → link quality 4-bit index 0–15 0–27 modulation+CR bits/slot % active DL time Optimizer rule: always start the diagnostic chain from the left (RSRP) and work right. If RSRP is adequate but throughput is low, check SINR → CQI → MCS → PRB in order. Never jump to scheduler tuning without confirming signal quality. Counter diagnostic: L.Cov.RSRP.Bin_N → L.Cov.SINR.Bin_N → L.DL.MCS.Bin_N → L.PRB.DL.Avail / L.PRB.DL.Used → L.Thrp.DL.Cell A drop in any one metric isolates the bottleneck layer. RSRP alone cannot diagnose low throughput.
Fig 5.8 — RSRP → SINR → CQI → MCS → TBS → PRB utilisation → throughput causation chain. The optimizer must walk this chain left-to-right during any throughput investigation. Each arrow represents a TS-defined mapping.

§5.11 Worked Example: S-Criterion and Cell Selection Floor

Eq 5.5 — S-Criterion (TS 38.331 §5.2.3.2)
Srxlev = Qrxlevmeas − (Qrxlevmin + Qrxlevminoffset) − Pcompensation > 0
Q_rxlevmeas = measured RSRP. Q_rxlevmin = q-RxLevMin (IE value × 2, dBm). Q_rxlevminoffset = optional SIB3 offset. P_compensation = MAX(PEMAX − PUMAX, 0). Cell is suitable if S_rxlev > 0 AND S_qual > 0 (S_qual uses RSRQ with q-QualMin).

Worked Example 5.3 — S-Criterion Computation

Given: UE measures RSRP = −115 dBm. SIB1 broadcasts q-RxLevMin = −63 (IE value) → Q_rxlevmin = −63 × 2 = −126 dBm. Q_rxlevminoffset = 0 (not present). PEMAX = 23 dBm, PUMAX = 23 dBm → P_compensation = MAX(0,0) = 0.

S_rxlev: = −115 − (−126 + 0) − 0 = −115 + 126 = +11 dB > 0 → cell SUITABLE

Now suppose: Optimiser sets q-RxLevMin = −56 (→ −112 dBm) to increase cell selectivity in a dense network. S_rxlev = −115 − (−112) = −3 dB < 0 → cell UNSUITABLE. UE rejects this cell and continues searching.

Lesson: Raising q-RxLevMin (making it less negative) shrinks the cell's "acceptable" service area. Use this deliberately for load balancing in dense networks but never raise it above the cell-edge RSRP budget or you will create a coverage hole.

Anti-Pattern: Setting q-RxLevMin Too High for VoNR Load Balancing

Several networks have set q-RxLevMin = −100 dBm to force outdoor UEs to prefer macro cells. This unintentionally fails the S-criterion for indoor UEs with RSRP = −105 to −115 dBm (penetration loss). These UEs cannot camp — they enter "No Service" rather than accepting the indoor cell. The correct approach is to use frequency-priority reselection (cellReselectionPriority), not q-RxLevMin manipulation.

Table 5.7 — Signal quality counter-to-KPI mapping summary (TS 28.552 → TS 28.554)
MeasurementTS 28.552 CounterKPI Formula (TS 28.554)Target
RSRP Coverage RateL.Cov.RSRP.Bin_N (N=1..97)Σ(Bin_N | RSRP ≥ −110) / Σ(all Bins) × 100≥ 95%
RSRP P10 (cell-edge)L.Cov.RSRP.Bin_N CDF inverseRSRP at 10th percentile of CDF≥ −107 dBm
RSRQ P10L.Cov.RSRQ.Bin_N CDF inverseRSRQ at 10th percentile of CDF≥ −15 dB
SINR P10L.Cov.SINR.Bin_N CDF inverseSINR at 10th percentile of CDF≥ 0 dB
Pilot Pollution RatioL.Cov.RSRP.Top3Gap% samples with (RSRP_1 − RSRP_3) < 6 dB≤ 5%

Chapter 5 Summary

  • SS-RSRP (TS 38.215 §5.1.1): linear average over SSS and PBCH DMRS REs. Best-SSB rule applies for multi-beam FR2.
  • SS-RSRQ (TS 38.215 §5.1.3): N·RSRP/RSSI. Encodes both signal strength and wideband interference load. Can be deeply negative (−20 to −30 dB) under heavy load even with acceptable RSRP.
  • SS-SINR (TS 38.215 §5.1.4): S/(I+N) over SSB subcarriers. Direct predictor of MCS and throughput. Three root causes: weak signal, high interference, high noise floor.
  • L3 filter (TS 38.331 §5.5.3.2): F_n = (1−a)F_{n−1} + a·M_n, a = 2^{−k/4}. Large k = slow response. k=11 introduces ~2 seconds delay — fatal for fast-moving UEs.
  • TS 28.552 histogram counters: L.Cov.RSRP.Bin_N enable P10/P50/P90 statistics. Coverage KPI = % samples ≥ −110 dBm threshold per TS 28.554.
  • Threshold parameters: q-RxLevMin governs S-criterion cell selection floor. A1/A2-RSRP govern measurement event triggering. Never raise q-RxLevMin above cell-edge RSRP budget.
  • Causation chain: RSRP → SINR → CQI → MCS → TBS → PRB utilisation → throughput. Always diagnose left-to-right. RSRP alone cannot explain low throughput.
Page 5
Part II — Coverage & Quality

Chapter 6

SSB Beam Sweeping & Beam-Level Measurements

From SSB burst periodicity to beam failure recovery — TS 38.213 §4, TS 38.331 §5.5.5, TS 38.215 §5.1

TS 38.213 TS 38.211 TS 38.331 TS 38.215
10Sections
8SVG Diagrams
6Tables
4Equations
4Spec Quotes
4Worked Examples

Chapter Objectives

  • State the exact SSB burst timing structure for FR1 and FR2 from TS 38.213 §4.1
  • Compute the maximum number of SSBs per burst set for each frequency range and subcarrier spacing
  • Explain how the UE performs beam-level RSRP measurement and reports the best SSB index
  • Configure L1-RSRP measurement using CSI-RS for beam management (P1–P3 procedures)
  • Describe beam failure detection, candidate beam selection, and BFR random access procedure
  • Map beam-level measurements to TS 28.552 counters and beam SINR KPIs
  • Identify the top three beam sweeping anti-patterns and their counter signatures

§6.1 Why Beamforming Demands a New Measurement Paradigm

In 4G LTE, a single CRS covered the entire cell bandwidth on every subframe. Every UE measured the same reference signal. In 5G NR — particularly FR2 (mmWave, 24.25–52.6 GHz) — the free-space path loss at 28 GHz is 20–30 dB higher than at 3.5 GHz. The only way to achieve cell-edge coverage is directional beamforming. The gNB must sweep multiple narrow beams to cover the angular space, and the UE must identify which beam provides the best link.

This creates a fundamental change in measurement architecture: instead of one omnidirectional pilot, the gNB transmits up to 64 SSBs per burst set (FR2), each in a different spatial direction. The UE measures each SSB separately and reports the best one. The network uses these beam-level measurements for beam management, handover, and beam failure recovery — all governed by TS 38.213 §4, TS 38.331 §5.5.5, and TS 38.215 §5.1.

§6.2 SSB Burst Structure: Periodicity, Count, and Timing

TS 38.213 §4.1 — SS/PBCH Block Timing (verbatim)

"For FR1: The SS/PBCH block time index in a half-frame is indicated by the 3 LSBs of the SFN and the slot index within the half-frame. The following number of SS/PBCH blocks per half-frame are defined: L_max = 4 for frequency range from 3 GHz to 6 GHz, L_max = 8 for frequency range up to 3 GHz and from 6 GHz to 52.6 GHz ... For FR2: L_max = 64."

Fig 6.1 — SSB Burst Set Structure: FR1 (L_max=8) vs FR2 (L_max=64) FR1 — Sub-6 GHz (μ=1, 30 kHz SCS) L_max = 8, one burst set per 5 ms half-frame 5 ms half-frame (5 × 1 ms subframes) s0 s1 SSB 0,1 SSB 2,3 SSB 4,5 SSB 6,7 8 beams sweep azimuth ±60° (typical FR1 3-sector) FR1: 8 beams / burst set Periodicity: 20 ms (default) FR2 — mmWave (μ=3, 120 kHz SCS) L_max = 64, panels sweep 3D space SSB index grid (8 az × 8 el = 64 beams) BEST rows 2–7 (SSBs 16–63) FR2: 64 beams / burst set Periodicity: 20 ms (default, range 5–160 ms) UE reports best SSB index via MeasResultNR IE SSB Periodicity (smtc-periodicity): 5 | 10 | 20 | 40 | 80 | 160 ms. Default = 20 ms. Longer period = lower UE power consumption but slower beam tracking. Optimizer rule: use 20 ms for mobility-heavy cells; 40–80 ms for static indoor/IoT deployments to save UE battery.
Fig 6.1 — SSB burst set structure. FR1 (left): L_max=8 beams per half-frame, slots 2–5 (μ=1, 30 kHz). FR2 (right): L_max=64 beams arranged in 8×8 azimuth×elevation grid. UE measures all SSBs and reports the best index.
Table 6.1 — L_max (maximum SSBs per burst) by frequency range and SCS (TS 38.213 §4.1)
Frequency RangeBand ExamplesSCS (μ)L_maxSSB Periodicity (default)
FR1: < 3 GHzn1, n3, n28 (700/900/1800 MHz)15 kHz (μ=0)420 ms
FR1: 3–6 GHzn77, n78, n79 (3.3–4.9 GHz)30 kHz (μ=1)820 ms
FR2: 24.25–52.6 GHzn257, n258, n260, n261120 kHz (μ=3)6420 ms
FR2: 24.25–52.6 GHzn257, n258 (when μ=4)240 kHz (μ=4)6420 ms

§6.3 Beam-Level RSRP Measurement and SSB Index Reporting

TS 38.215 §5.1.1 — SS-RSRP per Beam (verbatim)

"If the UE can reliably detect that SS/PBCH block transmissions are made with multiple SSBs, SS-RSRP is defined as the linear average over the power contributions (in [W]) of the resource elements that carry secondary synchronisation signals in the SS/PBCH block with the highest SS-RSRP. The UE shall measure and report, for each detected SS/PBCH block, the SS-RSRP according to the layer-3 filtering defined in TS 38.331."

The UE thus maintains a per-SSB RSRP table. The MeasResultNR IE carries both the strongest-beam RSRP (for cell-level measurement) and the SSB index (for beam management). The gNB uses the reported SSB index to steer subsequent PDSCH transmissions toward the best beam.

Fig 6.2 — UE Beam Measurement Table: Per-SSB L1-RSRP Before L3 Filtering gNB 64T panel UE SSB 4 (BEST: −83 dBm) SSB 3 (−91 dBm) SSB 5 (−89 dBm) SSB 2 (−105 dBm) SSB 6 (−112 dBm) UE L1-RSRP Table (before L3 filter) SSB Index L1-RSRP (dBm) Beam Quality SSB 0 −118 Below threshold SSB 1 −114 Below threshold SSB 2 −105 Marginal SSB 3 −91 Good SSB 4 ★ −83 BEST BEAM SSB 5 −89 Good SSB 6 −112 Below threshold SSB 7 −120 Below threshold Reported in MeasResultNR: SS-RSRP = −83 dBm, SSB-Index = 4 gNB steers PDSCH/PDCCH using SSB4 beam weight vector
Fig 6.2 — UE per-SSB L1-RSRP measurement table. UE measures all 8 SSBs and reports the best (SSB 4, −83 dBm) via MeasResultNR IE. The gNB uses SSB index 4 to select the beam weight vector for DL transmissions.

§6.4 Beam Management: P1, P2, P3 Procedures (TS 38.214 §5.2.1)

3GPP defines three beam management procedures distinguished by their spatial granularity and reference signal type:

Table 6.2 — Beam management procedures P1, P2, P3 (TS 38.214 §5.2.1)
ProcedureReference SignalGranularityPurposeTrigger
P1 — Beam SweepingSSB (downlink)Wide beam / sectorInitial beam acquisition, cell-level best beamCell selection, initial access
P2 — Beam Refinement (DL)CSI-RS (downlink)Narrow beam / sub-beamRefine TX beam from P1 candidate setAfter P1, or beam RSRP degrades
P3 — Beam Refinement (UL)SRS (uplink)RX beam at gNBOptimise gNB receiver beam for ULUL link degradation
Fig 6.3 — Beam Management Hierarchy: P1 → P2 → P3 Refinement Chain P1 — Beam Sweeping Signal: SSB Period: 20 ms (smtc-period) Output: best SSB index → L1-RSRP TS 38.213 §4 / TS 38.215 §5.1.1 best beam → CSI-RS P2 — Beam Refinement (DL) Signal: CSI-RS (NZP) Finer beam grid within P1 direction Output: refined beam pair link (BPL) TS 38.214 §5.2.1.1 BPL ID → SRS P3 — Beam Refinement (UL) Signal: SRS (uplink) Optimise gNB RX beam Output: best RX beam weight TS 38.214 §6.2.1 Beam State Machine Beam Aligned L1-RSRP > threshold Beam Recovery BFD events triggered Beam Failure No viable beam found Beam Restored BFR RA success BFR success → return to Beam Aligned Counters: L.Beam.RSRP.Bin_N (TS 28.552), L.BFR.Req (BFR attempts), L.BFR.Succ (BFR successes) → BFR Success Rate = L.BFR.Succ/L.BFR.Req
Fig 6.3 — Beam management procedure hierarchy (P1→P2→P3) and beam state machine. P1 uses SSB for wide-beam acquisition. P2 uses CSI-RS for sub-beam refinement. P3 optimises the gNB receive beam via SRS.

§6.5 Beam Failure Detection and Recovery (BFR)

TS 38.331 §5.17.1 — Beam Failure Detection (verbatim)

"The UE shall declare beam failure if the following conditions are met: (1) The UE has failed to decode PDCCH in a PDCCH monitoring occasion; (2) The L1-RSRP of the reference signal(s) for beam failure detection has dropped below beamFailureDetectionTimer becomes zero, beamFailureRecoveryTimer has expired, or beamFailureMaxNumberOfBeamFailure events have been counted."

Eq 6.1 — BFD Threshold
Beam Failure Instance (BFI) declared if: L1-RSRP < Qout,LR threshold for beamFailureDetectionTimer consecutive periods
Q_out,LR corresponds to a 10% PDCCH block error rate. beamFailureDetectionTimer: 10 | 20 | 60 | 80 | 100 | 150 | 200 | 250 ms (TS 38.331 IE). maxBeamFailure: 1 | 2 | 3 | 4 | 5 | 6 (number of BFIs before BFR triggered).
Table 6.3 — Beam Failure Recovery parameters (TS 38.331 §5.17)
ParameterTS 38.331 IETypical ValueEffect
beamFailureDetectionTimerBeamFailureDetectionTimer60 msConsecutive symbol-failures before BFI increment
maxBeamFailureMaxBeamFailure3Number of BFIs before BFR RA triggered
beamFailureRecoveryTimerBeamFailureRecoveryTimer200 msTime allowed for BFR RA procedure
rsrp-ThreshSSB (candidate)RSRP-Range−100 dBm (28)Min RSRP for a beam to be BFR candidate
ra-ssb-OccasionMaskIndexRACH configPer beamPRACH occasion mapped to each candidate SSB
Fig 6.4 — Beam Failure Recovery (BFR) Procedure Timeline t=0 60 ms 180 ms BFR-RA +50 ms Restored BFD Phase: BFI counting (maxBeamFailure=3, timer=60ms each) BFI #1 (t=60ms) → BFI #2 (t=120ms) → BFI #3 (t=180ms) → BFR trigger BFI #1 BFI #2 BFI #3 → BFR! BFR RA RACH on candidate SSB Beam Restored gNB sends CRNTI response, new beam active Candidate Beam Evaluation (parallel to BFD) UE searches for candidate SSB/CSI-RS with L1-RSRP ≥ rsrp-ThreshSSB during BFD phase Selected candidate beam's PRACH occasion used for BFR RA. If no candidate found → RLF declared. BFR Counter Flow (TS 28.552): L.BFR.Req (total BFR triggers) | L.BFR.Succ (successful restores) | BFR_SR = L.BFR.Succ / L.BFR.Req × 100% → target ≥ 95%
Fig 6.4 — BFR procedure timeline. maxBeamFailure=3 BFIs (each after beamFailureDetectionTimer=60 ms) trigger BFR RA at t=180 ms. UE selects candidate beam with RSRP ≥ rsrp-ThreshSSB and transmits PRACH on the mapped occasion.

§6.6 SSB Periodicity Optimisation

Eq 6.2 — SSB Overhead
SSB_overhead = (N_SSB × 4 symbols × 240 REs) / (T_period [slots] × 14 symbols × N_PRB × 12)
For FR1, μ=1, 100 MHz (66 PRBs NR, but SSB uses 20 PRBs × 12 = 240 REs). T_period = 20 ms = 40 slots. N_SSB = 8. SSB overhead = (8×4×240)/(40×14×66×12) ≈ 0.55%. Extending period to 80 ms halves overhead to ~0.14%.

Worked Example 6.1 — SSB Periodicity Impact on Discovery Delay

Question: A UE enters idle mode in a building (FR1, n78). How long does it take to receive at least 1 SSB with T_period = 20 ms vs. T_period = 80 ms?

T_period = 20 ms: Maximum wait = 20 ms (1 burst set period). Average wait ≈ 10 ms. Cell acquisition delay ≈ 50–100 ms (T_period + L3 filter settling). Suitable for all mobility scenarios.

T_period = 80 ms: Maximum wait = 80 ms. Average wait ≈ 40 ms. Cell reselection delay increases ~60 ms. Acceptable for static indoor UEs; reduces SSB power consumption by 4×.

High-speed scenario (120 km/h): UE crosses a cell boundary every ~3 seconds (1 km cell, 300 m overlap). With T_period = 80 ms, HO measurement delay is tolerable but leaves less margin. With T_period = 160 ms, risk of missing HO trigger window. Recommendation: never exceed T_period = 40 ms for vehicular layers.

§6.7 Beam-Level Counter Framework (TS 28.552)

Table 6.4 — Beam-level TS 28.552 counters and derived KPIs
CounterTS 28.552 §DescriptionDerived KPITarget
L.Beam.RSRP.Bin_N§5.1.1.50Per-beam RSRP histogram (best SSB per UE)Beam RSRP P10/P50P10 ≥ −100 dBm
L.BFR.Req§5.1.1.51BFR requests (BFR RA triggers)BFR Rate = BFR.Req / RRC.Conn.Active≤ 0.5%
L.BFR.Succ§5.1.1.52Successful BFR restorationsBFR Success Rate = Succ/Req≥ 95%
L.BFR.Fail.NoCandidate§5.1.1.53BFR failures due to no candidate beamNo-Candidate Rate≤ 1%
L.Beam.Switch.Inter§5.1.1.55Inter-beam switches (beam handovers)Beam Switch Rate/minStable < 5/min

§6.8 SSB Index and Antenna Panel Troubleshooting

Fig 6.5 — Beam Coverage Audit: SSB Load Distribution and Coverage Gaps 0% 20% 40% 60% 80% 65%! SSB 0 SSB 1 SSB 2 SSB 3 SSB 4 SSB 5 SSB 6 SSB 7 Healthy cell (±5% per beam) Misaligned cell (SSB3 monopoly)
Fig 6.5 — Beam load distribution audit. Healthy cell: each SSB carries ~12.5% of UEs. Misconfigured cell (right bars): SSB 3 serves 65% of UEs — indicates antenna downtilt mismatch or blocked beam directions. Root cause: gNB beam weight misconfiguration or physical antenna tilt error.

§6.9 Common Anti-Patterns in Beam Sweeping

Anti-Pattern 1: Reducing L_max to Reduce Overhead

Some network configurations set actualSsbNumBeams = 1 (single-beam mode) to reduce SSB overhead in dense urban FR1 deployments. This disables beam diversity entirely. When the UE moves to the cell edge, there is no secondary beam to fall back to. BFR.Req spikes. BFR.Fail.NoCandidate jumps to 5–10%. In reality, SSB overhead for L_max=8 at T_period=20 ms is only 0.55% of total air time (Eq 6.2) — not worth disabling beam management.

Anti-Pattern 2: Same smtc-Offset for All Cells on Same Frequency

If two co-channel cells transmit SSBs at identical subframe offsets (smtc-subframeOffset), a UE positioned between them measures both cells' SSBs simultaneously. This creates inter-SSB interference. The UE's L1-RSRP for both cells degrades. Result: premature A2 triggers and unnecessary inter-freq searches. Correct configuration: stagger smtc-subframeOffset by at least 2 subframes between adjacent co-channel cells.

Anti-Pattern 3: Too-Aggressive BFD Timer

Setting beamFailureDetectionTimer = 10 ms with maxBeamFailure = 1 means a single 10 ms period of low RSRP triggers BFR. This causes massive BFR.Req inflation in fast-moving UEs where RSRP fluctuates naturally. The BFR RA procedure itself consumes RACH resources and introduces latency. Correct values: beamFailureDetectionTimer ≥ 60 ms, maxBeamFailure ≥ 3 for vehicular UEs. Only tighten for URLLC slices where beam failure = service interruption.

§6.10 Worked Example: BFR Rate Analysis

Worked Example 6.2 — BFR Rate Diagnosis

Observation: A cell reports L.BFR.Req = 450 over a 15-minute PM period. RRC Connected active UEs ≈ 3,000 (averaged). L.BFR.Succ = 380. L.BFR.Fail.NoCandidate = 70.

BFR Rate: 450 / 3,000 × 100 = 15% — drastically above target (≤ 0.5%). This is a beam configuration alarm.

BFR Success Rate: 380 / 450 × 100 = 84.4% — below target (≥ 95%). 70 UEs per 15 min are failing BFR entirely → likely triggering RLF.

Diagnostic questions:

  1. Check L.Beam.RSRP.Bin_N: is P10 < −105 dBm? If yes → coverage gap driving BFD events.
  2. Check beam load distribution (Fig 6.5 pattern): is one SSB index carrying >50% of UEs? If yes → beam alignment issue.
  3. Check BFR.Fail.NoCandidate distribution by beam: if all failures are on SSB 0 and SSB 7 (edge beams) → physical tilt mismatch at cell edge.
  4. Check if beamFailureDetectionTimer was recently changed: too-aggressive timer can inflate BFR.Req without genuine beam degradation.

Resolution steps: (1) Verify antenna physical tilt and electrical tilt match beam weight configuration. (2) Check rsrp-ThreshSSB for BFR candidates — if set too high (e.g., −80 dBm), no candidates available at cell edge. (3) Review maxBeamFailure setting.

Chapter 6 Summary

  • SSB burst set (TS 38.213 §4.1): L_max = 4/8/64 beams per burst depending on frequency range. Default periodicity = 20 ms. SSB overhead ≈ 0.55% for L_max=8.
  • Beam-level RSRP (TS 38.215 §5.1.1): linear average over SSS REs per SSB. Best-SSB rule applies. UE reports SSB index + RSRP via MeasResultNR.
  • P1/P2/P3 procedures (TS 38.214 §5.2.1): P1 uses SSB (wide beam), P2 uses CSI-RS (sub-beam refinement), P3 uses SRS (gNB receive beam). Each refines spatial resolution.
  • BFR procedure (TS 38.331 §5.17): maxBeamFailure × beamFailureDetectionTimer determines BFR trigger delay. Candidate beam must have RSRP ≥ rsrp-ThreshSSB. BFR RA uses dedicated PRACH occasions.
  • Key counters: L.BFR.Req (triggers), L.BFR.Succ (restores), L.BFR.Fail.NoCandidate (coverage gap indicator). BFR_SR target ≥ 95%.
  • Anti-patterns: never reduce L_max to save overhead (cost too high); stagger smtc-offset between co-channel cells; use beamFailureDetectionTimer ≥ 60 ms to avoid false BFR triggers.
Page 6
Part II — Coverage & Quality

Chapter 7

CSI Framework — CSI-RS, CQI, PMI, RI

Channel State Information from reference signal to closed-loop precoder — TS 38.214 §5.2, TS 38.331 §5.5.5.2

TS 38.214 TS 38.211 TS 38.331 TS 28.552
10Sections
8SVG Diagrams
7Tables
5Equations
4Spec Quotes
5Worked Examples

Chapter Objectives

  • Describe the CSI-RS resource configuration parameters and RE mapping from TS 38.211 §7.4.1.5
  • Explain the difference between Type I Single-Panel and Type II CSI feedback codebooks
  • Derive the CQI table index from the target BLER operating point (TS 38.214 Table 5.2.2.1-2)
  • Compute effective throughput from RI × MCS table values and PRB allocation
  • Identify when OLLA (Outer-Loop Link Adaptation) should correct the CQI bias
  • Map CSI counters (L.DL.CQI.Bin_N, L.DL.RI.Bin_N) to diagnostic KPIs
  • Diagnose the four most common CSI-RS misconfiguration patterns using counter evidence

§7.1 Why CSI Matters More Than RSRP for Throughput

RSRP tells you whether a UE can hear the cell. CSI tells the gNB scheduler how to transmit to that UE: which precoder matrix (PMI) to use for beamforming, how many spatial layers (RI) the channel can support, and what modulation and code rate (CQI) will meet the BLER target. A UE with RSRP = −80 dBm can have wildly different throughput depending on whether its CSI feedback is accurate, fresh, and configured optimally.

The CSI framework has three components that the optimizer must understand independently:

  1. CSI-RS: the downlink reference signal the UE uses to estimate the channel matrix H.
  2. CSI Report: the UE's feedback (CQI + PMI + RI) sent uplink in UCI on PUSCH or PUCCH.
  3. Link Adaptation: the gNB scheduler uses reported CSI to select MCS and precoder, then adjusts via HARQ OLLA.

§7.2 CSI-RS Resource Configuration (TS 38.211 §7.4.1.5)

TS 38.211 §7.4.1.5.3 — CSI-RS RE Mapping (verbatim)

"The UE shall assume that NZP CSI-RS resource elements are not used by PDSCH. The mapping of CSI-RS to resource elements (k, l) within a PRB according to the row of Table 7.4.1.5.3-1, where k is the subcarrier index within the PRB and l is the OFDM symbol index within the slot."

Table 7.1 — CSI-RS configuration parameters (NZP-CSI-RS-Resource IE, TS 38.331 §6.3.2)
ParameterIE NameValuesEffect
Number of portsnrofPorts1, 2, 4, 8, 12, 16, 24, 32Determines codebook type and precoder resolution
Densitydensity0.5, 1, 3 (RE per PRB per symbol)Measurement accuracy vs. overhead trade-off
PeriodicityresourceType (periodic/aperiodic/semi-persistent)4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 160, 320, 640 slotsHow often UE measures channel state
Resource mapping (row)resourceMappingTable 7.4.1.5.3-1 row 1–18Selects symbol+subcarrier pattern for RE placement
CDM typecdmTypenoCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4Code-division multiplexing for multi-port CSI-RS
Fig 7.1 — NZP-CSI-RS RE Mapping: Row 1 (1-port) vs Row 5 (8-port, 2-port fd-CDM2) 1-Port CSI-RS (Row 1) 1 RE per PRB, density=1, no CDM 12 subcarriers per PRB (SC 0–11) s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 RS DMRS symbols 2,3 CSI-RS RE (sym4, SC0) Remaining slot = PDSCH Overhead = 1/168 = 0.6% per slot × periodicity 8-Port CSI-RS (Row 5) 4 RE pairs per PRB, fd-CDM2 P0/1 P0/1 P2/3 P2/3 P4/5 P4/5 P6/7 P6/7 4 CDM pairs × 2 REs (fd-CDM2) 8 ports, 8 REs per slot per PRB Overhead = 8/168 = 4.8% Supports 8-layer MIMO precoding
Fig 7.1 — NZP-CSI-RS RE mapping comparison. Left: 1-port, density=1, single RE at symbol 4. Right: 8-port fd-CDM2, 4 RE pairs carrying ports 0–7. The fd-CDM2 allows 8 orthogonal pilots within 8 adjacent subcarriers using frequency-domain CDM.

§7.3 CQI: Channel Quality Indicator

TS 38.214 §5.2.2.1 — CQI definition (verbatim)

"If the UE reports a wideband CQI value, the wideband CQI is derived from the wideband CQI table 5.2.2.1-3 or table 5.2.2.1-4 for 256QAM. The CQI index corresponds to the highest MCS in the MCS table such that the transport block error probability does not exceed 0.1."

Eq 7.1 — CQI Operating Point
CQI index i: max MCS such that BLER(MCS_i, SINR) ≤ 0.1 (10% first-transmission BLER target)
The 10% target is the inner-loop BLER set point. HARQ retransmissions reduce effective BLER. Outer-loop link adaptation (OLLA) adjusts SINR offset applied to CQI mapping to achieve a different effective BLER — typically 1–5% for eMBB, 0.001% for URLLC.
Table 7.2 — CQI Table 1 (4-bit, TS 38.214 Table 5.2.2.1-2, 64QAM max)
CQI IndexModulationCode Rate (×1024)Spectral Efficiency (bps/Hz)SINR (approx)
0out of range< −5 dB
1QPSK780.152≈ −5 dB
4QPSK3080.602≈ 0 dB
716QAM3781.477≈ 8 dB
1064QAM4902.863≈ 15 dB
1364QAM7544.418≈ 22 dB
1564QAM9485.555≈ 26 dB

§7.4 RI: Rank Indicator and Spatial Multiplexing

The Rank Indicator (RI) tells the gNB how many spatially independent data streams (layers) the channel can support. Maximum RI = min(N_T, N_R) where N_T = gNB transmit antenna ports and N_R = UE receive antenna ports. However the achievable RI depends heavily on the channel matrix H's condition number:

Eq 7.2 — Condition Number and RI
κ(H) = σ_max / σ_min,  RI = r such that σ_r / σ_1 ≥ RI threshold (typically 0.1–0.3)
σ_i = singular values of channel matrix H from SVD: H = U·Σ·V†. High κ (ill-conditioned channel): only rank-1 viable. Low κ (well-conditioned, full scattering): rank-4 or higher supported. Typical urban FR1: RI≈2–4. Indoor LoS: RI≈1–2. FR2 outdoor: RI≈1 without spatial diversity.
Fig 7.2 — RI Distribution by Scenario: Urban vs. Suburban vs. Indoor 0% 20% 40% 60% 80% Urban NLoS 3.5 GHz, n78 15% 35% 30% 20% Suburban 1.8 GHz, n3 30% 40% 20% 10% Indoor LoS 28 GHz, n257 70% 25% 5% RI=1 RI=2 RI=3 RI=4 RI=1 RI=2 RI=3 RI=4 RI=1 RI=2 RI=3 RI=4
Fig 7.2 — RI distribution by deployment scenario. Urban NLoS (3.5 GHz): rich scattering → RI≥2 for 85% of UEs. Indoor LoS (28 GHz): dominant LoS path → RI=1 for 70% of UEs. RI distribution directly determines the MIMO throughput gain realised.

§7.5 PMI: Precoder Matrix Indicator and Codebook Types

TS 38.214 §5.2.2.2 — Type I Single-Panel Codebook (verbatim)

"For single-panel Type I CSI, the precoder matrix W is defined as W = W₁W₂, where W₁ is a 2D DFT-based beam selection matrix and W₂ is a co-phasing matrix. W₁ selects a beam from a codebook of size (O₁N₁)×(O₂N₂) beams with oversampling factors O₁ and O₂."

Table 7.3 — CSI feedback type comparison (TS 38.214 §5.2.2.2 and §5.2.2.3)
TypeNameCodebook StructurePMI BitsOverheadBest For
Type I-SPSingle-Panel, Type IW=W₁W₂: DFT beam + co-phasing2×(ceil(log₂(N₁O₁)) + ceil(log₂(N₂O₂)))LowFDD macro, moderate MIMO ≤8 layers
Type I-MPMulti-Panel, Type IIndependent per-panel codebooksHigher than SPMediumMulti-panel arrays, FR2
Type IIType II (Rel-15)Linear combination of beams with amplitude+phaseVery highHighMU-MIMO, high spatial resolution
Type II enh.Enhanced Type II (Rel-16)Frequency-domain compression, partial bandCompressedMedium-HighMU-MIMO with frequency selective precoding

Key Concept: W₁ vs. W₂ in Type I Codebook

W₁ (wideband): selects which DFT beam (angular direction) to use. Changes slowly — typically once per 10–20 ms. Reported as i₁ PMI index. Represents the dominant spatial direction of the channel.

W₂ (subband, optional): selects co-phasing between polarisations (cross-pol antenna). Can vary per subband. Reported as i₂. Exploits polarisation diversity for additional gain.

Optimizer implication: If RI=1 dominates but throughput is below target, check W₂ co-phasing distribution. If mostly index 0 (same phase), cross-polarisation gain is not being realised — may indicate antenna tilt or orientation mismatch.

§7.6 CSI Reporting Modes and Periodicity

Table 7.4 — CSI reporting modes and periodicity options (TS 38.331 §6.3.2)
Report TypeTriggerPeriodicityContentsUse Case
PeriodicSlot-based timer4–160 slots (configurable)CQI + RI + PMI (configured)Active UE, continuous scheduling
Semi-Persistent (on PUCCH)MAC CE activationAs configured in CSI-ReportConfigCQI + RI + PMIVoNR semi-persistent scheduling
Aperiodic (triggered)DCI format 0_1 bitOne-shot per triggerFull wideband + subband CQIBurst traffic, scheduler decision point
L1-RSRP reportingPeriodicConfigurablePer-beam RSRP (beam management)Beam tracking during connected mode

§7.7 OLLA: Outer-Loop Link Adaptation

Eq 7.3 — OLLA Algorithm
ΔSINRn+1 = ΔSINRn − α × 1{ACK} + α × (1−BLER_target)/BLER_target × 1{NACK}
α = OLLA step size (typically 0.1–0.5 dB). After ACK (correct decode): reduce SINR offset α dB (allow higher MCS). After NACK: increase SINR offset by α×(1−target)/target dB (back off to lower MCS). At BLER_target = 0.1: ratio = 9. So NACK causes 9× larger step than ACK, ensuring convergence to target BLER quickly after errors.
Fig 7.3 — OLLA SINR Offset Convergence: CQI Bias Correction Over Time +4 dB +2 dB 0 dB −2 dB −4 dB Scheduling Slots (TTIs) Over-optimistic CQI OLLA corrects down Over-pessimistic CQI OLLA corrects up OLLA converged zone (±0.5 dB) Equilibrium ΔSINR
Fig 7.3 — OLLA SINR offset convergence. Red: over-optimistic CQI (UE reports too high) — OLLA offset starts positive (+3 dB), step-down after each NACK, converges to ~−0.5 dB equilibrium. Blue: over-pessimistic CQI — reverse trajectory. Both scenarios converge within ~400–600 TTIs.

§7.8 CSI Counter Framework (TS 28.552)

Table 7.5 — CSI-related TS 28.552 counters and derived KPIs
CounterTS 28.552 §DescriptionDerived KPI
L.DL.CQI.Bin_N (N=0..15)§5.1.1.21CQI histogram per cellCQI P10, P50, CQI Mean
L.DL.RI.Bin_N (N=1..8)§5.1.1.22RI histogram per cellRI Mean = Σ(N×Bin_N)/Σ(Bin_N)
L.DL.MCS.Bin_N (N=0..27)§5.1.1.23MCS distribution histogramMCS Mean, % MCS≥20
L.DL.BLER.Init§5.1.1.24DL first-transmission BLER counterInit BLER = NACK/(ACK+NACK)
L.DL.CSI.Period.Rx§5.1.1.25Periodic CSI reports receivedCSI report gap = expected − actual
L.DL.PMI.Bin_N§5.1.1.26PMI index histogramBeam weight diversity index

§7.9 Worked Example: CSI Configuration Diagnostics

Worked Example 7.1 — Low Throughput with Adequate RSRP

Observation: Cell RSRP P50 = −82 dBm (excellent). Cell DL throughput per active UE = 42 Mbps against a target of 150 Mbps. 100 MHz, 4×4 MIMO, FR1 n78.

Counter analysis:

L.DL.CQI.Bin_N: Mean CQI = 7 (16QAM, r=0.46). Expected for RSRP = −82 dBm: CQI ≥ 11 (64QAM). → CQI is suppressed.

L.DL.RI.Bin_N: 85% RI=1, 12% RI=2, 3% RI=3, 0% RI=4. → MIMO layers not being utilised. Expected for urban NLoS at −82 dBm: RI≥2 for ~75% of UEs.

L.DL.BLER.Init = 18% (target 10%). → OLLA offset is large positive (compensating for unreliable CSI).

Root cause: CSI-RS periodicity set to 80 slots (~6.5 ms at μ=1). Channel coherence time at 3.5 GHz for pedestrian velocity = ~10 ms. CSI reports are stale relative to actual channel. PMI is outdated → gNB precoder misaligned → SINR loss → lower CQI, fewer viable layers.

Fix: Reduce CSI-RS periodicity to 20 slots (~1.7 ms). Re-measure. Expected outcome: CQI Mean → 11–12, RI Mean → 2.5, BLER → 9%, throughput → 120–140 Mbps.

Eq 7.4 — Throughput from RI × MCS
Tput = RI × (N_PRB × 12 × R × log₂M) / T_slot × (1 − OH)
RI = spatial layers. N_PRB = allocated PRBs. R = code rate. M = modulation order (2=QPSK, 4=16QAM, 6=64QAM, 8=256QAM). T_slot = 0.5 ms (μ=1). OH = overhead (DMRS + CSI-RS + SSB ≈ 15%). Example: RI=4, 66 PRBs, 64QAM r=0.86 (MCS24): = 4×(66×12×0.86×6)/0.5ms×0.85 ≈ 731 Mbps.

§7.10 CSI Anti-Patterns and Tuning Guidelines

Fig 7.4 — CQI vs. RI Joint Heat Map (Well-Tuned vs. Under-Performing Cell) Well-Tuned Cell RI=1 RI=2 RI=3 RI=4 CQI 15 14 13 12 11 10 9 8 7 Dense cluster at RI=3-4, CQI=11-13 → MIMO efficiently utilised Under-Performing Cell RI=1 RI=2 RI=3 RI=4 Concentrated RI=1, CQI=5-7 → Stale CSI / MIMO not working
Fig 7.4 — CQI vs. RI joint heat map. Well-tuned cell (left): density clusters at RI=3-4, CQI=11-13, indicating healthy MIMO utilisation. Under-performing cell (right): density concentrated at RI=1, CQI=5-7, indicating stale CSI-RS or antenna misconfiguration blocking MIMO.

Anti-Pattern: Setting CSI-RS Periodicity Equal to SSB Periodicity

Both CSI-RS and SSB at 20 ms means the scheduler updates precoder once per 20 ms. At pedestrian speed (1.4 m/s) and 3.5 GHz, channel coherence time ≈ 60 ms — acceptable. But at 30 km/h (8.3 m/s), coherence time ≈ 10 ms. CSI report at 20 ms is 2× stale. The gNB precoder is misaligned → SINR loss → CQI drops 3–4 indices → throughput loss ~30%. Fix: set CSI-RS period to 5–10 slots for vehicular layers.

Chapter 7 Summary

  • CSI-RS (TS 38.211 §7.4.1.5): configurable RE mapping, 1–32 ports, density 0.5/1/3. Higher port count = better precoding resolution, higher overhead. 8-port fd-CDM2 occupies 4.8% slot overhead vs. 0.6% for 1-port.
  • CQI (TS 38.214 §5.2.2.1): 4-bit index mapping to max MCS at 10% BLER target. CQI=1 → QPSK r=0.12. CQI=15 → 64QAM r=0.93. OLLA corrects CQI bias using ACK/NACK asymmetric steps.
  • RI: determined by channel matrix singular value ratio. Urban NLoS: RI≥2 for 85% of UEs. Indoor LoS: RI=1 for 70%. Low RI at good RSRP = stale CSI or antenna issue.
  • PMI Type I: W=W₁W₂. W₁ = wideband DFT beam direction. W₂ = subband co-phasing. Type II provides linear combination codebook for MU-MIMO but at significantly higher feedback overhead.
  • OLLA (Eq 7.3): asymmetric step − after ACK, +step×(1−BLER_target)/BLER_target after NACK. Converges to BLER target in ~400–600 TTIs from cold start.
  • CSI counters: L.DL.CQI.Bin_N (CQI distribution), L.DL.RI.Bin_N (RI distribution), L.DL.BLER.Init (inner-loop performance). Joint CQI-RI heat map is the primary CSI health diagnostic.
Page 7
Part II — Coverage & Quality

Chapter 8

Coverage Optimization Methodology

From drive test to parameter change — a systematic 3GPP-grounded coverage RCA workflow

TS 38.215 TS 38.331 TS 28.554 TS 38.213
10Sections
7SVG Diagrams
6Tables
4Equations
4Spec Quotes
5Worked Examples

Chapter Objectives

  • Apply the 5-step coverage optimisation workflow from complaint triage to parameter change
  • Compute downlink link budget from transmit power to cell-edge RSRP using path loss models
  • Distinguish coverage holes (low RSRP, low RSRQ) from pilot pollution (adequate RSRP, low SINR, RSRQ top-3 gap <6 dB)
  • Select correct antenna parameter adjustments (downtilt, power, pattern) for each coverage failure type
  • Apply the pilot pollution KPI (top-3 RSRP spread) and its counter-based detection via TS 28.552
  • Design measurement-based coverage audit using RSRP histogram counters and TS 28.554 KPI formulas
  • Identify and correct the four most common coverage parameter misconfiguration patterns

§8.1 The Coverage Optimization Problem Space

Coverage optimisation addresses a deceptively simple question: can the UE communicate with the right cell at every location in the network footprint? In practice, this decomposes into four distinct failure modes, each requiring different diagnostic evidence and corrective actions:

Table 8.1 — Coverage failure taxonomy and primary indicators
Failure TypeRSRPRSRQSINRTop-3 GapRoot Cause
Coverage Hole< −110 dBm< −15 dB< 0 dB> 6 dB (1 server)Insufficient TX power / path loss / obstruction
Pilot Pollution−90 to −70 dBm< −15 dB< 5 dB< 3 dB (>3 servers)Too many cells at similar RSRP (no dominant server)
Interference> −90 dBm< −15 dB< 5 dB> 6 dBCo-channel interference from distant cell (overshoot)
Overshoot> −80 dBmGoodGoodLargeAntenna tilt too high, serving cells far from site

§8.2 Downlink Link Budget: From TX Power to Cell-Edge RSRP

Eq 8.1 — DL Link Budget
RSRP [dBm] = P_TX [dBm] + G_TX [dBi] − PL(d) [dB] − CL [dB] − BPL [dB] + G_RX [dBi]
P_TX = per-antenna TX power (e.g., 43 dBm / 4 ports = 37 dBm per port). G_TX = antenna boresight gain (typically 17–21 dBi for a 64T antenna). PL(d) = path loss at distance d (3GPP TR 38.901 model). CL = cable/connector loss. BPL = building penetration loss (indoor 5G: 20–25 dB for dense material). G_RX = UE receive antenna gain (0 dBi typical).

Worked Example 8.1 — Cell-Edge Link Budget (n78, 3.5 GHz, Outdoor)

Parameters: P_TX = 43 dBm total (8 TX ports, Pfwd/port = 43−9 = 34 dBm). G_TX = 19 dBi (64T panel boresight). Cable loss = 0 dB (integrated RU). BPL = 0 dB (outdoor). G_RX = 0 dBi. Target RSRP = −107 dBm (cell edge budget).

Maximum allowed path loss: PL_max = 34 + 19 − 0 − 0 + 0 − (−107) = 160 dB

3GPP TR 38.901 UMa path loss (LoS): PL = 28 + 22·log₁₀(d) + 20·log₁₀(f_c) where d in metres, f_c in GHz.

PL = 28 + 22·log₁₀(d) + 20·log₁₀(3.5) = 28 + 22·log₁₀(d) + 10.9

Solve for d: 160 = 38.9 + 22·log₁₀(d) → log₁₀(d) = (160−38.9)/22 = 5.5 → d = 10^5.5 = 316,000 m? — too high. Check: for NLoS (more realistic): PL = 13.54 + 39.08·log₁₀(d) + 20·log₁₀(f_c). 160 = 13.54 + 39.08·log₁₀(d) + 10.9 → log₁₀(d) = (160−24.44)/39.08 = 3.47 → d = 2,950 m. Typical macro cell radius at 3.5 GHz = 300–800 m urban NLoS.

Lesson: The 2.95 km NLoS budget is the LoS upper bound. In dense urban NLoS (additional shadowing σ = 7.8 dB, margin = 3σ/2 = 12 dB), effective cell edge drops to ~800 m. Link budget must include a shadow fade margin.

Fig 8.1 — DL Link Budget Waterfall: n78 3.5 GHz Macro (Outdoor UE) dBm +43 +34 +19 0 −50 −80 −107 P_TX +43 dBm Port split −9 dB → 34 dBm/port G_TX +19 dBi Path Loss −136 dB (d = 500 m) NLoS UMa TR 38.901 Shadow margin −10 dB RSRP = −93 dBm Above −107 dBm ✓ 14 dB margin Budget: P_TX(43) − PortSplit(9) + G_TX(19) − PL(136) − ShadowMargin(10) = −93 dBm. Cell edge target: −107 dBm. Available margin: 14 dB.
Fig 8.1 — DL link budget waterfall for n78, 500 m NLoS urban macro. TX power 43 dBm → per-port 34 dBm → effective EIRP +53 dBm → path loss −136 dB → shadow fade margin −10 dB → RSRP −93 dBm. Margin above −107 dBm cell-edge target = 14 dB.

§8.3 The 5-Step Coverage Optimisation Workflow

Fig 8.2 — 5-Step Coverage Optimisation Workflow Step 1: Identify RSRP P10 < −107 dBm (TS 28.554) Step 2: Classify Hole / Pollution / Interference? Step 3: Root Cause Antenna / power / parameter? Step 4: Prescribe Tilt / power / param change Step 5: Verify P10 improved? No regression? TS 28.552 L.Cov.RSRP.Bin_N CDF → P10 threshold RSRQ, SINR, top-3 gap Table 8.1 classification Antenna tilt audit Drive test + OMC counters 1 parameter change per cycle GP ≥ 3× measurement window 48–72 hr post-change window Compare KPI trend vs. baseline Candidate cells list sorted by P10 delta Failure type tag per cell → action category Specific root cause → parameter target Change ticket → implementation KPI confirmed → close loop or re-diagnose
Fig 8.2 — 5-step coverage optimisation workflow. Each step has defined inputs (TS 28.552 counters, TS 28.554 KPIs) and outputs. Step 4 enforces the "one change per cycle" discipline from Chapter 1's control system model.

§8.4 Pilot Pollution: Definition, Detection, and Correction

TS 28.554 §6.1.2 — Pilot Pollution KPI (conceptual, TS 28.554 §6.1.2.1)

"The NR cell coverage level — interference KPI is defined as: 1 − (number of samples where serving cell RSRP is at least 6 dB above the second-strongest cell RSRP) / (total samples). This metric captures pilot pollution: when multiple cells transmit at similar power levels to a UE, none provides a sufficiently dominant pilot to enable high SINR."

Eq 8.2 — Pilot Pollution Ratio
PPR = 1 − Σ{samples: RSRP₁ − RSRP₂ ≥ 6 dB} / N_total
PPR target: ≤ 5%. PPR > 15% indicates severe pilot pollution. RSRP₁ = strongest cell, RSRP₂ = second strongest. 6 dB is the standard dominance threshold — below this, the UE cannot achieve SINR > 6 dB even at the best server. Counter: L.Cov.Pilot.Poll.Ratio (TS 28.552 §5.1.1.36).
Fig 8.3 — Pilot Pollution vs. Coverage Hole: Counter Signature Comparison Pilot Pollution Signature RSRP P50 −82 dBm (GOOD) RSRQ P50 −22 dB (POOR) SINR P50 3 dB (POOR) Top-3 RSRP gap <3 dB (>3 servers equal) Pilot Poll Ratio 35% (CRITICAL) Fix: Antenna downtilt on 2–3 overshooting cells Target: increase top-3 gap to ≥6 dB. Check PCI mod-3 conflict. Do NOT reduce TX power — worsens coverage hole risk. Coverage Hole Signature RSRP P50 −115 dBm (POOR) RSRQ P50 −18 dB (POOR) SINR P50 −5 dB (POOR) Top-3 RSRP gap >15 dB (1 server only) Pilot Poll Ratio 2% (OK) Fix: Add cell / increase TX power / reduce tilt Link budget audit: is there a blocked path (buildings/terrain)? Consider Remote Radio Head / small cell as last resort. Critical diagnostic rule: RSRP alone cannot distinguish hole from pollution. Always check SINR + top-3 gap before prescribing action. Hole → RSRP bad + top-3 gap large (only 1 server). Pollution → RSRP adequate + SINR bad + top-3 gap small (>3 equal servers).
Fig 8.3 — Counter signature comparison: pilot pollution (left) vs. coverage hole (right). The discriminating metrics are SINR P50 and top-3 RSRP gap. Prescribing antenna tilt for a coverage hole, or adding power for pilot pollution, makes the wrong failure mode worse.

§8.5 Antenna Parameter Optimisation: Tilt, Power, Pattern

Table 8.2 — Antenna parameter actions vs. coverage failure type
FailureElectrical Tilt ChangeTX Power ChangeAzimuth ChangeExpected RSRP Effect
Coverage hole (insufficient reach)Decrease (uptilt) by 1–2°Increase by 1–3 dBRotate toward holeP10 improves 3–5 dBm per 1° uptilt at cell edge
Pilot pollution (overshoot)Increase (downtilt) by 2–4°No change or slight decreaseNoneReduces coverage footprint, increases top-3 gap by 3–6 dB
Inter-cell interference (distant interferer)Downtilt interfering cellReduce interfering cell powerAzimuth away from victimSINR P10 improves 3–8 dB
Overshoot into adjacent cellDowntilt by 3–5°Reduce by 2–3 dBCheck sector overlapReduces HO distance, improves mobility
Eq 8.3 — Electrical Tilt Impact on Cell Range
ΔR ≈ −h_BS × Δθ × (π/180) × (1/sin²θ)
ΔR = change in cell range. h_BS = base station height (m). Δθ = tilt change (degrees, positive = downtilt). θ = current mechanical tilt angle from horizontal. Example: h_BS=30m, θ=5°, Δθ=+2°: ΔR ≈ −30 × 2 × 0.0175 × (1/sin²5°) ≈ −30 × 0.035 / 0.0076 ≈ −138 m reduction in cell radius per 2° downtilt.

§8.6 Coverage KPIs from TS 28.554

Table 8.3 — Coverage KPIs from TS 28.554 §6.1
KPI NameTS 28.554 §FormulaTarget
NR DL Coverage RSRP§6.1.1.1% UE samples with RSRP ≥ −107 dBm = Σ(Bin_N | N≥threshold) / Σ(all Bins)≥ 95%
NR DL Coverage RSRQ§6.1.1.2% samples with RSRQ ≥ −15 dB≥ 90%
NR DL Coverage SINR§6.1.1.3% samples with SINR ≥ 0 dB≥ 90%
Pilot Pollution Ratio§6.1.21 − (dominant server samples) / total≤ 5%
RSRP P10 (cell-edge)§6.1.310th percentile of L.Cov.RSRP CDF≥ −107 dBm

§8.7 Worked Example: Full Coverage Investigation

Worked Example 8.2 — Cell XYZ Coverage Degradation RCA

Week-over-week KPI change (Monday PM report): Cell XYZ, n78, 100 MHz. RSRP Coverage Rate: 96.2% → 83.4% (−12.8pp). RSRQ Coverage Rate: 92% → 71% (−21pp). Pilot Pollution Ratio: 4% → 22% (+18pp).

Step 1 — Identify: Two KPIs failed simultaneously. RSRP rate drop of −12.8pp exceeds alert threshold (±3pp). PPR spike of +18pp is most unusual — suggest interference/overshoot rather than pure coverage hole (which would not affect PPR).

Step 2 — Classify: PPR spike + RSRQ degradation without matching RSRP P50 drop (P50 unchanged at −88 dBm) → Pilot Pollution. Top-3 gap counter: L.Cov.RSRP.Top3Gap dropped from 9.2 dB to 2.4 dB average — confirms >3 servers at similar RSRP.

Step 3 — Root Cause: Check OMC: new cell commissioned adjacent to XYZ on Tuesday (2 days before degradation appeared). New cell n78, same PCI mod-3 group, pointing toward XYZ coverage area. Azimuth 185°, tilt 2° (too shallow for urban). Physical distance = 650 m → should be tilted to ~6° for h_BS=35 m.

Step 4 — Prescribe: New cell: increase electrical tilt from 2° to 6°. Also check PCI assignment: new cell PCI = 143 → mod-3 = 2. XYZ PCI = 89 → mod-3 = 2. SAME mod-3 group → CRS (4G) and DMRS confusion if EN-DC involved. Change new cell PCI to 144 (mod-3 = 0).

Step 5 — Verify (48 hours post-change): RSRP Coverage Rate: 83.4% → 95.8%. PPR: 22% → 5.1%. Top-3 gap: 2.4 → 8.1 dB. RSRQ Coverage Rate: 71% → 90.5%. Closed.

§8.8 PCI Planning and Mod-3 Conflict Prevention

PCI Mod-3 Rule for NR

In NR, the PSS sequence is derived from PCI mod 3 (values 0, 1, 2) and the SSS from floor(PCI/3) (0–335). Co-channel neighbor cells with the same PCI mod 3 have identical PSS sequences — this creates PSS interference during UE cell detection. For optimal initial access performance: adjacent co-channel cells must have different PCI mod 3 values (0, 1, 2 rotation). For 3-sector sites, use PCI = {3k, 3k+1, 3k+2} per site (k = site index).

§8.9 Indoor Coverage: Building Penetration Loss and Small Cell Strategy

Table 8.4 — Building penetration loss (BPL) by material type and frequency (3GPP TR 38.901 Table 7.4.3-1)
Building TypeBPL at 700 MHzBPL at 3.5 GHzBPL at 28 GHz
Traditional (wood/brick)12–15 dB18–23 dB35–40 dB
Modern (glass facade)15–20 dB25–30 dB45–55 dB
Energy-efficient (low-E glass)20–30 dB35–45 dB55–70 dB
Basement (deep indoor)30–50 dB50–70 dBN/A (unusable)

Indoor Coverage Strategy: Frequency vs. Penetration Trade-off

At 3.5 GHz (n78), BPL for modern glass buildings = 25–30 dB. Combined with path loss to the building facade, RSRP at the indoor edge drops below −120 dBm — insufficient for reliable 5G service. Three strategies in order of cost:

  1. 700 MHz carrier (n28): BPL ≈ 15–18 dB. Add 10–12 dB indoor penetration. Requires NR 700 MHz deployment. Best for large buildings at cell range > 200 m.
  2. Outdoor power boost: Increase TX power by 3 dB. Adds 3 dB indoor but regulatory limit (EIRP) may constrain. Also increases pilot pollution risk outdoors.
  3. Indoor small cell: Distributed Antenna System (DAS) or O-RU deployed inside the building. Eliminates BPL problem. Cost O(€100K per building). Required for basements and Energy-efficient glass buildings at 3.5 GHz.

§8.10 Coverage Optimisation Anti-Patterns

Fig 8.4 — Top 4 Coverage Optimisation Anti-Patterns and Their Counter Consequences Anti-Pattern 1: Power Boost for Pilot Pollution Action: increase TX power to "improve" RSRQ Effect: all cells boost → interference rises equally → SINR unchanged, RSRP rises, PPR worsens Counter: L.Cov.SINR.Bin_N unchanged despite RSRP improvement Fix: downtilt interfering cells instead of boosting power Anti-Pattern 2: Tightening q-RxLevMin to "fix" load Action: increase q-RxLevMin to force UEs off congested cell Effect: indoor UEs with RSRP −105 to −115 fail S-criterion → "No Service" instead of reselecting Counter: L.RRC.SetupFail.NoCov spikes (no suitable cell) Fix: use cellReselectionPriority for frequency steering Anti-Pattern 3: Uptilt for Coverage Without PPR Check Action: uptilt to extend coverage to reported blind spot Effect: if the spot already has 3 servers, adding 4th worsens PPR → RSRP rises but SINR falls → throughput decreases Counter: L.Cov.RSRP improves but L.DL.CQI falls Fix: Check PPR before any tilt action Anti-Pattern 4: Using Drive Test Coverage as PM KPI Proxy Drive tests cover roads only (survivorship bias from Ch1) Network coverage = indoor + pedestrian + VRU — not road-tested → Drive test "pass" hides indoor coverage holes Counter: L.Cov.RSRP.Bin_N (all UE samples) vs. drive test Fix: PM counters are authoritative — drive test is only for initial audit Coverage optimization rule: TS 28.554 PM KPIs over drive tests. One change per cycle. Always check PPR before any tilt/power action.
Fig 8.4 — Top 4 coverage optimisation anti-patterns. Each pattern causes a counter-intuitive KPI trajectory that appears to be fixing the issue while making another metric worse. The unifying principle: always consult the full counter set (RSRP + RSRQ + SINR + PPR + accessibility) before prescribing action.
Eq 8.4 — Coverage KPI Improvement Prediction
ΔRSRP_P10 [dB] ≈ 2 × Δθ_tilt [degrees] (for uptilt, within ±3° range)
Rule of thumb: 1° uptilt ≈ +2 dBm improvement at cell edge for standard macro antenna (half-power beamwidth = 7°). Valid for d > 500 m, h_BS 25–40 m, flat terrain. Mountainous terrain: effect is amplified. Urban high-rise: effect attenuated. Always verify with post-change counter data within 72 hours.

Chapter 8 Summary

  • Four failure types: coverage hole (low RSRP, high top-3 gap), pilot pollution (adequate RSRP, low SINR, low top-3 gap), interference (adequate RSRP, low SINR, distant interferer), overshoot. Each requires a different fix.
  • Link budget (Eq 8.1): RSRP = P_TX + G_TX − PL(d) − CL − BPL + G_RX. Always include shadow fade margin (3σ/2 dB). Cell edge budget for n78 urban NLoS = −107 dBm at 500 m with 14 dB margin.
  • 5-step workflow: Identify (P10 threshold) → Classify (RSRQ+SINR+top-3 gap) → Root Cause (antenna/parameter audit) → Prescribe (one change) → Verify (48–72 hr post-change window).
  • Pilot pollution KPI (Eq 8.2): PPR = 1 − (dominant server samples) / total. Target ≤ 5%. Fix: downtilt overshooting cells. Never boost power to fix PPR.
  • TS 28.554 KPIs: RSRP coverage rate ≥ 95% (≥ −107 dBm samples), RSRQ ≥ 90% (≥ −15 dB), SINR ≥ 90% (≥ 0 dB), PPR ≤ 5%, RSRP P10 ≥ −107 dBm.
  • Tilt impact (Eq 8.4): 1° uptilt ≈ +2 dBm at cell edge. Always verify with post-change counters. Drive tests show roads only — PM counters are authoritative.
Page 8
Chapter 9

RACH Procedure: 4-Step & 2-Step

Preamble transmission, RAR window, contention resolution, and Release-16 two-step RA — from first-principles to TS 28.552 counters

3GPP TS 38.321 §5.1 · TS 38.211 §6.3.3 · TS 38.213 §8
📐 11 sections 🔢 6 equations 📋 7 tables 🧪 5 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Derive why timing alignment requires a contention-based channel before any UL transmission is possible
  2. Trace all four messages of 4-step RACH (Msg1–Msg4) to their exact TS 38.321 §5.1 state machine steps
  3. Calculate preamble transmission power using the TS 38.213 §8.1 formula, including path loss estimation and power ramping
  4. Explain the 2-step RACH (MsgA/MsgB) procedure introduced in 3GPP Release 16 and identify when the network falls back to 4-step
  5. Map every TS 28.552 L.RA.* counter to the exact RACH state machine transition it monitors
  6. Compute RA Success Rate, RA Setup Time, and contention-resolution failure rate from raw counters
  7. Diagnose the root cause of a degraded RACH KPI from the counter signature pattern
  8. Configure preambleReceivedTargetPower, powerRampingStep, ra-ResponseWindow, and ra-ContentionResolutionTimer for a target RACH success rate ≥99%

§9.1 The Timing Alignment Problem

Every UL transmission in 5G NR must arrive at the gNB antenna within the cyclic prefix window. A UE 1 km from the gNB experiences a one-way propagation delay of approximately 3.33 µs. For a 30 kHz SCS slot (33.3 µs), this delay represents 10% of the CP duration — a non-trivial misalignment that causes inter-symbol interference at the gNB DFT output.

The gNB cannot pre-correct the UE's timing because it does not yet know the UE's propagation delay. Equally, the UE cannot transmit a scheduled PUSCH because it has no uplink grant — it has not yet identified itself to the network. This is the bootstrap deadlock of cellular access: you cannot transmit without timing, but you cannot obtain timing without transmitting.

The Random Access Channel (RACH) breaks this deadlock by three design choices:

  1. Guard period: The PRACH preamble sequence is designed with a long cyclic prefix (up to 2.5 ms for Format 0) that absorbs the round-trip propagation delay even for UEs at cell edge, making collision in time acceptable without prior timing alignment.
  2. Tone separation: The preamble sequence occupies a dedicated frequency resource (PRACH occasion) and does not interfere with PUSCH/PUCCH.
  3. TA command in RAR: The gNB measures the exact arrival time of the preamble and returns a Timing Advance (TA) command in Msg2, allowing the UE to advance its UL transmission by the measured delay before sending Msg3.
Fig 9.1 — The Timing Alignment Problem & Why RACH is Needed UE (1 km away) No timing, no grant gNB No UE identity known Cannot transmit without timing Cannot obtain timing without transmitting RACH Solution: 3 Design Choices ① Guard Period Long CP on PRACH Format 0: 0.9ms CP absorbs RTT delay ≤ 100km range (TS 38.211 §6.3.3) ② Dedicated RB PRACH occasion on dedicated freq/time no PUSCH collision PRACH-ConfigIndex (TS 38.211 §6.3.3) ③ TA Command gNB measures preamble arrival time sends TA in Msg2 UE adjusts N_TA (TS 38.321 §5.1.3)
Fig 9.1 — The bootstrap deadlock of cellular access: a UE cannot transmit without timing alignment, yet cannot acquire timing without transmitting. RACH resolves this via three design choices: a long cyclic prefix on the preamble, a dedicated time-frequency resource (PRACH occasion), and a Timing Advance command returned in the RAR.

§9.2 4-Step RACH: The Complete State Machine

TS 38.321 §5.1.1 — Random Access Initiation (verbatim)
"The MAC entity shall initiate the Random Access procedure in the following cases: when requested by RRC upon initiation of RRC connection establishment procedure, RRC connection re-establishment procedure, RRC connection resume procedure, handover, or when a PDCCH order is received, or when a Scheduling Request (SR) has failed, or when a beam failure recovery is initiated."

The 4-step RACH procedure consists of exactly four message exchanges defined by TS 38.321 §5.1:

Table 9.1 — 4-Step RACH Message Summary (TS 38.321 §5.1)
MessageDirectionChannelKey ContentSpec Clause
Msg1 (Preamble)UE → gNBPRACHZadoff-Chu preamble sequence (index 0–63)TS 38.321 §5.1.2
Msg2 (RAR)gNB → UEPDSCH (RA-RNTI)RAPID, TA command (11 bits), UL grant (27 bits), TC-RNTITS 38.321 §5.1.3
Msg3 (RRC Request)UE → gNBPUSCH (TC-RNTI)RRC Setup Request + UE identity (C-RNTI or random 40-bit)TS 38.321 §5.1.4
Msg4 (Resolution)gNB → UEPDSCH (C-RNTI or TC-RNTI)Contention resolution: UE-ID echo + RRC Setup / RRC ResumeTS 38.321 §5.1.5
Fig 9.2 — 4-Step RACH State Machine (TS 38.321 §5.1) Time → UE gNB Msg1 — Preamble Select preamble index from Group A or B PRACH / Zadoff-Chu preamble preamble_index, PRACH occasion, Msg1 power = P_target + Δ + (n−1)×step − PLest RAR Window Measure TA, allocate TC-RNTI + UL grant RA-RNTI = 1 + s_id + 14×t_id + 14×80×f_id + 14×80×8×ul_carrier_id (TS 38.321 §5.1.3) Msg2 — RAR RAPID | TA (11b) UL grant (27b) | TC-RNTI PDSCH on RA-RNTI UE matches RAPID → applies TA → stores TC-RNTI → prepares Msg3 Apply TA advance N_TA = TA_command × 16 × κ Msg3 — RRC Req RRC Setup Request UE-ID (5G-S-TMSI or random) PUSCH on TC-RNTI (UL grant from Msg2) CCCH: RRC Setup Request + UE-contention-id (48 bits) Msg4 — Resolution UE-ID echo → if match: contention resolved, C-RNTI PDSCH on TC-RNTI or C-RNTI RRC Setup / RRC Resume | UE checks UE-contention-id match ✓ Connected (RRC_CONNECTED)
Fig 9.2 — Complete 4-step RACH state machine. Msg1 (preamble on PRACH) → Msg2 (RAR on RA-RNTI containing TA+UL grant+TC-RNTI) → Msg3 (RRC Setup Request on TC-RNTI PUSCH) → Msg4 (contention resolution on C-RNTI PDSCH). The contention resolution in Msg4 identifies the winning UE by echoing the 48-bit UE-contention-ID from Msg3.

§9.3 Preamble Sequences: Zadoff-Chu, Format, and Groups A/B

The RACH preamble is a Zadoff-Chu (ZC) sequence of length LRA. For short PRACH formats, LRA = 139; for long formats 0–3, LRA = 839. The ZC root sequence u and cyclic shift NCS uniquely determine each of the 64 available preambles per cell (TS 38.211 §6.3.3.1):

(9.1) xu,v(n) = xu((n + Cv) mod LRA), 0 ≤ n < LRA

where Cv = v·NCS is the cyclic shift index, and xu is the root ZC sequence of root index u. The NCS parameter determines how many preambles fit per root: if NCS = 0 (unrestricted set), cyclic shift allocation is cell-specific and derived from rootSequenceIndex.

The 64 preambles are split into Group A and Group B (TS 38.321 §5.1.2). The split is controlled by msg1-SubcarrierSpacing, ra-Msg3SizeGroupA, and messageSizeGroupA:

Table 9.2 — Preamble Group A vs Group B (TS 38.321 §5.1.2)
ParameterGroup AGroup B
Preamble countNA (= totalNumberOfRA-Preambles − NB)NB = cbPreamblesPerSSB
Intended Msg3 sizeSmall (< messageSizeGroupA)Large (≥ messageSizeGroupA)
Path loss conditionHigh PL or rsrp < rsrp-ThresholdSSBLow PL and rsrp ≥ rsrp-ThresholdSSB
UL grant in Msg2Smaller grantLarger grant (supports bigger Msg3)
Typical usageCell-edge UEs, SR failure, BFRCell-center UEs requesting large Msg3

Key Concept: Preamble Group Selection Algorithm (TS 38.321 §5.1.2)

The UE selects Group B if ALL of the following hold:

  • Group B is configured (ra-Msg3SizeGroupA is present)
  • Msg3 size ≥ messageSizeGroupA
  • Pathloss < PCMAX,f,c − preambleReceivedTargetPower − deltaPreamblemsg3GroupB − messagePowerOffsetGroupB

Otherwise the UE selects Group A. This is an interference control mechanism: at cell edge, smaller preambles with lower power keep the UE in Group A where the gNB can more easily detect it.

Fig 9.3 — PRACH Format Comparison (TS 38.211 §6.3.3) & Preamble Collision Probability Long PRACH Formats (FR1, SCS=1.25 or 5 kHz) Format L_RA CP (µs) Seq dur (µs) Max range 0 839 103.3 800 14.5 km 1 839 684.7 800 100 km 2 839 152.6 1600 22 km 3 839 152.6 3200 22 km Short Formats A1–C2 (FR2, SCS=15/30/60/120 kHz) A1 139 0.9 slots 2 slots FR2 indoor B4 139 9.375 µs 12 slots FR2 outdoor C2 139 11.25 µs 4 slots FR2 general Preamble Collision Probability vs. Simultaneous UEs Simultaneous UE attempts (k) P(collision) = 1−(63/64)^(k−1) 0 5 10 15 20 25 0% 25% 50% 75% 100% k=20: P(collision)≈30% 5%
Fig 9.3 — Left: PRACH format comparison. Long format 1 (CP=684.7 µs) supports up to 100 km range for satellite/HAPS scenarios. Short formats (A1–C2) are used in FR2 (mmWave). Right: Preamble collision probability P = 1−(1−1/64)^(k−1) versus number of simultaneous UE attempts. With 64 preambles, 20 simultaneous UEs cause ~30% collision probability — underscoring the need for PRACH density dimensioning.

§9.4 Msg2 — Random Access Response

TS 38.321 §5.1.3 — Random Access Response Reception (verbatim)
"After the transmission of the PRACH preamble, the MAC entity shall monitor the PDCCH for a Random Access Response addressed to the RA-RNTI associated with the PRACH transmission, starting from the first symbol of the first PDCCH monitoring occasion that is at least 2 ms after the end of the corresponding PRACH transmission, up to and including the last symbol of the period defined by ra-ResponseWindow."

The RA-RNTI is computed from the PRACH occasion coordinates (TS 38.321 §5.1.3):

(9.2) RA-RNTI = 1 + s_id + 14·t_id + 14·80·f_id + 14·80·8·ul_carrier_id

where s_id is the first OFDM symbol of the PRACH (0–13), t_id is the slot number within the system frame (0–79), f_id is the frequency domain occasion index (0–7), and ul_carrier_id indicates NUL (0) or SUL (1). A UE monitors the PDCCH for an RAR scheduled within the ra-ResponseWindow parameter window.

Table 9.3 — RAR Content: Backoff Indicator and RAPID
MAC subPDU typeE/T bitsKey fieldsPurpose
Backoff Indicator (BI)E=1, T=0BI value (4 bits, 0–12 → 0–960 ms)Instructs UEs to back off before retrying, applied when congestion detected
RAR (matched)E=0/1, T=1RAPID (6 bits, 0–63), TA command (11 bits), UL grant (27 bits), TC-RNTI (16 bits)Timing advance + UL resource grant for Msg3 transmission
TA command11 bits: 0–3846 → N_TA ∈ [0, 61,536] × T_cAdjusts UE uplink timing; 1 TA unit = 16·κ·T_c ≈ 0.521 µs

Worked Example 9.1 — RA-RNTI Calculation

Scenario: PRACH preamble transmitted in slot 14 of a 10-ms frame. The preamble starts at OFDM symbol 0 of the slot, frequency occasion f_id=2, NUL carrier (ul_carrier_id=0).

Given: s_id=0, t_id=14, f_id=2, ul_carrier_id=0

RA-RNTI: = 1 + 0 + 14×14 + 14×80×2 + 0 = 1 + 0 + 196 + 2,240 + 0 = 2,437

The gNB schedules the RAR on a PDCCH addressed to RNTI 0x0985 (2437 decimal). All UEs that transmitted a preamble in the same PRACH occasion monitor PDCCH for this RNTI during the ra-ResponseWindow. A UE confirms the RAR is for it by matching the 6-bit RAPID field to its selected preamble index.

§9.5 Msg4 — Contention Resolution

Multiple UEs may select the same preamble index in the same PRACH occasion (a preamble collision). The gNB cannot distinguish them from Msg1 alone. Both UEs receive the same RAR (same RAPID match) and both transmit Msg3. The gNB can only schedule one of them. The contention is resolved in Msg4:

  • Contention NOT detected: If the UE-contention-ID in Msg4 matches the UE-ID the UE included in Msg3, the UE considers contention resolved. It stores the C-RNTI and transitions to RRC_CONNECTED.
  • Contention detected: If the UE-contention-ID in Msg4 does NOT match, the UE considers itself the "loser" of the collision. It flushes HARQ buffers and restarts the RA procedure from Msg1 with power ramping.
Table 9.4 — Contention Resolution Timer (TS 38.321 §5.1.5)
ParameterIE NameValuesDefaultOptimization guidance
ra-ContentionResolutionTimerra-ContentionResolutionTimersf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64sf64Shorten for dense urban (reduce wasted air time on dead UE); extend for high-load (give scheduler more time to send Msg4)
ra-ResponseWindowra-ResponseWindowsl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80sl10Extend in high-load cells; shorten in low-load for faster failure detection
preambleTransMaxpreambleTransMaxn3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200n7Set ≥6 for URLLC; set lower for eMBB to reduce interference tail
Fig 9.4 — Contention Resolution: Success Path vs. Collision Path UE-A (Winner) UE-B (Loser) gNB Both select preamble index 42 in same PRACH occasion — collision undetectable by gNB Msg1: preamble #42 Msg2: RAR (RAPID=42, TA, UL grant, TC-RNTI) Msg3: UE-ID=0xA1B2C3 Msg3: UE-ID=0xD4E5F6 gNB decodes UE-A's Msg3 (stronger signal) Schedules Msg4 UE-contention-ID=0xA1B2C3 Msg4: UE-contention-ID = 0xA1B2C3 ✓ ID matches! → RRC_CONNECTED ✗ ID mismatch! Contention detected Backoff (BI) → retry Msg1 Power += powerRampingStep → New RA attempt
Fig 9.4 — Contention resolution path: UE-A wins the collision as its Msg3 is decoded by the gNB. Msg4 echoes UE-A's UE-contention-ID (0xA1B2C3). UE-A detects the ID match and moves to RRC_CONNECTED. UE-B detects a mismatch, applies the backoff indicator from Msg2, and restarts the RA procedure with incremented transmit power (power ramping step).

§9.6 Power Ramping: From preambleReceivedTargetPower to PCMAX

The UE transmits Msg1 at a power level that ensures the preamble is detectable at the gNB with sufficient SNR while not exceeding the maximum UE power PCMAX. The transmission power formula is specified in TS 38.213 §7.4:

(9.3) P_PRACH = min(P_CMAX,f,c, preambleReceivedTargetPower + Δ_preamble + (PREAMBLE_TRANSMISSION_COUNTER − 1) × powerRampingStep − PL_c) [dBm]

where:

  • preambleReceivedTargetPower: Target RSRP at gNB for first Msg1 attempt (range: −202 to −60 dBm, step 2 dB). Typically −104 to −100 dBm for outdoor macro.
  • Δ_preamble: PRACH format-specific power offset (dB). Format 0: 0 dB; shorter formats have higher Δ to maintain detectability.
  • PREAMBLE_TRANSMISSION_COUNTER: Increments from 1 for each retry. Resets to 1 after each Msg2 reception.
  • powerRampingStep: Power increment per retry: 0, 2, 4, or 6 dB. Typically 2 dB for dense urban, 4 dB for rural.
  • PL_c: Downlink path loss estimate in dB, derived from RSRP: PL_c = referenceSignalPower − higher layer filtered RSRP (TS 38.213 §7.4)

Worked Example 9.2 — Power Ramping Sequence

Config: preambleReceivedTargetPower = −104 dBm, powerRampingStep = 2 dB, preambleTransMax = 7, PL_c = 110 dB, P_CMAX = 23 dBm, Δ_preamble = 0 dB

Attempt nFormulaP_PRACH (dBm)Outcome
1−104 + 0 + 0×2 − 110−14 dBmRAR timeout (too weak)
2−104 + 0 + 1×2 − 110−12 dBmRAR timeout
3−104 + 0 + 2×2 − 110−10 dBmRAR received ✓
4 (after contention fail)−104 + 0 + 3×2 − 110−8 dBm
7 (preambleTransMax)−104 + 0 + 6×2 − 110−2 dBmRA_PROBLEM → RRC failure

Root-cause insight: 3 attempts wasted before success. Reducing preambleReceivedTargetPower from −104 to −110 dBm (matching measured cell-edge path loss) would succeed on attempt 1. However, reducing too aggressively increases interference on neighboring cells — a classic accessibility vs. retainability trade-off.

§9.7 Two-Step RACH (TS 38.321 §5.1.2, 3GPP Release 16)

3GPP Release 16 introduced a two-step contention-based random access (2-step RACH or CBRA-2step) to reduce the RACH setup latency and signaling overhead. Instead of 4 separate messages, only 2 are exchanged:

  • MsgA = Msg1 (preamble) + Msg3 payload (RRC request), transmitted simultaneously on PRACH + PUSCH in the same slot or adjacent slots.
  • MsgB = Msg2 (TA + UL grant) + Msg4 (contention resolution), combined in a single PDSCH response.
TS 38.321 §5.1.2a — Two-step Random Access Type (verbatim)
"When two-step random access type is configured, the MAC entity shall transmit a MsgA that consists of a PRACH transmission and a PUSCH transmission carrying a MAC PDU. The MAC PDU shall contain a MAC CE of type CCCH SDU and optionally a BSR MAC CE... The gNB shall respond with a MsgB on the PDCCH addressed to MsgB-RNTI."

The gNB responds to MsgA with a MsgB that may contain:

  1. SuccessRAR: The PUSCH data in MsgA was successfully decoded. MsgB contains a TA command + C-RNTI. No further messages needed → 2-step complete (latency ≈ 2 RTTs).
  2. FallbackRAR: The PRACH was detected but the PUSCH (MsgA payload) failed to decode. MsgB contains a standard Msg2-like RAR → UE retransmits as Msg3/Msg4 (falls back to 4-step). This protects against link failures at cell edge where simultaneous PRACH+PUSCH SNR is marginal.
  3. No response: Neither PRACH nor PUSCH decoded. UE applies power ramping and retries.
Fig 9.5 — 4-Step RACH vs 2-Step RACH (Rel-16) Latency Comparison 4-Step RACH UE gNB Msg1: Preamble gNB processes (≥2ms) Msg2: RAR Msg3: RRC Req Msg4: Resol. ✓ Connected ~4 RTTs (~20–30 ms typical) 2-Step RACH (Rel-16) UE gNB MsgA Preamble (PRACH) + RRC Req (PUSCH) MsgB SuccessRAR MsgB: TA + C-RNTI (SuccessRAR) ✓ Connected FallbackRAR (PUSCH failed) → Fallback to 4-step Msg3/Msg4 ~2 RTTs (~10–15 ms) ✓ 50% faster
Fig 9.5 — 4-step vs 2-step RACH latency comparison. 2-step (Rel-16) combines Msg1+Msg3 into MsgA and Msg2+Msg4 into MsgB, halving setup latency to ~2 RTTs (~10–15 ms). When the PUSCH component of MsgA fails to decode (e.g., at cell edge), the gNB sends a FallbackRAR and the procedure continues as conventional 4-step Msg3/Msg4.

§9.8 RACH Trigger Causes: Seven Paths to Preamble Transmission

TS 38.321 §5.1.1 enumerates all conditions that trigger a random access procedure. Understanding which trigger is active is critical for RCA, because different triggers have different counter signatures:

Table 9.5 — RACH Trigger Causes, Counter Signatures, and Optimization Levers (TS 38.321 §5.1.1)
TriggerTS RefCounter SignaturePrimary Optimization Parameter
Initial access (RRC Setup)§5.1.1aL.RA.PreMsg1 ↑, L.RRC.ConnSetup.Att ↑preambleReceivedTargetPower, ra-ResponseWindow
RRC Re-establishment§5.1.1bL.RA.PreMsg1 ↑, L.RRC.ConnReestab.Att ↑, L.RLF.* ↑t310, n310 (root cause usually RLF, not RACH)
RRC Resume§5.1.1cL.RA.PreMsg1 ↑, L.RRC.Resume.Att ↑Inactive mode timer, SCell addition config
Handover (HO)§5.1.1dL.RA.PreMsg1 ↑ at target cell, L.HO.ExecAtt ↑prach-ConfigIndex at target, targetReceivedTargetPower
Scheduling Request failure§5.1.1eL.RA.PreMsg1 ↑, L.SR.Fail ↑ (if configured)sr-ProhibitTimer, sr-TransMax
PDCCH order (network-triggered)§5.1.1fL.RA.PreMsg1 ↑, preamble index ≠ 0b111111Network-side policy for dedicated RA preamble
Beam Failure Recovery (BFR)§5.17L.BFR.Req ↑, L.RA.PreMsg1 ↑ with BFR flagbeamFailureDetectionTimer, maxBeamFailure, rsrp-ThreshSSB

Diagnostic Insight: Isolating RACH Trigger Cause from Counters

If L.RA.PreMsg1 is elevated but the RACH success rate is normal, the root cause is demand volume (more initial accesses, more HOs). If both L.RA.PreMsg1 and the per-attempt failure rate are elevated, the root cause is a RACH configuration or RF problem. Cross-referencing L.RRC.ConnSetup.Att / L.HO.ExecAtt / L.BFR.Req against L.RA.PreMsg1 reveals which trigger is dominant.

§9.9 TS 28.552 RA Counter Family: Complete Mapping

The TS 28.552 Performance Measurements standard defines a dedicated RA counter family. Every counter in the L.RA.* group maps precisely to a RACH state machine transition:

Table 9.6 — TS 28.552 RA Counter Family: Names, Definitions, and State Machine Mapping
Counter NameTypeDefinitionState Machine Transition
L.RA.PreMsg1CCTotal Msg1 (preamble) transmission attempts, including retransmissionsUE → PRACH_TX (every attempt, every power ramp step)
L.RA.Msg1TxNum.<preamble_group>CC per groupMsg1 count split by Group A / Group BPreamble group selection in §5.1.2
L.RA.Msg2RxCCNumber of valid RAR (Msg2) receptions where RAPID matched UE preambleUE: RAPID match → RA_RESPONSE_RECEIVED
L.RA.Msg2RxNoMatchCCRAR monitoring windows that expired without RAPID match (ra-ResponseWindow timeout)UE: ra-ResponseWindow expires → retry or failure
L.RA.Msg3TxCCNumber of Msg3 (RRC Setup Request / RRC Resume Request) transmissionsUE: applies TA → PUSCH Msg3 TX
L.RA.Msg4RxCCNumber of successful Msg4 receptions (contention resolution completed)UE: UE-contention-ID match → RRC_CONNECTED
L.RA.Msg4RxConFailCCNumber of Msg4 receptions where UE-contention-ID did NOT match (collision detected)UE: ID mismatch → flush HARQ → retry
L.RA.SuccMsg1CCRA procedures that succeeded on the first Msg1 attempt (no power ramp)PREAMBLE_TRANSMISSION_COUNTER = 1 at success
L.RA.2StepMsg A.TxCCNumber of MsgA transmissions (2-step RACH, Rel-16)UE: 2-step RA: PRACH + PUSCH simultaneous TX
L.RA.2StepMsgBFallbackCCNumber of MsgB responses containing FallbackRAR (PUSCH component of MsgA failed)gNB: MsgA PUSCH decode fail → FallbackRAR in MsgB
Fig 9.6 — TS 28.552 RA Counter Hierarchy vs. RACH State Machine RA Trigger 7 causes (§5.1.1) Msg1 TX (PRACH) Counter: L.RA.PreMsg1 (+1 each attempt) Monitor RA-RNTI PDCCH ra-ResponseWindow = sl10 (default) RAPID match No match / timeout RAR Received ✓ Counter: L.RA.Msg2Rx (+1) RAR Timeout Counter: L.RA.Msg2RxNoMatch (+1) Msg3 TX + Msg4 RX L.RA.Msg3Tx (+1) | L.RA.Msg4Rx (+1 if resolved) Power ramp + retry until preambleTransMax L.RA.SuccMsg1 first-attempt success
Fig 9.6 — TS 28.552 RA counter hierarchy mapped to the RACH state machine. L.RA.PreMsg1 increments at every Msg1 transmission (including retransmissions). L.RA.Msg2Rx increments only on RAPID match. L.RA.Msg2RxNoMatch indicates RAR window timeout — the primary indicator of poor preamble detection. L.RA.SuccMsg1 counts first-attempt successes, an indicator of preambleReceivedTargetPower optimality.

§9.10 RACH KPI Derivation from TS 28.552 Counters

TS 28.554 §6.3.1 defines the Random Access Success Rate (RASR) as the primary initial access KPI:

(9.4) RASR = L.RA.Msg4Rx / L.RA.PreMsg1 × 100%

This ratio captures the end-to-end probability that a single preamble attempt results in a successful contention resolution. The denominator counts all attempts including retransmissions; the numerator counts only successfully resolved procedures.

A complementary KPI is the First-Attempt Success Rate (FASR), which reveals preamble power calibration quality:

(9.5) FASR = L.RA.SuccMsg1 / (L.RA.Msg4Rx) × 100%

A high FASR (≥80%) indicates preambleReceivedTargetPower is well-calibrated. A low FASR with normal RASR means power ramping is doing its job but the initial power is under-configured. A low FASR with degraded RASR indicates either insufficient PRACH occasions (density problem) or persistent RF coverage issues.

The Contention Resolution Failure Rate (CRFR) isolates Msg4 contention losses:

(9.6) CRFR = L.RA.Msg4RxConFail / (L.RA.Msg4Rx + L.RA.Msg4RxConFail) × 100%

A CRFR above 1–2% in a dense urban cell typically indicates PRACH capacity insufficiency: increase cbPreamblesPerSSB or PRACH occasion density via prach-ConfigurationIndex.

Worked Example 9.3 — RACH KPI Diagnosis from Counter Data

Observed counters (15-minute GP):

CounterValue
L.RA.PreMsg112,400
L.RA.Msg2Rx11,100
L.RA.Msg2RxNoMatch1,300
L.RA.Msg4Rx10,200
L.RA.Msg4RxConFail900
L.RA.SuccMsg18,100

Computed KPIs:

  • RASR = 10,200 / 12,400 = 82.3% — far below target of 99%
  • RAR Match Rate = 11,100 / 12,400 = 89.5% — 1,300 RAR timeouts (10.5% failure at Msg1→Msg2 step)
  • CRFR = 900 / (10,200 + 900) = 8.1% — excessive contention collisions
  • FASR = 8,100 / 10,200 = 79.4% — acceptable first-attempt rate

Diagnosis: Two simultaneous problems — (1) 10.5% RAR timeouts suggest cell-edge PRACH coverage issue or RA-RNTI misconfiguration, and (2) 8.1% contention failure indicates PRACH is underdimensioned (too few preambles per occasion). Actions: (1) Increase preambleReceivedTargetPower by 4 dB and extend ra-ResponseWindow from sl10 to sl20. (2) Increase cbPreamblesPerSSB from 8 to 16 or increase PRACH occasion density.

Fig 9.7 — RACH KPI Decomposition Tree: Diagnosing Failure at Each Stage RASR = Msg4/PreMsg1 Target: ≥ 99% (TS 28.554) Stage 1: Msg2 failure L.RA.Msg2RxNoMatch / L.RA.PreMsg1 Root causes below: RF coverage Preamble power below detect thresh → ↑ targetPwr or tilt RA-RNTI mismatch UE/gNB disagree on PRACH occasion params → Verify PRACH config Short ra-RspWindow Msg2 arrives after window expires → Extend to sl20/sl40 Stage 2: Contention fail L.RA.Msg4RxConFail/(Msg4Rx+Fail) Root causes below: Low preamble count cbPreamblesPerSSB too small for load → ↑ cbPreamblesPerSSB Low PRACH density Occasions too sparse → UEs share occasions → ↑ PRACH config index HO storm / BFR Spike in RACH demand compresses occasion → Add reserved preambles
Fig 9.7 — RACH KPI decomposition tree. RASR failures split into two primary stages: Msg2 RAR failures (Stage 1 — preamble detection issues) and Msg4 contention resolution failures (Stage 2 — PRACH capacity issues). Each stage has distinct counter signatures and distinct remediation parameters.

§9.11 RACH Parameter Optimization: Decision Framework

Table 9.7 — RACH Parameter Optimization: KPI Symptom → Diagnosis → Remedy
KPI SymptomCounter PatternDiagnosisParameter AdjustmentExpected Impact
RASR < 99%, Msg2 timeout high L.RA.Msg2RxNoMatch/PreMsg1 > 5% Preamble power under-configured; gNB cannot detect Msg1 at cell edge Increase preambleReceivedTargetPower by 2–4 dB More preambles detected on first attempt; FASR increases
High CRFR (>2%) in dense UE cell L.RA.Msg4RxConFail/Msg4Total > 2% Preamble space exhausted; too many UEs sharing same preambles Increase cbPreamblesPerSSB or add PRACH occasions (lower prach-ConfigIndex period) Collision probability reduces per birthday problem
Slow initial access (RA setup time ↑) L.RA.SuccMsg1/Msg4Rx < 70% Excessive power ramping — preambleReceivedTargetPower too low Increase preambleReceivedTargetPower; validate PL estimation (verify SSB RSRP mapping) First-attempt success rate improves; latency reduces
HO RACH failures L.RA.PreMsg1 spike at target cell, L.HO.ExecAtt fails Target cell PRACH underpowered for HO UEs (different timing than initial access) Target cell: msgA-PUSCH-TimeDomainAllocation, ra-Msg3SizeGroupA tuning for HO preamble type HO success rate improves; L.RA.Msg2Rx at target increases
ra-ResponseWindow timeout during high load L.RA.Msg2RxNoMatch high despite good RSRP Scheduler cannot serve RAR within current window; ra-ResponseWindow too short under load Increase ra-ResponseWindow from sl10 to sl20 or sl40 More RARs received; Msg2 match rate increases

Warning: preambleReceivedTargetPower Over-Increase Risk

Increasing preambleReceivedTargetPower improves first-attempt success for cell-edge UEs but forces all UEs to transmit Msg1 at higher power. In a multi-cell deployment, this raises the PRACH interference floor at neighboring gNBs, degrading their Msg1 detection sensitivity. The safe operating range is: preambleReceivedTargetPower ≤ P_CMAX − PLest(cell_edge) − Δ_guard(5 dB). Validate with interference measurements (L.PUSCH.IntfNoise) at neighboring cells before applying.

Fig 9.8 — RA Success Rate vs preambleReceivedTargetPower (Simulated Sweep) RASR vs preambleReceivedTargetPower −112 −108 −104 −100 −96 −92 −88 preambleReceivedTargetPower (dBm) 92% 95% 97% 99% 100% 99% target −100 dBm: 97% RASR −96 dBm: 99.1% RASR Contention Failure Rate vs cbPreamblesPerSSB 4 8 16 32 64 cbPreamblesPerSSB 0% 3% 6% 9% 12% 2% 8 preambles: 8% CRFR 32: 1.9% CRFR ✓
Fig 9.8 — Left: RA success rate as a function of preambleReceivedTargetPower. The knee of the curve at −96 dBm marks the optimal operating point for a typical macro cell with −106 dBm cell-edge RSRP. Right: Contention resolution failure rate as a function of cbPreamblesPerSSB. At 8 preambles per SSB with high UE density, CRFR reaches 8% — well above the 2% target. Increasing to 32 preambles drives CRFR below 2%.

§9.12 Summary

Chapter 9 Summary

  • RACH necessity: UL timing alignment requires a contention-based bootstrap channel. PRACH resolves the deadlock with long cyclic prefix, dedicated time-frequency resources, and TA command in RAR.
  • 4-step sequence: Msg1 (preamble ZC sequence on PRACH) → Msg2 (RAR on RA-RNTI: TA+UL grant+TC-RNTI) → Msg3 (RRC Setup Request on TC-RNTI PUSCH) → Msg4 (contention resolution echo of UE-contention-ID → C-RNTI assigned). Defined by TS 38.321 §5.1.
  • Preamble groups: Group A (small Msg3, cell-edge) vs Group B (large Msg3, cell-center) controlled by messageSizeGroupA and rsrp-ThresholdSSB. 64 preambles from ZC sequences of length L_RA = 839 (long formats) or 139 (short formats).
  • Power ramping: P_PRACH = min(P_CMAX, preambleReceivedTargetPower + Δ + (n−1)×step − PL_c). Each failed RAR window increases attempt counter; power increments by powerRampingStep (0/2/4/6 dB). Max attempts = preambleTransMax.
  • 2-step RACH (Rel-16): MsgA = PRACH + PUSCH combined; MsgB = TA + C-RNTI (SuccessRAR) or FallbackRAR. Reduces latency from ~4 RTTs to ~2 RTTs. Fallback to 4-step when PUSCH link is marginal.
  • TS 28.552 counters: L.RA.PreMsg1 (all Msg1 attempts), L.RA.Msg2Rx (RAR match), L.RA.Msg2RxNoMatch (RAR timeout), L.RA.Msg4Rx (contention resolved), L.RA.Msg4RxConFail (collision detected), L.RA.SuccMsg1 (first-attempt success).
  • KPI formulas: RASR = Msg4Rx/PreMsg1; FASR = SuccMsg1/Msg4Rx; CRFR = Msg4RxConFail/(Msg4Rx+Fail). Targets: RASR ≥99%, CRFR <2%.
  • Optimization: Low RASR + high Msg2NoMatch → increase preambleReceivedTargetPower. High CRFR → increase cbPreamblesPerSSB or PRACH occasion density. Short ra-ResponseWindow under load → extend to sl20/sl40.
Page 9
Chapter 10

PRACH Configuration & Tuning

Occasions, formats, cyclic shifts, SSB-to-RACH mapping, and capacity dimensioning — from TS 38.211 §6.3.3 to field optimization

3GPP TS 38.211 §6.3.3 · TS 38.331 §6.3.2 · TS 38.321 §5.1.2
📐 11 sections 🔢 5 equations 📋 7 tables 🧪 5 worked examples 📜 3 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Decode any prach-ConfigurationIndex to its slot, subframe, and symbol offset using the TS 38.211 Table 6.3.3.2-2 or 6.3.3.2-3 mapping
  2. Calculate the maximum number of simultaneous UEs supportable by a given PRACH configuration using the birthday problem formula
  3. Explain how rootSequenceIndex and zeroCorrelationZoneConfig jointly determine the N_CS cyclic shift and the number of preambles per root
  4. Configure SSB-to-RACH occasion association using ssb-perRACH-Occasion and cbPreamblesPerSSB for beam-aware initial access
  5. Dimension PRACH occasions for three canonical scenarios: dense urban IoT, macro rural, and mmWave indoor
  6. Select the correct prach-ConfigurationIndex for a target occasion period, avoiding conflicts with DL SSB transmission
  7. Diagnose PRACH capacity exhaustion and coverage failure from TS 28.552 counter patterns
  8. Apply the PRACH frequency placement rules (msg1-FrequencyStart, prach-FDM) without causing PUSCH interference

§10.1 The PRACH Occasion Concept

A PRACH occasion is a specific time-frequency resource in which a UE is permitted to transmit a random access preamble. Unlike PUSCH/PDSCH which are dynamically scheduled per slot, PRACH occasions are semi-statically configured and repeated periodically. Every UE that needs to perform RACH must wait for, or select among, available PRACH occasions.

The PRACH occasion is parameterized in three dimensions:

  1. Time: Which radio frames, which slots within the frame, and which OFDM symbols within the slot host a PRACH occasion. This is controlled by prach-ConfigurationIndex.
  2. Frequency: Which PRBs (in the uplink frequency band) carry the preamble. Controlled by msg1-FrequencyStart and prach-FDM (frequency domain multiplexing count).
  3. SSB association: Which SSB beam is linked to which PRACH occasion, so the gNB knows which beam to use for Msg2 (RAR). Controlled by ssb-perRACH-OccasionAndCBPreamblesPerSSB.

The PRACH configuration is broadcast in SIB1 via the IE RACH-ConfigCommonrach-ConfigGenericprach-ConfigurationIndex (TS 38.331 §6.3.2). The UE reads SIB1 to determine when and where to transmit Msg1.

Fig 10.1 — PRACH Occasion: Three-Dimensional Resource Configuration ① Time Domain (prach-ConfigurationIndex → Table 6.3.3.2-2/3) Radio Frame (10 ms) = 10 subframes = 10/20/40/80 slots (SCS 15/30/60/120 kHz) prach-ConfigIdx=16 (30kHz, FR1): 1 occasion/slot, subframes {0,2,4,6,8} P P P P P 5 PRACH occasions / radio frame = 500/s prach-ConfigIdx=200 (30kHz, FR1): every slot P P P P P P P P P P 20 PRACH occasions / radio frame = 2000/s Key Constraint: PRACH occasions must not overlap with SSB transmission symbols in same slot ② Frequency Domain (msg1-FrequencyStart, prach-FDM) UL Bandwidth (e.g. 100 MHz = 66 PRBs at 30kHz) PRACH Occ. 0 PRACH Occ. 1 PRACH Occ. 2 PRACH Occ. 3 PUSCH msg1-FrequencyStart prach-FDM = 4 (4 freq. occasions per time occasion) ③ SSB Association (ssb-perRACH-Occasion, cbPreamblesPerSSB) ssb-perRACH-OccasionAndCBPreamblesPerSSB = oneEighth-n8 1 RACH Occasion shared by 8 SSBs → 8 preambles per SSB ssb-perRACH = one (1 SSB per occasion, cbPreambles=64) Occ. 0 → SSB 0 64 preambles Occ. 1 → SSB 1 64 preambles ssb-perRACH = two (2 SSBs per occasion, cbPreambles=32) Occ. 0 → SSB 0 (preambles 0–31) + SSB 1 (preambles 32–63) 32 preambles per SSB (less capacity per beam) ssb-perRACH = sixteen (FR2 mmWave, L_max=64) One Occ. → 16 SSBs × 4 preambles = 64 total preambles High SSB count → few preambles per beam Total preambles = cbPreamblesPerSSB × (ssb-perRACH-Occasion) ≤ 64
Fig 10.1 — PRACH occasion configuration in three dimensions. (Left) Time domain: prach-ConfigurationIndex determines how many occasions per radio frame (e.g., 5/frame vs 20/frame). (Center) Frequency domain: msg1-FrequencyStart sets the lowest PRB; prach-FDM=4 means 4 simultaneous PRACH occasions in frequency. (Right) SSB association: ssb-perRACH-Occasion controls how many SSB beams share one occasion, determining preambles per beam.

§10.2 PRACH Format Deep Dive: CP, Sequence Duration, Range

TS 38.211 §6.3.3.1 — PRACH Preamble Sequence (verbatim)
"The baseband signal representing the random access preamble shall be defined by x(t) = ∑ ak,l · ej2π(k+k_0+½)(Δf·(t−t_start)+φ) where ak,l is the complex-valued symbol on physical resource block k and PRACH symbol l, k_0 is the subcarrier offset, Δf is the PRACH subcarrier spacing, and t_start is the start of the PRACH preamble including the cyclic prefix."

The PRACH preamble consists of a cyclic prefix (CP) followed by the sequence itself. The CP absorbs the round-trip propagation delay between UE and gNB, ensuring the preamble arrives within the detection window at any distance up to the cell's maximum supported range. The maximum range R_max is derived from the CP duration T_CP:

(10.1) R_max = (T_CP / 2) × c where c = 3×108 m/s (speed of light)

For Format 0: T_CP = 103.3 µs → R_max = (103.3×10−6 / 2) × 3×108 = 15.5 km. For Format 1: T_CP = 684.7 µs → R_max = 102.7 km (satellite/HAPS use case).

Table 10.1 — Complete PRACH Format Table (TS 38.211 §6.3.3, Table 6.3.3.2-1 to 6.3.3.2-4)
FormatL_RAΔf_RA (kHz)CP (µs)Seq dur (µs)Total (µs)R_maxFR
08391.25103.3800903.314.5 kmFR1
18391.25684.78001484.7100 kmFR1
28391.25152.616001752.622 kmFR1
38395.0152.6800952.622 kmFR1
A113915×2μ0.9 slots2 slots2.9 slotsLoS indoorFR1+FR2
A213915×2μ1.25 slots4 slots5.25 slotsFR1+FR2
A313915×2μ2.5 slots6 slots8.5 slotsFR1+FR2
B113915×2μ0.25 slots2 slots2.25 slotsVery shortFR1+FR2
B413915×2μ1 slot12 slots13 slotsLong range FR2FR2
C013915×2μ0.25 slots1 slot1.25 slotsUltra-shortFR1+FR2
C213915×2μ0.5 slots4 slots4.5 slotsFR1+FR2

§10.3 Decoding prach-ConfigurationIndex

The prach-ConfigurationIndex is a single integer (0–255 for FR1, 0–262 for FR2) that encodes the complete PRACH time-domain pattern. For FR1 with SCS ≥ 15 kHz, the index maps to: preamble format, number of PRACH occasions per slot, starting symbol, the set of subframes (or slots) within the radio frame that contain PRACH, and the x-frame period (every x radio frames). This mapping is defined in TS 38.211 Tables 6.3.3.2-2 through 6.3.3.2-5.

Table 10.2 — Selected prach-ConfigurationIndex Values (FR1, SCS=30kHz, TS 38.211 Table 6.3.3.2-3)
IndexFormatxySubframe patternStarting sym.Occasions/frameTypical use
16010{0,2,4,6,8}05Standard macro
17010{1,3,5,7,9}05Staggered with idx 16
19010{0,1,2,3,4,5,6,7,8,9}010Dense UE load
87A110{9}71Low-load, small cell
145A110{3,7}02Standard small cell
156A110{0,1,2,3,4,5,6,7,8,9}010High density small cell
200A210{0,1,2,3,4,5,6,7,8,9}020mMTC / IoT dense

Worked Example 10.1 — Decoding prach-ConfigurationIndex=16

Scenario: FR1, SCS=30kHz, prach-ConfigurationIndex=16

From TS 38.211 Table 6.3.3.2-3:

  • Format: 0 (long format, L_RA=839, Δf=1.25 kHz, CP=103.3 µs)
  • x=1, y=0: PRACH occurs in every radio frame (x=1) in frames with (SFN mod x) = y, i.e., every frame
  • Subframe offsets: {0, 2, 4, 6, 8} — the even subframes
  • Starting symbol: 0 (begins at the first OFDM symbol of the PRACH slot)
  • Occasions per slot: 1

Derived metrics:

  • Occasions per radio frame = 5 × 1 = 5
  • Occasions per second = 5 × 100 (frames/s) = 500
  • With 64 preambles: capacity = 500 × 64 = 32,000 preamble slots/s (not all used)

Key constraint: Format 0 uses L_RA=839 at 1.25 kHz spacing → occupies 6 RBs at 15kHz or proportionally for 30kHz. The PRACH sequence must fit within the UL bandwidth. Verify: 6 PRBs × 12 sub/PRB × 30kHz = 2.16 MHz bandwidth — fits inside even a 10 MHz UL band.

§10.4 ZC Sequences: rootSequenceIndex and zeroCorrelationZoneConfig

The 64 preambles available per PRACH occasion are generated from one or more Zadoff-Chu (ZC) root sequences using cyclic shifts. Two parameters control this:

  • rootSequenceIndex (0–837 for L_RA=839, 0–137 for L_RA=139): Index u of the first ZC root sequence used for this cell. Neighboring cells use different rootSequenceIndex values to ensure orthogonal preamble sets.
  • zeroCorrelationZoneConfig (0–15): Indirectly specifies N_CS (the cyclic shift increment). N_CS determines how many cyclic shifts fit per root sequence — and hence how many preambles can be generated from one root.
(10.2) N_preambles_per_root = ⌊L_RA / N_CS⌋ (N_CS > 0)

For N_CS = 0 (unrestricted set), each root generates all L_RA virtual roots — effectively unlimited preambles from one root, but only for cells with negligible inter-cell interference (isolated pico cells).

Fig 10.2 — Zadoff-Chu Preamble Generation: rootSequenceIndex & N_CS Single Root (u=22), N_CS=46, L_RA=839 ⌊839/46⌋ = 18 preambles per root L_RA = 839 chips cv=0 (preamble 0) cv=46 cv=92 N_CS = 46 chips Root u=22 18 preambles (dots) 839 − 18×46 = 7 chips remaining < N_CS → next root u=23 provides preambles 18–35 N_CS vs Preambles Per Root (L_RA=839) N_CS Preambles/root Roots needed (64 preambles) Cell range 13 64 1 ~1.4 km 26 32 2 ~2.8 km 46 18 4 ~5 km 93 9 8 ~10 km 119 7 10 ~13 km 185 4 16 ~20 km 419 2 32 ~46 km Key Insight: N_CS trade-off Large N_CS → more roots needed → larger rootSequenceIndex gap between cells Small N_CS → fewer roots needed but limited cell range (small N_CS = small guard zone)
Fig 10.2 — Zadoff-Chu preamble generation. A single root sequence (e.g., u=22) with cyclic shift N_CS=46 yields ⌊839/46⌋=18 distinct preambles. Multiple root sequences are concatenated to fill the required 64 preambles. Large cells need large N_CS (to cover longer delay spreads) but generate fewer preambles per root — requiring more root sequences and a larger rootSequenceIndex reservation per cell.

§10.5 SSB-to-RACH Occasion Mapping: Beam-Aware Initial Access

In 5G NR with massive MIMO (L_max up to 64 beams in mmWave), the gNB transmits SSBs on different beams. When a UE detects the best SSB and initiates RACH, the gNB must know which beam the UE is using to form the correct beam for Msg2 transmission. This is achieved by associating each SSB index to a specific set of PRACH occasions and preamble subsets.

The IE ssb-perRACH-OccasionAndCBPreamblesPerSSB in RRC RACH-ConfigCommon specifies two values simultaneously: the number of SSBs per RACH occasion (determining preamble partition), and the number of CB (contention-based) preambles allocated per SSB. The key constraint is:

(10.3) ssb-perRACH-Occasion × cbPreamblesPerSSB ≤ 64 (total preambles per occasion)
Table 10.3 — ssb-perRACH-Occasion Configuration Options (TS 38.321 §5.1.2)
ssb-perRACH valueMeaningOccasions per SSBcbPreambles/SSBUse case
oneEighth (1/8)8 SSBs share one RACH occasion0.125 (fractional)4–8Ultra-dense beam (mmWave L_max=64, 8 SSBs per occasion)
oneFourth (1/4)4 SSBs share one RACH occasion0.254–16mmWave moderate density
oneHalf (1/2)2 SSBs share one RACH occasion0.54–32FR2 / high L_max FR1
one1 SSB per RACH occasion14–64Standard FR1 macro (L_max=4 or 8)
two2 occasions per SSB24–32High RACH demand macro
four4 occasions per SSB44–16Very high RACH demand
eight8 occasions per SSB84–8Dense urban eMBB
sixteen16 occasions per SSB164Extreme density IoT
Fig 10.3 — SSB-to-RACH Occasion Association (ssb-perRACH-Occasion) ssb-perRACH = one Standard macro (L_max=4), cbPreambles=64 SSB 0 SSB 1 SSB 2 SSB 3 Occ. 0 64 preambles Occ. 1 64 preambles Occ. 2 64 preambles Occ. 3 64 preambles 4 SSBs × 64 preambles = 256 total UE detects SSB 2 → selects preamble from Occ. 2 gNB receives Occ. 2 preamble → uses beam 2 for RAR ssb-perRACH = two L_max=8, high demand, cbPreambles=32 SSB 0 SSB 1 SSB 2 SSB 3 SSB 4 SSB 5 Occ. 0 SSB0: P0–31 SSB1: P32–63 Occ. 1 SSB2: P0–31 SSB3: P32–63 Occ. 2 SSB4: P0–31 SSB5: P32–63 6 SSBs × 32 preambles = 192 total (less per beam) Tradeoff: more beams covered vs fewer preambles/beam SSB Association Formula Total PRACH occasions needed = N_SSB / ssb-perRACH where N_SSB = active SSBs in burst This REPEATS every PRACH period until all N_SSB have been served (TS 38.211 §6.3.3.2) Example: FR2, L_max=64 N_SSB = 64 active beams ssb-perRACH = two → 32 occasions needed ssb-perRACH = eight → 8 occasions needed 8 occasions × cbPreambles=8 = 64 ✓ More SSBs → more occasions → more RACH overhead
Fig 10.3 — SSB-to-RACH occasion association. Left: ssb-perRACH=one gives each SSB beam its own dedicated occasion with all 64 preambles — maximum preamble capacity per beam. Center: ssb-perRACH=two pairs two SSBs per occasion with 32 preambles each — accommodates more beams but reduces preamble capacity per beam. Right: Formula for calculating required occasions when L_max=64.

§10.6 PRACH Capacity Dimensioning

A critical optimization task is dimensioning the PRACH configuration to support the expected UE RACH arrival rate without exceeding a target collision probability. The PRACH channel can be modeled as a slotted ALOHA system. Given k simultaneous UE attempts per occasion, each selecting uniformly from Np preambles, the probability that a specific UE's preamble is unique (no collision) is:

(10.4) P(success | k, Np) = (1 − 1/Np)k−1

For a target RACH Success Rate RASR_target ≥ 99% and given the number of simultaneous UE attempts k and preambles per occasion Np = cbPreamblesPerSSB, the required PRACH occasions per second Oreq is:

(10.5) O_req = λRACH / (Np × Pcoll_max) where λRACH is the RACH attempt rate [attempts/s]

Worked Example 10.2 — PRACH Dimensioning for Dense Urban Stadium Cell

Scenario: Stadium cell, 5,000 connected UEs, handover rate = 2 HOs/UE/minute, SR failure rate = 1% → estimated RACH rate ≈ 5,000×2/60 + 5,000×0.01×0.5 = 167 + 25 = 192 RACH attempts/second during peak load. Target: CRFR < 2%, cbPreamblesPerSSB = 64.

Step 1 — Required occasions: If average k=3 simultaneous attempts per occasion:

  • P(collision) = 1 − (63/64)² = 1 − 0.969 = 3.1% — exceeds 2% target with k=3
  • For k=2: P(collision) = 1 − (63/64)¹ = 1.6% — within target

Step 2 — Required occasion rate: To keep average k ≤ 2: O_req = 192 / 2 = 96 occasions/s (from 64-preamble occasions). With 30kHz SCS: O_req = 96 occasions/s → 96/100 = 0.96 occasions/frame → ceil to 1 occasion per frame. But with prach-FDM=4: 4 simultaneous freq. occasions → 0.25 time-occasions/frame → feasible with prach-ConfigIdx=16 (5 occasions/frame × 4 FDM = 20 total/frame >> 96/s needed).

Conclusion: prach-ConfigIdx=16, prach-FDM=4, cbPreamblesPerSSB=64. Available capacity: 5 × 100 × 4 × 64 = 128,000 preamble slots/s vs. 192 demand → utilization < 0.2%, contention very low.

Fig 10.4 — PRACH Occasion Density vs. UE Load: Collision Probability Curves Collision Probability vs UE Density (per occasion, fixed cbPreambles=64) 0 2 4 6 8 10 Mean simultaneous UE attempts per occasion (k) 0% 3% 6% 9% 12% 2% target cbPreambles=8 cbPreambles=16 cbPreambles=32 cbPreambles=64 PRACH Occasions Required vs RACH Arrival Rate (for <2% collision, cbPreambles=64) 0 100 200 300 400 500 RACH attempt rate (attempts/second) 0 50 100 150 100/s → 50 occ/s (prach-FDM=1, idx=19) 300/s → 150 occ/s (prach-FDM=2, idx=19) idx=16,FDM=1: 500/s idx=16,FDM=2: 1000/s
Fig 10.4 — Left: Collision probability per occasion versus mean simultaneous UE attempts, for four cbPreamblesPerSSB values. The 2% target line shows that with cbPreambles=64, k ≤ 3 is acceptable. With cbPreambles=8, k must stay below ~2. Right: Required PRACH occasions per second versus RACH arrival rate to maintain k ≤ 2 (linear relationship). Typical configurations (prach-ConfigIdx=16, FDM=1) provide 500 occasions/second — sufficient for up to 1,000 RACH attempts/second at cbPreambles=64.

§10.7 PRACH Frequency Domain Placement: msg1-FrequencyStart and prach-FDM

The PRACH frequency resource occupies a contiguous set of RBs within the uplink carrier. The placement is controlled by two parameters:

  • msg1-FrequencyStart: The offset in resource blocks from the first usable UL RB to the lowest-frequency RB of the first PRACH occasion (integer, 0 to N_UL_RB − 1). Setting this too close to 0 (DC or guard band) may increase interference; setting near the center of the UL bandwidth maximizes separation from PUSCH.
  • prach-FDM (1, 2, 4, 8): Number of PRACH occasions multiplexed in the frequency domain within one time slot. Increasing prach-FDM linearly multiplies PRACH occasion capacity without adding time overhead, at the cost of more UL bandwidth reserved for PRACH.

The bandwidth occupied by each PRACH occasion depends on the preamble format and SCS. For Format 0 (Δf_RA = 1.25 kHz, L_RA = 839) at 15kHz SCS:

Table 10.4 — PRACH Resource Occupancy per Occasion (TS 38.211 §6.3.3, Table 6.3.3.2-6)
FormatΔf_RAL_RABW per occasion (kHz)PRBs at 15kHzPRBs at 30kHz
0, 1, 21.25 kHz8391048.75~6 PRBs~3 PRBs
35.0 kHz8394195~23 PRBs~12 PRBs
A1, A2, A3, B1, B4, C0, C215×2^μ kHz13912×15×2^μ12 PRBs12 PRBs

Warning: PRACH-SSB Collision in Slot

When prach-ConfigurationIndex places a PRACH occasion in a slot that also contains SSB symbols (e.g., SSB in symbols 4–7 of a slot), a symbol-level conflict occurs. In 5G NR FR1 30kHz, the SSB occupies 4 consecutive OFDM symbols. The PRACH scheduler must verify that the starting symbol of the PRACH occasion does not overlap with SSB symbols. TS 38.211 Table 6.3.3.2-3 explicitly flags configurations that are SSB-compatible per the reference SSB pattern. Always validate the prach-ConfigurationIndex against the cell's SSB configuration (ssb-PositionsInBurst) before deployment.

§10.8 Scenario-Based PRACH Configuration Guide

Table 10.5 — PRACH Configuration Recommendations by Scenario
Scenarioprach-ConfigIdxFormatN_CS / zcczcbPreambles/SSBprach-FDMssb-perRACH
FR1 Dense urban 100 MHz 19 (10 occ/frame) 0 or A1 N_CS=13 (zccz=1) 64 2 one
FR1 Rural macro <15km 16 (5 occ/frame) 0 N_CS=119 (zccz=10) 64 1 one
FR1 Rural macro >15km 16 1 (CP=684µs) N_CS=419 (zccz=15) 64 1 one
FR2 mmWave indoor 145 (A1, 2 occ/frame) A1 N_CS=2 (zccz=0) 8 4 eight
FR2 mmWave outdoor 145 B4 N_CS=4 (zccz=3) 4 8 sixteen
FR1 mMTC / NB-IoT analogy 200 (A2, 20 occ/frame) A2 N_CS=13 64 4 two
FR1 High-speed rail 16 (extended interval) 0 N_CS=185 (zccz=13) 32 1 one

Worked Example 10.3 — High-Speed Rail N_CS Calculation

Problem: A high-speed train (350 km/h) approaches a macro cell. The UE has Doppler shift and the preamble arrival time is uncertain due to the changing propagation delay. Calculate the minimum N_CS required.

Given: Cell radius R=5km, Format 0 (L_RA=839, Δf=1.25kHz), maximum UE speed v=350km/h=97.2m/s.

Step 1 — Maximum delay spread from propagation:

  • Round-trip propagation delay ΔT = 2R/c = 2×5000/3×10⁸ = 33.3 µs
  • Maximum change in delay per symbol: Δv×T_sym = 97.2 × (1/1250) = 0.078 µs/symbol ≈ negligible

Step 2 — Minimum N_CS from delay spread:

  • N_CS must cover the maximum delay spread in ZC chips: N_CS ≥ ⌈ΔT × Δf_RA × L_RA⌉ = ⌈33.3×10⁻⁶ × 1250 × 839⌉ = ⌈34.9⌉ = 35 chips (minimum for 5km)
  • Adding 20% guard: N_CS = 42 → use zeroCorrelationZoneConfig=7 (N_CS=46 in TS 38.211 Table 6.3.3.1-5)

Result: zeroCorrelationZoneConfig=7 (N_CS=46). Preambles per root = ⌊839/46⌋=18. Roots needed for 64 preambles = 4 roots. rootSequenceIndex gap between neighboring cells must be ≥4.

§10.9 PRACH-Specific TS 28.552 Counters

In addition to the L.RA.* family covered in Chapter 9, TS 28.552 specifies counters that directly reflect PRACH configuration effectiveness:

Table 10.6 — PRACH Configuration-Sensitive TS 28.552 Counters
CounterDefinitionPRACH config linkDiagnostic insight
L.RA.PreMsg1.GroupA
L.RA.PreMsg1.GroupB
Msg1 attempts split by preamble group A vs B Group B rate reveals: UEs with good RSRP → low path loss → Group B High GroupB% = cell-center dominated; high GroupA% = cell-edge load or high path loss
L.RA.PreMsg1.CauseHO Msg1 attempts triggered by handover (dedicated preamble) Non-contention RACH (dedicated preamble index from PDCCH order) High HO-RACH rate → verify target cell PRACH capacity is not impacted
L.RA.PreMsg1.BFR Msg1 attempts triggered by beam failure recovery BFR uses dedicated PRACH occasions or preamble group B subset High BFR-RACH → beam management issue (see Ch6); verify BFR PRACH config
L.RA.Msg2RxWin.Expiry RA-RNTI monitoring windows that expired without any RAR detected Direct indicator of ra-ResponseWindow misconfiguration or RF problem If high, extend ra-ResponseWindow or verify PRACH occasion timing vs SSB
L.RA.PwrRampingStep.Dist Histogram of preamble transmission attempt number at which RAR was finally received (n=1,2,...,7) Direct indicator of preambleReceivedTargetPower calibration P(n=1) < 80% → raise preambleReceivedTargetPower; P(n≥5) > 5% → coverage hole
Fig 10.5 — PRACH Optimization Decision Tree RASR < 99% detected L.RA.Msg4Rx / L.RA.PreMsg1 < 0.99 Q1: L.RA.Msg2RxNoMatch/PreMsg1 > 5%? (RAR window timeout rate) YES Preamble detection / timing problem RF: ↑ preamble ReceivedTargetPwr Timing: Verify PRACH-SSB slot Window: ↑ ra-ResponseWindow NO Q2: CRFR > 2%? (Msg4ConFail/Total) YES PRACH capacity problem ↑ cbPreambles PerSSB ↑ prach-ConfigIdx (more occasions) NO Check Msg3 L.RA.Msg3Tx vs L.RA.Msg4Rx Msg3 PUSCH coverage Check UL coverage: SINR, msg3-DeltaPreamble, harq
Fig 10.5 — PRACH optimization decision tree. Entry point: degraded RASR. First branch: high Msg2 timeout rate (Q1) → preamble detection problem → fix preambleReceivedTargetPower, PRACH-SSB timing, or ra-ResponseWindow. If Msg2 rate is normal: Q2 checks contention resolution failure rate → PRACH capacity problem → fix cbPreamblesPerSSB or occasion density. If both Q1 and Q2 are normal: investigate Msg3 PUSCH coverage.

§10.10 Inter-Cell PRACH Planning: rootSequenceIndex Allocation

In a multi-cell deployment, neighboring cells must use different sets of preamble sequences to prevent preambles from one cell being falsely detected at an adjacent gNB. The rootSequenceIndex in adjacent cells must be separated by at least the number of roots needed per cell:

(Eq 10.6 — not numbered) rootSequenceIndex_cell_n ≥ rootSequenceIndex_cell_(n−1) + N_roots_per_cell

where N_roots_per_cell = ⌈64 / N_preambles_per_root⌉ = ⌈64 / ⌊L_RA/N_CS⌋⌉.

Worked Example 10.4 — rootSequenceIndex Planning for a 3-Sector Site

Config: Format 0 (L_RA=839), N_CS=46 (zeroCorrelationZoneConfig=7) → 18 preambles/root → 4 roots needed per cell.

3 sectors at one site:

  • Sector 0 (α=0°): rootSequenceIndex = 0
  • Sector 1 (α=120°): rootSequenceIndex = 4
  • Sector 2 (α=240°): rootSequenceIndex = 8

The next site starts at rootSequenceIndex = 12. With 838 valid roots for L_RA=839 and 12 roots/site, a cluster of ≈70 sites can have unique sequence sets before reuse. In practice, antenna isolation and propagation path loss means reuse distance is shorter — verify with PRACH detection false alarm measurements.

Insight: N_CS=0 (Unrestricted Set) — When to Use It

Setting zeroCorrelationZoneConfig=0 (N_CS=0, unrestricted set) disables the guard zone entirely. All 838 root sequences are treated as independent, and each root can generate one preamble. In an isolated pico cell (indoor enterprise, single-operator), the absence of a guard zone is acceptable because there are no neighboring cells sharing the PRACH frequency band. Never use N_CS=0 in a co-channel multi-cell deployment — without a guard zone, Doppler-shifted preambles from adjacent cells will be falsely detected, inflating L.RA.Msg2Rx at the wrong cell and causing phantom RARs.

§10.11 Summary

Chapter 10 Summary

  • PRACH occasion: A time-frequency resource for preamble transmission, parameterized in three dimensions — time (prach-ConfigurationIndex), frequency (msg1-FrequencyStart, prach-FDM), and SSB association (ssb-perRACH-OccasionAndCBPreamblesPerSSB).
  • Format selection: Long formats 0–3 (L_RA=839) for FR1 macro with range coverage; Format 1 (CP=684.7µs) for cells >15km. Short formats A1–C2 (L_RA=139) for small cells and FR2 mmWave. Format selected by prach-ConfigurationIndex per TS 38.211 Tables 6.3.3.2-2 to 6.3.3.2-5.
  • Preamble sequences: rootSequenceIndex sets starting ZC root u; zeroCorrelationZoneConfig sets N_CS (cyclic shift guard zone). N_CS trade-off: small N_CS = more preambles/root but less range; large N_CS = fewer preambles/root but supports longer cells.
  • SSB-to-RACH mapping: ssb-perRACH-Occasion × cbPreamblesPerSSB ≤ 64. More SSB beams → smaller cbPreamblesPerSSB per beam → higher collision probability per beam. FR2 with L_max=64 requires ssb-perRACH=eight or sixteen.
  • Capacity: Modeled as slotted ALOHA. P(collision) = 1−(1−1/N_p)^(k−1). For <2% collision: k ≤ 3 with cbPreambles=64; k ≤ 2 with cbPreambles=32. Increase occasions via prach-ConfigIdx or prach-FDM to reduce k.
  • Counter diagnostics: L.RA.Msg2RxNoMatch → RAR detection failure (target power / window); L.RA.Msg4RxConFail → collision failure (capacity); L.RA.PwrRampingStep.Dist → power ramping histogram (target power calibration); L.RA.PreMsg1.BFR → beam failure RACH load.
  • Inter-cell planning: rootSequenceIndex must be offset by N_roots_per_cell between co-channel neighbors. N_CS=0 (unrestricted set) only for isolated single-cell deployments.
Page 10
Chapter 11

RRC Setup: Connection Establishment

RRC state machine, Msg3/Msg4 IE anatomy, T300 timer, re-establishment, resume — and the TS 28.554 RRC Setup Success Rate

3GPP TS 38.331 §5.3.3 · §5.3.7 · §5.3.13 · TS 28.554 §6.3.1
📐 11 sections 🔢 4 equations 📋 7 tables 🧪 5 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Trace every state transition in the 3-state RRC machine (RRC_IDLE → RRC_INACTIVE → RRC_CONNECTED) with the exact triggering procedure and TS 38.331 clause number
  2. Decode the RRC Setup Request IE, mapping each establishmentCause value to a network trigger counter
  3. Explain the content of the RRC Setup message — RadioBearerConfig, MasterCellGroup config, SpCellConfig — and identify what each section configures for the UE
  4. Calculate the RRC Setup Success Rate (RRCSSR) from TS 28.554 §6.3.1 using the exact TS 28.552 counter formula
  5. Identify when a UE starts T300 and what action it takes on T300 expiry — including the backoff mechanism
  6. Distinguish RRC Re-establishment (§5.3.7) from RRC Resume (§5.3.13): triggering conditions, message sequence, and counter signatures
  7. Map each RRC failure mode to its TS 28.552 counter and root cause hypothesis
  8. Configure T300, connEstFailCount, and connEstFailOffsetValidity to optimize RRC accessibility without causing excessive congestion

§11.1 The RRC State Machine: Three States, Six Transitions

5G NR defines three RRC states (TS 38.331 §5.2.1): RRC_IDLE, RRC_INACTIVE, and RRC_CONNECTED. Unlike LTE (which had only IDLE and CONNECTED), 5G NR adds an intermediate state (RRC_INACTIVE, introduced in Release 15) that preserves AS-layer context and the UE's NG connection without maintaining a full radio bearer — enabling fast resume without full RRC setup overhead.

Table 11.1 — RRC State Comparison: Key Attributes
AttributeRRC_IDLERRC_INACTIVERRC_CONNECTED
AS context stored at UENoYes (suspended)Yes (active)
AS context stored at gNBNoYes (anchor gNB)Yes
NG/N2 connectionNo (NGAP UE context released)Yes (suspended, anchor gNB retains)Yes (active)
DRB (Data Radio Bearer)NoneNone (suspended)≥1 DRB active
UL data possible?Via full RACH procedureVia RRC Resume (fast path)Immediately
PagingUE monitors CN pagingUE monitors RAN paging (I-RNTI)Not needed (DL active)
UE identifier5G-S-TMSI (NAS only)I-RNTI (RAN context ID)C-RNTI
RACH typeFull RACH → RRC SetupRACH → RRC Resume (2 msgs)N/A or RACH for TA update
Fig 11.1 — 5G NR RRC State Machine (TS 38.331 §5.2.1) RRC_IDLE No AS context CN paging only 5G-S-TMSI identity RRC_INACTIVE AS context suspended RAN paging (I-RNTI) Rel-15 new state RRC_CONNECTED Full radio bearer active C-RNTI assigned DRBs active, UL/DL ready RRC Setup procedure (§5.3.3) RACH → RRC Setup Request → RRC Setup → RRC Setup Complete RRC Release (§5.3.8) — releaseRedirect=none gNB releases bearers, UE returns to IDLE, C-RNTI released RRC Suspend (§5.3.12) gNB assigns I-RNTI, suspends context RRC Resume (§5.3.13) UE sends I-RNTI, gNB restores context Suspend timer expiry or RRC Release (not directly)
Fig 11.1 — The 5G NR RRC state machine. RRC_INACTIVE is the key new state introduced in Release 15: the gNB preserves AS context and the NG connection while allowing the UE to sleep, enabling RRC Resume (§5.3.13) instead of a full RRC Setup. Counter impact: L.RRC.ConnSetup.Att is triggered from IDLE; L.RRC.Resume.Att is triggered from INACTIVE.

§11.2 RRC Setup Request: The Msg3 Payload (TS 38.331 §5.3.3.2)

TS 38.331 §5.3.3.2 — Initiation of RRC connection establishment (verbatim)
"The UE shall set the contents of RRCSetupRequest message as follows: ue-Identity: if the UE has a valid 5G-S-TMSI, set to ng-5G-S-TMSI-Part1 (the lower 39 bits of the 5G-S-TMSI), otherwise set to a 39-bit random value; establishmentCause: set to the value corresponding to the condition that triggered the establishment request."

The RRC Setup Request (carried in Msg3 CCCH SDU) is minimal by design — it contains only two fields:

Table 11.2 — RRC Setup Request IEs and Counter Mapping (TS 38.331 §6.2.2)
IEType / SizeValues / semanticsTS 28.552 counter link
ue-IdentityCHOICE (39 bits)ng-5G-S-TMSI-Part1 (39 LSBs of 5G-S-TMSI) or randomValue (39 bits)Used for contention resolution in Msg4 (§5.1.5)
establishmentCauseENUMERATEDemergency, highPriorityAccess, mt-Access (mobile terminated), mo-Signalling, mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, mps-PriorityAccess, mcs-PriorityAccessL.RRC.ConnSetup.Att.<cause> (one counter per cause)

The establishmentCause is critical for accessibility analytics. The gNB's AC (Access Class) barring function and the PRACH resource allocator may apply different policies per cause. In a congested cell, the gNB may accept only emergency and mt-Access while temporarily rejecting mo-Data and mo-Signalling.

§11.3 RRC Setup Message: What the gNB Configures in Msg4

TS 38.331 §5.3.3.4 — Reception of RRCSetup by the UE (verbatim)
"Upon receiving the RRCSetup message, the UE shall: perform the cell group configuration procedure according to the received masterCellGroup; perform the radio bearer configuration procedure according to the received radioBearerConfig; if stored, discard the cell reselection priority information provided by the last SIB1 or dedicated signalling; set the content of RRCSetupComplete message."

The RRC Setup message (PDSCH Msg4, DL CCCH) contains three major sections that together configure the UE from scratch:

Table 11.3 — RRC Setup Message Structure (TS 38.331 §6.2.2, IE RRCSetup)
IE SectionKey Sub-IEsPurpose
radioBearerConfig srb-ToAddModList (SRB1, SRB2), drb-ToAddModList (DRB1..n), securityConfig Establishes Signalling Radio Bearers (SRB1/SRB2) and Data Radio Bearers; configures PDCP/RLC/MAC parameters per bearer
masterCellGroup CellGroupConfig: spCellConfig, sCellToAddModList, rlc-BearerToAddModList, mac-CellGroupConfig, physicalCellGroupConfig Configures the Master Cell Group: PCell (SpCell) physical layer parameters, PUCCH/PUSCH resource grants, PDSCH config, CSI-RS config, beam management, TDD UL/DL pattern
spCellConfig ServingCellConfigCommon: dl-ConfigCommon, ul-ConfigCommon, SSB config; ServingCellConfig: PDSCH/PUSCH dedicated, BWP config, CSI-MeasConfig, PUCCH-Config Complete UE-specific physical layer configuration for the PCell: BWP assignment, MCS/CQI reporting config, antenna port mapping, HARQ process count, scheduling config
Fig 11.2 — Complete RRC Setup Call Flow (TS 38.331 §5.3.3) incl. NAS Registration UE gNB (CU-CP) AMF RACH (Ch9) Msg1→Msg4 complete RRC Setup Req Msg3 CCCH UL → ue-Identity + establishmentCause L.RRC.ConnSetup.Att ↑ Build RRC Setup IEs RRC Setup Msg4 CCCH DL ← radioBearerConfig + masterCellGroup Apply SRB1 config start T300 (now stops) RRC Setup Complete DL DCCH SRB1 +NAS Registration Req → selectedPLMN-ID + dedicatedNAS-Message L.RRC.ConnSetup.Succ ↑ NGAP: InitialUEMessage → NAS Registration Request inside NAS Authentication DL NAS Transport ← NAS Auth Req (RRC DLInformationTransfer) RRC Reconfiguration DRB setup (QoS 5QI) ← DRB config + QFI/5QI mapping RRC_CONNECTED ✓
Fig 11.2 — Complete RRC Setup call flow. After Msg4 contention resolution, the UE sends RRC Setup Request (Msg3 CCCH, carrying ue-Identity and establishmentCause). The gNB responds with RRC Setup (Msg4 DL CCCH, containing radioBearerConfig and masterCellGroup). The UE completes setup with RRC Setup Complete (SRB1, carrying NAS Registration Request). The gNB forwards via NGAP InitialUEMessage to AMF. DRBs are established later via RRC Reconfiguration once NAS authentication completes.

§11.4 T300 Timer: RRC Setup Failure Handling

When the UE transmits the RRC Setup Request, it starts timer T300 (TS 38.331 §5.3.3.6). T300 expires if the UE does not receive an RRC Setup (or RRC Reject) within the configured duration. T300 is broadcast in SIB1 as t300 with values ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000.

TS 38.331 §5.3.3.6 — T300 Expiry (verbatim)
"Upon T300 expiry, the UE shall: increment the counter connEstFailCount; if connEstFailCount is less than connEstFailCountVal, perform a cell selection procedure as specified in TS 38.304; otherwise, the UE shall release the RRC connection establishment procedure and inform upper layers of the failure."

The two governing parameters are:

  • connEstFailCount: Counter tracking T300 expiry events at this cell (0–3). Reset when UE selects a new cell.
  • connEstFailOffsetValidity: Timer (s1, s2, s3, s5, s10, s20, s30) — how long the connEstFailOffset is applied to the cell's reselection criterion, biasing the UE away from the failing cell.
  • connEstFailOffset (dB): Added to the q-Offset for this cell in the reselection criterion after T300 expiry. Steers UE to a neighbor cell.
Fig 11.3 — T300 Timer: RRC Setup Failure Handling & connEstFailCount Logic time → RRC Setup Request #1 T300 (e.g. 1000ms) T300 expiry! connEstFail=1 Increment connEstFailCount if < connEstFailCountVal → retry RRC Setup Request #2 T300 RRC Setup ✓ T300 stopped connEstFailCount reset T300 expiry! connEstFail=3 connEstFail = connEstFailCountVal → Inform upper layer: RRC_FAIL Cell reselection bias applied connEstFailOffset dB subtracted from cell's Qoffset for connEstFailOffsetValidity Key SIB1 Parameters for T300 Behaviour t300: 100–2000ms connEstFailCountVal: n1/n2/n3/n4 connEstFailOffset: 0–15 dB connEstFailOffsetValidity: s1/s2/s3/s5/s10/s20/s30 (how long bias applies)
Fig 11.3 — T300 timer behavior on RRC Setup Request timeout. After the first T300 expiry, connEstFailCount increments to 1 and the UE retries (if count < connEstFailCountVal). After n failures equaling connEstFailCountVal, the UE informs the NAS layer of RRC failure and applies connEstFailOffset — a cell reselection bias that steers the UE away from the failing cell for connEstFailOffsetValidity seconds.

§11.5 RRC Re-establishment (TS 38.331 §5.3.7)

RRC Re-establishment is triggered when the UE detects a connection failure while in RRC_CONNECTED — specifically (TS 38.331 §5.3.7.2):

  • T310 expiry (radio link failure — N311 consecutive "out-of-sync" indications from physical layer after N310 consecutive "out-of-sync")
  • Handover failure (T304 expiry or HOFailure indication)
  • Integrity check failure on SRB (from PDCP layer)
  • Max HARQ/ARQ retransmissions reached on SRB (signalling radio bearer integrity lost)

Unlike RRC Setup (which starts from scratch), RRC Re-establishment preserves the UE's AS security context (K_gNB, integrity/cipher keys) and attempts to re-use it at the same or a different cell. The re-establishment call flow is:

Table 11.4 — RRC Re-establishment vs RRC Resume: Message Comparison
AttributeRRC Re-establishment (§5.3.7)RRC Resume (§5.3.13)
Starting stateRRC_CONNECTED (after radio failure)RRC_INACTIVE (UE was suspended)
UE triggerT310 expiry, HO failure, integrity failureUE has data to send, or network pages via RAN paging (I-RNTI)
UL messageRRC Re-establishment Request (CCCH)RRC Resume Request (CCCH)
Key materialOld K_gNB re-used (security context preserved)New K_gNB derived from inactive-RNTI + resumeMAC-I
DRB statusDRBs lost; re-configured in subsequent RRC ReconfigurationDRBs re-activated from suspended config
Context retrievalXn message to old gNB (if different cell)Xn message to anchor gNB (suspend anchor)
CounterL.RRC.ConnReestab.Att / .SuccL.RRC.Resume.Att / .Succ
Failure counterL.RRC.ConnReestab.Fail (reject, fallback to IDLE)L.RRC.Resume.Fail (fallback to IDLE, full setup needed)

§11.6 TS 28.552 RRC Counter Family

Table 11.5 — TS 28.552 RRC Counter Family: Names, Definitions, and KPI Usage
Counter NameTypeDefinitionState machine event
L.RRC.ConnSetup.AttCCRRC Setup Request messages received by gNB (per cell)UE sends RRC Setup Request, gNB starts admission
L.RRC.ConnSetup.SuccCCRRC Setup Complete messages received by gNBUE completes RRC Setup → RRC_CONNECTED reached
L.RRC.ConnSetup.Att.<cause>CC per causeBreakdown of L.RRC.ConnSetup.Att by establishmentCauseCause: mo-Data, mo-Signalling, mt-Access, emergency, etc.
L.RRC.ConnReestab.AttCCRRC Re-establishment Request messages receivedUE detects radio failure → sends reestab request
L.RRC.ConnReestab.SuccCCRRC Re-establishment Complete received (UE back to CONNECTED)Re-establishment succeeds at same or different cell
L.RRC.ConnReestab.Att.<cause>CC per causeRe-establishment breakdown by cause (handoverFailure, otherFailure, t310Expiry, reconfigurationFailure)Counter per re-establishment trigger type
L.RRC.Resume.AttCCRRC Resume Request messages received (from INACTIVE state)UE sends Resume Request with I-RNTI
L.RRC.Resume.SuccCCRRC Resume Complete received (UE back to CONNECTED from INACTIVE)Context retrieved from anchor gNB, DRBs resumed
L.RRC.RejectCCRRC Setup Reject messages sent (admission control)gNB rejects setup due to congestion (ac-BarringInfo)
L.RRC.ConnRel.AttCCRRC Release messages sentgNB releases connection (normal or redirect or suspend)

The primary KPI derived from the RRC counter family is the RRC Setup Success Rate (RRCSSR), defined in TS 28.554 §6.3.1:

(11.1) RRCSSR = L.RRC.ConnSetup.Succ / (L.RRC.ConnSetup.Att − L.RRC.Reject) × 100%

The denominator excludes rejected setups (admission control rejections) because they represent intentional network decisions, not failures. RRCSSR target is typically ≥99.0% for eMBB cells, ≥99.5% for high-priority sectors.

Fig 11.4 — RRCSSR Decomposition: Failure Causes and Counter Signatures RRCSSR = ConnSetup.Succ / (Att − Reject) Target: ≥99.0% (TS 28.554 §6.3.1) Failure 1: No RRC Req received RACH success but no RRC Setup Req → L.RA.Msg4Rx ↑ but L.RRC.ConnSetup.Att flat Msg3 PUSCH decode failure → UL coverage fix UE received Msg4 but crashed / barred → AC barring check Failure 2: T300 expiry RRC Setup Req sent but no RRC Setup received within T300 gNB admission overload / queue → extend T300 or balance load DL coverage: UE cannot decode RRC Setup → DL coverage audit Failure 3: RRC Reject L.RRC.Reject ↑ — gNB rejects due to congestion (AC barring) Cell overloaded: ac-BarringFactor set → Load balance, add capacity Priority access: emergency allowed → Verify cause-based policy RRCSSR Calculation Example ConnSetup.Att = 85,000 ConnSetup.Succ = 82,300 L.RRC.Reject = 1,500 RRCSSR = 82,300 / (85,000 − 1,500) = 99.2% ✓ (Failures = 85,000 − 82,300 − 1,500 = 1,200 → 1.4% T300 + decode failures) Re-establishment Success Rate: RRC Reestab SR = L.RRC.ConnReestab.Succ / L.RRC.ConnReestab.Att × 100% Target: ≥85% (lower threshold — some re-estab failures are acceptable vs full RLF)
Fig 11.4 — RRCSSR decomposition tree. Three failure paths: (1) RACH succeeds but no RRC Setup Request received — Msg3 PUSCH decode failure or AC barring; (2) T300 expiry — gNB scheduler overload or DL coverage failure; (3) RRC Reject — intentional congestion control via AC barring (excluded from denominator in TS 28.554 formula). The worked example shows 99.2% RRCSSR with 1.4% genuine failures.

§11.7 Re-establishment Detail: T310, T311, and the 3-Way Counter Signature

When the physical layer detects persistent radio link failure (N311 consecutive "in-sync" not received within T310 after N310 "out-of-sync"), the UE initiates RRC Re-establishment (§5.3.7). The sequence of timers is critical to understand for counter analysis:

Fig 11.5 — RLF Detection to Re-establishment: T310, T311 Timer Sequence time → CONNECTED (normal) 1st OOS N310th OOS T310 running (UE checks for N311 IS) T310 expiry RLF Detected L.RLF.T310.Expiry ↑ T311 running (cell selection for reestab) Cell selected (same or new) Reestab Req L.RRC.ConnReestab.Att ↑ Reestab Complete L.RRC.ConnReestab.Succ ↑ RRC_CONNECTED ✓ Reestab Reject → RRC_IDLE L.RRC.ConnReestab.Fail ↑ — UE must restart from IDLE Timer Parameters (SIB1/RRCSetup) T310: ms0–ms6000 T311: ms1000–ms30000
Fig 11.5 — RLF detection and re-establishment sequence. N310 consecutive OOS indications start T310. If N311 consecutive IS indications are not received before T310 expiry, RLF is declared (L.RLF.T310.Expiry increments). T311 starts, and the UE searches for a cell to perform re-establishment. Successful re-establishment increments L.RRC.ConnReestab.Succ; rejection (no context found or security mismatch) forces the UE back to IDLE.

§11.8 RRC Accessibility Parameter Optimization

Table 11.6 — RRC Setup Parameter Optimization: Symptom → Diagnosis → Remedy
KPI SymptomCounter PatternRoot CauseParameter FixExpected Effect
RRCSSR < 99% — T300 failure dominant ConnSetup.Att ↑, ConnSetup.Succ flat, T300 expiry visible in UE traces gNB CCCH scheduler overload or poor DL coverage for Msg4/RRC Setup PDSCH Extend t300 from 400ms to 1000ms; verify RRC Setup PDSCH uses robust MCS More time for scheduler to deliver Msg4; RRCSSR improves
High L.RRC.Reject with good RRCSSR ConnSetup.Att ↑, Reject ↑, RRCSSR nominally fine AC barring active — load shedding policy triggered Review ac-BarringFactor, ac-BarringTime per establishmentCause; balance with load Reduce unnecessary rejection; connEstFailOffset may be driving UE away unnecessarily
Re-establishment rate rising with no RLF ConnReestab.Att.HoFailure ↑ Handover failures causing re-establishment (T304 expiry) Fix handover parameters (A3 offset, TTT, T304) — see Chapter 13-16 Reduce HO-triggered reestab; re-establishment rate normalizes
RRCSSR step-drop after software upgrade ConnSetup.Succ drops abruptly at upgrade time; ConnSetup.Att stable Software regression in RRC Setup message encoding or timing Roll back upgrade; isolate delta configuration; re-test RRC Setup latency Confirms causality; regression identified before wide rollout
Low RRCSSR at specific time of day ConnSetup.Att peaks at 08:00–09:00 and 17:00–18:00; Succ stays flat Scheduler resource contention during busy hours; T300 expiry spike Optimize PDCCH capacity, add PUSCH resource grants for CCCH, review admission threshold Time-of-day pattern resolves; RRCSSR flattens across day
Fig 11.6 — RRC Accessibility Counter Waterfall: From RA Attempt to RRC_CONNECTED 100% 95% 90% 85% L.RA.PreMsg1 100,000 100% L.RA.Msg2Rx 98,000 98% -2% RAR fail L.RA.Msg4Rx 97,000 97% -1% contention RRC.ConnSetup.Att 96,500 96.5% -0.5% Msg3 fail RRC.Reject 1,500 (excl.) 1.5% excluded RRC.ConnSetup.Succ 95,000 95% RRCSSR = 95,000 / (96,500 − 1,500) = 100% ??? Wait: 95,000 / 95,000 = 100% ← rejection excluded from denom
Fig 11.6 — RRC accessibility waterfall. Starting from 100,000 preamble attempts: 98% reach Msg2 (2% RAR failure), 97% reach Msg4 (1% contention loss), 96.5% generate an RRC Setup Request (0.5% Msg3 decode failure), 1.5% are rejected by AC barring (excluded from RRCSSR denominator), and 95% complete RRC Setup. RRCSSR = 95,000/(96,500−1,500) = 100% because all non-rejected attempts succeeded here. The 5% lost before RRC Setup Request is captured in RASR, not RRCSSR.

§11.9 RRC Reject and Access Class Barring

When a cell is overloaded, the gNB may respond to an RRC Setup Request with an RRC Reject message rather than allowing the UE to proceed. The RRC Reject carries a waitTime IE (1–16 seconds) during which the UE must not attempt another setup at this cell. This is the RAN-level access control mechanism.

Separately, Access Class (AC) Barring is broadcast in SIB1 and prevents UEs from even initiating a RACH for non-emergency causes. The parameters ac-BarringFactor (0–0.95 probability) and ac-BarringTime (4–512 seconds) define a per-cause barring gate.

Worked Example 11.1 — RRCSSR Diagnostic: Separating RACH from RRC Failures

Observed KPIs (30-minute GP):

  • L.RA.PreMsg1 = 240,000
  • L.RA.Msg4Rx = 228,000 → RASR = 228/240 = 95% (poor)
  • L.RRC.ConnSetup.Att = 226,000 (2,000 Msg3 failures after Msg4)
  • L.RRC.ConnSetup.Succ = 223,500
  • L.RRC.Reject = 500
  • RRCSSR = 223,500 / (226,000 − 500) = 99.8% (excellent)

Diagnosis: The RRCSSR is nearly perfect — once UEs reach the RRC Setup Request stage, the gNB handles them correctly. The problem is in the RACH layer: 5% failure before RRC even begins. This is a PRACH/coverage problem (see Ch9-10), NOT an RRC configuration problem. A common mistake is blaming RRC parameters when the root cause is preamble configuration — the RRCSSR would not reveal this without cross-referencing RASR.

Action: Focus on preambleReceivedTargetPower, ra-ResponseWindow, and cbPreamblesPerSSB tuning. The RRC parameters are correctly configured.

§11.10 Optimization: T300 and re-establishment Parameter Guidelines

Table 11.7 — T300 and Re-establishment Parameter Optimization Guidelines
ParameterDefaultRangeOptimization rule
t300ms400ms100–ms2000For high-load cells: ms1000–ms2000. For eMBB with fast schedulers: ms200–ms400. Never below ms100 (insufficient for high propagation delay cells)
connEstFailCountValn3n1, n2, n3, n4n3 is standard. Set n1 for aggressive cell steering (force UE to reselect faster). Set n4 if UE is persistently at cell edge with marginal PDSCH
connEstFailOffsetdB0dB0–dB154–8 dB typical — enough to steer UE to a neighbor without causing ping-pong. 0 dB effectively disables cell steering after setup failure
t310ms1000ms0–ms6000ms0 disables T310 (never do in deployed network). ms1000–ms2000 for stable macro. ms500 for small cells with fast reselection. Shorter T310 → faster RLF detection but more false triggers
n310n1n1–n20n1 for fast RLF detection. n20 for delay-tolerant IoT (avoid false RLF). n6–n10 for standard eMBB
t311ms3000ms1000–ms30000Must be long enough for UE to find and measure a new cell. For dense urban: ms1000–ms3000. For rural with sparse neighbors: ms10000–ms30000

§11.11 Summary

Chapter 11 Summary

  • RRC states: Three states — IDLE (no context), INACTIVE (context suspended, Rel-15), CONNECTED (active DRBs). IDLE→CONNECTED via RRC Setup (§5.3.3); CONNECTED→INACTIVE via RRC Suspend (§5.3.12); INACTIVE→CONNECTED via RRC Resume (§5.3.13).
  • RRC Setup Request (Msg3): Contains only ue-Identity (5G-S-TMSI Part1 or random 39 bits) and establishmentCause (mo-Data, mt-Access, emergency, etc.). Starts T300 at UE.
  • RRC Setup (Msg4): Three sections — radioBearerConfig (SRB1/2, DRBs), masterCellGroup (MCG config, MAC, HARQ), spCellConfig (PCell physical layer: BWP, CSI, PUCCH, PDSCH). Fully bootstraps the UE from scratch.
  • T300: Timer started at RRC Setup Request, stopped at RRC Setup receipt. On expiry: connEstFailCount increments; at connEstFailCountVal retries exhausted → UE falls back to IDLE with connEstFailOffset bias applied for connEstFailOffsetValidity seconds.
  • Re-establishment (§5.3.7): Triggered by T310 expiry (RLF), HO failure, or integrity failure. UE searches cell in T311 window, sends Re-establishment Request. Success → L.RRC.ConnReestab.Succ; failure → IDLE. Distinguished from Resume (§5.3.13) which starts from INACTIVE.
  • TS 28.552 counters: L.RRC.ConnSetup.Att (UL), .Succ (Complete), .Reject (AC barring), .ConnReestab.Att/.Succ/.Fail, .Resume.Att/.Succ. Breakdowns by establishmentCause and reestablishmentCause.
  • RRCSSR: = ConnSetup.Succ / (ConnSetup.Att − Reject) × 100%. Target ≥99.0%. Reject excluded from denominator as intentional. Failures: T300 expiry (DL coverage/scheduler) or no Msg3 decoded (UL coverage).
  • Diagnostic separation: RASR tracks RACH success; RRCSSR tracks RRC layer success. A low RASR with high RRCSSR points to PRACH/coverage, not RRC configuration.
Page 11
Chapter 12

Initial Access Failure RCA Tree

RACH Success Rate, RRC Setup Success Rate, and the systematic five-layer root-cause framework for diagnosing and resolving Initial Access degradation

3GPP TS 38.321 §5.1 · TS 38.331 §5.3 · TS 38.211 §6.3.3 · TS 28.552 · TS 28.554
📐 10 sections 🔢 8 equations 📋 8 tables 🧪 5 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Define RASR, RRCSSR, and IASR using the exact TS 28.552 and TS 28.554 counter formulas, and explain how their product governs end-to-end Initial Access performance
  2. Navigate the five-layer RCA framework — RF/Coverage, RACH Configuration, Contention, RRC, and Core/NAS — and identify which TS 28.552 counter signature uniquely fingerprints each layer
  3. Apply the RCA decision tree to an observed KPI degradation and arrive at the root cause within four decision nodes
  4. Calculate PRACH coverage range for each preamble format using the TS 38.211 §6.3.3 guard period formula and determine whether a cell size exceeds the format's range limit
  5. Model preamble collision probability as a function of load and RACH occasion density, and compute the minimum N_p required to meet a collision target
  6. Trace the full T300 expiry cascade — from PUSCH congestion through connEstFailCount to reselection bias — and identify the correct counter at each step
  7. Execute an end-to-end RCA case study using real counter GP data and produce a parameter change recommendation with expected KPI recovery

§12.1 The Initial Access KPI Hierarchy

Initial Access in 5G NR is a two-phase sequence: a Random Access phase governed by TS 38.321 §5.1 (producing RACH Success Rate, RASR) followed by an RRC Setup phase governed by TS 38.331 §5.3.3 (producing RRC Setup Success Rate, RRCSSR). A UE that fails at either phase cannot establish a data bearer, so both KPIs must be monitored in tandem. The headline network KPI is the Initial Access Success Rate (IASR), defined as their product:

IASR = RASR × RRCSSR

Because IASR is a product, a modest degradation in both KPIs compounds: RASR = 0.97 × RRCSSR = 0.97 yields IASR = 0.941 — a nearly 6% end-to-end failure rate even though neither individual KPI looks alarming. The counter definitions from TS 28.552 are:

RASR = L.RA.Msg4Rx / L.RA.PreMsg1
RRCSSR = L.RRC.ConnSetupSucc / L.RRC.ConnSetupAtt
IASR = RASR × RRCSSR

Example 12.1 — KPI Hierarchy Calculation

A cell in a 15-minute GP reports the following counter values:

  • L.RA.PreMsg1 = 4,820
  • L.RA.Msg4Rx = 4,612
  • L.RRC.ConnSetupAtt = 4,588
  • L.RRC.ConnSetupSucc = 4,501

RASR = 4,612 / 4,820 = 0.9569 (95.7%)

RRCSSR = 4,501 / 4,588 = 0.9810 (98.1%)

IASR = 0.9569 × 0.9810 = 0.9387 (93.9%)

The 6.1% IASR failure rate is double what RRCSSR alone suggests. The RASR shortfall (4.3%) flags a RACH-layer problem that must be resolved independently of the RRC layer.

Fig 12.1 — Initial Access KPI Hierarchy (TS 28.552 / TS 28.554) IASR — Initial Access Success Rate IASR = RASR × RRCSSR (TS 28.554 §6.1) RASR — RACH Success Rate L.RA.Msg4Rx / L.RA.PreMsg1 RRCSSR — RRC Setup Success Rate L.RRC.ConnSetupSucc / L.RRC.ConnSetupAtt L.RA.PreMsg1 L.RA.Msg2Rx L.RA.Msg4Rx L.RRC.ConnSetupAtt L.RRC.ConnSetupSucc L.RRC.ConnSetupFail.*
Fig 12.1 — The three-tier KPI hierarchy for Initial Access. IASR is the end-to-end headline KPI; RASR and RRCSSR are its two independent components. The bottom tier shows the TS 28.552 L.RA.* and L.RRC.* counter families that feed each KPI.

Note the subtle denominator asymmetry: L.RRC.ConnSetupAtt counts RRCSetupRequest messages received at the gNB — which is approximately equal to L.RA.Msg4Rx, but not identical. A UE may successfully complete Msg4 (counted in L.RA.Msg4Rx) but fail to generate an RRCSetupRequest if Msg4 is decoded in error (rare) or if the contention-resolution RNTI check fails at the UE side. In practice the two counters differ by less than 0.5%, but the distinction matters for precision RCA.

§12.2 The Five-Layer RCA Framework

Initial Access failures originate from five distinct protocol layers. Each layer leaves a unique counter signature — a pattern of relative counter magnitudes that is diagnostic of that specific root cause. The five layers, in protocol order, are:

Table 12.1 — Five-Layer RCA Framework: Layers, Failure Modes, and Counter Signatures
Layer Failure Mode Diagnostic Counter Ratio Threshold (typical) Primary Spec
L1: RF/Coverage Preamble not detected at gNB — Msg2 never sent L.RA.Msg2Rx / L.RA.PreMsg1 < 0.95 → alarm TS 38.211 §6.3.3, TS 38.213 §8.1
L2: RACH Config Wrong prach-ConfigurationIndex for cell size; NCS too small; SSB-RACH association mismatch L.RA.Msg2Rx / L.RA.PreMsg1 low, but only on specific SSBs SSB-specific ratio < 0.90 TS 38.321 §5.1.2, TS 38.331 §6.3.3
L3: Contention Multiple UEs pick same preamble; Msg4 contention resolution fails L.RA.Msg4RxConFail / L.RA.Msg4Rx > 0.05 → investigate TS 38.321 §5.1.5
L4: RRC T300 expiry; RRCSetupComplete lost; gNB capacity reject L.RRC.ConnSetupFail.T300 / L.RRC.ConnSetupAtt > 0.005 → investigate TS 38.331 §5.3.3, §10.2
L5: Core/NAS Initial Context Setup failure; AMF reject; Authentication failure NGAP: Initial Context Setup Failure / Request > 0.01 → alarm TS 38.413 §8.7.1, TS 28.552

The diagnostic approach is sequential: start at Layer 1 and proceed to higher layers only once the lower layer has been cleared. A single-layer failure is the common case; multi-layer failures indicate systemic degradation (e.g., a scheduled-maintenance power reduction that simultaneously degrades coverage AND increases PUSCH BER, causing both RASR and RRCSSR to fall).

"The UE shall, after successful reception of an RRCSetup message, perform the RRC connection establishment procedure as specified. If T300 expires before the RRC connection establishment procedure is completed, the UE shall re-initiate the RRC connection establishment procedure." — TS 38.331 §5.3.3.2

§12.3 The RCA Decision Tree

The decision tree formalises the five-layer framework into an executable troubleshooting flowchart. Each decision node tests a single counter ratio against a threshold. Terminal nodes (leaves) specify the parameter action. The tree is designed so that no root cause requires more than four decision steps from the entry point.

Fig 12.2 — Initial Access RCA Decision Tree (TS 38.321 §5.1 / TS 38.331 §5.3 / TS 28.552) Initial Access Degraded? YES RASR < 98%? L.RA.Msg4Rx / L.RA.PreMsg1 YES NO Msg2Rx/PreMsg1 < 0.95? YES PRACH Coverage Hole Check: RSRPavg, format, rootSequenceIndex, Tx power NO ConFail/Msg4Rx > 0.05? YES Contention: Collision Load ↑ numRachOccasions, ↑ cbPreamblesPerSSB NO Msg2RxNoMatch/Msg2Rx > 0.02? → RA-RNTI drift Timing Drift / Sync Tighten timeAlignmentTimer RRCSSR < 99%? ConnSetupSucc / Att YES ConnSetupFail.T300 elevated? YES T300 Expiry / UL Congestion Check PUSCH load, T300 value, Msg3 HARQ config NO Capacity Reject / AC Barring Check: ConnReject/Att, connEstFail, slice admission IASR within target — No action Continue monitoring trend ConnSetupAtt >> Msg4Rx? Msg3/4 PDCCH Ambiguity Check ARFCN offset, PDCCH aggregation level for Msg4
Fig 12.2 — The Initial Access RCA decision tree. Enter at the top; exit at a colour-coded leaf node: red = failure action required, green = within target. Each decision node references a specific TS 28.552 counter ratio with its empirical threshold.

§12.4 Coverage-Driven Failures

Coverage-driven RACH failure is identified by a low L.RA.Msg2Rx/L.RA.PreMsg1 ratio: the UE transmits a preamble (incrementing L.RA.PreMsg1) but the gNB either does not detect it or detects it below the RA-RNTI correlation threshold, so no RAR is transmitted and L.RA.Msg2Rx is not incremented. After PREAMBLE_TRANS_MAX attempts with full power ramping, the UE declares an RA failure.

12.4.1 PRACH Format Range Limits

The maximum supportable cell range for each PRACH format is determined by the preamble sequence length and guard period, as specified in TS 38.211 Table 6.3.3.1-1. The guard period (NGP) must exceed the round-trip propagation delay plus the gNB processing uncertainty:

Rmax = (NGP × Ts × c) / 2

where NGP = guard period in samples, Ts = sample period = 1/(Δfprach × 2048), c = 3×108 m/s
"PRACH preamble formats are defined by the sequence length, the number of OFDM symbols, the subcarrier spacing, and the cyclic prefix length. The guard period determines the maximum supported cell radius." — TS 38.211 §6.3.3
Table 12.2 — PRACH Format Range Limits (TS 38.211 Table 6.3.3.1-1, FR1)
Format SCS (kHz) Seq. Length Nu CP Length NCP (ms) Guard NGP (ms) Rmax (km) Typical Use Case
01.25245760.1032.97614.5Urban/Suburban macro
11.2524576 (×2)0.68421.035102.7Rural very large cell
21.2524576 (×4)0.6844.47622.0Suburban extended
31.2524576 (×4)0.10323.065100.3Rural large cell
A11520480.0090.1440.4Indoor, small cell
A21540960.0170.4321.3Microcell
A31561440.0260.7202.2Pico, dense urban
B415122880.0521.7285.3Urban macro NR
C01520480.0090.4321.3Microcell, eMBB
C21540960.0171.0083.1Urban NR macro

12.4.2 Target RSRP Calculation for Preamble Detection

The gNB can detect a preamble when the received power exceeds the noise floor plus a detection threshold. From TS 38.213 §8.1, the UE uses the following formula to compute its preamble transmission power:

PPRACH = min(PCMAX, preambleReceivedTargetPower + PL + (PREAMBLE_POWER_RAMPING_STEP × Nattempt))

where PL = referenceSignalPower − higher_layer_filtered_RSRP (downlink path loss estimate in dB)

For the gNB to receive the preamble, the reverse path loss (UL) must leave sufficient received power. The minimum RSRPavg at the UE for which preamble reception is expected is therefore:

RSRPtarget = preambleReceivedTargetPower − (PCMAX − min_preamble_power) − UL_DL_path_loss_asymmetry

Example 12.2 — Coverage Range Check for Format 0 vs Format 2

A rural macro cell has an ISD (Inter-Site Distance) of 22 km (cell radius ≈ 12.7 km). The configured PRACH format is Format 0.

  • Format 0 Rmax = 14.5 km → Rmax > 12.7 km → OK at boresight
  • However, at 15° off-boresight the effective path loss increases by 3 dB. Cell edge UEs at that angle experience higher path loss, equivalent to an effective cell radius of 14.3 km → still within margin, but only 0.2 km guard
  • During a traffic spike at 200 simultaneous PRACH attempts, power ramp step = 2 dB, max attempts = 10 → UE reaches PCMAX = 23 dBm. If preambleReceivedTargetPower = −104 dBm and path loss at edge = 142 dB, received power = 23 − 142 = −119 dBm < −104 dBm: preamble not detected
  • Fix: Switch to Format 2 (Rmax = 22 km) OR increase preambleReceivedTargetPower from −104 to −110 dBm to reduce required UE TX power

Counter signature: L.RA.PreMsg1 high, L.RA.Msg2Rx/PreMsg1 = 0.82 (below 0.95 threshold) → confirm coverage failure layer

Fig 12.3 — Coverage Failure Anatomy: Three PRACH Outcome Scenarios Scenario A: Normal (Good Coverage) UE gNB Msg1: Preamble Msg2: RAR (TA+Grant) Msg3: RRCSetupReq Msg4: ContRes + RRCSetup PreMsg1↑ Msg2Rx↑ Msg4Rx↑ Msg2Rx/PreMsg1 ≈ 0.99 ✓ Scenario B: Coverage Hole UE gNB Msg1 Att#1 (P₀) Msg1 Att#2 (P₀+2dB) Msg1 Att#3 (P₀+4dB) No Msg2 — RA failure PreMsg1↑↑ Msg2Rx ≈ 0 Msg2Rx/PreMsg1 = 0.12 ✗ → Coverage action Scenario C: Format Range Exceeded UE gNB Preamble arrives AFTER GP (cell radius > R_max) Msg2 sent with wrong TA offset UE discards RAR (TA out of range) L.RA.Msg2RxNoMatch increments Msg2Rx↑ Msg2RxNoMatch↑ NoMatch/Msg2Rx > 0.02 → Format upgrade
Fig 12.3 — Three coverage-related PRACH failure scenarios. Scenario A (green): healthy cell, all four messages complete. Scenario B (red): coverage hole, preamble not detected, Msg2Rx collapses. Scenario C (orange): cell exceeds format's range, preamble arrives after guard period, TA in RAR is invalid and UE discards it, incrementing L.RA.Msg2RxNoMatch.

§12.5 Contention-Driven Failures

When two or more UEs select the same preamble in the same PRACH occasion, both Msg1 transmissions are received by the gNB as a superposition, making preamble decoding ambiguous. The gNB may send one RAR (for the winning preamble correlation), and both UEs respond with Msg3. The Msg4 contention resolution message carries the UE-A MAC address; UE-B, not seeing its own address, declares the RA attempt failed and backs off.

12.5.1 Collision Probability Model

P(collision) = 1 − (1 − 1/Np)k−1

where Np = total preambles available = cbPreamblesPerSSB × numSSBsPerRACH, k = number of simultaneously contending UEs

For small k and large Np, this approximates to P(collision) ≈ (k−1)/Np. The design target is typically P(collision) ≤ 1% per attempt.

Example 12.3 — Preamble Pool Sizing for 1% Collision Target

Given: Peak load = 200 UEs/s attempting RACH. 4 SSBs active (L = 4). PRACH occasion density = 2 occasions per 10 ms subframe. Target P(collision) ≤ 1%.

  1. RACH occasion rate = 2 × 100 = 200 occasions/s
  2. UEs per occasion = 200 / 200 = k = 1.0 (average). At P95 of Poisson(1): k ≈ 3 UEs.
  3. Using k = 3: P(collision) ≤ 0.01 → (1 − 1/Np)² ≥ 0.99 → Np ≥ 200
  4. With 4 SSBs: cbPreamblesPerSSB = Np / numSSBsPerRACH
  5. If numSSBsPerRACH = 4: cbPreamblesPerSSB = 200 / 4 = 50 (TS 38.321 allows 4–64)

Configured value: cbPreamblesPerSSB = 52 (next higher supported value). This gives Np = 208, P(collision|k=3) = 1 − (207/208)² = 0.96%. Target met.

Counter validation: L.RA.Msg4RxConFail / L.RA.Msg4Rx should be ≤ 0.0096 after the change.

Fig 12.4 — Contention Resolution: 3-UE RACH Collision and Single-Winner Resolution (TS 38.321 §5.1.5) UE-A UE-B UE-C gNB — Contention Resolution State Machine (TS 38.321 §5.1.5) All 3 UEs select preamble #47 (same PRACH occasion) Msg1 (×3 superimposed) Msg2: RAR (TC-RNTI + TA + UL grant) → all 3 UEs receive Msg3: RRCSetupReq (CCCH + MAC CE with UE ID) — collision at gNB PUSCH Decodes UE-A MAC-ID (only one wins CRC) Msg4: ContRes IE carries UE-A MAC-ID WIN ✓ Proceed to RRC FAIL ✗ L.RA.Msg4RxConFail++ FAIL ✗ L.RA.Msg4RxConFail++ UE-B, UE-C: apply backoff (ra-ContentionResolutionTimer) → retry with new random preamble
Fig 12.4 — Three UEs select the same preamble in one PRACH occasion. Only one UE's Msg3 survives the PUSCH collision and is addressed in Msg4. The other two UEs increment L.RA.Msg4RxConFail and apply the contention backoff before retrying. The contention failure rate L.RA.Msg4RxConFail/L.RA.Msg4Rx is the key diagnostic ratio.

§12.6 Timing and Synchronisation Failures

A UE in motion or at a large cell's edge may have a timing advance (TA) that shifts during the RACH procedure. If the TA uncertainty exceeds the PRACH guard period, the preamble either arrives outside the expected window (not detected) or arrives inside the window but with a TA that the gNB computes as out-of-range. The latter case increments L.RA.Msg2RxNoMatch — the gNB sends a RAR, but the UE's RA-RNTI check fails because the TA value in the RAR does not correspond to the UE's actual position.

δTA = 2 × (Rcell + δR) / c

where δR = UE positioning uncertainty (m), c = 3×108 m/s

For a 10 km cell with 500 m positioning uncertainty: δTA = 2 × 10500 / 3×108 = 70 µs

The diagnostic counter is L.RA.Msg2RxNoMatch: the gNB transmitted a RAR (incrementing L.RA.Msg2Rx) but the UE discarded it because the RA-RNTI did not match its expected value. A ratio L.RA.Msg2RxNoMatch / L.RA.Msg2Rx > 0.02 indicates timing drift or PRACH occasion configuration errors.

Table 12.3 — Timing Failure Indicators and Fixes
SymptomCounter EvidenceRoot CauseParameter Fix
High Msg2RxNoMatch rate L.RA.Msg2RxNoMatch / L.RA.Msg2Rx > 0.02 TA uncertainty exceeds RAR TA window; clock drift Reduce timeAlignmentTimer; verify gNB GPS sync; dedicate RACH occasions for high-mobility UEs
Preamble detected but RAR discarded Msg2Rx counts but Msg3 absent TC-RNTI collision or wrong PRACH numerology-to-SCS mapping Verify prach-ConfigurationIndex mapping to SCS; ensure unique TC-RNTI pool
High-speed UE failures only Msg4RxConFail high at specific times (rush hour, highway cells) Doppler shift degrades preamble correlation; timing offset grows between Msg1 and Msg3 Configure high-speed PRACH format (B4 or C2); enable dedicated RA for handover (cfra)
Intermittent Msg2Rx drop at night Periodic dip in Msg2Rx/PreMsg1 correlated with temperature Crystal oscillator drift in extreme temperature (outdoor sites) Enable GNSS-based frequency correction; verify temperature compensation profile

§12.7 RRC-Layer Failures

12.7.1 T300 Expiry Cascade

After a UE successfully completes Msg4 contention resolution, it transitions to the RRC layer and sends an RRCSetupRequest (Msg3 payload) or an RRCReestablishmentRequest. The gNB responds with RRCSetup. The UE starts T300 immediately upon transmitting RRCSetupRequest. If T300 expires before the UE receives a valid RRCSetup, the failure cascade is defined in TS 38.331 §5.3.3.6:

"Upon T300 expiry, the UE shall: increment the counter V300; if V300 is less than or equal to N300: select a suitable cell and, if found, initiate the random access procedure on the selected cell; else: perform actions upon leaving RRC_CONNECTED as specified in 5.3.11." — TS 38.331 §5.3.3.6

The T300 expiry cascade has four amplification stages before it affects IASR permanently:

Stage 1: PUSCH congestion → L.Thr.Vol.DL↑ (DL congestion proxy) + UL SINR↓ → Msg3 HARQ failure rate↑
Stage 2: Msg3 retransmissions exhaust → T300 expires → L.RRC.ConnSetupFail.T300++
Stage 3: After N300 failures → connEstFailCount++ stored in UE → triggers connEstFailOffset
Stage 4: UE applies reselection offset → biases to neighbour → L.RRC.ConnReject or neighbour IASR impact

12.7.2 RRCSSR Decomposition

RRCSSR = L.RRC.ConnSetupSucc / (L.RRC.ConnSetupAtt − L.RRC.ConnReject)

Note: L.RRC.ConnReject counts gNB-initiated overload rejections and should be excluded from the denominator for pure setup-failure analysis
Table 12.4 — RRC Failure Mode Decomposition (TS 28.552 L.RRC.* Counters)
Failure Counter Failure Mode Primary Cause Correlation Indicator
L.RRC.ConnSetupFail.T300 T300 timer expiry before RRCSetup Rx PUSCH congestion, low UL SINR, Msg3 HARQ exhaustion Correlates with L.Thr.Vol.DL (not RSRP)
L.RRC.ConnSetupFail.Other gNB internal reject (capacity, license, slice) Admission control, resource exhaustion, software defect Correlates with PRB utilisation, alarm logs
L.RRC.ConnReject Explicit RRCReject sent by gNB AC (Access Class) barring, overload control, RACH back-pressure Correlates with L.RA.PreMsg1 spike; check overload algorithm config
L.RRC.ConnSetupFail.RadioLink RLF before RRCSetupComplete Rx Sudden coverage loss, high interference, UE moved cell boundary Correlates with L.RLF.Tot; check beam-failure recovery config
L.RRC.ReestabAtt − L.RRC.ReestabSucc Re-establishment failure UE migrated to cell with no context; context cache miss at gNB Check Xn interface latency and context forwarding timeout
Fig 12.5 — T300 Expiry Cascade: From PUSCH Congestion to Reselection Bias (TS 38.331 §5.3.3.6) Stage 1 PUSCH Congestion UL PRB util > 85% L.Thr.Vol.DL spikes Msg3 UL SINR drops HARQ retx max reached gNB cannot decode RRCSetupRequest Counter: L.Thr.Vol.DL ↑↑ Stage 2 T300 Expires UE starts T300 on RRCSetupRequest Tx No RRCSetup received before T300 timeout V300 incremented RA re-initiated Counter: L.RRC.ConnSetupFail.T300 ↑ Stage 3 connEstFail Backoff After N300 T300 expiries: UE stores connEstFailCount connEstFailOffset applied (reduces SIB2 q-RxLevMin) Cell becomes less attractive for reselection TS 38.331 §5.3.3.6 connEstFailCount stored UE Stage 4 Reselection Bias UE biased toward neighbour cells Traffic shifts to neighbour → congestion migrates Neighbour IASR degrades → cluster-wide issue KPI Impact: Neighbour IASR ↓, HO rate ↓ Fix Actions 1. Increase T300 (ms288→ms2000) 2. Reduce UL scheduler congestion 3. Increase PUSCH power offset 4. Reduce N300 + increase backoff 5. Check Xn/backhaul latency Expected: L.RRC.ConnSetupFail .T300 drops ≥80% in 24hr
Fig 12.5 — T300 expiry cascade across four amplification stages. The root cause (PUSCH congestion at Stage 1) is only visible through L.Thr.Vol.DL, not through coverage KPIs — a common diagnostic mistake. Corrective action at Stage 1 prevents all downstream effects.

§12.8 The Optimisation Action Matrix

Table 12.5 — Initial Access Optimisation Action Matrix: Symptom → Root Cause → Counter Evidence → Parameter Fix → Expected KPI Impact
Symptom Root Cause Counter Evidence Parameter Fix Expected KPI Impact
RASR < 90% PRACH coverage hole: R_cell > R_max for configured format L.RA.Msg2Rx / PreMsg1 < 0.90; no correlation with congestion counters Upgrade format (e.g. Format 0 → Format 2 or 3); increase preambleReceivedTargetPower by 4–6 dB Msg2Rx/PreMsg1 recovers to >0.97; RASR +8–15 pp within 1 GP
RASR 90–96% with congestion Preamble contention collision: N_p too small for peak load L.RA.Msg4RxConFail / Msg4Rx > 0.05; peaks at busy hour Increase cbPreamblesPerSSB; add PRACH occasions (prach-FDM or denser periodicity) ConFail rate drops to <1%; RASR recovers to >98%
Intermittent RASR dips, no coverage change RA-RNTI mismatch / timing drift (high-speed UEs) L.RA.Msg2RxNoMatch / Msg2Rx > 0.03 Enable high-mobility preamble format (B4/C2); configure dedicated CFRA for handover-triggered RACH NoMatch/Msg2Rx < 0.01; RASR stabilises
RRCSSR < 97% with RASR normal T300 expiry: PUSCH congestion or backhaul latency L.RRC.ConnSetupFail.T300 elevated; correlates with L.Thr.Vol.DL peaks Increase T300 from ms400 to ms1000; increase PUSCH power target by 2 dB; check Xn latency T300 fail counter drops >70%; RRCSSR recovers to >99%
RRCSSR gradual degradation over days Capacity-driven admission reject (cell loading trend) L.RRC.ConnSetupFail.Other rising; PRB utilisation >80% Capacity expansion (carrier aggregation, new sector); optimise load-balancing X2/Xn handover thresholds Admission reject rate normalises once load redistributed
High L.RRC.ConnReject spikes at peak hours Access Class (AC) barring too aggressive or overload algorithm triggered prematurely ConnReject/ConnSetupAtt > 0.02; correlated with L.RA.PreMsg1 burst Tune overload algorithm threshold; relax AC barring factor/time; prioritise emergency + high-priority PLMN ConnReject/Att < 0.005; IASR recovers
ConnSetupAtt >> L.RA.Msg4Rx Msg3/Msg4 PDCCH aggregation level mismatch Difference > 2%; isolated to cells with high interference Increase Msg4 PDCCH aggregation level; verify DMRS pattern for Msg4 CORESET Alignment of ConnSetupAtt to Msg4Rx within 0.5%
IASR<95% cluster-wide, no single cell dominant Core/NAS: Initial Context Setup failures at AMF or transport congestion NGAP Initial Context Setup Failure / Request > 1%; correlates across all cells on same AMF Investigate N2 interface capacity; check AMF congestion indicators; verify SCTP association stability IASR recovers once N2 congestion resolved; track per-AMF

§12.9 Impact Visualisation: Optimisation Matrix Heatmap

Fig 12.6 — Initial Access Optimisation Impact Heatmap Rows: Failure Type · Columns: KPI Dimension · Colour: Impact Severity (dark = high impact) RASR Impact RRCSSR Impact IASR Impact Time-to-Fix Coverage / Format Mismatch CRITICAL −15 pp LOW −0.5 pp HIGH −14 pp 1 GP (15 min) Contention / Collision HIGH −8 pp LOW −0.3 pp HIGH −8 pp 1–2 GPs Timing / RA-RNTI Mismatch MEDIUM −3 pp NEGLIGIBLE MEDIUM −3 pp Hours (sync fix) T300 Expiry / UL Congestion NEGLIGIBLE CRITICAL −5 pp HIGH −5 pp Minutes (param change) Capacity Reject / AC Barring NEGLIGIBLE HIGH −4 pp HIGH −4 pp 1–24 hours Core/NGAP Context Failure NEGLIGIBLE HIGH −6 pp HIGH −6 pp Hours–Days
Fig 12.6 — Impact heatmap for each failure type across RASR, RRCSSR, and IASR. Coverage failures dominate RASR. T300/RRC failures dominate RRCSSR. Core/NGAP failures affect IASR uniformly across a cluster. Colour intensity indicates impact severity: dark red = critical, light pink = negligible.

§12.10 End-to-End RCA Case Study: IASR Degradation from 98% to 91%

"The preamble format and its associated parameters (subcarrier spacing, sequence length, CP, guard period) shall be configured such that the guard period is larger than the maximum round-trip propagation delay expected within the served cell." — TS 38.211 §6.3.3, NOTE 1

12.10.1 Case Background

A rural macro NR cell (NR-ARFCN 520920, band n3, 20 MHz FDD) serving a 23 km radius valley deployment begins showing IASR degradation over a 4-hour window starting at 06:00. The NOC receives an automated IASR alert at 07:45 when the 4-GP rolling average drops below 93%. A senior RF engineer begins an RCA session using the previous 6 hours of GP counter data.

12.10.2 Counter Data (4-Hour Degraded Period)

Table 12.6 — Counter GP Data: Baseline vs Degraded Period (15-min GPs)
CounterBaseline (00:00–04:00)Degraded (06:00–10:00)Δ
L.RA.PreMsg13,240 (avg/GP)3,810 (avg/GP)+17.6%
L.RA.Msg2Rx3,2182,704−16.0%
L.RA.Msg2Rx / PreMsg10.9930.710−28.3 pp
L.RA.Msg4Rx3,2012,691−15.9%
L.RA.Msg4RxConFail3238+18.8%
L.RA.Msg2RxNoMatch1218+50% (but absolute low)
RASR = Msg4Rx / PreMsg10.9880.707−28.1 pp
L.RRC.ConnSetupAtt3,1962,688−15.9%
L.RRC.ConnSetupSucc3,1542,661−15.7%
RRCSSR0.9870.990+0.3 pp (stable)
IASR = RASR × RRCSSR0.9750.700−27.5 pp
L.RRC.ConnSetupFail.T3001411−21% (decreasing)

12.10.3 RCA Walk-Through

Example 12.4 — Step-by-Step RCA Using the Decision Tree

Step 1 — Entry node: IASR dropped from 97.5% to 70.0%. Initial Access degraded → YES → proceed.

Step 2 — RASR check: RASR = 0.707 < 0.98 → YES → proceed to RASR failure branch.

Step 3 — Msg2Rx/PreMsg1: Ratio = 0.710 < 0.95 → YES → flag: PRACH Coverage failure.

Step 4 — Contention check (eliminate): L.RA.Msg4RxConFail/Msg4Rx = 38/2691 = 1.4% < 5% threshold → contention not the driver.

Step 5 — Timing check (eliminate): L.RA.Msg2RxNoMatch/Msg2Rx = 18/2704 = 0.67% < 2% threshold → timing drift not the driver.

Step 6 — Layer 4 (RRC) check: RRCSSR = 99.0% (stable, even slightly improved). T300 fail counter decreasing. RRC layer clear.

Conclusion: Root cause is Layer 1 (Coverage). The gNB is not receiving preambles from a significant fraction of UEs.

Step 7 — Format range check: Cell radius = 23 km. Configured format = Format 0 (R_max = 14.5 km). Cell radius EXCEEDS format range by 8.5 km. UEs beyond 14.5 km have preambles arriving after the guard period.

Step 8 — Onset explanation: The degradation starts at 06:00 and peaks at 08:00. This is consistent with morning commuter traffic: UEs located at 15–23 km (farm workers, highway vehicles) attempt RACH at the same time. During night hours (00:00–04:00) there are very few UEs at cell edge → Format 0 appeared adequate.

Step 9 — Configuration audit: PRACH format confirmed as Format 0 (prach-ConfigurationIndex = 0 in SIB1 rach-ConfigCommon). This is the misconfiguration.

Correct format: Format 3 (R_max = 100.3 km) or Format 1 (R_max = 102.7 km) should be used for a 23 km cell. Format 3 uses the same LRA as Format 0 but with a longer CP, consuming 4 subframes — a reasonable trade-off for a rural low-traffic cell.

12.10.4 Fix and KPI Recovery

Example 12.5 — Parameter Change and KPI Recovery Projection

Change applied (11:00 via maintenance window):

  • prach-ConfigurationIndex: 0 → 3 (Format 0 → Format 3, same 1.25 kHz SCS, longer CP + guard)
  • rootSequenceIndex: verified — ZC sequence length matches Format 3 parameters
  • ra-ResponseWindow: ms20 → ms40 (accommodate the longer round-trip at 23 km: δ_TA = 2×23000/3×10⁸ = 153 µs; Msg2 must arrive within RAR window after preamble)

Expected recovery:

  • L.RA.Msg2Rx / PreMsg1 recovers to 0.985 within the first post-change GP (15 min): UEs beyond 14.5 km can now have their preambles detected with Format 3's 100 km guard period
  • RASR recovers from 0.707 to ~0.980 (Δ +27 pp)
  • IASR recovers from 0.700 to ~0.970 (Δ +27 pp)
  • L.RA.PreMsg1 decreases slightly (fewer retransmissions): expected drop from 3,810 to ~3,320/GP

Validation: Monitor L.RA.Msg2Rx/PreMsg1 for 4 consecutive GPs post-change. If ratio remains ≥ 0.97, the fix is confirmed. Run correlation check: RRCSSR should remain stable (≥98.5%), confirming the change introduced no UL congestion from Format 3's longer duration.

§12.11 Summary and 10-Point Optimisation Checklist

"The random access procedure is initiated by the MAC sublayer based on requests from upper layers or from the MAC sublayer itself. … The RA procedure is considered to have failed if the number of preamble transmissions has reached preambleTransMax." — TS 38.321 §5.1.1
Table 12.7 — T300 Optimisation Guidelines (TS 38.331 §10.2 Timer Reference)
ParameterTS 38.331 Ref.Recommended UrbanRecommended RuralEffect of Increase
T300§10.2ms400–ms600ms800–ms2000Fewer T300 expiries; risk: longer hang time for unrecoverable failures
N300§10.2n1–n2n2–n4More retries before connEstFail; risk: prolonged access time under congestion
connEstFailOffsetValidity§5.3.3.6s30s30–s120Longer validity prevents repeated failed-cell selection; risk: slower cell recovery detection
ra-ResponseWindowTS 38.321 §5.1.4sl8–sl20sl20–sl40More time for RAR; needed for large cells; risk: slower PRACH procedure
Table 12.8 — Chapter 12 Quick Reference: Counter Names and Their Precise TS 28.552 Roles
CounterIncremented WhenUsed In
L.RA.PreMsg1UE sends PRACH preamble (each attempt)RASR denominator; coverage baseline
L.RA.Msg2RxgNB transmits RAR (Msg2) in response to detected preambleCoverage ratio numerator
L.RA.Msg2RxNoMatchUE receives RAR but RA-RNTI or TA check failsTiming drift detection
L.RA.Msg4RxUE receives Msg4 contention resolutionRASR numerator
L.RA.Msg4RxConFailUE receives Msg4 but own MAC-ID not present (contention lost)Collision rate
L.RRC.ConnSetupAttgNB receives RRCSetupRequest from UERRCSSR denominator
L.RRC.ConnSetupSuccgNB receives RRCSetupComplete from UERRCSSR numerator
L.RRC.ConnSetupFail.T300T300 expires at UE (reported via failure indication or inferred)RRC congestion diagnosis
L.RRC.ConnRejectgNB sends RRCReject to UEAC barring/overload diagnosis
L.RRC.ReestabAttUE sends RRCReestablishmentRequestRLF / HO failure rate

10-Point Initial Access Optimisation Checklist

  1. Verify PRACH format vs cell radius: R_cell must be ≤ R_max for the configured format (TS 38.211 Table 6.3.3.1-1). This is the most common misconfiguration in rural NR deployments.
  2. Compute preamble pool size: N_p = cbPreamblesPerSSB × numSSBsPerRACH must satisfy P(collision|k_P95) ≤ 1% (§12.5 formula). Verify at busy-hour load.
  3. Check L.RA.Msg2Rx/PreMsg1 ≥ 0.95: Values below this in the absence of contention indicate RF coverage failure at PRACH frequency. Investigate path loss, preambleReceivedTargetPower, and antenna bearing.
  4. Check L.RA.Msg4RxConFail/Msg4Rx ≤ 0.02: Values above 5% indicate preamble pool exhaustion. Expand RACH occasions or cbPreamblesPerSSB before next busy hour.
  5. Monitor T300 failures separately from coverage: L.RRC.ConnSetupFail.T300 correlates with UL congestion (L.Thr.Vol.DL), NOT with RSRP. Do not increase T300 without addressing the UL congestion root cause first.
  6. Validate SSB-to-RACH-occasion mapping: Per TS 38.331 §6.3.3 ssb-perRACH-OccasionAndCBPreamblesPerSSB, each active SSB must map to at least one RACH occasion. SSBs without RACH occasions will show zero Msg2Rx in that beam direction.
  7. Verify ra-ResponseWindow for large cells: The RAR window must exceed the round-trip propagation time to cell edge plus gNB scheduling delay (typically 2 ms for 23 km cell). Use ra-ResponseWindow ≥ sl20 for cells > 15 km.
  8. Check L.RRC.ConnReject/ConnSetupAtt ≤ 0.005: Higher values indicate overload algorithm firing prematurely or AC barring misconfiguration. Review overload thresholds against actual PRB utilisation.
  9. IASR = RASR × RRCSSR — treat as product: A 3 pp degradation in both components yields a 5.9 pp IASR shortfall. Always compute IASR from the product; do not use either component alone as the headline KPI.
  10. Confirm Layer 5 (Core/NGAP) when cluster-wide: If IASR degrades across all cells on a gNB or across a pool sharing an AMF, check NGAP Initial Context Setup Failure/Request and SCTP association stability before doing any radio parameter changes.

Cross-Reference to Other Chapters

Table 12.9 — Chapter 12 Cross-References
TopicReference ChapterKey Section
4-step RACH procedure and counter taxonomyChapter 9§9.3 Msg1–Msg4 state machine; Table 9.2 counter mapping
PRACH configuration parameters (prach-ConfigurationIndex, NCS, rootSequenceIndex)Chapter 10§10.2 PRACH occasion mapping; §10.4 NCS and ZC sequence design
RRC Setup procedure detail (T300 mechanism, IE content)Chapter 11§11.4 T300 timer; §11.6 connEstFail parameters; Table 11.4
RSRP/RSRQ measurement for coverage assessmentChapter 5§5.2 measurement definitions; §5.5 coverage threshold planning
SSB beam sweeping and SSB-to-RACH-occasion mappingChapter 6§6.4 SSB index; §6.5 beam-specific RACH configuration

Chapter Summary

Chapter 12 completes Part III by providing an executable root-cause analysis framework for Initial Access degradation. The central insight is that IASR = RASR × RRCSSR is a product — both components must be monitored simultaneously and neither can be inferred from the other. The five-layer RCA framework (RF/Coverage → RACH Config → Contention → RRC → Core/NAS) provides a deterministic path from any observed KPI degradation to a specific parameter action, with each decision node grounded in a TS 28.552 counter ratio and its empirical threshold. The end-to-end case study demonstrates how a single misconfiguration (PRACH Format 0 in a 23 km cell) can reduce IASR by 28 percentage points while leaving RRCSSR completely unaffected — highlighting the diagnostic power of isolating RASR before investigating RRC-layer metrics. With the tools developed across Chapters 9–12, the engineer can resolve any Initial Access failure pattern systematically, traceable to the exact TS 38.321, TS 38.331, and TS 28.552 clause that governs the affected mechanism.

Page 12
Chapter 13

Measurement Events A1–A6 / B1–B2

The complete 3GPP trigger framework for intra-frequency, inter-frequency, and inter-RAT handover: exact entering/leaving inequalities, time-to-trigger mechanics, parameter optimization, and TS 28.552 counter-based HOSR analysis

3GPP TS 38.331 §5.5 · TS 38.215 · TS 38.213 · TS 28.552 · TS 28.554
📐 12 sections 🔢 24 equations 📋 8 tables 🧪 6 worked examples 📜 5 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. State the exact entering and leaving condition inequalities for all eight measurement events (A1–A6, B1, B2) from TS 38.331 §5.5.4.4 through §5.5.4.10, including all offset and hysteresis terms
  2. Explain the unified trigger model — measurement quantity, hysteresis band, time-to-trigger window — and calculate whether a trigger fires given RSRP/RSRQ/SINR time series data
  3. Design a co-configured A1/A2 pair with correct threshold separation to prevent oscillation, and compute the minimum A1–A2 gap for a given hysteresis value
  4. Apply the A3 offset equation to compute the exact RSRP crossing point at which HO triggers, accounting for frequency offset (Ofn/Ofs) and cell individual offset (Ocn/Ocs)
  5. Identify the A5 dual-condition AND/OR gate and explain why it prevents unnecessary HO when the serving cell is still above the coverage floor
  6. Distinguish A4 from A3 and articulate why A4 is preferred for capacity-driven inter-frequency offload scenarios
  7. Describe the A1/A2/A3 gap-activation chain and diagnose the "TTT reset on A1" failure mode using TS 28.552 counters
  8. Compute HOSR from L.HO.ExecSucc / L.HO.Att and decompose failure contributions from preparation, timeout, and radio link failure sub-counters

§13.1 Introduction — The Measurement Framework

Mobility in 5G NR is driven entirely by UE-reported measurements. The gNB configures which cells to measure, which quantities to evaluate, and which thresholds will trigger a report — but it is the UE that monitors the radio environment continuously and fires measurement reports when configured conditions are met. The network then uses those reports to execute handover, add/remove secondary cells, or adjust measurement activity. TS 38.331 §5.5 specifies the complete measurement and event-triggered reporting framework.

There are two families of events. A-events (A1 through A6) apply within a single RAT — either intra-frequency (same carrier) or inter-frequency (different NR carrier). B-events (B1 and B2) apply across RAT boundaries, covering scenarios such as NR→LTE fallback. All eight events share a common mathematical skeleton: a measurement quantity is compared against a threshold, modified by an offset and a hysteresis band, and the resulting condition must hold continuously for a configurable time-to-trigger (TTT) before a MeasurementReport RRC message is sent.

UE Measurement Quantities

Per TS 38.215, the three primary per-cell quantities available for event evaluation are:

  • SS-RSRP — Reference Signal Received Power based on SSB; range −156 to −31 dBm; defined in TS 38.215 §5.1.1
  • SS-RSRQ — Reference Signal Received Quality = N × RSRP / RSSI; range −43 to 20 dB; defined in TS 38.215 §5.1.3
  • SS-SINR — Signal-to-Interference-plus-Noise Ratio; range −23 to 40 dB; defined in TS 38.215 §5.1.5

The measurement object determines which frequency (or RAT) is measured; the report configuration determines which event and which quantity trigger the report. Measurement gaps (configured via measGapConfig) may be required when the UE cannot measure a frequency while transmitting/receiving on the serving cell, though gap-less measurements are possible in some FR1 configurations when the UE supports multiple Rx chains.

"The UE shall, when a measurement object is configured and the associated measurement quantities are available, evaluate the event trigger conditions specified in the measurement report configuration. The UE shall not consider a cell for event evaluation unless it is included in the cell list of the measurement object, or if the cell list is empty, it shall consider all detected cells on the associated carrier frequency." — TS 38.331 §5.5.3.1
Fig 13.1 — Measurement Event Taxonomy (TS 38.331 §5.5.4) A-Events — Intra-RAT (NR→NR) · TS 38.331 §5.5.4.4–§5.5.4.9 B-Events — Inter-RAT · §5.5.4.10–§5.5.4.11 A1 Serving > Thresh Deactivate inter- freq measurement A2 Serving < Thresh Activate inter-freq measurement gate A3 Neighbour > Serving + Offset (intra-freq primary HO trigger) A4 Neighbour > Thresh (absolute; inter-freq offload trigger) A5 Serving < T1 AND Neighbour > T2 (dual-condition HO) A6 SCell Neighbour > SCell + Offset (CA SCell change) B1 Inter-RAT neighbour > Thresh Coverage-triggered RAT fallback NR → LTE/EUTRA (absolute) B2 Serving < T1 AND Inter-RAT nbr > T2 NR coverage-floor HO Intra-freq / inter-freq same RAT Relative-to-serving offset Inter-RAT (B-events) All events: trigger = entering condition held continuously for TTT ms → MeasurementReport sent to gNB Measurement quantity configurable per event: SS-RSRP · SS-RSRQ · SS-SINR (TS 38.215 §5.1) A1–A5: may be intra-freq or inter-freq NR. A6: secondary cell frequency only. B1/B2: other-RAT frequency only.
Fig 13.1 — The eight measurement event categories defined in TS 38.331 §5.5.4. A-events (blue) operate within NR; B-events (orange) cross RAT boundaries. Each box states the trigger condition keyword and primary use case.

§13.2 The Unified Trigger Equation

Despite the diversity of use cases, all eight events share the same fundamental trigger model from TS 38.331 §5.5.4.1. A measurement quantity M is evaluated against a threshold expression; when the entering condition is satisfied continuously for the configured TTT period, the UE sends a MeasurementReport. When the leaving condition is satisfied (typically the mirror inequality), TTT resets and reporting ceases.

General Entering/Leaving Structure

For events with a single threshold comparison (A1, A2, A4, B1):

Entering: Ms ± Hys > or < Thresh
Leaving: Ms ∓ Hys < or > Thresh

For events with a relative serving-vs-neighbour comparison (A3, A5, A6, B2) the offset terms appear explicitly. The complete TTT semantics are stated in TS 38.331 §5.5.4.1:

"The UE shall initiate, at the moment when the entering condition is fulfilled for the concerned cell, a time-to-trigger timer for that cell. The UE shall cancel the time-to-trigger timer for a cell if the cell no longer satisfies the entering condition before the time-to-trigger timer expires. If the time-to-trigger timer expires for a cell, the UE shall send a MeasurementReport message." — TS 38.331 §5.5.4.1

Key TTT values configurable in RRCReconfiguration per TS 38.331 §6.3.5: 0, 40, 64, 80, 100, 128, 160, 256, 320, 480, 512, 640, 1024, 1280, 2560, 5120 ms. Hysteresis is configurable from 0 to 30 dB in 0.5 dB steps.

Table 13.1 — Unified Trigger Model Parameter Set (TS 38.331 §6.3.5 — ReportConfigNR)
Parameter (IE Name) Range Step Default Effect on Mobility
hysteresis 0–30 dB 0.5 dB 0 dB Wider band → fewer reports; prevents ping-pong
timeToTrigger 0–5120 ms Discrete set 0 ms Longer TTT → delayed HO; reduces false triggers in fast fading
a3-Offset (A3 only) −30 to +30 dB 0.5 dB 0 dB Positive → conservative (prefer serving); negative → aggressive HO
triggerQuantity rsrp / rsrq / sinr rsrp SINR recommended for interference-limited scenarios
reportQuantity rsrp / rsrq / sinr / none rsrp Determines what measurement is included in the report
maxReportCells 1–8 1 1 Number of neighbour cells reported simultaneously
Fig 13.2 — Unified Trigger Model: Entering Condition, Hysteresis Band, and TTT (TS 38.331 §5.5.4.1) M (dBm) t Thresh Thresh + Hys (leaving trigger for A1) Thresh − Hys (entering trigger for A2) Hys band (2× Hys wide) Ms (RSRP trace) t₁: entering cond. met TTT t₂: MeasReport sent t₃: leaving cond. met Entering (A2 example): Ms + Hys < Thresh Leaving (A2 example): Ms − Hys > Thresh Note: entering and leaving are NOT identical −95 −97 −99
Fig 13.2 — The unified trigger model. The measurement quantity Ms crosses the entering condition threshold (Thresh − Hys for A2) at t₁; the TTT timer starts. At t₂ (TTT expired), a MeasurementReport is sent. At t₃ the leaving condition is met (Ms − Hys > Thresh) and periodic TTT would reset for subsequent evaluations. The hysteresis band (shaded) separates entering and leaving thresholds, preventing rapid oscillation.

§13.3 Event A1 — Serving Cell Becomes Better Than Threshold

Event A1 fires when the serving cell measurement exceeds a configured threshold. Its primary use case is the deactivation of inter-frequency or inter-RAT measurement activity: when the UE is well-served, there is no need to expend measurement gaps searching for neighbours, and disabling that activity reduces both UE power consumption and scheduling inefficiency caused by gaps.

Exact Trigger Conditions (TS 38.331 §5.5.4.4)

Entering condition: Ms − Hys > Thresh1
Leaving condition: Ms + Hys < Thresh1

Where Ms is the measurement result of the serving cell (RSRP, RSRQ, or SINR as configured by triggerQuantity), expressed in dBm (RSRP), dB (RSRQ/SINR). The parameter Thresh1 maps to IE a1-Threshold in ReportConfigNR.

"Event A1 (Serving becomes better than threshold): The UE shall initiate the time-to-trigger whenever Ms − Hys > Thresh1, where Ms is the measurement result of the serving cell, Hys is the hysteresis parameter for this event, and Thresh1 is the threshold parameter for this event." — TS 38.331 §5.5.4.4
Table 13.2 — Event A1 Parameters and Typical Settings
Parameter (IE)Typical ValueRangeOptimization Guidance
a1-Threshold (RSRP)−95 dBm−156 to −31 dBmSet 6–8 dB above A2-Threshold to create stable gap
hysteresis2 dB0–30 dB, 0.5 dB stepsMinimum 2 dB; wider if RSRP variance is high (urban)
timeToTrigger160 ms0–5120 ms160–320 ms; longer reduces measurement overhead churn
triggerQuantityrsrprsrp/rsrq/sinrMatch to A2 triggerQuantity; must be same quantity

Example 13.1 — A1 Trigger Calculation

Configuration: a1-Threshold = −95 dBm, hysteresis = 2 dB, TTT = 160 ms

Serving cell RSRP = −91 dBm (stable for 200 ms)

Entering test: Ms − Hys = −91 − 2 = −93 dBm > Thresh1 (−95 dBm) → TRUE

TTT = 160 ms satisfied (200 ms > 160 ms) → A1 fires; inter-freq measurement deactivated

Leaving test: Ms + Hys = −91 + 2 = −89 dBm < −95 dBm → FALSE → A1 remains active

Now RSRP degrades to −97 dBm: Ms + Hys = −97 + 2 = −95 dBm = Thresh1 → at boundary; must fall strictly below −95 to leave. At −98 dBm: −98 + 2 = −96 < −95 → leaving condition met.

§13.4 Event A2 — Serving Cell Falls Below Threshold

Event A2 is the complement of A1 and is the most consequential event in the mobility chain. When A2 fires, the gNB activates the inter-frequency or inter-RAT measurement objects — opening the "gate" for A3, A4, A5, or B1/B2 to trigger. Without A2 activating the measurement object, the UE has no instruction to measure neighbouring frequencies and will never send the neighbour reports needed for inter-frequency handover.

Exact Trigger Conditions (TS 38.331 §5.5.4.5)

Entering condition: Ms + Hys < Thresh2
Leaving condition: Ms − Hys > Thresh2

A1/A2 Co-Configuration Constraint

A1 and A2 must always be co-configured when managing inter-frequency measurement activity. The mandatory relationship is:

A2-Thresh < A1-Thresh
Recommended gap: A1-Thresh − A2-Thresh ≥ 2 × max(Hys_A1, Hys_A2)

If the gap is too small, a UE sitting near the threshold boundary will oscillate: A2 fires → gNB activates inter-freq → RSRP fluctuates upward → A1 fires → gNB deactivates inter-freq → RSRP drops → A2 fires again. This ping-pong loop creates measurement overhead without producing useful handover reports.

Example 13.2 — A1/A2 Ping-Pong Analysis

Scenario A (problematic): A1-Thresh = −97, A2-Thresh = −99, Hys = 2 dB each

A2 entering: Ms + 2 < −99 → Ms < −101 dBm

A2 leaving: Ms − 2 > −99 → Ms > −97 dBm

A1 entering: Ms − 2 > −97 → Ms > −95 dBm

Gap between A2 leaving (−97 dBm) and A1 entering (−95 dBm) = 2 dB → RSRP ranging −99 to −95 dBm causes continuous A2 fire/A1 fire cycle. Result: measurement activation storms.

Scenario B (correct): A1-Thresh = −93, A2-Thresh = −101, Hys = 2 dB each

Gap = 8 dB. A2 leaving threshold = −99 dBm. A1 entering threshold = −91 dBm. A UE must recover by 8 dB from A2 entry before A1 fires. Stable operation guaranteed.

Rule: A1-Thresh − A2-Thresh > 4 × Hys (minimum 6 dB recommended in urban macro deployments)

§13.5 Event A3 — Neighbour Becomes Better Than Serving + Offset

Event A3 is the primary intra-frequency handover trigger. It compares the neighbour cell measurement to the serving cell measurement, adjusted by frequency-specific and cell-specific offsets plus the a3-Offset parameter. This relative comparison makes A3 robust to absolute RSRP level — a UE deep in a building at −115 dBm will still trigger A3 when the neighbour exceeds the serving cell by the configured margin, whereas an absolute-threshold event (A4) would require separate calibration for such edge conditions.

Exact Trigger Conditions (TS 38.331 §5.5.4.6)

Entering condition:
Mn + Ofn + Ocn − Hys > Ms + Ofs + Ocs + Off

Leaving condition:
Mn + Ofn + Ocn + Hys < Ms + Ofs + Ocs + Off

Where the terms are defined in TS 38.331 §5.5.4.6 as:

Table 13.3 — A3 Trigger Equation Variable Definitions (TS 38.331 §5.5.4.6)
SymbolIE NameMeaningTypical Value
MnMeasurement result of neighbour cell (RSRP/RSRQ/SINR)Variable
MsMeasurement result of serving cell (same quantity as Mn)Variable
OfnoffsetFreq (neighbour MO)Frequency-specific offset for neighbour carrier0 dB
OfsoffsetFreq (serving MO)Frequency-specific offset for serving carrier0 dB
OcncellIndividualOffset (neighbour)Cell-specific offset applied to neighbour; overrides Ofn per cell0 dB
OcscellIndividualOffset (serving)Cell-specific offset applied to serving cell0 dB
Offa3-OffsetSigned offset defining HO margin: positive = conservative3 dB
HyshysteresisSymmetrical hysteresis applied to neighbour measurement1 dB

Example 13.3 — A3 HO Trigger Computation

Configuration: a3-Offset = 3 dB, hysteresis = 1 dB, TTT = 100 ms, Ofn = Ofs = Ocn = Ocs = 0

At time t: Ms = −90 dBm, Mn = −88 dBm

Entering test: Mn + 0 + 0 − 1 > Ms + 0 + 0 + 3

−88 − 1 > −90 + 3 → −89 > −87 → FALSE → no trigger

At time t+500 ms: Ms = −93 dBm (decreasing), Mn = −87 dBm (stable)

−87 − 1 > −93 + 3 → −88 > −90 → TRUE → TTT starts

After 100 ms (TTT), if condition still holds: A3 MeasurementReport sent

HO trigger crossover point: Mn − 1 = Ms + 3 → Mn − Ms = 4 dB. Neighbour must exceed serving by 4 dB (= Hys + Off = 1 + 3) to enter trigger.

Now with Ocn = −3 dB (negative CIO discourages HO to this neighbour):

Mn + Ocn − Hys > Ms + Off → Mn − 3 − 1 > Ms + 3 → Mn − Ms > 7 dB → much harder to trigger

Fig 13.3 — A3 Event Geometry: Serving vs. Neighbour RSRP with Offset Band (TS 38.331 §5.5.4.6) RSRP (dBm) t −80 −85 −90 −95 −100 Ms (serving RSRP — decreasing) Mn (neighbour RSRP — increasing) Ms + Off + Hys (A3 entering threshold for Mn) t₁: A3 entering met TTT=100ms t₂: MeasReport → HO Off+Hys = 4 dB
Fig 13.3 — A3 event geometry with a3-Offset = 3 dB and hysteresis = 1 dB. The dashed blue line shows the A3 entering threshold (Ms + Off + Hys = Ms + 4 dB). When Mn crosses that line at t₁, the TTT timer starts. The MeasurementReport fires at t₂ after TTT = 100 ms elapses. Neighbour must exceed serving by Off + Hys = 4 dB continuously for TTT to trigger.

§13.6 Event A4 — Neighbour Becomes Better Than Absolute Threshold

Event A4 triggers when the neighbour cell measurement exceeds an absolute threshold, regardless of the serving cell quality. This distinguishes it fundamentally from A3: A3 measures the gap between neighbour and serving; A4 measures the neighbour against a fixed floor. A4 is the preferred trigger for capacity-driven inter-frequency offload, where the network wants to push UEs to a second NR carrier whenever that carrier is strong enough, irrespective of whether the serving cell is also strong.

Exact Trigger Conditions (TS 38.331 §5.5.4.7)

Entering condition: Mn + Ofn + Ocn − Hys > Thresh4
Leaving condition: Mn + Ofn + Ocn + Hys < Thresh4

The absence of Ms in the A4 equation means the UE can trigger A4 even when the serving cell is strong. This is intentional for load-balancing use cases: if a 3.5 GHz NR layer is congested, the operator configures A4 with Thresh4 = −105 dBm on a 700 MHz layer. Any UE that sees the 700 MHz cell above −105 dBm will report it, and the gNB can handover load to the uncongested layer without waiting for the 3.5 GHz serving cell to degrade.

Example 13.4 — A4 Inter-Frequency Offload

Scenario: 3.5 GHz (n78) serving cell congested; 700 MHz (n28) layer available for offload.

A4 configuration on n28 measurement object: Thresh4 = −108 dBm, hysteresis = 2 dB, TTT = 256 ms

UE measures n28 RSRP = −104 dBm (strong coverage)

n78 serving RSRP = −78 dBm (also strong — UE would NOT trigger A3 for n28)

A4 entering test: Mn + Ofn + Ocn − Hys = −104 + 0 + 0 − 2 = −106 dBm > Thresh4 (−108 dBm) → TRUE

After TTT = 256 ms: A4 MeasurementReport sent. gNB evaluates load and triggers HO to n28.

If A3 were used instead: Mn − Ms − Off = −104 − (−78) − 3 = −29 dB < 0 → A3 would NEVER trigger. A4 is the only event suited to capacity offload.

§13.7 Event A5 — Serving Falls Below T1 AND Neighbour Exceeds T2

Event A5 combines a coverage floor condition on the serving cell with a minimum quality condition on the target cell into a single AND gate. It addresses a key failure mode of A4: if only an absolute neighbour threshold is tested (A4), the UE may trigger HO to a neighbour that is stronger than Thresh4 but only marginally — while the serving cell is still perfectly adequate. A5 prevents this by requiring both that the serving cell has deteriorated below T1 and the neighbour is above T2.

Exact Trigger Conditions (TS 38.331 §5.5.4.8)

Entering condition (BOTH must hold simultaneously):
(Ms + Hys < Thresh5a) AND (Mn + Ofn + Ocn − Hys > Thresh5b)

Leaving condition (EITHER is sufficient to leave):
(Ms − Hys > Thresh5a) OR (Mn + Ofn + Ocn + Hys < Thresh5b)

The asymmetry in the leaving condition is deliberate: the OR gate means the UE exits the triggered state as soon as either the serving cell recovers or the neighbour weakens. This prevents the UE from remaining in a "pending report" state when the situation has already resolved.

Table 13.4 — Event A5 Typical Parameter Settings for Coverage-Based Inter-Frequency HO
ParameterTypical ValueRationale
a5-Threshold1 (serving floor)−115 dBm RSRPBelow this, serving cell coverage is marginal; HO warranted
a5-Threshold2 (neighbour floor)−108 dBm RSRPNeighbour must be substantially better than serving floor
hysteresis1–2 dBPrevents immediate re-trigger if RSRP hovers at threshold
timeToTrigger100–320 ms100 ms for fast-moving UEs; 320 ms for stationary/slow
T2 − T1 gap≥ 7 dBEnsures neighbour is meaningfully better than coverage floor
Fig 13.5 — A5 Dual-Condition AND Gate: Both Conditions Must Hold Simultaneously (TS 38.331 §5.5.4.8) RSRP (dBm) t Thresh5a = −115 dBm (serving floor, condition 1) Thresh5b = −108 dBm (neighbour floor, condition 2) Ms (serving cell RSRP) Mn (neighbour RSRP) Cond 1 met (Ms+Hys < T5a) Cond 2 met (Mn−Hys > T5b) AND window: both conditions satisfied → TTT starts at t=680 → MeasReport at TTT end −100 −108 −115 −120
Fig 13.5 — A5 dual-condition logic. Condition 2 (Mn > Thresh5b) is met first at t=500. Condition 1 (Ms < Thresh5a) is met later at t=680. The AND gate activates only at t=680 when both conditions hold simultaneously (green shaded window). TTT starts at that point; MeasurementReport fires after TTT elapses.

§13.8 Event A6 — Secondary Cell Neighbour Becomes Better Than SCell + Offset

Event A6 applies exclusively to Carrier Aggregation (CA) configurations. It evaluates a neighbouring cell on a secondary component carrier frequency against the currently serving SCell on that same frequency. Its use case is SCell mobility: when a better SCell candidate is detected, A6 triggers a report allowing the gNB to execute an SCell change or addition procedure.

Exact Trigger Conditions (TS 38.331 §5.5.4.9)

Entering condition: Mn + Ocn − Hys > Ms + Ocs + a6-Offset
Leaving condition: Mn + Ocn + Hys < Ms + Ocs + a6-Offset

Note that A6 does not include frequency offsets (Ofn/Ofs) because both cells are on the same secondary carrier frequency by definition — offset terms collapse. The a6-Offset plays the same role as a3-Offset in A3: positive value requires the neighbour to be substantially better before triggering, negative value makes the trigger more aggressive.

"Event A6 (Neighbour becomes offset better than SCell): The UE shall initiate the time-to-trigger whenever Mn + Ocn − Hys > Ms + Ocs + a6-Offset, where Mn is the measurement result of the neighbour cell, Ms is the measurement result of the serving SCell, Ocn is the cell individual offset of the neighbour cell, Ocs is the cell individual offset of the SCell, and a6-Offset is the offset parameter for this event." — TS 38.331 §5.5.4.9

§13.9 Events B1 and B2 — Inter-RAT Triggers

B-events measure cells on non-NR RATs. The measurement object for B-events specifies the RAT type: eutra (LTE), utra-FDD (UMTS), or in EN-DC scenarios, a secondary NR cell configured from the LTE master. The measurement quantity for LTE neighbours is RSRP or RSRQ as defined in TS 38.215 §5.1 (which references LTE RSRP per TS 36.214 when measuring EUTRA cells).

Event B1 (TS 38.331 §5.5.4.10)

Entering condition: Mn + Ofn − Hys > Thresh_B1
Leaving condition: Mn + Ofn + Hys < Thresh_B1

B1 triggers when a neighbouring cell on another RAT exceeds an absolute threshold. Unlike A4, there is no serving cell term — B1 is purely about whether the other-RAT cell is strong enough to accept a handover. B1 is appropriate for coverage-triggered fallback when the NR serving cell is still acceptable but the operator wants to pre-position the UE for inter-RAT HO.

Event B2 (TS 38.331 §5.5.4.11)

Entering condition (BOTH simultaneously):
(Ms + Hys < Thresh_B2a) AND (Mn − Hys > Thresh_B2b)

Leaving condition (EITHER):
(Ms − Hys > Thresh_B2a) OR (Mn + Hys < Thresh_B2b)

B2 is the inter-RAT equivalent of A5. Its primary deployment scenario is NR → LTE fallback when NR coverage has degraded below a coverage floor (Thresh_B2a) while the LTE cell is adequate (Thresh_B2b). This is the essential mobility anchor for EN-DC deployments: if the NR layer fails, B2 ensures the UE falls back to LTE rather than losing connectivity.

"Event B2 (PCell becomes worse than threshold1 and inter-RAT neighbour becomes better than threshold2): The UE shall initiate the time-to-trigger whenever Ms + Hys < Thresh_B2a and Mn − Hys > Thresh_B2b. The UE shall stop the time-to-trigger if Ms − Hys > Thresh_B2a or Mn + Hys < Thresh_B2b." — TS 38.331 §5.5.4.11
Table 13.5 — B1 / B2 Typical Parameter Settings for NR → LTE Fallback (EN-DC / SA deployment)
EventParameterTypical ValueNotes
B2 (NR→LTE fallback)Thresh_B2a (NR serving floor)−118 dBm RSRPMust be worse than A2 to avoid premature fallback
Thresh_B2b (LTE neighbour min)−110 dBm RSRPLTE RSRP; 8 dB above B2a to ensure quality
TTT256 msLonger TTT prevents oscillation in fringe zones
B1 (LTE opportunistic)Thresh_B1−105 dBm RSRPStrong LTE cell required to justify inter-RAT HO
hysteresis2 dBPrevents false triggers from short LTE detections

§13.10 The A1/A2/A3 Interaction — The Gap-Activation Chain

In most NR deployments, inter-frequency handover is orchestrated through a three-event chain: A2 activates the inter-frequency measurement object, A3 monitors the activated neighbour and triggers the handover report, and A1 deactivates the measurement object once the serving cell recovers. Understanding the interaction between these three events — particularly the "TTT reset on A1" failure mode — is critical for diagnosing mobility failures.

Normal Flow

  1. UE in RRC_CONNECTED on serving cell. Only intra-frequency measurement object active.
  2. Serving RSRP degrades → A2 fires → gNB sends RRCReconfiguration adding inter-freq measurement object.
  3. UE begins measuring inter-freq neighbours (with measurement gaps if needed).
  4. Neighbour RSRP exceeds serving by a3-Offset + Hys → A3 entering condition met → TTT starts.
  5. TTT expires → A3 MeasurementReport sent → gNB executes HO.

TTT Reset on A1 — The Critical Failure Mode

If the serving cell RSRP fluctuates (e.g., fast fading, temporary obstruction removal), the following sequence can occur mid-flow:

  1. A2 has fired; A3 TTT is counting (e.g., 60 ms elapsed of 100 ms TTT).
  2. Serving RSRP briefly recovers above A1 entering threshold.
  3. A1 fires → gNB sends RRCReconfiguration removing inter-freq measurement object.
  4. A3 TTT is cancelled (measurement object no longer configured → event evaluation stops).
  5. HO never happens. UE continues on degraded serving cell.
  6. RSRP drops again → A2 fires again → cycle repeats.

The counter signature: L.HO.Att stays low despite persistent A2 firing, and per-cell RSRP hover near the A2 threshold. The fix is to increase the A1/A2 separation gap — making A1 substantially harder to meet than A2 recovery, so A1 does not fire during the brief RSRP fluctuations that are normal in fast-fading channels.

Fig 13.4 — A1/A2/A3 Gap-Activation Chain and TTT Reset Failure Mode (TS 38.331 §5.5) Serving RSRP Meas Object A3 TTT State A2-Thresh A1-Thresh INACTIVE (only intra-freq) A2 fires ACTIVE (inter-freq on) A1 fires INACTIVE A2 re-fires ACTIVE — A3 runs to completion TTT counting (A3 entering met) TTT RESET (A1 killed meas) Idle TTT counting A3 Report sent → HO HO executing t₁: A2 t₂: A1 kills TTT t₃: A2 t₄: HO gap too small → failure mode
Fig 13.4 — The A1/A2/A3 gap-activation chain. At t₁ A2 activates the inter-freq measurement object and A3 TTT starts. At t₂ serving RSRP briefly recovers above A1 threshold — A1 fires, removes the measurement object, and resets A3 TTT (failure mode when A1–A2 gap is too small). At t₃ A2 re-fires. On the second attempt TTT completes at t₄ and the handover MeasurementReport is sent.

§13.11 TS 28.552 Measurement Event Counters

Measurement events ultimately drive handover attempts, which are tracked by the L.HO.* counter family in TS 28.552. The counters quantify every stage of the handover process — from the first attempt (triggered by a MeasurementReport) through preparation (X2/Xn), execution (random access on target), to success or failure. Understanding the counter hierarchy is prerequisite to computing HOSR and decomposing failure modes.

HOSR Definition (TS 28.552)

HOSR = L.HO.ExecSucc.IntraFreq / L.HO.Att.IntraFreq × 100%
Inter-Freq HOSR = L.HO.ExecSucc.InterFreq / L.HO.Att.InterFreq × 100%
Target HOSR ≥ 95% (intra-freq); ≥ 93% (inter-freq)
Table 13.6 — TS 28.552 L.HO.* Counter Definitions and Event Linkage
CounterIncrement ConditionEvent LinkageFailure Mode Indicated
L.HO.Att.IntraFreqgNB initiates intra-frequency HO preparation (HO Request sent)A3 MeasReport receivedLow value → A3 under-triggering (TTT too long, offset too high)
L.HO.Att.InterFreqgNB initiates inter-frequency HO preparationA3/A4/A5 on inter-freq objectLow value → A2 gate not opening or inter-freq meas not configured
L.HO.PrepSuccHO Request Acknowledge received from targetPrepSucc/Att low → X2/Xn admission failure or target overload
L.HO.ExecSucc.IntraFreqgNB receives RRCReconfigurationComplete from UE on targetExecSucc/PrepSucc low → RACH failure on target, T304 expiry
L.HO.ExecFail.RadioLinkFailureT310 expiry during HO execution (RLF on target or source)TTT too long; UE has already degraded before HO completes
L.HO.ExecFail.TimeoutT304 expiry (HO completion timer on UE)Target cell too weak; RACH fails; a3-Offset too conservative
L.HO.InterFreq.AttInter-frequency HO attempt (gate opened by A2)A2 gate activeHigh Att + low ExecSucc → TTT reset on A1; threshold misconfiguration
L.HO.PingPongUE returns to source cell within 1 s after HOA3 too aggressiveHigh value → a3-Offset or TTT too small; increase both

Example 13.5 — HOSR Decomposition from Counter GP Data

A cell in a 60-minute GP reports the following L.HO.* counters:

  • L.HO.Att.IntraFreq = 1,840
  • L.HO.PrepSucc = 1,790
  • L.HO.ExecSucc.IntraFreq = 1,652
  • L.HO.ExecFail.Timeout = 98
  • L.HO.ExecFail.RadioLinkFailure = 40
  • L.HO.PingPong = 230

Preparation Success Rate: 1,790 / 1,840 = 97.3% → acceptable

Execution Success Rate: 1,652 / 1,790 = 92.3% → below 95% target

Overall HOSR: 1,652 / 1,840 = 89.8% → severely degraded

Timeout failures: 98 / (1,840 − 1,652) = 52.1% of failures are T304 timeouts → target cell too weak at HO trigger point. Action: increase a3-Offset from 1 dB to 3 dB (require neighbour to be stronger before triggering).

Ping-pong rate: 230 / 1,652 = 13.9% → excessively high. TTT too short. Action: increase TTT from 40 ms to 100 ms.

Fig 13.6 — HOSR Decomposition Waterfall: L.HO.* Counter Failure Cascade (TS 28.552) L.HO.Att = 1,840 100% Prep Fail: 50 (2.7%) L.HO.PrepSucc = 1,790 97.3% Prep Fail: 50 Exec Timeout: 98 (5.3%) Exec RLF: 40 (2.2%) L.HO.ExecSucc = 1,652 89.8% of Att Ping-pong: 230 (13.9% of ExecSucc) Stable HO 1,422 (77.3%) Root Cause / Action Prep Fail: X2/Xn admission; target capacity → check L.HO.PrepFail.AdmissionReject Exec Timeout: T304 expiry → target too weak Action: increase a3-Offset +2 dB Exec RLF: source drops before HO completes Action: reduce TTT to 64 ms (early trigger) Ping-pong: TTT too short / offset too small Action: increase TTT to 100–160 ms All Attempts After Prep Exec Result Quality Split
Fig 13.6 — HOSR decomposition waterfall using the Example 13.5 counter values. The total L.HO.Att = 1,840 is progressively reduced by preparation failures (2.7%), execution timeouts (5.3%), and execution RLF (2.2%) to yield HOSR = 89.8%. Ping-pong (13.9% of successful HOs) indicates the TTT needs to be increased to prevent premature triggering.

§13.12 Parameter Optimization Reference

The following table provides a consolidated parameter optimization guide for all eight measurement events, covering the primary tuning parameters, their typical values, and the directional impact on HOSR, ping-pong rate, and measurement overhead.

Table 13.7 — Comprehensive Measurement Event Parameter Optimization Guide
Event Key Parameter Typical Value Increase Effect Decrease Effect Primary KPI Impact
A1 a1-Threshold −95 dBm RSRP Deactivates meas earlier (higher RSRP) → less measurement overhead Keeps meas active longer → more power consumption UE battery, scheduling gaps
hysteresis 2 dB Harder to deactivate → more stable inter-freq meas Easier deactivation → risk of A1/A2 oscillation Measurement stability
timeToTrigger 160 ms Delays deactivation → more complete measurement Fast deactivation → TTT reset on A1 more likely A3 completion rate
A2 a2-Threshold −101 dBm RSRP Opens inter-freq gate sooner (less serving degradation required) Opens gate later → UE spends more time with weak serving before measuring Inter-freq HOSR, RLF rate
A1−A2 gap ≥ 6 dB Wider gap → less oscillation → more stable measurement windows Narrow gap → oscillation storms → increased signalling load Measurement overhead, L.HO.Att stability
A3 a3-Offset 3 dB Higher offset → conservative HO → lower ping-pong, higher RLF risk Lower offset → aggressive HO → higher ping-pong, lower RLF risk HOSR, L.HO.PingPong
hysteresis 1 dB Wider band → fewer false triggers; reduce for indoor scenarios Narrow band → frequent re-evaluation → signalling increase L.HO.Att rate
timeToTrigger 100 ms Longer → filters fast fading → fewer unnecessary HOs Shorter → quick response → risk of fading-triggered HO Ping-pong rate, RLF
A4 a4-Threshold −108 dBm Higher → more selective offload; fewer UEs moved to target layer Lower → aggressive offload; risk of HO to marginal target Inter-freq offload rate
A5 a5-Threshold1 (serving floor) −115 dBm Higher floor → HO triggers earlier (serving less degraded) Lower floor → HO only at near-outage; risk of RLF before HO Coverage HO rate, RLF
a5-Threshold2 (nbr min) −108 dBm Higher → stricter neighbour requirement; fewer unnecessary HOs Lower → more candidates; risk of HO to weak target HOSR execution success
A6 a6-Offset 3 dB Conservative SCell change; stable but slow adaptation Aggressive SCell change; responsive to path changes CA throughput stability
B2 Thresh_B2a (NR floor) −118 dBm Higher → more LTE fallback; NR→LTE too aggressive Lower → UE stays on NR deeper; risk of connectivity loss NR availability, LTE fallback rate
Table 13.8 — Measurement Event Quick-Reference: Entering Condition Summary (TS 38.331 §5.5.4)
EventEntering Condition (abbreviated)Spec SectionPrimary Use Case
A1Ms − Hys > Thresh1§5.5.4.4Deactivate inter-freq / inter-RAT measurement
A2Ms + Hys < Thresh2§5.5.4.5Activate inter-freq / inter-RAT measurement gate
A3Mn + Ofn + Ocn − Hys > Ms + Ofs + Ocs + Off§5.5.4.6Primary intra-frequency handover trigger
A4Mn + Ofn + Ocn − Hys > Thresh4§5.5.4.7Inter-frequency capacity offload (absolute threshold)
A5(Ms + Hys < Thresh5a) AND (Mn + Ofn + Ocn − Hys > Thresh5b)§5.5.4.8Coverage-triggered inter-frequency HO (dual-condition)
A6Mn + Ocn − Hys > Ms + Ocs + a6-Offset§5.5.4.9CA secondary cell change / addition
B1Mn + Ofn − Hys > Thresh_B1§5.5.4.10Inter-RAT coverage-based handover (LTE/UMTS)
B2(Ms + Hys < Thresh_B2a) AND (Mn − Hys > Thresh_B2b)§5.5.4.11NR → LTE fallback when NR coverage insufficient

Example 13.6 — End-to-End Parameter Audit Workflow

A cell cluster shows inter-freq HOSR = 87% (target ≥ 93%) with L.HO.ExecFail.Timeout = 15% of attempts. Use the following audit sequence:

  1. Check A2 gate stability: Is L.HO.Att.InterFreq / (cell minutes) ratio stable or oscillating? Oscillation → check A1/A2 gap. Gap < 6 dB → increase A1-Thresh by 4–6 dB.
  2. Check A3 offset vs. timeout pattern: High ExecFail.Timeout → neighbour too weak at HO trigger point. Increase a3-Offset from current value by 2–3 dB. Verify neighbour RSRP at trigger time ≥ −105 dBm.
  3. Check TTT vs. ping-pong: L.HO.PingPong / L.HO.ExecSucc > 5% → TTT too short. Increase TTT from 64 ms to 100 ms or 128 ms.
  4. Verify measurement gap configuration: If A2 fires but L.HO.Att.InterFreq remains zero → inter-freq measurement object may not include correct neighbour PCI list, or measGapConfig not enabled for target frequency band.
  5. Re-evaluate after change: Allow 2 GP (30 min) for counter stabilization. Compare L.HO.ExecSucc / L.HO.Att before and after. Document results in optimization log.
"The gNB may configure the UE with one or more measurement objects and one or more report configurations. A measurement object specifies which cells to measure on a carrier frequency; a report configuration specifies the trigger criteria and reporting content. The association between measurement objects and report configurations is flexible: multiple report configurations may be associated with one measurement object, and one report configuration may be associated with multiple measurement objects." — TS 38.331 §5.5.2.1

Chapter Summary

The eight measurement events defined in TS 38.331 §5.5.4 form the complete trigger vocabulary for NR mobility. A-events (A1–A6) operate within the NR RAT, with A1/A2 managing measurement activation, A3 providing the primary relative-threshold handover trigger, A4/A5 offering absolute-threshold and dual-condition variants, and A6 handling SCell changes in CA configurations. B-events (B1/B2) extend the same framework across RAT boundaries for inter-RAT fallback scenarios. All events share the entering-condition / TTT / leaving-condition model from §5.5.4.1; the differences lie only in which measurements are compared and how offset and hysteresis terms are applied. HOSR analysis using the L.HO.* counter family from TS 28.552 provides the operational feedback loop for validating parameter choices and diagnosing mobility failures in live networks.

Page 13
Chapter 14

Intra-gNB Handover

Complete 3GPP procedure analysis: RRC Reconfiguration mechanics, T304 timer, RACH-on-HO, HOSR decomposition, ping-pong detection, too-early/too-late classification, CIO application, and TS 28.552 counter-based optimization — all from first principles

3GPP TS 38.331 §5.3.5 · TS 38.423 · TS 37.340 · TS 28.552 · TS 28.554
📐 12 sections 🔢 18 equations 📋 8 tables 🧪 5 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Distinguish intra-gNB, inter-gNB Xn, and inter-gNB N2/NGAP handover procedures and articulate why intra-gNB HO involves no Xn signaling and no core-network path switch
  2. Trace the complete TS 38.331 §5.3.5 intra-gNB HO message sequence — from A3 event report through RRC Reconfiguration with mobilityControlInfo to RRC Reconfiguration Complete — step by step
  3. Explain the role of T304 timer, calculate the consequences of T304 expiry, and map failure events to TS 28.552 counters L.HO.ExecFail.T304
  4. Describe dedicated RACH during HO (rach-ConfigDedicated) and explain how it eliminates RA-RNTI assignment and accelerates timing alignment on the target cell
  5. Compute HOSR from L.HO.ExecSucc / L.HO.Att and perform full four-stage decomposition of failure contributions
  6. Detect ping-pong handovers using L.HO.PingPong counter and diagnose root causes in terms of a3-Offset, TTT, and cell individual offset (CIO)
  7. Classify RLF events as too-early or too-late handover using the RLF report framework of TS 38.331 §5.3.10 and prescribe parameter corrections
  8. Apply cell individual offset (CIO) correctly in A3 entering conditions and quantify its effect on HO boundary position

§14.1 Introduction — Handover Types in 5G NR

Handover (HO) in 5G NR is the procedure by which the network moves a UE's serving cell from one cell to another while maintaining radio connectivity. Unlike idle-mode cell selection — which is entirely UE-autonomous — connected-mode handover is network-controlled: the source gNB decides when to execute HO and prepares the target before instructing the UE to move. The exact signaling path depends on the relationship between source and target nodes, giving rise to three architecturally distinct handover types.

Intra-gNB handover occurs when source and target cells are served by the same gNB (same CU and same or different DU). Because the serving gNB owns both cells, no inter-node signaling is required: the procedure reduces to a single RRC Reconfiguration message carrying mobilityControlInfo. There is no Xn-AP exchange, no path switch to the 5G Core, and no data forwarding between nodes. This makes intra-gNB HO the fastest and most reliable handover variant, with interruption times typically under 30 ms.

Inter-gNB handover via Xn (TS 38.423) applies when source and target are different gNBs connected by an Xn interface. The source gNB sends a HANDOVER REQUEST over Xn, receives HANDOVER REQUEST ACKNOWLEDGE, then issues RRC Reconfiguration to the UE. After the UE completes HO, the target gNB sends a PATH SWITCH REQUEST to the AMF to redirect the N3 data path from the source UPF anchor to the target. Data forwarding from source to target ensures minimal packet loss during the interruption window.

Inter-gNB handover via N2/NGAP (TS 38.413) is used when the Xn interface is not established between source and target. All preparation signaling is routed through the AMF: source sends HANDOVER REQUIRED (N2), AMF sends HANDOVER REQUEST to target, target responds with HANDOVER REQUEST ACKNOWLEDGE, and AMF relays the transparent container back to the source in HANDOVER COMMAND. This path adds AMF processing latency and is therefore reserved for fallback scenarios.

Fig 14.1 — 5G NR Handover Type Taxonomy Intra-gNB HO Same CU / Same or Different DU Signaling: RRC Reconfiguration only No Xn-AP · No path switch Interruption: ~20–30 ms Inter-gNB Xn HO Different gNBs, Xn established Signaling: Xn-AP HO Req/Ack Path switch to AMF · Data fwd Interruption: ~40–60 ms Inter-gNB N2/NGAP HO Different gNBs, no Xn Signaling: Via AMF (NGAP) AMF relays HO container Interruption: ~80–120 ms Increasing Signaling Complexity →
Fig 14.1 — Three architecturally distinct HO types in 5G NR. This chapter addresses intra-gNB HO exclusively. Ch 15 covers inter-gNB Xn; Ch 16 covers inter-gNB N2/NGAP.

This chapter focuses exclusively on intra-gNB handover, which is the dominant HO type in dense NR deployments where a single gNB serves dozens of cells. Understanding its mechanics — RRC Reconfiguration structure, T304 timer behaviour, dedicated RACH, and failure counters — is prerequisite to diagnosing HOSR degradation and tuning mobility parameters.

Table 14.1 — Handover Type Comparison Summary
PropertyIntra-gNBInter-gNB XnInter-gNB N2/NGAP
Governing specTS 38.331 §5.3.5TS 38.423TS 38.413
Inter-node signalingNoneXn-APNGAP via AMF
Core involvementNonePath switch (AMF/UPF)Full NGAP HO
Data forwardingNot neededRequired (indirect/direct)Required (indirect)
Typical interruption20–30 ms40–60 ms80–120 ms
Expected HOSR≥ 99.5 %≥ 99.0 %≥ 98.5 %
UE behavior on failureT304 → RRC Re-est.T304 → RRC Re-est.T304 → RRC Re-est.

§14.2 Intra-gNB HO Procedure (TS 38.331 §5.3.5)

The intra-gNB handover procedure is initiated when the gNB's HO decision logic — typically triggered by a measurement event report (A3, A5, or A6) from the UE — determines that a cell served by the same node provides better radio conditions. Because source and target cells are co-located within the gNB, no admission control exchange with a remote node is needed: the gNB simply verifies that the target cell has sufficient resources and immediately prepares the RRC Reconfiguration message.

"The UE shall perform the handover procedure, upon receiving an RRCReconfiguration message including the mobilityControlInfo, by: applying the value of the newUE-Identity as the C-RNTI; starting T304; synchronizing to the target PCell specified in targetPhysCellId … If T304 expires, the UE shall … initiate the RRC re-establishment procedure." — TS 38.331 §5.3.5.3

The four-step procedure is as follows:

Step 1 — HO Decision and RRC Reconfiguration. Upon receiving a MeasurementReport containing the trigger event, the gNB's HO algorithm selects the target cell and constructs an RRCReconfiguration message. The message includes the mobilityControlInfo IE, which carries: targetPhysCellId, t304 (timer value), newUE-Identity (the C-RNTI the UE will use on the target cell), radioResourceConfigCommon (SIB1-equivalent parameters for the target cell's common channels), and optionally rach-ConfigDedicated (a dedicated preamble assignment to avoid contention). The gNB transmits this message on the serving PDSCH using the current C-RNTI.

Step 2 — UE HO Execution. On receipt of the RRCReconfiguration, the UE: stores current radio configuration as a rollback reference; applies mobilityControlInfo settings; starts T304; detaches from the source cell (stops PDCP/RLC/MAC entities); tunes to the target cell's DL carrier frequency; and initiates random access on the target cell using either the dedicated preamble (if rach-ConfigDedicated was included) or the standard RACH procedure.

Step 3 — Random Access and Timing Alignment. The target cell responds with a Random Access Response (RAR) containing the Timing Advance command. Using the dedicated preamble (if assigned), the target cell can immediately resolve the UE identity without RA-RNTI — it issues a Temporary C-RNTI or directly uses the newUE-Identity. The UE sends the RRCReconfigurationComplete as the MSG3 payload (or in the subsequent scheduled transmission), using the newUE-Identity as its C-RNTI.

Step 4 — HO Completion. Upon receiving RRCReconfigurationComplete, the gNB confirms HO success and increments L.HO.ExecSucc. Because source and target are within the same gNB, no path switch is required: the UPF downlink F-TEID already points to this gNB's transport endpoint and no N2/N3 update is needed. The UE stops T304 and resumes normal operation on the target cell.

Fig 14.2 — Intra-gNB Handover Call Flow (TS 38.331 §5.3.5) UE Source Cell Target Cell MeasurementReport (A3 Event) TS 38.331 §5.5.4 HO Decision + Resource Check RRCReconfiguration (mobilityControlInfo) TS 38.331 §5.3.5.3 · targetPhysCellId · newUE-Identity · t304 T304 running UE detaches from source RACH Preamble (dedicated or contention-based) Random Access Response (TA command) RRCReconfigurationComplete TS 38.331 §5.3.5.4 · T304 stopped L.HO.ExecSucc++ (TS 28.552)
Fig 14.2 — Intra-gNB HO message sequence. No Xn-AP messages. T304 spans steps 3–7; stopping T304 on RRCReconfigurationComplete confirms successful HO execution.
Table 14.2 — Key IEs in RRCReconfiguration for Intra-gNB HO (TS 38.331)
IE NameASN.1 ContainerPurposeTypical Value
targetPhysCellIdmobilityControlInfoPCI of target cell0–1007
t304mobilityControlInfoHO execution timerms500 (500 ms) typical
newUE-IdentitymobilityControlInfoC-RNTI on target cell16-bit value
radioResourceConfigCommonmobilityControlInfoTarget cell common configRACH, PUCCH, SCS params
rach-ConfigDedicatedradioResourceConfigCommonDedicated preamble assignmentpreambleIndex 0–63
carrierFreqmobilityControlInfoTarget DL ARFCN (if diff carrier)NR-ARFCN

§14.3 Random Access During Handover

When a UE executes a handover, it must acquire uplink timing alignment on the target cell before it can transmit the RRCReconfigurationComplete. This is achieved through a RACH procedure on the target cell. TS 38.331 §5.3.5.3 specifies two modes: dedicated (contention-free) and contention-based.

Dedicated RACH (contention-free). If the source gNB includes rach-ConfigDedicated in the RRCReconfiguration, it assigns the UE a specific preamble index in the PRACH resource configured for the target cell. Because only this UE transmits that preamble, the target cell can unambiguously associate the RA response with the incoming UE and can immediately assign the newUE-Identity as the active C-RNTI (rather than a temporary TC-RNTI). This eliminates the contention resolution step, reducing RACH latency by one TTI round trip.

Contention-based RACH. If no dedicated preamble is provided, the UE selects a preamble randomly from the target cell's PRACH configuration. The target cell responds with an RAR containing an RA-RNTI-addressed message. The UE then transmits MSG3 carrying its new C-RNTI (newUE-Identity) as the contention resolution identity. The gNB confirms identity via MSG4. This path takes 2–3 ms longer but requires no pre-coordination.

In both cases, the RAR provides the Timing Advance (TA) command. The TA value quantifies the round-trip propagation delay between the UE and target cell. The UE applies the TA adjustment to advance its uplink transmission timing so that it arrives within the cyclic prefix window at the gNB receiver. For intra-gNB HO where source and target are co-sited, the TA change is often minimal (<1 μs), but for different-site cells within the same gNB (centralised RAN architecture), the TA difference may be significant.

"If the UE has a dedicated RACH resource … the UE shall use it for the random access towards the target PCell. The dedicated RACH resource … allows the target gNB to immediately use the newUE-Identity for scheduling the UE." — TS 38.331 §5.3.5.3 (paraphrased from procedure description)
Table 14.3 — Dedicated vs Contention-Based RACH During HO
PropertyDedicated RACHContention-Based RACH
Preamble selectionAssigned by source (rach-ConfigDedicated)Random from PRACH occasion
MSG3 contentRRCReconfigurationComplete directlynewUE-Identity (contention resolution)
MSG4 needed?No (identity already known)Yes (contention resolution)
RA-RNTI assignmentNot needed; direct C-RNTIRequired for RAR addressing
Typical RACH latency~4 ms (MSG1→MSG3)~6–8 ms (MSG1→MSG4)
Collision riskZero (contention-free)Low (dedicated HO preambles in TS 38.331)

§14.4 T304 Timer and Handover Failure Modes

T304 is the critical guard timer for handover execution. It is started by the UE when it receives the RRCReconfiguration with mobilityControlInfo and is stopped when RRCReconfigurationComplete is sent successfully to the target cell. The timer value is signalled by the network in the t304 IE (valid values: ms50, ms100, ms150, ms200, ms500, ms1000, ms2000). If T304 expires before the UE successfully completes random access and delivers RRCReconfigurationComplete, the UE initiates RRC Re-establishment.

"If T304 expires, the UE shall … revert to the configuration used in the source PCell … and initiate the RRC re-establishment procedure as specified in 5.3.7, with the re-establishment cause set to handoverFailure." — TS 38.331 §5.3.5.6

The four principal handover failure modes, each with its TS 28.552 counter, are:

T304 Expiry (L.HO.ExecFail.T304). The UE starts RACH on the target cell but cannot complete it before T304 fires. Common causes: severe DL path loss to target (UE cannot decode RAR), PRACH configuration mismatch, or target cell congestion causing RACH back-off. The UE reverts to source cell configuration and sends RRC Re-establishment Request with cause = handoverFailure.

Radio Link Failure during execution (L.HO.ExecFail.RadioLinkFailure). The source cell experiences RLF (T310 expiry or N310 consecutive out-of-sync indications) while T304 is running — i.e., after RRCReconfiguration was sent but before the UE re-attached to target. Counted separately from T304 expiry because the root cause differs (source degradation vs target access failure).

Preparation Failure (L.HO.PrepFail). For intra-gNB HO this is rare (no Xn admission control), but it can occur if the gNB's internal capacity manager rejects the target cell (e.g., target cell at admission limit). The RRCReconfiguration is never sent. The counter increments at the preparation stage, and L.HO.Att has already been incremented.

Too-early or Too-late HO failure. Covered in §14.7 as an analytical category — not always a distinct counter, but inferred from RLF report analysis.

Fig 14.3 — T304 Expiry: Handover Execution Failure UE Source Cell Target Cell RRCReconfiguration (T304 = 500 ms) T304 (500 ms) RACH Preamble (no RAR received) × (no response) T304 EXPIRED → handoverFailure RRCReestablishmentRequest (cause=handoverFailure) L.HO.ExecFail.T304++ (TS 28.552)
Fig 14.3 — T304 expiry sequence. The UE fails to receive an RAR from the target cell, T304 fires, and the UE initiates RRC Re-establishment with cause = handoverFailure. Counter L.HO.ExecFail.T304 is incremented.

§14.5 The HOSR KPI — Definition and Decomposition

Handover Success Rate (HOSR) is the primary mobility KPI in 5G NR. It measures the fraction of handover attempts that complete successfully from the UE perspective. TS 28.554 Annex A defines the normative formula:

HOSR (%) = (L.HO.ExecSucc / L.HO.Att) × 100

where L.HO.ExecSucc counts successful handover executions (RRCReconfigurationComplete received) and L.HO.Att counts all handover attempts (RRCReconfiguration with mobilityControlInfo sent to UE). Note that L.HO.Att already excludes HOs rejected in the preparation phase before RRCReconfiguration was transmitted — those are counted separately in L.HO.PrepFail.

HOSR can be decomposed into four sequential loss stages, forming a waterfall from L.HO.Att to L.HO.ExecSucc:

L.HO.ExecSucc = L.HO.Att − L.HO.PrepFail − L.HO.ExecFail.T304 − L.HO.ExecFail.RadioLinkFailure

For intra-gNB HO, L.HO.PrepFail is typically near zero (no external admission control). The dominant failure components are T304 expiry and Radio Link Failure.

Fig 14.6 — HOSR Waterfall Decomposition (TS 28.552 Counters) L.HO.Att 10 000 100 % −PrepFail −20 After Prep 9 980 99.8 % −T304 Fail −30 After T304 9 950 99.5 % −RLF Fail −20 ExecSucc 9 930 99.3 % HO Attempt Pipeline: each stage subtracts failures from previous stage
Fig 14.6 — HOSR waterfall for a sample 10,000-attempt window. Each bar represents the remaining count after subtracting one failure category. The final green bar is L.HO.ExecSucc = 9,930, giving HOSR = 99.3 %.
Worked Example 14.1 — HOSR Decomposition

A gNB serving 24 cells reports the following 15-minute counter snapshot for intra-gNB HO:

  • L.HO.Att = 10,000
  • L.HO.PrepFail = 20 (intra-gNB admission rejections)
  • L.HO.ExecFail.T304 = 30 (T304 expiry during execution)
  • L.HO.ExecFail.RadioLinkFailure = 20 (source RLF during HO)
  • L.HO.ExecSucc = 9,930 (RRCReconfigurationComplete received)

Verification: 10,000 − 20 − 30 − 20 = 9,930 ✓

HOSR = 9,930 / 10,000 × 100 = 99.3 %

Preparation failure rate: 20/10,000 = 0.2 %. Execution failure rate: 50/9,980 = 0.5 %. The dominant execution failure is T304 (0.3 %), suggesting target cell RACH coverage or T304 timer misconfiguration.

§14.6 Ping-Pong Handover Analysis

A ping-pong handover occurs when a UE hands over from cell A to cell B, and then hands over from cell B back to cell A within a short time window. This wastes radio resources (two complete RACH procedures for no net coverage gain), may cause brief service interruptions, and inflates the HO attempt counter. TS 28.552 defines L.HO.PingPong as the count of HO attempts where the UE returns to the source cell within the ping-pong time window (typically 60 seconds, operator-configurable).

Ping-Pong Rate (%) = (L.HO.PingPong / L.HO.Att) × 100

A ping-pong rate above 5% indicates a mobility parameter configuration problem. The most common root causes are:

  • a3-Offset too small: The offset in the A3 entering condition is insufficient to prevent the HO from triggering at the border where the UE oscillates between two nearly equal RSRP values.
  • TTT too short: A short time-to-trigger (e.g., 40 ms) allows transient fading dips to trigger A3 events. Increasing TTT to 160 ms filters short-term fading.
  • Hysteresis too small: Small hysteresis in the A3 condition means the entering condition is triggered by small RSRP fluctuations above the threshold.
  • Missing or negative CIO: A negative cell individual offset on the target cell biases measurements, causing repeated oscillation.
Fig 14.4 — Ping-Pong Handover Illustration Time → RSRP (dBm) −80 −95 −110 Cell A Cell B HO: A→B t₁ PING-PONG: B→A t₂ PPP window (t₂ − t₁ ≤ 60 s → L.HO.PingPong++)
Fig 14.4 — RSRP crossing at cell A/B boundary causes two handovers within the ping-pong window. The return HO (B→A, red) is counted in L.HO.PingPong. Root cause: oscillating RSRP near boundary with insufficient a3-Offset or hysteresis.
Worked Example 14.2 — Ping-Pong Parameter Correction

A cell pair reports: L.HO.PingPong = 850, L.HO.Att = 9,000 over one hour.

Ping-pong rate = 850 / 9,000 × 100 = 9.4 % — significantly above the 5 % threshold.

Current parameters: a3-Offset = 1 dB, TTT = 100 ms, Hys = 1 dB.

Diagnosis: RSRP difference at HO trigger is only ~1.5 dB on average (from UE measurement logs), meaning the UE is hovering right at the boundary with insufficient margin.

Corrective actions (step-by-step):

  1. Increase a3-Offset from 1 dB to 2 dB → A3 now requires target to be 2 dB stronger before HO triggers
  2. Increase TTT from 100 ms to 160 ms → requires condition to hold longer, filters fading oscillations
  3. Re-evaluate: if ping-pong rate drops to <3 %, monitor for too-late HO increase. If HOSR unchanged, accept new configuration.

§14.7 Too-Late vs Too-Early Handover Classification

Radio Link Failure (RLF) events in connected mode are classified by when they occur relative to the HO decision. TS 38.331 §5.3.10 defines the RLF report framework: when a UE experiences RLF (T310 expiry) and subsequently re-establishes to a cell, it stores a rlf-Report and transmits it to the new PCell's gNB in a UEInformationResponse message. The report includes the PCI of the cell where RLF occurred, the UE's serving RSRP at the time of failure, the target cell PCI (if HO was in progress), and the cause.

Too-early handover: A3 triggered and HO executed while the source cell was still providing adequate radio conditions. The UE moves to the target cell but the target's RSRP is already declining (or was never strong enough), leading to immediate RLF in the target cell shortly after HO completion. The RLF report shows: RLF in cell = target PCI, cause = rlf-3gpp (T310 expiry), source PCI still above Qout threshold. In handover optimization frameworks, this is the "wrong cell" re-establishment pattern.

Too-late handover: The A3/A5 event never triggered (or was suppressed by excessive TTT/hysteresis) before the source cell's RSRP fell below the RLF threshold. The UE experiences RLF in the source cell and re-establishes to the target cell — the cell it should have handed over to. The RLF report shows: RLF in cell = source PCI, re-establishment target = target PCI, source RSRP well below Qout. This is the "correct cell" re-establishment pattern.

"The UE shall include in the rlf-Report the following … the physical cell identity of the PCell in which the RLF occurred, the measurement results at the time of the failure including the RSRP of the PCell and up to 6 neighbour cells, and the reason for initiating the RRC re-establishment procedure." — TS 38.331 §5.3.10.2
Fig 14.5 — Too-Early (left) vs Too-Late (right) Handover Too-Early Handover Time → Source Target A3 triggers (premature) RLF in target Source RSRP still −90 dBm → HO premature Too-Late Handover Time → Source Target Qout threshold RLF in source A3 never fired → UE re-establishes to target
Fig 14.5 — Too-early HO (left): A3 fires while source is still strong, UE suffers immediate RLF in target. Too-late HO (right): A3 never fires, source RSRP crosses Qout, RLF in source then re-establishment to target.
Table 14.4 — Too-Early vs Too-Late HO: Identification Decision Tree
IndicatorToo-Early HOToo-Late HO
RLF cell (from RLF report)Target PCISource PCI
Re-establishment cellTarget or third cellTarget PCI (correct cell)
Source RSRP at RLFAbove −100 dBm (still OK)Below −105 dBm (collapsed)
Counter signatureL.HO.ExecFail (wrong cell), L.ChMeas.RLF.TargetL.ChMeas.RLF.Source, re-est to target
Parameter correctionIncrease a3-Offset (+1–2 dB), increase TTTDecrease a3-Offset (−1 dB), decrease TTT
CIO adjustmentReduce CIO on target (delay HO)Increase CIO on target (advance HO)

§14.8 Cell Individual Offset (CIO) and Its Role in A3 Triggering

The cell individual offset (cellIndividualOffset, abbreviated CIO) is a per-neighbour correction factor applied to the measurement quantity in A3 (and A4/A5/A6) event evaluation. It is defined in the CellsToAddMod structure within the MeasObjectNR IE of RRCReconfiguration. The entering condition for A3 with CIO included is:

A3 Entering Condition (with CIO): Mn + Ofn + Ocn − Hys > Ms + Ofs + Ocs + Off

where:

  • Mn = measurement result of the neighbour cell (RSRP/RSRQ/SINR)
  • Ofn = frequency offset of the neighbour's measurement object (frequencyOffsetCell)
  • Ocn = cell individual offset of the neighbour cell (CIO of target)
  • Ms = measurement result of the serving cell
  • Ofs = frequency offset of the serving measurement object
  • Ocs = cell individual offset of the serving cell (CIO of source)
  • Hys = hysteresis value for event A3
  • Off = a3-Offset (global A3 trigger threshold offset)

A positive CIO on the target neighbour (Ocn) increases the effective measured strength of that neighbour, causing the A3 condition to be satisfied at a lower actual RSRP — the UE will hand over to that cell earlier. This is used to offload traffic toward a higher-capacity cell or compensate for antenna tilt asymmetry.

A negative CIO on the target (Ocn) makes the neighbour appear weaker, requiring it to be stronger than normal before HO triggers — the UE stays on the serving cell longer. Used to suppress ping-pong toward cells with inferior coverage, or to extend stay on a preferred frequency layer.

The key distinction from a3-Offset is granularity: a3-Offset applies globally to all neighbours on a measurement object, while CIO applies per-cell, allowing fine-grained bilateral boundary shaping without affecting all neighbours simultaneously.

Worked Example 14.3 — CIO Effect on HO Boundary

Setup: A3 entering condition for RSRP measurements. Parameters:

  • a3-Offset (Off) = 1 dB
  • Hys = 1 dB
  • Ofn = Ofs = 0 (same frequency, intra-frequency HO)
  • Ocs = 0 dB (no CIO on serving cell)
  • Ocn = 0 dB (baseline: no CIO on target)

A3 condition reduces to: Mn − 1 > Ms + 1, i.e., Mn > Ms + 2 dB

HO triggers when target RSRP exceeds source RSRP by more than 2 dB.

Now apply Ocn = +3 dB (positive CIO on target):

Mn + 3 − 1 > Ms + 1 → Mn > Ms − 1 dB

HO now triggers when target is only 1 dB below source — HO boundary shifts 3 dB earlier. The effective coverage of the target cell is extended at the cost of a lower signal margin at handover.

With Ocn = −3 dB (negative CIO): Mn + (−3) − 1 > Ms + 1 → Mn > Ms + 5 dB. HO requires target to be 5 dB stronger — boundary shifted further into target coverage. Ping-pong risk reduced but too-late HO risk increases.

§14.9 Optimisation Framework — HOSR vs Ping-Pong Trade-off

Handover parameter tuning involves a fundamental trade-off: tightening HO conditions (larger a3-Offset, longer TTT, larger hysteresis) reduces ping-pong but increases too-late HO risk and may worsen HOSR at fast-moving UEs. Loosening conditions improves responsiveness but generates unnecessary HOs and raises ping-pong rate.

Speed-Dependent TTT Scaling. TS 38.331 supports speedStateDependScalingParms within the ReportConfigNR IE, which allows the network to configure TTT scaling factors based on UE speed. A UE classified as "medium" speed receives a TTT scaled by sf-Medium (e.g., 0.5×) and a "high" speed UE by sf-High (e.g., 0.25×). This means a configured TTT of 160 ms becomes 80 ms for medium-speed UEs and 40 ms for high-speed, preventing too-late HO on motorway cells while maintaining anti-ping-pong protection for slow-moving indoor UEs.

Effective TTT(speed) = TTT_configured × SF(speed_class) where SF ∈ {sf-Medium, sf-High} per TS 38.331 §5.5.4.1
Worked Example 14.4 — Optimal a3-Offset for a 100 km/h UE

Scenario: ISD = 500 m, UE speed = 100 km/h = 27.8 m/s, NR carrier = 3.5 GHz. Assuming free-space path loss gradient near cell edge: RSRP drops approximately 4 dB per 100 m (from propagation model).

Step 1 — Distance covered during TTT = 160 ms:

d = 27.8 m/s × 0.160 s = 4.45 m

Step 2 — RSRP change during TTT at 4 dB/100 m gradient:

ΔRSRP = 4.45 × (4/100) = 0.18 dB ≈ negligible — TTT delay causes minimal loss at this speed/gradient.

Step 3 — Risk assessment: At 100 km/h and ISD 500 m, cell traversal time ≈ 500/27.8 ≈ 18 s. TTT of 160 ms is only 0.9 % of traversal time — too-late HO risk is low. Ping-pong is the greater risk at low speeds in this deployment.

Recommendation: Keep a3-Offset = 2–3 dB, TTT = 160 ms for stationary/pedestrian UEs; enable speedStateDependScalingParms with sf-High = 0.25× for vehicular to bring TTT to 40 ms at speed.

Table 14.5 — a3-Offset and TTT Parameter Trade-off Matrix
Parameter ChangeHOSR EffectPing-Pong EffectToo-Late HO RiskUse Case
a3-Offset +1 dB↑ (fewer premature HOs)↓ (less oscillation)↑ slightDense indoor, low mobility
a3-Offset −1 dB↓ (more premature HOs)↑ (more oscillation)↓ (earlier HO)High-speed vehicular
TTT 100→160 msNeutral (fewer false events)↓ (fading filtered)↑ slightWalking/indoor UEs
TTT 160→40 ms↑ for fast UEs↑ possible↓ significantlyMotorway coverage
Hys +1 dBNeutral to ↑NeutralBoundary oscillation
CIO target +3 dB↑ (earlier, stronger HO)↑ possibleCapacity offload
CIO target −3 dB↓ possibleSuppress weak neighbour

§14.10 TS 28.552 Handover Counter Family (Intra-gNB)

TS 28.552 Clause 5.1.1.6 (NR mobility management measurements) specifies the normative counter definitions for handover performance. The following table provides the complete intra-gNB relevant subset with exact definitions and calculation formulas.

Table 14.6 — TS 28.552 HO Counter Definitions (Intra-gNB Relevant Subset)
Counter NameMeasurement ID (TS 28.552)DefinitionIncrement ConditionTarget
L.HO.Att M55221 Number of handover attempts initiated from a source NR cell RRCReconfiguration with mobilityControlInfo transmitted by gNB Baseline denominator
L.HO.PrepSucc M55222 Number of successful handover preparations (intra: always = L.HO.Att − L.HO.PrepFail) HO preparation accepted (intra: gNB decides to send RRCReconf) ≥ 99.8 %
L.HO.PrepFail M55223 Number of handover preparation failures gNB admission rejection before RRCReconfiguration sent < 0.2 %
L.HO.ExecSucc M55224 Number of successful handover executions RRCReconfigurationComplete received from UE on target cell ≥ 99.5 % of Att
L.HO.ExecFail M55225 Total handover execution failures Any cause: T304 expiry OR RLF during execution < 0.5 % of Att
L.HO.ExecFail.T304 M55225a HO execution failures due to T304 timer expiry UE sends RRCReestablishmentRequest with cause = handoverFailure < 0.3 % of Att
L.HO.ExecFail.RadioLinkFailure M55225b HO execution failures due to radio link failure during HO execution Source RLF (T310 expiry) while T304 is running < 0.2 % of Att
L.HO.PingPong M55228 Number of ping-pong handovers (return HO within PPP window) HO A→B followed by HO B→A within PPP_window seconds < 5 % of Att
HOSR = L.HO.ExecSucc / L.HO.Att × 100 % [TS 28.554 Annex A] HO Prep Success Rate = (L.HO.Att − L.HO.PrepFail) / L.HO.Att × 100 % HO Exec Success Rate = L.HO.ExecSucc / (L.HO.Att − L.HO.PrepFail) × 100 % Ping-Pong Rate = L.HO.PingPong / L.HO.Att × 100 %

§14.11 RRC Reconfiguration Message Anatomy for Intra-gNB HO

The RRCReconfiguration message (TS 38.331 §6.3.2) carrying mobilityControlInfo is the sole signaling message required to execute an intra-gNB handover. Understanding its key IE structure enables engineers to decode logged RRC messages and diagnose configuration errors.

Table 14.7 — RRCReconfiguration IE Hierarchy for Intra-gNB HO (TS 38.331 §6.3.2)
IE PathIE NameTypeDescription
RRCReconfigurationrrc-TransactionIdentifierINTEGER (0..3)Transaction ID for acknowledgement matching
RRCReconfiguration.criticalExtensions.c1.rrcReconfiguration-r8mobilityControlInfoSEQUENCE (optional)Present iff this is a HO command
mobilityControlInfotargetPhysCellIdPhysCellId (0..1007)PCI of the target cell
mobilityControlInfot304ENUMERATEDTimer value: ms50|ms100|ms150|ms200|ms500|ms1000|ms2000
mobilityControlInfonewUE-IdentityRNTI-Value (0..65535)C-RNTI the UE shall use on the target cell
mobilityControlInforadioResourceConfigCommonRadioResourceConfigCommonTarget cell common radio resource config (RACH, BWP, SCS)
radioResourceConfigCommonrach-ConfigCommonRACH-ConfigCommonGeneral RACH parameters of target cell
radioResourceConfigCommonrach-ConfigDedicatedRACH-ConfigDedicated (optional)Dedicated preamble for contention-free HO RACH
rach-ConfigDedicatedcfraCFRAContention-free RA: preamble index, PRACH occasion selector
Worked Example 14.5 — T304 Value Selection

An engineer must select t304 for cells at the edge of an outdoor macro coverage area where UEs frequently experience poor RACH conditions (RSRP −105 to −110 dBm).

Analysis of RACH completion time at cell edge:

  • PRACH periodicity: 10 ms (every 10 ms radio frame)
  • Expected preamble retransmissions at poor RSRP: up to 3 attempts (preambleTransMax = 7)
  • Total RACH time estimate: 3 × 10 ms (wait for PRACH occasion) + 3 × 5 ms (RAR window) = ~45 ms worst case
  • Transport delay for RRCReconfigurationComplete: ~5 ms
  • Total: ~50 ms minimum, but with scheduling delays could reach ~100–150 ms

Recommendation: Set t304 = ms500 (500 ms) at cell edge macro deployments. This provides adequate margin for 3 RACH retransmissions plus scheduling delays, while still timing out within 500 ms if the target cell is genuinely unreachable. Avoid ms50 or ms100 at cell edge — these will cause spurious T304 expirations.

For dense indoor small cell deployments with strong RACH coverage, t304 = ms200 is acceptable.

§14.12 Summary and Intra-gNB HO Optimisation Checklist

Intra-gNB handover is the simplest and fastest handover variant in 5G NR, requiring only a single RRC Reconfiguration message and no inter-node signaling. Its high HOSR target (≥ 99.5%) is achievable through correct T304 timer selection, dedicated RACH preamble assignment, and disciplined A3 parameter tuning. The following checklist consolidates the actionable optimization steps covered in this chapter.

Table 14.8 — Intra-gNB HO Optimisation Checklist
#Check ItemTarget / Pass CriterionTS Reference
1HOSR ≥ 99.5 % (L.HO.ExecSucc / L.HO.Att)≥ 99.5 %TS 28.554
2L.HO.PrepFail rate < 0.2 % (target admission)< 0.2 %TS 28.552 M55223
3L.HO.ExecFail.T304 rate < 0.3 % (RACH coverage)< 0.3 %TS 28.552 M55225a
4L.HO.PingPong rate < 5 % (a3-Offset/TTT/Hys)< 5 %TS 28.552 M55228
5rach-ConfigDedicated included for all intra-gNB HOsPresent in RRCReconfTS 38.331 §5.3.5.3
6t304 ≥ ms200 for macro cells; ≥ ms500 for cell-edgems200–ms500TS 38.331 §5.3.5.6
7speedStateDependScalingParms enabled for vehicular cellssf-High configuredTS 38.331 §5.5.4.1
8RLF report analysis: too-early/too-late classification monthlyRLF-to-HO cause ratio monitoredTS 38.331 §5.3.10
9CIO values reviewed per cell pair for asymmetric boundariesCIO ∈ [−6, +6] dB; document rationaleTS 38.331 §5.5.3
10a3-Offset ∈ [1, 3] dB; increase if ping-pong > 5 %1–3 dB typical rangeTS 38.331 §5.5.4.4

Cross-Chapter References

  • Ch 13 — Measurement events A1–A6 that trigger HO: exact entering/leaving conditions for A3 and A5 (§13.4, §13.6)
  • Ch 15 — Inter-gNB Xn handover (TS 38.423): Xn-AP HANDOVER REQUEST/ACK, path switch, data forwarding mechanisms
  • Ch 16 — Inter-gNB N2/NGAP handover (TS 38.413): AMF-mediated HO, HANDOVER REQUIRED/COMMAND, indirect data forwarding
  • Ch 9 — RACH procedure fundamentals: preamble selection, RAR, MSG3/MSG4 — prerequisite for §14.3

Chapter 14 Key Takeaways

  • Intra-gNB HO uses a single RRCReconfiguration message with mobilityControlInfo — no Xn-AP, no core involvement, no data forwarding required
  • T304 timer is the critical execution guard; its expiry drives L.HO.ExecFail.T304 and triggers RRC Re-establishment with cause = handoverFailure (TS 38.331 §5.3.5.6)
  • Dedicated RACH (rach-ConfigDedicated) assigns a contention-free preamble, eliminating RA-RNTI and MSG4 steps and reducing RACH latency by ~2–4 ms
  • HOSR = L.HO.ExecSucc / L.HO.Att × 100 %; decompose into PrepFail + ExecFail.T304 + ExecFail.RLF to isolate root cause
  • Ping-pong rate = L.HO.PingPong / L.HO.Att × 100 %; target <5 %; correct by increasing a3-Offset (+1 dB), TTT (100→160 ms), or Hys
  • Too-early HO: RLF in target cell shortly after HO — reduce a3-Offset. Too-late HO: RLF in source cell, re-establish to target — reduce a3-Offset and/or TTT
  • CIO (cellIndividualOffset) is per-cell and shifts the HO boundary for that specific neighbour only; a3-Offset is global across all neighbours on the measurement object
  • speedStateDependScalingParms enables TTT scaling by UE speed class — essential for deployments serving both pedestrian and vehicular UEs on the same cell
Page 14
Chapter 15

Inter-gNB Handover via Xn

Complete 3GPP procedure analysis: Xn-AP HANDOVER REQUEST/ACKNOWLEDGE signaling, PDCP data forwarding, path switch to AMF, QoS flow continuity, T304 failure modes, speed-adaptive TTT scaling, and TS 28.552 L.HO.InterGNB.Xn counter-based HOSR decomposition — all from first principles

3GPP TS 38.423 §8.3.1 · TS 38.331 §5.3.5 · TS 38.413 · TS 38.323 §5.2.1 · TS 28.552
📐 10 sections 🔢 12 equations 📋 8 tables 🧪 4 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Articulate when the network selects Xn HO over N2/NGAP HO and identify the preconditions — same PLMN, Xn TNL established, UPF anchor reusability
  2. Trace all nine signaling steps of the TS 38.423 §8.3.1 Xn HO procedure from A3 report through PATH SWITCH REQUEST ACKNOWLEDGE
  3. Explain PDCP data forwarding over GTP-U between source and target gNBs during the HO execution gap and the role of the PDCP Status Report
  4. Describe how QoS flows — GBR and non-GBR — are handled across the Xn interface and re-mapped after the path switch
  5. Classify Xn HO failure modes by stage (preparation, execution, path switch) and map each to TS 28.552 counters
  6. Compute Inter-gNB Xn HOSR from L.HO.InterGNB.Xn.ExecSucc / L.HO.InterGNB.Xn.Att and perform four-stage decomposition of failure contributions
  7. Apply speed-adaptive TTT scaling via speedStateDependScalingParms and calculate optimal TTT for high-speed UEs at 300 km/h
  8. Diagnose Xn interface configuration issues — missing TNL entries, latency overhead, gNB Configuration Update gaps — and their HOSR impact

§15.1 Introduction — Xn vs N2 Handover

When a UE in RRC_CONNECTED state moves between cells served by different gNBs, the network must coordinate handover across node boundaries. Two distinct signaling paths exist, each defined in a separate 3GPP specification and each carrying different performance characteristics and prerequisites.

Xn HO (TS 38.423) uses the direct gNB-to-gNB Xn interface. The source gNB contacts the target gNB directly — no AMF involvement during the preparation phase — making this the low-latency preferred path. After the UE successfully connects to the target cell, the target gNB performs a PATH SWITCH to redirect the N3 user-plane path via the AMF (TS 38.413). Xn HO requires that the Xn interface between the two gNBs has been established via the NG Setup / gNB Configuration Update TNL address exchange procedure.

N2 HO (TS 38.413) routes all preparation signaling through the AMF. The source sends HANDOVER REQUIRED (N2), the AMF forwards HANDOVER REQUEST to the target, and the target's response travels back via the AMF as HANDOVER COMMAND. Every hop through the AMF adds processing latency — typically 20–40 ms of additional round-trip time. N2 HO is the mandatory fallback when no Xn interface exists between source and target, or when cross-PLMN handover is required.

The selection rule is simple: if the Xn interface to the target gNB is configured and operational, the source gNB uses Xn HO. Otherwise it falls back to N2 HO. From a network operator's perspective, ensuring complete Xn mesh connectivity between all co-sited and geographically adjacent gNBs is the single most impactful configuration step for inter-gNB HOSR.

Fig 15.1 — Xn HO vs N2 HO: Signaling Topology Source gNB TS 38.423 TS 38.413 Target gNB TS 38.423 TS 38.413 AMF / UPF 5GC (TS 38.413) Path switch only Xn-AP HO Req/Ack (TS 38.423 §8.3.1) N2 fallback (HANDOVER REQUIRED → HANDOVER COMMAND via AMF, TS 38.413) PATH SWITCH (post-HO)
Fig 15.1 — Xn HO uses a direct source↔target Xn-AP path (TS 38.423) for preparation; the target performs a PATH SWITCH to AMF after UE connects. N2 HO routes all preparation via AMF (dashed).
Table 15.1 — Xn HO vs N2 HO: Key Attribute Comparison
AttributeXn HO (TS 38.423)N2 HO (TS 38.413)
Preparation pathDirect source → target (Xn-AP)Source → AMF → Target (NGAP)
AMF during prepNot involvedMandatory relay
Typical prep RTT~10–20 ms~30–60 ms
UE interruption time~40–60 ms~80–120 ms
Data forwardingSource → Target (GTP-U)Source → Target via CN tunnel
PrerequisiteXn TNL establishedNone (always available)
Cross-PLMN supportNoYes
UPF anchor switchAfter HO (PATH SWITCH)During HO preparation

§15.2 Xn HO Procedure — Step-by-Step (TS 38.423 §8.3.1)

The Xn HO procedure is defined in TS 38.423 §8.3.1 "Handover Preparation" and §8.3.2 "Handover Execution". The complete message flow involves four protocol layers — RRC (UE↔gNB), Xn-AP (gNB↔gNB), NGAP (gNB↔AMF), and GTP-U (data forwarding) — coordinated across nine distinct steps.

"The Handover Preparation procedure is used to prepare the target NG-RAN node for handover of a UE. The source NG-RAN node sends a HANDOVER REQUEST message to the target NG-RAN node. The HANDOVER REQUEST message contains UE context information and target cell information. The target NG-RAN node shall perform admission control based on the received QoS flows and reply with a HANDOVER REQUEST ACKNOWLEDGE message if it accepts the UE." 3GPP TS 38.423 §8.3.1 — Xn Handover Preparation

The nine steps proceed as follows:

  1. Step 1 — A3/A5 Event Report: The UE sends a MeasurementReport to the source gNB containing the A3 entering condition (neighbor RSRP + a3-Offset exceeds serving RSRP for the TTT duration). The source gNB evaluates the report and decides to initiate HO to the target cell identified in the report.
  2. Step 2 — XnAP HANDOVER REQUEST: The source gNB sends a HANDOVER REQUEST message over the Xn interface to the target gNB. The message carries: UE-X2AP-ID, target cell ID (NR-CGI), UE context (security capabilities, AS security context), QoS flow list with per-flow QoS parameters, PDCP SN status, and the Source-to-Target Transparent Container (containing the source cell RRC config and UE capability information for the target's use in generating the RRC Reconfiguration).
  3. Step 3 — XnAP HANDOVER REQUEST ACKNOWLEDGE: The target gNB performs admission control on each requested QoS flow. If the UE is admitted, it allocates radio resources, generates the target cell RRC configuration, and replies with HANDOVER REQUEST ACKNOWLEDGE. This message contains the Target-to-Source Transparent Container (which includes the RRCReconfiguration message the source must forward to the UE) and the list of accepted QoS flows. Any rejected flows are listed with a cause.
  4. Step 4 — RRC Reconfiguration to UE: The source gNB extracts the RRCReconfiguration from the transparent container and forwards it to the UE in a DL-DCCH message. The message contains mobilityControlInfo specifying the target cell (targetPhysCellId, carrierFreq, RACH configuration for the target). The source starts the T304 timer. Data forwarding from source to target begins at this point.
  5. Step 5 — UE RACH on Target: The UE detaches from the source cell (stops uplink transmissions), tunes to the target cell frequency, and performs RACH (using rach-ConfigDedicated if provided, otherwise contention-based RA). The T304 timer runs on the UE during this period.
  6. Step 6 — RRC Reconfiguration Complete: After successful RACH and timing alignment on the target cell, the UE sends RRCReconfigurationComplete to the target gNB. The T304 timer stops. The UE is now connected to the target cell.
  7. Step 7 — XnAP UE CONTEXT RELEASE: The target gNB sends a UE CONTEXT RELEASE message to the source gNB, signaling that HO is complete and the source can release the UE context (including its radio resources and the data forwarding GTP-U tunnel).
  8. Step 8 — NGAP PATH SWITCH REQUEST: The target gNB sends a PATH SWITCH REQUEST to the AMF over N2, informing the core network that the UE has moved. The message contains the target gNB's N3 endpoint (UPF TEID and IP address) for each PDU session.
  9. Step 9 — NGAP PATH SWITCH REQUEST ACKNOWLEDGE: The AMF coordinates with the SMF/UPF to redirect DL data from the source GTP-U tunnel to the target. Upon completion, the AMF replies with PATH SWITCH REQUEST ACKNOWLEDGE. From this point, new DL data arrives at the target gNB directly from the UPF.
Fig 15.2 — Xn HO Procedure Call Flow (TS 38.423 §8.3.1) UE Source gNB Target gNB AMF/UPF 1. MeasurementReport (A3) TS 38.331 §5.5.5 2. XnAP: HANDOVER REQUEST UE Context + QoS Flows + PDCP SN + Transparent Container (TS 38.423) 3. XnAP: HANDOVER REQUEST ACKNOWLEDGE Target RRC Config + Accepted QoS Flows (TS 38.423) 4. RRC Reconfiguration (mobilityControlInfo) TS 38.331 §5.3.5 T304 Buffered DL PDCP PDUs forwarded (GTP-U) 5. RACH (rach-ConfigDedicated / Contention-Based) TS 38.321 §5.1 6. RRC Reconfiguration Complete (T304 stops) TS 38.331 §5.3.5 7. XnAP: UE CONTEXT RELEASE Source releases UE context + forwarding tunnel (TS 38.423) 8. NGAP: PATH SWITCH REQUEST N3 UPF TEID update (TS 38.413) 9. NGAP: PATH SWITCH REQUEST ACKNOWLEDGE DL data now flows directly from UPF to target gNB (TS 38.413)
Fig 15.2 — Complete Xn HO call flow across four protocol entities. T304 runs on the UE from Step 4 to Step 6. Data forwarding (dashed) begins at Step 4 and is released at Step 7.

§15.3 Data Forwarding and PDCP Re-ordering (TS 38.323 §5.2.1)

During the HO execution gap — the interval between the source gNB sending the RRC Reconfiguration and the target gNB receiving RRC Reconfiguration Complete — DL user-plane data cannot reach the UE on either cell. To prevent packet loss during this gap, the source gNB forwards buffered and in-flight PDCP PDUs to the target gNB via a GTP-U tunnel established over the Xn interface.

"For each DRB for which data forwarding is requested, the source NG-RAN node shall forward PDCP PDUs to the target NG-RAN node using a GTP-U tunnel established over the Xn interface. The source NG-RAN node starts forwarding PDCP PDUs upon sending the RRCReconfiguration message to the UE." 3GPP TS 38.423 §8.3.1 — Data Forwarding over Xn

On the target side, forwarded PDCP PDUs accumulate in the PDCP receive buffer. When the UE completes RACH and sends RRC Reconfiguration Complete, the target gNB starts delivering data to the UE. PDCP re-ordering ensures in-sequence delivery: the PDCP layer holds PDUs with higher SNs until any gap caused by out-of-order forwarding is resolved (within t-Reordering).

PDCP Status Report is used for AM DRBs to inform the transmitting side which PDCP SDUs have been successfully received. After HO, the UE may send a PDCP Status Report to the target gNB, identifying any SNs that were lost in transit. The target gNB uses this to retransmit only the missing PDUs from the forwarded buffer, rather than retransmitting the entire window.

PDCP Hyper Frame Number (HFN) must be synchronized between source and target. The source includes the current PDCP SN and HFN state in the Source-to-Target Transparent Container carried in the XnAP HANDOVER REQUEST. The target initializes its PDCP state from this information, ensuring the COUNT value (HFN || SN) used for ciphering and integrity protection is continuous across the handover boundary.

"Upon receiving the RRCReconfigurationComplete message, if the UE has a PDCP entity configured with header compression and data recovery, the UE shall perform a PDCP data recovery procedure. The PDCP entity shall for each RLC entity associated with the PDCP entity: submit a PDCP Status Report to the lower layers for transmission." 3GPP TS 38.323 §5.2.1 — PDCP Re-establishment and Data Recovery
Fig 15.3 — PDCP Data Forwarding During Xn HO Execution Gap time UPF Source gNB Target gNB RRC Reconfig sent RRC Reconfig Complete PATH SWITCH ACK DL GTP-U (N3) DL GTP-U (N3) — buffered at source PDCP fwd SN=101..140 (GTP-U, Xn) PDCP re-ordered delivery to UE PDCP Status Report (missing SN) DL GTP-U direct to target HO execution gap (T304 running at UE)
Fig 15.3 — During the HO execution gap, the source gNB forwards buffered PDCP PDUs to the target via GTP-U over Xn. After RRC Reconfiguration Complete, the target re-orders and delivers data. UPF DL switches to target gNB only after PATH SWITCH ACK.

§15.4 QoS Flow Handling During Xn HO

QoS flows are the fundamental unit of traffic differentiation in 5G NR. Each PDU session may carry multiple QoS flows, each characterized by a 5QI (5G QoS Identifier), ARP (Allocation and Retention Priority), and — for GBR flows — GFBR (Guaranteed Flow Bit Rate) and MFBR (Maximum Flow Bit Rate) values. The Xn HO procedure must preserve QoS continuity across the handover.

The source gNB includes the full per-flow QoS parameter set in the XnAP HANDOVER REQUEST message, carried in the QoSFlowsToBeForwarded and E-RABs-ToBeSetup-List IEs. The target gNB's admission control evaluates each flow independently:

  • GBR flows (5QI 1–4, 65–67, 71–76, 82–85): The target must admit these flows only if it can guarantee the GFBR. If the target lacks sufficient radio resources, it must reject the GBR flow and report this in the XnAP HANDOVER REQUEST ACKNOWLEDGE using the E-RABs-NotAdmitted-List IE. A rejected GBR flow causes the source gNB to abort HO to this target (or proceed without the flow if the policy allows).
  • Non-GBR flows (5QI 5–9, 69–70, 79–80, 86): These have no guaranteed bit rate requirement. The target gNB may accept them at best-effort, potentially mapping them to a different DRB than the source. Throughput degradation on non-GBR flows during HO is acceptable.
  • After PATH SWITCH ACKNOWLEDGE: The SMF/UPF updates GTP-U TEID endpoints on the N3 interface, redirecting each QoS flow from the source gNB's N3 endpoint to the target's. From this point, the UPF encapsulates DL data using the target's TEID.
Table 15.2 — QoS Flow Handling Rules During Xn HO
Flow Type5QI ExamplesCarried in XnAPTarget AdmissionRejection Action
GBR — Conversational Voice1Yes, with GFBR/MFBRMandatory if resources availableHO aborted or flow dropped
GBR — Conversational Video2Yes, with GFBR/MFBRMandatory if resources availableHO aborted or flow dropped
GBR — Mission Critical Push-to-Talk65, 66Yes, with GFBR/MFBRMandatory (high priority)HO aborted
Non-GBR — IMS Signaling5Yes, QCI onlyBest-effort, always acceptedN/A
Non-GBR — Internet Data8, 9Yes, QCI onlyBest-effort, always acceptedN/A
Non-GBR — V2X79, 80Yes, QCI onlyBest-effort, priority schedulingN/A

§15.5 Xn HO Failure Analysis

Xn HO failures fall into three sequential stages: preparation, execution, and path switch. Each stage has distinct failure modes, root causes, and associated TS 28.552 counters.

15.5.1 Preparation Failure

The target gNB responds with XnAP HANDOVER PREPARATION FAILURE instead of HANDOVER REQUEST ACKNOWLEDGE. The Cause IE specifies the reason, grouped into four categories:

"If the target NG-RAN node is not able to admit the UE, it shall respond with a HANDOVER PREPARATION FAILURE message. The HANDOVER PREPARATION FAILURE message shall include a Cause IE. The Cause IE shall be set to one of the following values: Radio Network, Transport, Protocol, or Miscellaneous." 3GPP TS 38.423 §8.3.1 — Handover Preparation Failure
Table 15.3 — XnAP HANDOVER PREPARATION FAILURE Cause Values
Cause GroupSpecific CauseRoot CauseOptimization Action
Radio NetworkNo Radio Resources AvailableTarget cell overloaded; admission control rejectedLoad balance, add capacity, adjust neighbor list
Radio NetworkUnknown Target CellNR-CGI not recognized at target gNBVerify neighbor cell NR-CGI in ANR / O&M; check gNB config
Radio NetworkUE Not SupportedUE capability mismatch (e.g., band not supported at target)Review UE band and feature capability; update UE context
TransportTransport Resource UnavailableXn TNL congestion or misconfigurationCheck Xn IP routing; increase TNL bandwidth
ProtocolAbstract Syntax Error (Falsely Constructed)IE encoding mismatch between vendorsCheck Xn-AP software version alignment
MiscellaneousUnspecifiedInternal target gNB errorCollect target gNB logs; escalate to vendor

15.5.2 Execution Failure (T304 Expiry)

If the UE cannot complete RACH on the target cell before T304 expires, the UE declares HO failure and initiates RRC re-establishment (TS 38.331 §5.3.7). The UE attempts re-establishment at the source cell first, then any suitable cell. This event is counted as L.HO.InterGNB.Xn.ExecFail.T304.

15.5.3 Path Switch Failure

After the UE successfully connects to the target, the target gNB may fail to complete the PATH SWITCH REQUEST with the AMF (e.g., AMF rejects the request due to PDU session mismatch). In this case, the UE remains connected to the target gNB but the UPF still routes DL data to the source. This creates a data interruption that is invisible to the radio layer. Counter: L.HO.InterGNB.Xn.PathSwitchFail.

Xn HO Failure Stage Decomposition:
Prep Fail Rate = L.HO.InterGNB.Xn.PrepFail / L.HO.InterGNB.Xn.Att × 100%
Exec Fail Rate = L.HO.InterGNB.Xn.ExecFail.T304 / (L.HO.InterGNB.Xn.Att − L.HO.InterGNB.Xn.PrepFail) × 100%
PathSwitch Fail Rate = L.HO.InterGNB.Xn.PathSwitchFail / L.HO.InterGNB.Xn.ExecSucc × 100%
Overall HOSR = L.HO.InterGNB.Xn.ExecSucc / L.HO.InterGNB.Xn.Att × 100%
Fig 15.4 — XnAP HANDOVER REQUEST: Key Information Elements (TS 38.423) XnAP: HANDOVER REQUEST TS 38.423 §9.2.1 UE-XnAP-ID Unique UE identifier at source gNB TargetCell-ID NR-CGI of target cell (PLMN + NCI) QoS Flows List 5QI, ARP, GFBR, MFBR PDCP SN Status TX SN, RX SN, HFN for each DRB Source-to-Target Transparent Container RRC config + UE capability Source Cell RRC Config (SIB, ServCfg) UE Capability Info (bands, features)
Fig 15.4 — Key IEs in the XnAP HANDOVER REQUEST message (TS 38.423 §9.2.1). The Source-to-Target Transparent Container is opaque to the Xn layer and decoded only by the target gNB's RRC entity.

§15.6 Xn Interface Configuration Impact

The Xn interface between two gNBs is established via XnAP Setup Request/Response. Each gNB advertises its TNL (Transport Network Layer) endpoint addresses and the list of served cells (NR-CGIs) it owns. A gNB can have multiple TNL addresses for redundancy, listed in tnlAssociationList.

When a gNB adds or removes cells (e.g., after a software upgrade or new DU commissioning), it must notify all Xn peers via gNB Configuration Update. Failure to send this update leaves peer gNBs with a stale neighbor cell list, causing HO attempts to cells unknown to the Xn peer to fail with "Unknown Target Cell" cause.

Table 15.4 — Xn Interface Configuration: Parameters and Optimization Impact
Parameter / IETS ReferenceDescriptionMisconfiguration Impact
tnlAssociationListTS 38.423 §9.3.5List of TNL addresses (IP+port) for Xn-APSingle address → no redundancy; Xn fails on IP outage
Served NR Cell InfoTS 38.423 §9.3.2NR-CGI + ARFCN + PCI of each served cellStale list → Unknown Target Cell at peer → PrepFail
gNB Configuration UpdateTS 38.423 §8.4Delta update when cells added/removedNot sent → peer has stale config; silent HO failures
Xn Setup Timer (t-RelocOverall)TS 38.423 §9.3.7Max time for HO preparation on XnToo short → PrepFail on loaded targets
Maximum Data Forwarding IntervalTS 38.423 §8.3.1Max time source forwards data to targetToo short → data loss before path switch completes

Xn latency impact on T304: The T304 budget must account for: (a) Xn HANDOVER REQUEST round trip (~10–20 ms), (b) UE processing of RRC Reconfiguration (~5 ms), (c) RACH on target (~10–25 ms depending on PRACH config), and (d) RRC Reconfiguration Complete processing. If Xn RTT is high (e.g., geographically distant gNBs connected over a high-latency backhaul), T304 values must be set accordingly to avoid premature T304 expiry.

T304 Budget Calculation for Xn HO:
T304min = tXn-RTT + tUE-proc + tRACH + tRRC-proc + margin
Typical: T304min = 20 + 5 + 25 + 5 + 10 = 65 ms → select T304 = 100 ms (next standard value)
Standard T304 values (TS 38.331): {50, 100, 150, 200, 500, 1000, 2000} ms

§15.7 Speed-Adaptive Handover (TS 38.331 §5.5.6.2)

UEs traveling at different speeds have very different requirements for handover trigger timing. A UE on a high-speed train at 300 km/h traverses an 800 m inter-site distance in under 10 seconds — the TTT must be short enough to trigger HO before the UE passes the cell boundary. A pedestrian UE at 3 km/h may spend minutes near a cell boundary — a long TTT reduces ping-pong at the cost of slightly slower HO trigger.

TS 38.331 §5.5.6.2 defines speedStateDependScalingParms, which allows the network to configure scaling factors applied to TTT and/or hysteresis based on the UE's detected mobility state. The UE classifies itself into Normal, Medium, or High mobility based on the number of cell reselections or handover events in a configured time window (mediumMobilityStateCriteria and highMobilityStateCriteria).

"The UE shall, when the speedStateDependScalingParms is configured, apply a scaling factor to the time-to-trigger and/or the hysteresis of the event triggering condition. The scaling factor depends on the UE's mobility state, which is evaluated based on the criteria defined in mediumMobilityStateCriteria and highMobilityStateCriteria." 3GPP TS 38.331 §5.5.6.2 — Speed-Dependent Scaling of TTT and Hysteresis
Table 15.5 — Speed-Adaptive Handover Parameters (TS 38.331 §5.5.6.2)
ParameterDescriptionTypical Low-Speed ValueTypical High-Speed Value
sf-Medium (TTT scale)TTT scaling factor in medium mobility state0.75 (reduce TTT by 25%)0.5 (halve TTT)
sf-High (TTT scale)TTT scaling factor in high mobility state0.50.25 (quarter TTT)
sf-Medium (Hyst scale)Hysteresis scaling in medium state1.0 (no change)0.75
sf-High (Hyst scale)Hysteresis scaling in high state1.00.5
nCellChangeMediumHO count threshold for medium mobility3 handovers in 30 s
nCellChangeHighHO count threshold for high mobility6 handovers in 30 s
tEvaluationTime window for mobility state evaluation30 s
Fig 15.5 — Speed-Adaptive TTT: Walking UE (left) vs High-Speed Train (right) Walking UE (~3 km/h) — Long TTT = 320 ms Time (s) RSRP (dBm) Serving Neighbor A3 enter TTT = 320 ms HO trigger High-Speed Train (~300 km/h) — Short TTT = 80 ms Time (s) Serving Neighbor A3 enter TTT=80 ms HO trigger Without short TTT: HO is too-late → RLF
Fig 15.5 — Speed-adaptive TTT. At 3 km/h (left), RSRP curves cross slowly: TTT = 320 ms filters ping-pong without risk of too-late HO. At 300 km/h (right), crossing is rapid: TTT must be scaled to ~80 ms (sf-High = 0.25 applied to 320 ms base) to avoid too-late HO and RLF.

§15.8 TS 28.552 Inter-gNB Xn Counter Family

Table 15.6 — TS 28.552 L.HO.InterGNB.Xn Counter Family
Counter NameDescriptionTrigger PointUnit
L.HO.InterGNB.Xn.AttTotal inter-gNB Xn HO attemptsXnAP HANDOVER REQUEST sent by sourceInteger
L.HO.InterGNB.Xn.PrepSuccPreparation successesXnAP HANDOVER REQUEST ACKNOWLEDGE receivedInteger
L.HO.InterGNB.Xn.PrepFailPreparation failuresXnAP HANDOVER PREPARATION FAILURE receivedInteger
L.HO.InterGNB.Xn.ExecSuccExecution successesXnAP UE CONTEXT RELEASE sent by targetInteger
L.HO.InterGNB.Xn.ExecFail.T304T304 expiry at UET304 timer expiry reported via RLF indicationInteger
L.HO.InterGNB.Xn.ExecFail.RadioLinkFailureRLF during HO executionRLF at target before RRC Reconfig CompleteInteger
L.HO.InterGNB.Xn.PathSwitchSuccPATH SWITCH successesNGAP PATH SWITCH REQUEST ACKNOWLEDGE receivedInteger
L.HO.InterGNB.Xn.PathSwitchFailPATH SWITCH failuresNGAP PATH SWITCH FAILURE received from AMFInteger
Inter-gNB Xn Handover Success Rate (HOSR):
HOSRXn = L.HO.InterGNB.Xn.ExecSucc / L.HO.InterGNB.Xn.Att × 100%

Preparation Success Rate:
PrepSR = L.HO.InterGNB.Xn.PrepSucc / L.HO.InterGNB.Xn.Att × 100%

Execution Success Rate (given prep success):
ExecSR = L.HO.InterGNB.Xn.ExecSucc / L.HO.InterGNB.Xn.PrepSucc × 100%

Target HOSR: ≥ 97.0% (KPI target per TS 28.554 §5.1)
Fig 15.6 — Inter-gNB Xn HOSR Waterfall Decomposition (TS 28.552) 1000 970 930 900 Xn.Att 1000 L.HO.InterGNB .Xn.Att −PrepFail 970 −PrepFail (Xn HO PREP FAIL) −ExecFail.T304 950 −ExecFail.T304 (T304 expiry) −ExecFail.RLF 940 −ExecFail.RLF (RLF at target) −PathSwFail 930 −PathSwFail (PATH SWITCH FAIL) ExecSucc 930 Xn.ExecSucc HOSR = 93% Target ≥97%
Fig 15.6 — Xn HO waterfall: 1000 attempts reduced to 930 successes (93% HOSR) through four failure modes. Target ≥97% is not met — each bar identifies the XnAP/NGAP message associated with that failure stage.

§15.9 Xn HO vs Intra-gNB Comparison

Table 15.7 — Intra-gNB HO vs Inter-gNB Xn HO: Attribute Comparison
AttributeIntra-gNB HOInter-gNB Xn HO
Signaling pathInternal to gNB (CU-CP)External: Xn-AP + NGAP path switch
Inter-node messages0 (RRC only)2 Xn-AP + 2 NGAP = 4 messages
Path switch requiredNo (UPF tunnel unchanged)Yes (NGAP PATH SWITCH REQUEST)
Data forwardingNot neededRequired via GTP-U over Xn
Typical prep latency<5 ms (internal)10–20 ms (Xn RTT)
T304 typical value100–200 ms150–500 ms (depends on Xn RTT)
UE interruption time~20–30 ms~40–60 ms
Failure modesT304 expiry, RLFPrepFail + T304 + RLF + PathSwitchFail
HOSR target (TS 28.554)≥98.5%≥97.0%
PDCP HFN sync neededNo (same PDCP entity)Yes (via transparent container)
Counter familyL.HO.ExecSucc / L.HO.AttL.HO.InterGNB.Xn.ExecSucc / Att

§15.10 Optimization Checklist

The following checklist addresses the ten most impactful inter-gNB Xn HO optimization actions, derived from the failure modes and configuration parameters analyzed in this chapter.

Table 15.8 — Inter-gNB Xn HO Optimization Checklist
#ActionCounter / ParameterExpected Improvement
1Verify Xn interface is established between all co-sited and adjacent gNBs; resolve missing TNL entriesL.HO.InterGNB.Xn.PrepFail (Unknown Cell)Eliminate N2 fallback HO; reduce interruption time by ~40–60 ms
2Send gNB Configuration Update after any cell add/remove; verify peer gNBs acknowledge updated cell listXnAP: gNB Configuration Update (TS 38.423 §8.4)Eliminates "Unknown Target Cell" PrepFail
3Set T304 ≥ max(Xn RTT + RACH time + margin); use 150–300 ms for high-latency Xn linksL.HO.InterGNB.Xn.ExecFail.T304; TS 38.331 t304Reduce T304 expiry rate by 50–80%
4Configure rach-ConfigDedicated in mobilityControlInfo for contiguous coverage areas to eliminate contention-based RACH delayL.HO.InterGNB.Xn.ExecFail.T304; RACH timingReduce RACH duration from ~25 ms to ~5 ms
5Enable speedStateDependScalingParms: sf-High ≤ 0.25 for high-speed rail corridorsL.HO.InterGNB.Xn.ExecFail.T304 (high-speed RLF)Eliminate too-late HO events at 300+ km/h
6Review admission control thresholds at top-5 target cells by PrepFail rate; check PDSCH utilization PRBL.HO.InterGNB.Xn.PrepFail (No Radio Resources)Reduce "No Radio Resources" PrepFail by load balancing
7Configure PDCP data forwarding timer ≥ path switch completion time to prevent data loss before UPF switchL.HO.InterGNB.Xn.PathSwitchFail; DL throughput dipEliminate post-HO DL data gap due to premature forwarding stop
8Audit tnlAssociationList for dual TNL addresses per gNB (IP redundancy) on Xn transportL.HO.InterGNB.Xn.PrepFail (Transport)Eliminate single-point Xn failures on IP link outages
9Verify PDCP SN length matches between source and target (12-bit vs 18-bit configuration per DRB)PDCP HFN sync failure; ciphering errors post-HOEliminate PDCP deciphering failures after HO
10Monitor L.HO.InterGNB.Xn.PathSwitchFail; correlate with AMF load and N2 congestion indicatorsL.HO.InterGNB.Xn.PathSwitchFail; NGAP N2 loadIdentify AMF overload contributing to path switch failures

§15.11 Worked Numerical Examples

Example 15.1 — Inter-gNB Xn HOSR Calculation and Stage Decomposition

Given: In a one-hour busy-hour measurement window, counters from a source gNB report:

  • L.HO.InterGNB.Xn.Att = 2,400
  • L.HO.InterGNB.Xn.PrepFail = 72 (cause: 60 × No Radio Resources; 12 × Unknown Target Cell)
  • L.HO.InterGNB.Xn.ExecFail.T304 = 36
  • L.HO.InterGNB.Xn.ExecFail.RadioLinkFailure = 12
  • L.HO.InterGNB.Xn.PathSwitchFail = 6

Step 1 — Overall HOSR:

ExecSucc = Att − PrepFail − ExecFail.T304 − ExecFail.RLF − PathSwitchFail
ExecSucc = 2400 − 72 − 36 − 12 − 6 = 2274
HOSR = 2274 / 2400 × 100% = 94.75% (below 97% target)

Step 2 — Stage decomposition:

PrepFail Rate = 72/2400 = 3.0% → dominant: No Radio Resources at target
ExecFail.T304 Rate = 36/2328 = 1.55% → T304 or coverage gap issue
ExecFail.RLF Rate = 12/2292 = 0.52% → acceptable
PathSwitch Fail Rate = 6/2274 = 0.26% → low; investigate AMF N2 errors

Conclusion: Prep failures (3.0%) dominate. Audit top-5 target cells by PrepFail count, check their PDSCH PRB utilization and admission control settings.

Example 15.2 — T304 Minimum Value Calculation for High-Latency Xn

Scenario: Two gNBs are connected over a microwave backhaul with measured Xn one-way latency of 18 ms (RTT = 36 ms). PRACH configuration gives maximum random access wait of 20 ms. UE processing delay = 6 ms each way. Required margin = 15 ms.

T304 minimum calculation:

tprep = Xn RTT = 36 ms (HANDOVER REQUEST round-trip)
tUE-proc = 6 ms (UE receives and processes RRC Reconfiguration)
tRACH = 20 ms (maximum PRACH attempt wait)
tRRC-complete = 5 ms (target processes RRC Reconfiguration Complete)
margin = 15 ms
T304min = 36 + 6 + 20 + 5 + 15 = 82 ms

Selection: Next standard T304 value above 82 ms = 100 ms (from TS 38.331 enumeration: {50, 100, 150, 200, 500, 1000, 2000} ms). Set T304 = 100 ms for this Xn link pair.

Note: If T304 had been left at the default 50 ms, ~30% of HOs over this backhaul link would expire T304 and cause re-establishment, directly inflating L.HO.InterGNB.Xn.ExecFail.T304.

Example 15.3 — Speed-Adaptive TTT for 300 km/h Train Corridor

Scenario: A high-speed rail corridor has ISD = 800 m. Cells use a3-Offset = 3 dB, base TTT = 320 ms. At 300 km/h, the UE covers approximately 83 m per second. The time from A3 condition entering to the cell boundary is measured as approximately 1.2 seconds (based on RSRP slope analysis from drive test data).

A3 enter to HO trigger time analysis:

Base TTT = 320 ms
UE speed = 300 km/h = 83.3 m/s
Distance covered during TTT = 83.3 × 0.320 = 26.7 m
Available distance before boundary crossing ≈ 50 m (A3 enters ~50 m before boundary)
Time remaining after A3 trigger = 50 / 83.3 = 0.60 s = 600 ms

With base TTT = 320 ms, HO triggers at 600 − 320 = 280 ms before boundary. This leaves some margin but during peak network load this could be marginal. Apply speed-adaptive scaling:

sf-High = 0.25 (configured)
Effective TTThigh = 320 × 0.25 = 80 ms
Trigger margin = 600 − 80 = 520 ms before boundary crossing

Result: With sf-High = 0.25, the HO triggers 520 ms before boundary — well within the safe zone — eliminating too-late HO RLF events that were occurring at 300 km/h when using the base TTT of 320 ms.

Example 15.4 — PDCP Forwarding Window and Data Loss Estimation

Scenario: A 1 Gbps DL throughput UE undergoes Xn HO. The HO execution gap (T304 running) is 50 ms. The PATH SWITCH completes 30 ms after RRC Reconfiguration Complete. Forwarding timer is set to 80 ms (covers execution gap + path switch).

Data buffered at source during execution gap:

DL rate = 1 Gbps = 125 MB/s
Execution gap = 50 ms
Data buffered = 125 MB/s × 0.050 s = 6.25 MB of PDCP PDUs queued for forwarding
Xn forwarding capacity required = 6.25 MB / (forwarding window = 80 ms) = 78 MB/s = 625 Mbps

Conclusion: For a 1 Gbps UE, the Xn interface must support at least 625 Mbps of forwarding traffic during HO execution. If Xn bandwidth is limited to 100 Mbps, only ~0.8 MB of data can be forwarded, leaving ~5.45 MB potentially lost. This motivates either (a) Xn uplink capacity dimensioning for peak forwarding load or (b) reducing HO execution gap via dedicated RACH and lower T304.

Chapter Summary

Inter-gNB Xn handover is the preferred inter-node HO path in 5G NR when the Xn interface is established. The nine-step procedure (TS 38.423 §8.3.1) achieves lower UE interruption time than N2 HO by bypassing AMF involvement during preparation. Key engineering decisions include T304 dimensioning against Xn RTT, PDCP forwarding window sizing against DL throughput, and admission control threshold tuning at target cells to minimize PrepFail. Speed-adaptive TTT via speedStateDependScalingParms is essential for high-speed rail scenarios where the base TTT would produce too-late HO and RLF. The TS 28.552 L.HO.InterGNB.Xn counter family provides four-stage failure decomposition (PrepFail, ExecFail.T304, ExecFail.RLF, PathSwitchFail) that directly guides optimization priority. Target HOSR is ≥97.0% per TS 28.554.

Page 15
Chapter 16

Inter-gNB Handover via N2/NGAP

Complete 3GPP procedure analysis: NGAP HANDOVER REQUIRED/REQUEST/COMMAND signaling through the AMF, security context and NH-chain transfer, PDU session partial admission, T304 failure on N2 path, inter-system NR-to-LTE fallback, path switch via N4, and TS 28.552 L.HO.InterGNB.N2 counter-based HOSR decomposition — all from first principles

3GPP TS 38.413 §8.4.2 · TS 38.331 §5.3.5 · TS 23.502 §4.9.1 · TS 28.552
📐 10 sections 🔢 10 equations 📋 8 tables 🧪 4 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Identify the precise conditions under which the network selects the N2 handover path instead of Xn — missing Xn interface, cross-PLMN scenario, or inter-RAT trigger
  2. Trace all ten NGAP signaling steps of the TS 38.413 §8.4.2 N2 HO procedure from HANDOVER REQUIRED through UE CONTEXT RELEASE COMMAND
  3. Explain how the AMF derives a new KgNB* during N2 HO using the NH chaining counter (NCC) and why no Security Mode Command is needed
  4. Describe PDU session handling in NGAP HANDOVER REQUEST, including partial admission where the target gNB rejects individual sessions for insufficient resources
  5. Classify N2 HO failure modes across preparation, execution, and path-switch stages, mapping each to the NGAP cause code and TS 28.552 counter
  6. Quantify the N2 HO latency penalty versus Xn HO and explain why T304 should be set to 2000 ms for N2 scenarios
  7. Describe the 5GS-to-EPS inter-system handover trigger (B2 event), the role of the MME, and the key re-derivation from 5G to 4G context
  8. Compute Inter-gNB N2 HOSR from TS 28.552 counters and identify the dominant failure contributor from NGAP cause code analysis

§16.1 Introduction — When N2 HO Is Used

The N2 handover procedure (formally specified in TS 38.413 §8.4.2) is the mandatory fallback path when the source gNB cannot reach the target gNB via the Xn interface. Unlike Xn HO — which completes preparation in a single direct gNB-to-gNB exchange — N2 HO routes every preparation message through the Access and Mobility Management Function (AMF), adding two additional message round-trips and typically 30–60 ms of extra latency.

Three distinct conditions trigger the N2 path instead of Xn:

  1. No Xn interface established: The source gNB has no TNL address configured for the target gNB. This is the most common cause in early deployments, where Xn mesh peering is incomplete. The source gNB detects the absence of an Xn path from its neighbour list and immediately escalates to N2 HANDOVER REQUIRED.
  2. Different PLMN or CN slice affinity: Even if a physical Xn connection exists, if the target cell belongs to a different operator or if the UE's network slice selection requires a different AMF, the handover must traverse the CN for proper AMF selection, context transfer, and slice re-association. TS 23.502 §4.9.1.2 mandates AMF involvement whenever the AMF needs to change.
  3. Inter-system (inter-RAT) handover: When the UE transitions from 5G NR SA to LTE EPS — triggered by a B2 measurement event — the gNB cannot reach the target eNB via Xn (which is a 5G interface only). The 5GS-to-EPS procedure defined in TS 23.502 §4.9.1.3 routes the handover through AMF → MME → target eNB.

A fourth scenario occurs when the target gNB rejects an Xn HO preparation request (XnAP HANDOVER PREPARATION FAILURE). In that case the source gNB may retry the same handover over N2, with the AMF potentially selecting a different target cell or a target served by a different AMF.

"The source NG-RAN node initiates the handover preparation phase by sending a HANDOVER REQUIRED message to the AMF. The HANDOVER REQUIRED message shall include the target ID, the source to target transparent container, and the direct forwarding path availability information." — TS 38.413 §8.4.2.2
Fig 16.1 — N2 HO Decision Flow: A3/A5 Event to HO Path Selection A3 / A5 Event Measurement report triggers HO decision check Xn Xn path to target? YES Xn HO TS 38.423 §8.3.1 Low latency path NO N2 HO via AMF — TS 38.413 §8.4.2 Xn PREP FAILURE → fallback to N2
Fig 16.1 — Decision logic at the source gNB: a measurement report triggers HO decision; if an Xn path exists the network uses Xn HO (TS 38.423); otherwise N2 HO via AMF (TS 38.413) is mandatory. Xn HANDOVER PREPARATION FAILURE also triggers N2 retry.

§16.2 N2 HO Procedure — Step-by-Step (TS 38.413 §8.4.2)

The N2 handover procedure involves four network entities: the UE, the source gNB, the AMF, and the target gNB. The procedure is divided into three phases: preparation (steps 1–4), execution (steps 5–7), and completion (steps 8–10).

Preparation Phase

  1. HANDOVER REQUIRED (source gNB → AMF): The source gNB sends this NGAP message containing the HandoverType (intra5GS, fiveGStoEPS, etc.), Cause, TargetID (target gNB/TAI), and the SourceToTarget-TransparentContainer (carrying the RRC Reconfiguration that the target should embed in its response). The source also includes DirectForwardingPathAvailability if a GTP-U forwarding tunnel can be established directly.
  2. HANDOVER REQUEST (AMF → target gNB): The AMF forwards a HANDOVER REQUEST to the target gNB, adding the UE security context (including the new KgNB* key and NCC value), UE Aggregate Maximum Bit Rate (UE-AMBR), the list of PDU session resources to be set up (with QoS profiles for each QoS flow), and the SourceToTarget-TransparentContainer.
  3. HANDOVER REQUEST ACKNOWLEDGE (target gNB → AMF): If the target gNB can admit the UE, it responds with the TargetToSource-TransparentContainer (which includes the RRC Reconfiguration for the UE) and a list of PDU session resources that were successfully set up. Sessions the target cannot accommodate are listed in PDUSessionResourceFailedToSetupList with an appropriate cause.
  4. HANDOVER COMMAND (AMF → source gNB): The AMF forwards the target's response as a HANDOVER COMMAND to the source gNB, including the TargetToSource-TransparentContainer and the list of PDU sessions that were admitted.

Execution Phase

  1. RRC Reconfiguration (source gNB → UE): The source gNB extracts the RRC Reconfiguration message from the TargetToSource-TransparentContainer and forwards it to the UE. This message contains mobilityControlInfo with the target cell's physCellId, carrierFreq, radioResourceConfigCommon, and the new security key material (NCC). T304 is started at the UE.
  2. RACH + RRC Reconfiguration Complete (UE → target gNB): The UE performs a contention-based or contention-free RACH (using a dedicated preamble if provided), synchronises to the target cell, and sends RRC Reconfiguration Complete via the target gNB. T304 is stopped.
  3. HANDOVER NOTIFY (target gNB → AMF): The target gNB informs the AMF that the UE has successfully accessed the target cell. This message includes the E-UTRAN Cell Global Identifier (ECGI) or NR Cell Global Identifier (NCGI) of the serving cell.

Completion Phase

  1. Path Switch / N4 update (AMF → SMF → UPF): The AMF triggers the SMF to update the N4 session at the UPF, redirecting downlink data from the source gNB's N3 anchor to the target gNB's N3 anchor. This is the user-plane path switch that eliminates the forwarding tunnel.
  2. UE CONTEXT RELEASE COMMAND (AMF → source gNB): After the path switch is confirmed, the AMF instructs the source gNB to release the UE context. This also triggers the source to stop data forwarding.
  3. UE CONTEXT RELEASE COMPLETE (source gNB → AMF): The source gNB confirms that the UE context has been released and all radio resources have been freed.
Fig 16.2 — N2 HO Complete Call Flow (TS 38.413 §8.4.2) UE Source gNB TS 38.413 AMF TS 23.502 Target gNB TS 38.413 1. HANDOVER REQUIRED 2. HANDOVER REQUEST (KgNB*, NCC, QoS profiles, PDU sessions) 3. HO REQUEST ACKNOWLEDGE (target RRC config, admitted PDU sessions) 4. HANDOVER COMMAND — Execution Phase — 5. RRC Reconfiguration (mobilityControlInfo, NCC) T304 6a. RACH (contention-free preamble) 6b. RRC Reconfiguration Complete 7. HANDOVER NOTIFY 8. N4 Path Switch (SMF→UPF) 9. UE CONTEXT RELEASE COMMAND 10. UE CONTEXT RELEASE COMPLETE Preparation Steps 1–4 ~60–100 ms Execution Steps 5–7 T304 active Completion Steps 8–10 Path switch
Fig 16.2 — Complete N2 HO call flow (TS 38.413 §8.4.2). Four entities: UE, source gNB, AMF, target gNB. The AMF acts as coordinator for all 10 steps, adding 2 extra round-trips versus Xn HO. T304 bracket shows the UE-side timer active during execution phase.

§16.3 Security Context Transfer

Security key management during N2 HO differs fundamentally from intra-gNB handover. The AMF — not the gNB — derives the new base key for the target gNB. This design ensures the target gNB cannot be used to retroactively decrypt traffic that was encrypted under the source gNB's keys (forward secrecy).

NH Chaining and NCC

The 5G AS security architecture uses a chain of Next Hop (NH) keys maintained at the AMF. Each NH value is a one-way derivation from the preceding NH, indexed by the NH Chaining Counter (NCC). The AMF increments NCC at each handover and includes both NH and NCC in the NGAP HANDOVER REQUEST.

"The AMF shall derive a new KgNB* based on the current NH and include the {NH, NCC} pair in the HANDOVER REQUEST message to the target NG-RAN node. The NCC shall be incremented with each handover preparation." — TS 33.501 §6.9.3.2 (referenced in TS 38.413)
KgNB* derivation (TS 33.501 §A.11):

KgNB* = KDF(NH, PCItarget, DL-ARFCNtarget)

where KDF = HMAC-SHA-256, NH = Next Hop key (256-bit), PCItarget = Physical Cell Identity of target cell, DL-ARFCNtarget = downlink ARFCN of target cell
NH chaining (TS 33.501 §A.12):

NHn+1 = KDF(KAMF, NHn)

NCCn+1 = NCCn + 1 (mod 8)

The target gNB uses the delivered KgNB* to derive the PDCP encryption and integrity keys (KRRCenc, KRRCint, KUPenc, KUPint) without any further interaction with the AMF. Because the UE performs the same KgNB* derivation locally using the NCC value in the RRC Reconfiguration, no Security Mode Command is needed during the handover — key synchronisation is implicit.

Fig 16.3 — N2 HO Security: NH Chaining and KgNB* Derivation AMF (5GC) NH₀ / NCC=0 from K_AMF NH₁ / NCC=1 KDF(K_AMF, NH₀) NH₂ / NCC=2 KDF(K_AMF, NH₁) NGAP HO REQUEST {NH₂, NCC=2} KgNB* derivation KDF(NH₂, PCI_tgt, ARFCN_tgt) at Target gNB PDCP/RRC Keys KRRCenc (encryption) KRRCint (integrity) KUPenc (UP encrypt) KUPint (UP integrity) UE: same derivation KDF(NH₂, PCI_tgt, ARFCN_tgt) NCC in RRC Reconfig No Security Mode Command needed — keys sync via NCC in mobilityControlInfo
Fig 16.3 — NH chaining at the AMF and KgNB* derivation at the target gNB. The UE independently derives the same KgNB* using the NCC value carried in the RRC Reconfiguration message, ensuring key synchronisation without a Security Mode Command round-trip.

§16.4 PDU Session Handling in N2 HO

Each PDU session active at the source gNB must be listed in the NGAP HANDOVER REQUEST. The target gNB independently evaluates whether it has sufficient resources to admit each PDU session and its associated QoS flows.

Admission and Partial Accept

TS 38.413 §8.4.2.2 permits partial admission: the target gNB may accept a subset of the requested PDU sessions and reject others. Sessions are rejected by including them in the PDUSessionResourceFailedToSetupListHOReq IE with a cause value (e.g., "insufficient radio resources", "no radio resources available in target cell").

"If the Target NG-RAN node is not able to establish all the PDU Session Resources indicated in the HANDOVER REQUEST message, it should, if possible, establish a subset of the PDU Session Resources. The PDU session resources for which the handover preparation failed shall be included in the PDUSessionResourceFailedToSetupListHOReq IE." — TS 38.413 §8.4.2.2

The UE is informed of rejected PDU sessions via the drb-ToReleaseList or a dedicated IE in the RRC Reconfiguration message embedded in the HANDOVER COMMAND. Applications using rejected PDU sessions will experience a brief service interruption until PDU session re-establishment after the handover completes.

GBR Flow Handling

Guaranteed Bit Rate (GBR) QoS flows — such as those carrying VoNR voice media — receive priority treatment. The target gNB must either admit GBR flows at the requested GBR or reject them entirely. Partial admission of a GBR flow (admitting at a lower bit rate) is not permitted under TS 23.501 §5.7.3.

Example 16.1 — PDU Session Partial Admission

A UE has 3 active PDU sessions at the source gNB:

  • PDU Session 1 (5QI=1, VoNR, GBR=64 kbps UL/DL)
  • PDU Session 2 (5QI=9, Internet, non-GBR, max BR=500 Mbps)
  • PDU Session 3 (5QI=2, Video call, GBR=2 Mbps UL/DL)

Target gNB has a heavily loaded PRB utilisation of 87%. It admits PDU Session 1 (GBR=64 kbps — low overhead) and PDU Session 2 (non-GBR — served on best-effort basis). It rejects PDU Session 3 (GBR=2 Mbps — exceeds available GBR capacity).

The HO REQUEST ACK includes:

  • PDUSessionResourceSetupListHOReq: {PSI=1, PSI=2}
  • PDUSessionResourceFailedToSetupListHOReq: {PSI=3, Cause="Insufficient radio resources"}

The UE's video call (PSI=3) drops at handover. The voice call (PSI=1) and browsing (PSI=2) continue without interruption.

§16.5 N2 HO Failure Modes

N2 HO has more failure points than Xn HO because each message traverses the AMF. Table 16.1 maps each failure stage to the NGAP message, cause code, and observable counter.

Table 16.1 — N2 HO Failure Modes and NGAP Cause Codes

Stage Failure Event NGAP Message Cause Code (TS 38.413 §9.3.1.2) TS 28.552 Counter
Preparation AMF rejects HO HANDOVER PREPARATION FAILURE Unspecified / No radio resources available in target cell L.HO.InterGNB.N2.PrepFail
Preparation Target gNB unreachable HANDOVER PREPARATION FAILURE Unknown target ID L.HO.InterGNB.N2.PrepFail
Preparation Target rejects all PDU sessions HO REQUEST ACK (empty session list) Insufficient radio resources L.HO.InterGNB.N2.PrepFail
Execution T304 expiry at UE RRC Re-establishment / re-attempt — (UE-side, no NGAP cause) L.HO.InterGNB.N2.ExecFail.T304
Execution RACH failure on target cell RRC Re-establishment — (radio failure) L.HO.InterGNB.N2.ExecFail.RadioLinkFailure
Execution HO NOTIFY not received (timer) HANDOVER CANCEL (source→AMF) Handover failure in target NG-RAN or target system L.HO.InterGNB.N2.ExecFail.RadioLinkFailure
Path Switch UPF update fails N4 Session Modification Failure (S/P-GW) UPF issue (5GC internal) L.HO.InterGNB.N2.PathSwitchFail
Path Switch UPF DL data delivery failure — (silent from RAN perspective) L.HO.InterGNB.N2.PathSwitchFail

Table 16.2 — NGAP Cause Values (TS 38.413 §9.3.1.2) Used in N2 HO

Cause Group Cause Value Typical N2 HO Context
RadioNetworkunspecified (0)Generic target RAN failure
RadioNetworkunknown-target-ID (3)Target gNB not registered to AMF
RadioNetworkno-radio-resources-available-in-target-cell (6)PRB/power overload at target
RadioNetworkhandover-failure-in-target-NG-RAN-or-target-system (20)T304 expiry, target RACH fail
RadioNetworkho-target-not-allowed (39)Policy-blocked target (slicing mismatch)
Transporttransport-resource-unavailable (0)N2 interface congestion at AMF
NASnormal-release (0)AMF-initiated HO cancel post-notify
Protocolsemantic-error (0)Malformed source-to-target container
Mischardware-failure (1)Target gNB board fault
Miscom-intervention (2)Maintenance lock on target cell

§16.6 N2 vs Xn HO — Performance Comparison

The key performance difference between N2 and Xn HO is the additional message round-trips through the AMF. While Xn HO requires only one preparation round-trip (source→target, target→source), N2 HO requires three (source→AMF, AMF→target, target→AMF→source). Each AMF hop adds 10–20 ms processing and transport delay in a well-optimised network.

N2 HO Preparation Latency:

Tprep,N2 = THO_REQ + TAMF_proc1 + THO_REQ_ACK + TAMF_proc2 + THO_CMD

Typical: Tprep,N2 ≈ 20 + 15 + 20 + 15 + 15 = 85 ms

Xn HO Preparation Latency:

Tprep,Xn = TXnAP_HO_REQ + Ttgt_proc + TXnAP_HO_ACK

Typical: Tprep,Xn ≈ 10 + 5 + 10 = 25 ms
Fig 16.4 — N2 vs Xn HO Preparation Latency Breakdown Xn HO (~25 ms) Xn HO REQ 10 ms Proc 5ms Xn HO ACK 10 ms Total: ~25 ms N2 HO (~85 ms) HO REQ'D 20 ms AMF 15ms HO REQUEST 20 ms tgt 10ms HO REQ ACK 20 ms AMF 15ms HO CMD 15 ms Total: ~85 ms (3.4× Xn) N2 transport hop AMF processing Target gNB processing T304 must be ≥ 2000 ms for N2 path to account for preparation + execution latency
Fig 16.4 — Preparation latency comparison: Xn HO completes in ~25 ms (1 round-trip); N2 HO requires ~85 ms (3 round-trips, 2 AMF processing intervals). The 3.4× latency penalty directly affects T304 dimensioning requirements.

Table 16.3 — N2 vs Xn HO Performance Benchmark

Parameter Xn HO (TS 38.423) N2 HO (TS 38.413) Notes
Preparation message round-trips13AMF adds 2 extra hops
Typical prep latency20–30 ms60–100 msDepends on AMF load and N2 RTT
AMF involvement in prepNoYes (mandatory)AMF derives new KgNB*
T304 recommended value1000 ms2000 msTS 38.331 Table 6.3.2.4-1
Typical HOSR97–99%95–97%More failure points in prep
Data forwarding mechanismDirect GTP-U tunnel (source→target)Direct GTP-U tunnel (source→target)Identical for both paths
Path switch after HOPATH SWITCH REQUEST via AMFHANDOVER NOTIFY + N4 update via AMFBoth terminate at UPF
Security key derivationgNB derives KgNB* locallyAMF derives KgNB* and sends to targetForward secrecy maintained in both

Example 16.2 — T304 Dimensioning for N2 HO

A network has mixed Xn/N2 HO topology. The engineer must select T304 for cells that have both Xn and N2 neighbours.

Scenario A (Xn HO): Preparation latency = 25 ms. UE RACH at target = 10 ms. RRC Reconfig Complete = 5 ms. Total = 40 ms. T304 = 500 ms provides 12.5× safety margin. Acceptable.

Scenario B (N2 HO): Preparation latency = 85 ms. UE RACH at target = 10 ms. RRC Reconfig Complete = 5 ms. Total = 100 ms. T304 = 500 ms provides only 5× margin — marginal under load spikes. T304 = 2000 ms recommended.

Conclusion: If the same cell may fall back to N2 HO, set T304 = 2000 ms globally. The penalty for Xn HO is negligible (2000 ms >> 40 ms) while the protection for N2 HO is essential. TS 38.331 §5.3.5.4 mandates T304 values must be configured in the mobilityControlInfo of the RRC Reconfiguration.

§16.7 Inter-System Handover: 5G NR → LTE (TS 23.502 §4.9.1.3)

When a UE operating in 5G SA mode moves to poor 5G NR coverage, or when a voice call requires EPS Fallback, the network may trigger an inter-system handover from NR to LTE. This is fundamentally an N2 HO variant where the target is not another gNB but an LTE eNB connected to the EPC (via S1) or to the 5GC (via N26).

B2 Measurement Event Trigger

The standard trigger for NR-to-LTE inter-system HO is the B2 event (TS 38.331 §5.5.4.11): the serving NR cell falls below threshold 1 (T1) AND the target LTE cell exceeds threshold 2 (T2). The gNB evaluates this condition with the TimeToTrigger and hysteresis parameters from the measurement configuration.

B2 Trigger Condition (TS 38.331 §5.5.4.11):

Mn + Hys < Thresh1 AND Mp − Hys > Thresh2

where Mn = NR serving cell measurement (RSRP or RSRQ), Mp = LTE neighbour measurement, Hys = hysteresis, Thresh1 = inter-RAT threshold 1, Thresh2 = inter-RAT threshold 2

5GS-to-EPS Procedure

TS 23.502 §4.9.1.3 defines the procedure when the 5GC has an N26 interface to the MME. The signaling path is: source NR gNB → AMF (N2) → MME (N26) → target LTE eNB (S1).

"If the source AMF decides to perform a handover from 5GS to EPS, the source AMF shall send a Forward Relocation Request message to the MME. The Forward Relocation Request shall include the EPS MM Context, the EPS Bearer Context, the Source RAN node Transparent Container, and the Target ID." — TS 23.502 §4.9.1.3.2
Fig 16.5 — 5G NR → LTE Inter-System Handover (TS 23.502 §4.9.1.3) UE NR gNB (5G SA) AMF (5GC) MME (EPC) LTE eNB (EPS target) 1. B2 Meas Report 2. NGAP HO REQUIRED (InterRAT→LTE) 3. Fwd Relocation Request (N26) 4. S1AP HO Request 5. Fwd Relocation Response 6. NGAP HO COMMAND 7. RRC Reconfig (LTE target params) 8. UE accesses LTE target cell (RACH + LTE RRC Reconfiguration Complete)
Fig 16.5 — 5G NR to LTE inter-system handover (TS 23.502 §4.9.1.3). The AMF-MME N26 interface carries the Forward Relocation Request/Response. The S1AP interface connects the MME to the target LTE eNB. Step 8 marks the UE completing LTE access, terminating the 5G context.

Table 16.4 — Inter-RAT HO Security: 5G to 4G Key Mapping

5G Context Key Derived 4G Key Derivation Input 3GPP Ref
K_AMF (256-bit)K_ASME (256-bit)KDF(K_AMF, NAS count, SQN)TS 33.501 §A.17
K_gNB (256-bit)KeNB (256-bit)KDF(K_ASME, HFN, SN)TS 33.501 §A.17
NCC (3-bit)not applicableIncluded in LTE RRC reconfigTS 33.501 §6.9.3
KRRCenc (NR)KRRCenc (LTE)Re-derived from KeNBTS 33.401 §7.3
KUPenc (NR)KUPenc (LTE)Re-derived from KeNBTS 33.401 §7.3

§16.8 TS 28.552 N2 HO Counter Family

TS 28.552 defines the performance measurement counters for the N2 HO procedure. These counters are incremented at the source gNB and are collected per-cell or per-gNB depending on the measurement granularity configured at the Operations Support System (OSS).

Table 16.5 — TS 28.552 L.HO.InterGNB.N2 Counter Definitions

Counter Name (TS 28.552) Trigger Event Measurement Object Incremented At
L.HO.InterGNB.N2.Att NGAP HANDOVER REQUIRED sent by source gNB Source NR cell (NCGI) Source gNB
L.HO.InterGNB.N2.PrepSucc NGAP HANDOVER COMMAND received from AMF Source NR cell Source gNB
L.HO.InterGNB.N2.PrepFail NGAP HANDOVER PREPARATION FAILURE received, or no response before timer Source NR cell Source gNB
L.HO.InterGNB.N2.ExecSucc NGAP HANDOVER NOTIFY sent by target gNB (from target gNB perspective) OR UE CONTEXT RELEASE COMMAND received at source Source NR cell Source gNB
L.HO.InterGNB.N2.ExecFail.T304 T304 expiry at UE (UE reports via RRC re-establishment) Source NR cell Source gNB (inferred from re-estab)
L.HO.InterGNB.N2.ExecFail.RadioLinkFailure Radio failure during execution phase (no HO NOTIFY received) Source NR cell Source gNB
L.HO.InterGNB.N2.PathSwitchSucc N4 path switch successful (UPF redirected to target gNB N3 anchor) Target NR cell Target gNB
L.HO.InterGNB.N2.PathSwitchFail N4 path switch failure (UPF update rejected by SMF/UPF) Target NR cell Target gNB
L.HO.InterRAT.NR2LTE.Att NR-to-LTE inter-RAT HO attempted (B2 event → NGAP HO REQUIRED with HO type = fiveGStoEPS) Source NR cell Source gNB
L.HO.InterRAT.NR2LTE.Succ UE successfully connects to target LTE cell (NGAP UE CONTEXT RELEASE received at source) Source NR cell Source gNB

N2 HO KPI Formulas

N2 HO Success Rate (HOSR):

N2-HOSR = L.HO.InterGNB.N2.ExecSucc / L.HO.InterGNB.N2.Att × 100%

Target: ≥ 95% (TS 28.552 threshold; lower than Xn due to additional signaling steps and AMF involvement)
N2 HO Preparation Success Rate:

N2-PrepSR = L.HO.InterGNB.N2.PrepSucc / L.HO.InterGNB.N2.Att × 100%

Target: ≥ 97%
N2 HO Execution Success Rate (conditional on prep success):

N2-ExecSR = L.HO.InterGNB.N2.ExecSucc / L.HO.InterGNB.N2.PrepSucc × 100%

Target: ≥ 98%
T304 Failure Rate (of executed handovers):

T304-FR = L.HO.InterGNB.N2.ExecFail.T304 / L.HO.InterGNB.N2.PrepSucc × 100%

Alarm threshold: > 1%

Example 16.3 — N2 HO KPI Computation from Counter Snapshot

A gNB reports the following hourly PM counter values:

  • L.HO.InterGNB.N2.Att = 4,200
  • L.HO.InterGNB.N2.PrepSucc = 4,032
  • L.HO.InterGNB.N2.PrepFail = 168
  • L.HO.InterGNB.N2.ExecSucc = 3,906
  • L.HO.InterGNB.N2.ExecFail.T304 = 84
  • L.HO.InterGNB.N2.ExecFail.RadioLinkFailure = 42
  • L.HO.InterGNB.N2.PathSwitchFail = 15

Calculations:

  • N2-HOSR = 3,906 / 4,200 × 100% = 93.0% — BELOW target (≥95%). Alarm.
  • N2-PrepSR = 4,032 / 4,200 × 100% = 96.0% — acceptable
  • N2-ExecSR = 3,906 / 4,032 × 100% = 96.9% — marginal
  • T304-FR = 84 / 4,032 × 100% = 2.08% — ABOVE alarm threshold (1%)

Diagnosis: T304 expiry rate of 2.08% is the dominant issue. Root cause: T304 = 500 ms configured globally; network has 40% N2 HO coverage with 80–90 ms preparation latency. Increase T304 to 2000 ms for cells with N2 HO neighbours.

Fig 16.6 — N2 HO HOSR Waterfall: Counter to Counter Loss Stages Handover Count 4,200 Att PrepFail −168 HO PREP FAILURE 4,032 PrepSucc ExecFail T304 −84 T304 expiry 3,948 −T304fail RLF −42 RACH fail 3,906 ExecSucc PathSwFail −15 N4 failure 3,891 PathSwitchSucc N2-HOSR 93.0% Target: ≥ 95%
Fig 16.6 — N2 HO HOSR waterfall from Example 16.3. Starting from 4,200 attempts, four stages of loss are shown: PrepFail (HO PREPARATION FAILURE from AMF), ExecFail.T304 (T304 expiry), RLF (RACH/radio failure), and PathSwitchFail (N4/UPF failure). Final HOSR = 93.0%, below the 95% target.

§16.9 The Complete HO Decision Chain

The source gNB's handover decision logic follows a strict sequential evaluation. Understanding this chain is essential for troubleshooting cases where N2 HO is used unexpectedly instead of Xn HO, or where Xn HO falls back to N2.

Table 16.6 — HO Path Selection Logic at Source gNB

Step Condition Evaluated TRUE → Action FALSE → Action
1A3/A5/B1/B2 event criteria met?Proceed to step 2No HO initiated
2Target cell identified in neighbour list?Proceed to step 3Request ANR measurement; delay HO
3Target is same RAT (NR) or inter-RAT?Proceed to step 4 (same RAT) or step 7 (inter-RAT)
4Xn interface to target gNB established?Initiate Xn HO (TS 38.423 §8.3.1)Proceed to step 5
5Initiate N2 HO — send NGAP HO REQUIRED to AMFAMF selects target gNB; sends HO REQUEST
6HO PREPARATION FAILURE received from AMF?Log NGAP cause; retry with alternate targetContinue with HO COMMAND
7Inter-RAT B2 event: target is LTE cellNGAP HO REQUIRED (handoverType = fiveGStoEPS); AMF→MME path via N26

AMF Selection for N2 HO

When the source gNB sends NGAP HANDOVER REQUIRED, the AMF must determine whether the same AMF can serve the target cell or whether an AMF change is required. The AMF evaluates the GUAMI (Globally Unique AMF Identifier) of the serving AMF against the GUAMI list of the target Tracking Area. If the target TA is served by a different AMF, the source AMF performs an AMF-to-AMF relocation via the N14 interface before forwarding the handover to the target gNB.

Example 16.4 — Xn HO Fallback to N2 Due to HANDOVER PREPARATION FAILURE

Scenario: gNB-A (source) attempts Xn HO to gNB-B. The XnAP HANDOVER PREPARATION FAILURE is returned by gNB-B with cause "No radio resources available in target cell". The source gNB falls back to N2 HO.

Trace:

  1. A3 event fires: target NCGI = 5A-001-0000001 (gNB-B, cell 1). RSRP_target = −85 dBm (A3 offset = 3 dB satisfied).
  2. Source gNB checks Xn table: gNB-B present, Xn TNL established. Xn HO initiated.
  3. XnAP HO REQUEST sent to gNB-B. gNB-B PRB utilisation = 94%. gNB-B responds: XnAP HO PREPARATION FAILURE (cause = no-radio-resources-available-in-target-cell).
  4. Source gNB increments L.HO.InterGNB.Xn.PrepFail. Triggers N2 HO fallback.
  5. NGAP HO REQUIRED sent to AMF. AMF evaluates target list — selects gNB-B cell 3 (same gNB, different cell) with PRB utilisation = 67%.
  6. NGAP HO REQUEST sent to gNB-B (cell 3). HO REQUEST ACK returned. HO COMMAND forwarded to source.
  7. UE executes HO to gNB-B cell 3 successfully. L.HO.InterGNB.N2.ExecSucc incremented.

Root cause: gNB-B cell 1 overload. Corrective action: load balance MBR reduction on cell 1 or add adjacent cell to Xn HO rejection list (blacklist overloaded cell for incoming Xn HO).

§16.10 Optimization Actions for N2 HO

Optimising N2 HO performance requires a layered approach: reducing the frequency of N2 HO by ensuring Xn mesh completeness, and improving N2 HO execution quality where N2 is unavoidable.

Table 16.7 — N2 HO Optimisation Actions and Expected Impact

Action Target Counter / KPI Expected Improvement TS Reference
Establish Xn TNL links to all co-sited gNBs (IP address exchange via gNB Configuration Update) L.HO.InterGNB.N2.Att ↓; L.HO.InterGNB.Xn.Att ↑ Reduce N2 HO volume by 40–60% where Xn is missing TS 38.423 §8.2.2
Increase T304 from 500 ms to 2000 ms for cells with N2 HO neighbours L.HO.InterGNB.N2.ExecFail.T304 ↓ Reduce T304 failure rate from ~2% to <0.3% TS 38.331 §6.3.2
Monitor NGAP HANDOVER PREPARATION FAILURE cause codes; filter by "no radio resources available in target cell" to identify overloaded targets L.HO.InterGNB.N2.PrepFail ↓ Identify top-5 overloaded target cells; apply load balancing TS 38.413 §9.3.1.2
Reserve inbound HO resource quota at target gNB (admission control for HO UEs) PDU session admission rate ↑ Reduce PDU session rejection rate for inbound HO UEs TS 38.413 §8.4.2.2
Audit N26 interface (AMF↔MME) availability for inter-system HO to LTE L.HO.InterRAT.NR2LTE.Succ / Att ↑ Ensure N26 is operational; without it, NR→LTE HO fails entirely TS 23.502 §4.9.1.3
Tune B2 inter-RAT thresholds: T1 (NR) = −110 dBm RSRP, T2 (LTE) = −95 dBm RSRP L.HO.InterRAT.NR2LTE.Att (ensure trigger before RLF) Prevent NR drop by triggering LTE HO earlier TS 38.331 §5.5.4.11
Enable data forwarding (GTP-U direct tunnel source→target) for N2 HO User plane interruption time ↓ Reduce packet loss during HO execution gap to <20 ms TS 38.413 §8.4.2 (directForwardingPathAvailability)

Table 16.8 — N2 HO Diagnostic Decision Tree

Observed Symptom First Counter to Check Likely Root Cause Corrective Action
N2-HOSR < 95% overall L.HO.InterGNB.N2.PrepFail vs ExecFail.T304 ratio If PrepFail > ExecFail: target congestion; If ExecFail.T304 > PrepFail: T304 too short Reduce target load or increase T304
High PrepFail with cause "unknown target" L.HO.InterGNB.N2.PrepFail (NGAP cause 3) Target gNB NG interface not registered to AMF; target NCGI misconfigured in neighbour list Verify NG setup for target gNB; correct neighbour NCGI
T304 failure rate > 1% L.HO.InterGNB.N2.ExecFail.T304 T304 too short for N2 HO preparation latency; AMF overload extending prep time Increase T304 to 2000 ms; check AMF CPU/memory
PathSwitchFail > 0.5% L.HO.InterGNB.N2.PathSwitchFail UPF N4 interface issue; SMF overload; N3 tunnel setup failure at target Check UPF N4 session state; restart affected SMF/UPF instances
NR→LTE HO not triggering despite low RSRP L.HO.InterRAT.NR2LTE.Att B2 thresholds too aggressive (T2 too high); LTE neighbour not in measurement config Tune T2 threshold; add LTE cells to inter-RAT measurement config

Xn Mesh Coverage Assessment

The most impactful optimisation for N2 HO reduction is ensuring complete Xn interface coverage. The following formula estimates the fraction of inter-gNB handovers that use N2 due to missing Xn links:

N2 HO Fraction Due to Missing Xn:

fN2,missing-Xn = L.HO.InterGNB.N2.Att / (L.HO.InterGNB.Xn.Att + L.HO.InterGNB.N2.Att) × 100%

Target: < 5% (i.e., ≥ 95% of inter-gNB HOs should use Xn when source and target are same PLMN)

If fN2,missing-Xn exceeds 15%, perform an Xn peer audit: extract the list of target NCGIs in L.HO.InterGNB.N2.Att where cause is not "AMF change required" or "different PLMN" — these are the candidates for Xn interface provisioning.

Chapter 16 — Key Takeaways

  • N2 HO is triggered when no Xn interface exists between source and target gNBs, or during cross-PLMN and inter-RAT (NR→LTE) scenarios. The AMF acts as coordinator for all preparation signaling (TS 38.413 §8.4.2).
  • The 10-step N2 HO procedure adds 3 message round-trips (60–100 ms preparation latency) versus Xn HO's 1 round-trip (~25 ms). T304 must be set to 2000 ms for N2 HO scenarios to prevent spurious timer expiry.
  • Security key derivation during N2 HO is performed by the AMF (not the gNB): KgNB* = KDF(NH, PCI_target, ARFCN_target). The NCC value in the RRC Reconfiguration synchronises keys at the UE without a Security Mode Command.
  • PDU sessions can be partially admitted by the target gNB. GBR flows must be admitted at full GBR or rejected entirely. The UE is notified of rejected sessions in the RRC Reconfiguration.
  • Key failure modes: PrepFail (NGAP HANDOVER PREPARATION FAILURE), ExecFail.T304 (timer expiry in execution phase), and PathSwitchFail (UPF/SMF N4 failure). Each maps to a distinct TS 28.552 counter.
  • N2 HO HOSR target = ≥ 95%, computed as L.HO.InterGNB.N2.ExecSucc / L.HO.InterGNB.N2.Att × 100%.
  • The 5G→LTE inter-system HO uses a B2 event trigger and routes through AMF→MME→eNB via the N26 interface (TS 23.502 §4.9.1.3). Keys are re-derived from 5G K_AMF to 4G K_ASME.
  • Primary N2 HO optimisation: establish Xn interfaces to all co-sited gNBs to shift inter-gNB HO traffic to the lower-latency Xn path. Target: N2 fraction < 5% of total inter-gNB HO attempts.
Page 16
Chapter 17

Conditional Handover (CHO) and DAPS Handover

Complete 3GPP procedure analysis: CHO pre-configuration and conditional execution (TS 38.331 §5.3.5a), candidateCell list management, CHO-to-HO fall-through, DAPS dual-active-protocol-stack architecture (TS 38.300 §9.2.3.4), DAPS bearer setup and release sequencing, TS 28.552 CHO/DAPS counter decomposition — all from first principles

3GPP TS 38.331 §5.3.5a · TS 38.300 §9.2.3.4 · TS 37.340 §10.3 · TS 28.552 · TS 38.413 §8.4
📐 10 sections 🔢 10 equations 📋 8 tables 🧪 4 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Explain the mobility problem that motivated CHO in 3GPP Release 16 and quantify the latency improvement over conventional Xn/N2 HO
  2. Trace the complete CHO signaling sequence: RRC Reconfiguration with candidateCellList, UE-side condition evaluation, and conditional execution (TS 38.331 §5.3.5a)
  3. Describe how the gNB manages the candidateCellList — maximum candidate count, update procedures, and CHO resource reservation at target cells
  4. Classify CHO failure modes (condition-never-met, all-candidates-fail, preparation-failure) and map each to TS 28.552 counters
  5. Articulate the DAPS handover architecture: simultaneous source and target PDCP/RLC/MAC stacks, source-anchor data reception until MN release
  6. Trace the DAPS bearer setup, DAPS execution phase, and DAPS source release sequence (TS 38.300 §9.2.3.4, TS 38.331 §5.3.5.3)
  7. Identify the UE capability and radio conditions required for DAPS and explain why DAPS reduces user-plane interruption to near-zero
  8. Compute CHO HOSR and DAPS interruption time from TS 28.552 counters and compare against conventional HO baselines
  9. Combine CHO with DAPS (DAPS-CHO) and identify the 3GPP Rel-17 extensions that enable this combination
  10. Select CHO vs DAPS vs conventional HO based on UE capability, speed profile, and cell edge geometry

§17.1 Introduction — The Cell-Edge Handover Problem

Conventional 5G NR handover, whether via Xn (TS 38.423) or N2/NGAP (TS 38.413), follows a sequential model: the network evaluates the measurement report, selects a target cell, prepares the handover, and then sends the RRC Reconfiguration to the UE. The UE receives this command and immediately disconnects from the source cell to access the target. The entire decision-prepare-execute sequence is triggered at the moment the mobility condition is met.

This sequential model carries two fundamental weaknesses at the cell edge:

  1. Preparation latency during radio degradation: The source gNB must complete Xn or N2 HO preparation after the A3/A5 event fires. By the time the HANDOVER COMMAND reaches the UE (60–100 ms for N2, 30–50 ms for Xn), the source cell RSRP may have degraded further. If the UE enters a deep fade during preparation, T304 expiry and RLF follow.
  2. Single-target brittleness: The conventional procedure prepares exactly one target cell. If that cell is momentarily congested or the UE moves unpredictably, the handover fails and the UE must re-establish, incurring 100–300 ms of service interruption.

3GPP Release 16 introduced two complementary features to address these weaknesses: Conditional Handover (CHO) and DAPS Handover. CHO pre-configures multiple candidate target cells before the trigger condition is met, so that when the condition fires, the UE can execute immediately without waiting for network-side preparation. DAPS eliminates source-cell disconnection entirely by keeping the source PDCP stack active in parallel with the target during the handover execution phase.

"Conditional handover: Handover procedure in which the UE stores the handover command before the handover execution trigger condition is met, and executes the handover when the trigger condition is met." — TS 38.300 §9.2.3.3 (Release 16)
Fig 17.1 — Conventional HO vs CHO: Timeline from Trigger to Execution Conventional HO A3 event Meas Rpt HO Decision Xn/N2 Preparation (30–100 ms) RRC Reconfig T304 (RACH+sync) Total UE service gap: 60–200 ms (A3 fire to target sync) CHO (Rel-16) Pre-configuration: candidateCellList stored at UE A3 event Immediate RACH + sync UE service gap: < 20 ms (no preparation wait) Conventional HO latency path CHO pre-configuration (before trigger) Execution phase
Fig 17.1 — Timeline comparison: conventional HO incurs 60–200 ms service gap because preparation happens after the A3 trigger. CHO pre-configures candidate cells before the trigger fires, reducing the service gap to <20 ms (only RACH and sync remain after the condition is met).

§17.2 CHO Architecture and candidateCellList (TS 38.331 §5.3.5a)

CHO extends the conventional handover state machine with a new UE state: CHO-configured. In this state the UE holds one or more pre-configured handover commands for candidate target cells. The UE continuously evaluates a set of execution conditions and, as soon as a condition for one candidate is satisfied, the UE executes the handover to that candidate without further network involvement.

candidateCellList Structure

The gNB delivers CHO configuration to the UE inside an RRC Reconfiguration message. The key IE is conditionalReconfiguration (TS 38.331 §6.3.3.1), which carries a list of candidate cells:

  • candidateCellList: Up to eight candidate cells in Release 16. Each entry contains the target PCI, ARFCN, and a full condRRCReconfig — a complete RRC Reconfiguration message that the UE will apply when it executes the handover to that candidate.
  • Trigger condition per candidate: Each candidate has an associated measurement condition using A3, A4, or A5 events. The A3 offset, hysteresis, time-to-trigger, and RSRP/RSRQ/SINR reference quantities are all specified per candidate, allowing different triggering thresholds for different target cells.
  • condReconfigId: A unique identifier (1–8) for each candidate entry, used in status reports when the UE executes or cancels a CHO candidate.
"A UE configured with conditional handover shall evaluate the execution condition(s) for all the configured candidate cells. The UE shall initiate the handover execution as soon as one execution condition is fulfilled." — TS 38.331 §5.3.5a.3

CHO Pre-configuration Flow

The pre-configuration of candidate cells in CHO follows the same Xn or N2 handover preparation path as conventional HO — but it occurs early, when the source cell signal is still strong and there is no urgency for the UE to move. Specifically:

  1. The source gNB detects that a UE is approaching the coverage edge of one or more candidate cells (e.g., target RSRP is within 6 dB of the A3 offset threshold).
  2. For each candidate cell, the source gNB initiates an Xn HO preparation (XnAP HANDOVER REQUEST → HANDOVER REQUEST ACKNOWLEDGE) or N2 HO preparation. The target gNB reserves resources and returns a full RRC Reconfiguration payload (condRRCReconfig).
  3. The source gNB assembles the candidateCellList from all successful preparations and sends it to the UE via RRC Reconfiguration (conditionalReconfiguration IE).
  4. The UE stores all candidate configurations and begins per-candidate condition evaluation on every measurement interval.
Fig 17.2 — CHO Pre-configuration and Execution Call Flow UE Source gNB (TS 38.331) Cand. gNB-1 (target A) Cand. gNB-2 (target B) PRE-CONFIGURATION PHASE (source strong, candidates within threshold) 1. XnAP HO REQUEST (condRRCReconfig resource reservation) 2. XnAP HO REQUEST ACK (condRRCReconfig for target A) 3. XnAP HO REQUEST (condRRCReconfig resource reservation) 4. XnAP HO REQUEST ACK (condRRCReconfig for target B) 5. RRC Reconfig (conditionalReconfiguration: [A, B]) UE stores condRRCReconfig for both candidates UE EVALUATION PHASE (measures both candidates per-TTI, source degrades) UE: condA3(A) = TRUE → execute to gNB-1 EXECUTION PHASE (UE-autonomous, no network preparation needed) 6a. Contention-free RACH to gNB-1 (dedicated preamble from condRRCReconfig) 6b. RRC Reconfiguration Complete (condReconfigId = 1) 7. XnAP CHO CANCEL (release resources reserved for candidate B)
Fig 17.2 — CHO call flow. The pre-configuration phase (steps 1–5) prepares both candidates while the source cell is still strong. The UE autonomously evaluates conditions and executes to candidate A (steps 6a–6b) without any additional network signaling. The source gNB then cancels reserved resources at candidate B (step 7).

Table 17.1 — CHO candidateCellList IE Field Summary (TS 38.331 §6.3.3.1)

Field Name Type / Range Description TS 38.331 Clause
condReconfigIdINTEGER (1..8)Unique identifier for this candidate cell entry§6.3.3.1
condRRCReconfigRRCReconfigurationComplete RRC Reconfiguration the UE applies on executing to this candidate§6.3.3.1
condExecutionCondSEQUENCE (1..2 events)Measurement event(s) that must be fulfilled to trigger execution to this candidate§6.3.3.1
triggerQuantityrsrp / rsrq / sinrReference quantity for the execution condition evaluation§5.5.4
a3-OffsetRSRP dB (range ±30 dB, 0.5 dB steps)Offset applied to A3 condition evaluation for this specific candidate§5.5.4.4
hysteresis0–30 dB (0.5 dB steps)Hysteresis for this candidate's execution condition§5.5.4.4
timeToTrigger0, 40, 64, 80, 100, 128, 160, 256, 320, 480, 512, 640, 1024, 1280, 2560, 5120 msTTT for this candidate; may differ from conventional A3 TTT§5.5.4.4
maxCandidateCells8 (Rel-16)Maximum number of simultaneous candidates in the candidateCellList§5.3.5a

§17.3 CHO Execution and Condition Evaluation

Once the UE has received and stored the candidateCellList, it enters the CHO-configured state. In this state, the UE continues normal data exchange with the source cell while simultaneously evaluating the per-candidate execution conditions on every measurement reporting interval (as configured by the reportInterval in the measurement configuration).

Execution Condition Logic

TS 38.331 §5.3.5a.3 specifies three variants of execution condition:

  • A3 condition (most common): Target RSRP (or RSRQ/SINR) exceeds source RSRP + offset + hysteresis for duration timeToTrigger. This is the standard "neighbour-is-better-by-threshold" condition.
  • A5 condition: Source RSRP falls below threshold T1 AND target RSRP exceeds threshold T2. Used for coverage-failure-triggered CHO where the source has degraded below a critical level.
  • Dual condition (A3 AND A5): The UE may be configured with two conditions per candidate. Both must be satisfied simultaneously. This allows the network to prevent premature CHO execution when the source is still acceptable.
CHO A3 Execution Condition (TS 38.331 §5.5.4.4, extended for CHO):

Mn + Ofn + Ocn − Hys > Ms + Ofs + Ocs + OffCHO for duration TTTT,CHO

where:
Mn = measurement result (RSRP/RSRQ/SINR) of neighbour candidate cell
Ms = measurement result of source serving cell
Ofn, Ofs = frequency offset of neighbour/serving frequency
Ocn, Ocs = cell-individual offset (CIO) of neighbour/serving cell
Hys = hysteresis (applied with negative sign to prevent ping-pong)
OffCHO = a3-Offset specific to this candidateCellList entry
TTTT,CHO = timeToTrigger specific to this candidate (may be shorter than conventional A3 TTT)

The CHO TTT is typically set shorter than the conventional A3 TTT because CHO preparation has already been completed. Setting CHO-TTT = 0 ms is permissible and removes all time-domain hysteresis — the UE executes the moment the amplitude condition is met. In practice, CHO-TTT of 40–100 ms balances ping-pong prevention with fast response.

Multi-Candidate Priority and Tie-Breaking

If conditions for two or more candidates are simultaneously satisfied, TS 38.331 §5.3.5a.3 specifies that the UE shall execute the handover to the candidate with the lowest condReconfigId (i.e., the first-listed candidate in the conditionalReconfiguration IE). This is a deterministic tie-breaking rule, not a best-signal selection — it is therefore important that the network orders candidates by preference (e.g., strongest predicted RSRP) when constructing the candidateCellList.

CHO Cancel and Update

The source gNB can modify the candidateCellList at any time by sending a new RRC Reconfiguration with an updated conditionalReconfiguration IE. This allows the network to:

  • Add new candidates (e.g., if the UE moves toward a previously-unforeseen cell)
  • Remove candidates whose reserved resources have been released by the target gNB (e.g., due to resource reclamation timeout)
  • Modify execution conditions if the propagation environment changes

After a successful CHO execution, the UE sends RRC Reconfiguration Complete with the condReconfigId of the executed candidate. The source gNB then sends XnAP CHO CANCEL to all other candidate gNBs to release their reserved resources.

§17.4 CHO Resource Reservation at Target gNBs

A key difference between CHO and conventional HO is that CHO requires target gNBs to hold resources in a pending state for an indeterminate duration. In conventional HO, the target reserves resources for at most T304 (2 seconds maximum). In CHO, resources may be held for tens of seconds or minutes, since the execution condition may take time to be met — or may never be met if the UE re-establishes with a different cell or goes idle.

Resource Reclamation Timer

3GPP TS 38.300 §9.2.3.3 requires the target gNB to implement a CHO resource reservation timer (vendor-configured; typically 30–120 seconds). When this timer expires, the target gNB releases the reserved resources and notifies the source gNB via XnAP CHO CANCEL. The source gNB must then either re-prepare that candidate (if still relevant) or remove it from the candidateCellList sent to the UE.

Table 17.2 — CHO vs Conventional HO: Resource Management Comparison

Attribute Conventional HO CHO (Rel-16)
Number of targets prepared1Up to 8 (candidateCellList)
When preparation occursAfter A3/A5 event fires (source degraded)Before trigger, while source is strong
Resource reservation duration at targetT304 (≤ 2 s)Until CHO executed, cancelled, or reclamation timer expires (30–120 s)
UE latency from trigger to target sync60–200 ms (prep + exec)< 20 ms (exec only)
Network involvement at executionRequired (RRC Reconfiguration delivery)Not required (UE-autonomous)
Target count burdening network1 × HO preparation per attemptUp to 8 × preparations, but amortised over time
RRC Reconfiguration Complete payloadNo condReconfigId fieldIncludes condReconfigId of executed candidate
UE capability requirementNo CHO capability neededUE must signal choCandidateCells capability ≥ 1

§17.5 CHO Failure Modes and TS 28.552 Counters

CHO introduces failure modes that have no analogue in conventional HO. The three primary CHO-specific failures are: (1) the execution condition is never met (condition-timeout), (2) the UE executes but the target RACH fails for all candidates, and (3) CHO preparation fails at one or more candidate cells.

Table 17.3 — TS 28.552 CHO Counter Definitions

Counter Name (TS 28.552) Trigger Event Measurement Object Notes
L.HO.CHO.PrepAtt XnAP HO REQUEST with CHO configuration sent to a candidate gNB Source NR cell (NCGI) Incremented once per candidate preparation attempt
L.HO.CHO.PrepSucc XnAP HO REQUEST ACK received from candidate gNB (condRRCReconfig returned) Source NR cell
L.HO.CHO.PrepFail XnAP HO PREPARATION FAILURE or timer expiry for candidate preparation Source NR cell Per candidate, not per CHO event
L.HO.CHO.ExecAtt UE begins CHO execution (RRC Reconfiguration Complete with condReconfigId received) Source NR cell Incremented once per CHO event (not per candidate)
L.HO.CHO.ExecSucc Successful RRC Reconfiguration Complete received at target and UE CONTEXT RELEASE COMMAND sent to source Target NR cell (NCGI)
L.HO.CHO.ExecFail.RACH RACH failure at executed candidate (no MSG4 received, T304 expiry) Source NR cell
L.HO.CHO.Cancel.ReservTimeout CHO resource reclamation timer expires at target before execution Target NR cell Indicates over-long CHO pre-configuration horizon
L.HO.CHO.Cancel.UERelease CHO cancelled because UE moved to RRC_IDLE or performed RLF re-establishment to a non-CHO cell Source NR cell
CHO Execution Success Rate (CHOSR):

CHOSR = L.HO.CHO.ExecSucc / L.HO.CHO.ExecAtt × 100%

Target: ≥ 98% (higher than conventional HOSR because CHO avoids preparation-during-fade failures)

CHO Preparation Success Rate:

CHO-PrepSR = L.HO.CHO.PrepSucc / L.HO.CHO.PrepAtt × 100%

Target: ≥ 96%

Example 17.1 — CHO Counter Analysis and CHOSR Decomposition

A source gNB reports the following 15-minute CHO PM counters:

  • L.HO.CHO.PrepAtt = 3,600 (across 1,200 CHO events × 3 candidates avg)
  • L.HO.CHO.PrepSucc = 3,456 (96.0% PrepSR)
  • L.HO.CHO.PrepFail = 144
  • L.HO.CHO.ExecAtt = 1,180 (of 1,200 CHO events, 20 never triggered = condition-timeout)
  • L.HO.CHO.ExecSucc = 1,162
  • L.HO.CHO.ExecFail.RACH = 18
  • L.HO.CHO.Cancel.ReservTimeout = 48

Calculations:

  • CHO-PrepSR = 3,456 / 3,600 × 100% = 96.0% — at target
  • CHOSR = 1,162 / 1,180 × 100% = 98.5% — above 98% target
  • Condition-never-met rate = 20 / 1,200 × 100% = 1.7% — UE improved before trigger fired
  • RACH failure rate = 18 / 1,180 × 100% = 1.5% — acceptable
  • ReservTimeout rate = 48 cancellations — review CHO trigger horizon; candidates being configured too early

Diagnosis: The 48 reclamation timeouts suggest the CHO pre-configuration is being triggered when the UE is still 15–20 dB above the execution threshold. Reduce the CHO pre-configuration trigger margin from 10 dB below A3 to 5 dB below A3 to shorten the reservation hold time.

§17.6 DAPS Handover — Dual Active Protocol Stack Architecture (TS 38.300 §9.2.3.4)

DAPS Handover (Dual Active Protocol Stack) addresses the user-plane interruption inherent in conventional handover. In a conventional HO, the UE applies the RRC Reconfiguration, drops the source bearers, and immediately switches all data transmission to the target cell — creating a user-plane gap of 20–50 ms even in the best case. For applications sensitive to jitter and packet loss (gaming, video conferencing, industrial automation), this gap is perceptible.

DAPS maintains two independent PDCP/RLC/MAC stacks simultaneously during the handover execution phase: one serving the source cell and one serving the target cell. The UE receives downlink data from both cells and transmits uplink on both, with the source stack remaining the primary anchor until an explicit DAPS source release message is received.

"DAPS handover: A handover procedure in which the UE maintains the connection to the source base station while setting up a connection to the target base station. The UE receives and transmits data via both source and target base stations simultaneously during the handover execution." — TS 38.300 §9.2.3.4

DAPS Bearer Architecture

Each DRB (Data Radio Bearer) that is to be maintained during DAPS is duplicated into a DAPS bearer pair:

  • Source DAPS bearer: The original bearer on the source cell. Continues to carry user data (DL forwarding from UPF + UL from UE) during the execution phase.
  • Target DAPS bearer: A new bearer established at the target cell during HO preparation. Begins carrying data once the UE has completed RACH to the target.
  • PDCP layer behaviour: A single PDCP entity spans both source and target RLC/MAC stacks. The PDCP entity delivers DL PDUs from whichever stack receives them first (with duplicate detection by PDCP SN). For UL, the PDCP entity transmits on the target stack and ceases UL on the source after the RACH to the target is complete.
Fig 17.3 — DAPS Dual Active Protocol Stack at UE During Execution Phase UE (DAPS active) Single PDCP Entity (DRB #n) Source RLC (AM) Source MAC / PHY Source Cell (PCellS) DL: UPF forwarding active UL: inactive after RACH-tgt Target RLC (AM) Target MAC / PHY Target Cell (PCellT) DL: new N3 tunnel (post-switch) UL: primary after RACH-tgt Source stack Target stack NR air interface — source gNB NR air interface — target gNB DAPS Active Both stacks active UE = zero-gap reception Until source release cmd
Fig 17.3 — DAPS protocol stack at the UE during the execution phase. A single PDCP entity handles duplicate detection across both the source and target RLC/MAC stacks. The UE receives DL packets from both cells simultaneously and transmits UL on the target stack after RACH completion. The source stack is released only upon an explicit DAPS source release message from the source gNB.

§17.7 DAPS HO Procedure — Step-by-Step (TS 38.331 §5.3.5.3)

The DAPS HO procedure adds four phases beyond the conventional HO: DAPS bearer setup during preparation, parallel active stacks during execution, PDCP data continuity management, and source release upon target path switch.

  1. DAPS HO preparation (source gNB → target gNB via Xn): The source gNB indicates in the XnAP HANDOVER REQUEST that the HO type is DAPS (dapsHORequired IE). The target gNB allocates resources for a DAPS bearer pair. The returned condRRCReconfig / RRCReconfiguration includes the dapsConfig IE for each DAPS DRB.
  2. RRC Reconfiguration with dapsConfig (source → UE): The UE receives the reconfiguration that contains both the target cell access parameters (RACH config, physCellId, ARFCN) and the dapsConfig IE, which instructs the UE to keep the source PDCP stack active while establishing the target stack.
  3. UE establishes target stack (RACH to target): The UE performs RACH to the target cell. Upon receiving MSG4 from the target, the UE activates the target RLC/MAC stack. The source PDCP stack remains active. T304 is not used for DAPS (the UE does not release source connectivity on T304 start).
  4. Dual active phase: Both source and target stacks are active. The PDCP entity delivers DL data from whichever arrives first (PDCP SN reordering window handles out-of-order). UL switches to target immediately after RACH success.
  5. RRC Reconfiguration Complete (UE → target gNB): The UE sends this message to the target, completing the access phase. The target gNB sends a PATH SWITCH REQUEST to the AMF to redirect the N3 UPF tunnel to the target gNB's N3 address.
  6. Path switch and N4 update (AMF → SMF → UPF): After path switch confirmation, new DL data is delivered via the target N3 tunnel. The UPF may buffer packets during the switch; these are forwarded to the target gNB via the source GTP-U forwarding tunnel.
  7. DAPS source release (source gNB → UE via source cell): After the path switch is acknowledged, the source gNB sends an RRC message instructing the UE to release the source DAPS stack. This message is the only explicit step that terminates source connectivity. The UE transitions to a single-stack state on the target cell.
Fig 17.4 — DAPS HO Complete Call Flow (TS 38.331 §5.3.5.3) UE Source gNB (PCellS) Target gNB (PCellT) AMF/UPF (5GC) PREPARATION 1. XnAP HO REQUEST (dapsHORequired=true) 2. XnAP HO REQUEST ACK (RRCReconfig with dapsConfig) 3. RRC Reconfig (dapsConfig, RACH target params) Source PDCP remains active (no T304) EXECUTION — DUAL ACTIVE PHASE 4a. RACH to target gNB (contention-free preamble) DUAL ACTIVE (source + target) 4b. UL transmission switches to target; DL from both cells 5. RRC Reconfiguration Complete (to target gNB) 6. PATH SWITCH REQUEST (N2) 6b. N4 UPF path switch → DL now via target N3 6c. PATH SWITCH REQUEST ACK SOURCE RELEASE PHASE 7. DAPS Source Release (RRC msg via source cell) UE releases source PDCP/RLC/MAC stack 8. UE CONTEXT RELEASE COMMAND (AMF → source gNB) 9. UE CONTEXT RELEASE COMPLETE User-plane interruption ≈ 0 ms
Fig 17.4 — DAPS HO complete call flow (TS 38.331 §5.3.5.3). The dual-active phase (steps 4b through step 7) maintains simultaneous source and target connectivity, reducing user-plane interruption to approximately zero. Source release occurs explicitly at step 7 after the N3 path has already switched to the target.

§17.8 DAPS UE Capability and Prerequisites

DAPS imposes significantly higher UE complexity than conventional handover or CHO. The UE must simultaneously operate two complete RF chains (for simultaneous source and target reception/transmission), maintain two independent scheduler contexts, and manage a shared PDCP SN space across both stacks.

UE Capability Signaling

The UE signals DAPS capability in the UE capability IE daps-Parameters (TS 38.306 §4.2.7.7):

  • daps-SupportConfig: Indicates the maximum total number of simultaneous source and target cells — typically 1+1 (one source + one target) in Release 16.
  • daps-UplinkPower: Whether the UE can simultaneously meet the UL power requirements for both source and target cells. This is the key constraint — if the source and target cells require the same UL power levels and the UE is power-limited, DAPS UL may not be feasible.
  • daps-InterBandENDC: Extended capability indicating DAPS support across bands in EN-DC configurations (TS 37.340).

Table 17.4 — DAPS Prerequisites Checklist

Prerequisite 3GPP Reference If Not Met
UE signals daps-SupportConfig ≥ 1TS 38.306 §4.2.7.7Network cannot configure DAPS HO for this UE; fall back to conventional HO
Xn interface exists between source and target gNBTS 38.423 §8.3DAPS is only specified for Xn HO in Rel-16; N2 DAPS not supported
DRBs to be protected are mapped to DAPS bearers (dapsConfig IE present for each DRB)TS 38.331 §6.3.2DRBs without dapsConfig IE are handled as conventional non-DAPS bearers (may be interrupted)
Source and target are same PLMNTS 38.300 §9.2.3.4Cross-PLMN DAPS not supported in Release 16
UE not in EN-DC anchor role (or EN-DC inter-band DAPS capability signaled)TS 37.340 §10.3DAPS restricted for EN-DC configurations unless UE signals daps-InterBandENDC
Source gNB confirms directForwardingPathAvailabilityTS 38.423 §9.2.2.1Without direct forwarding, buffered DL packets must traverse CN, increasing latency during path switch

§17.9 DAPS TS 28.552 Counters and Interruption KPI

Table 17.5 — TS 28.552 DAPS Counter Definitions

Counter Name (TS 28.552) Trigger Event Measurement Object
L.HO.DAPS.Att XnAP HANDOVER REQUEST with dapsHORequired sent by source gNB Source NR cell (NCGI)
L.HO.DAPS.PrepSucc XnAP HO REQUEST ACK with DAPS config received (dapsConfig IE present) Source NR cell
L.HO.DAPS.ExecSucc RRC Reconfiguration Complete received at target; PATH SWITCH ACK received Target NR cell (NCGI)
L.HO.DAPS.ExecFail.RACH RACH failure at target during DAPS execution (MSG4 not received) Source NR cell
L.HO.DAPS.SourceRelease.Time Time from RRC Reconfiguration Complete (at target) to DAPS Source Release message sent Source NR cell
L.HO.DAPS.UPInterruptTime User-plane interruption time measured from last DL PDU on source stack to first DL PDU on target stack Per DRB at target gNB
DAPS HO Success Rate:

DAPS-HOSR = L.HO.DAPS.ExecSucc / L.HO.DAPS.Att × 100%

Target: ≥ 99% (higher target than conventional HO because DAPS UEs typically have better RF capability)

DAPS User-Plane Interruption Time (TS 28.554):

TUP-int = Tlast-DL-source − Tfirst-DL-target

Target: < 1 ms (near-zero due to simultaneous stack activity)

Example 17.2 — DAPS vs Conventional HO: User-Plane Interruption Comparison

Scenario: A network carries 1,200 inter-gNB handovers per hour on a dense urban cluster. Half are conventional Xn HO (600), and half are DAPS Xn HO (600). The cluster's UPF has a moderate N4 update latency of 25 ms. Direct GTP-U forwarding between gNBs is enabled.

Conventional Xn HO interruption budget:

  • T304 start to RACH MSG4: ~15 ms (good radio)
  • PDCP reordering window + buffer drain: ~5 ms
  • Total UP interruption (approx): 20 ms per HO

DAPS Xn HO interruption budget:

  • Source PDCP active until explicit release message: both stacks delivering in parallel
  • PDCP SN duplicate detection ensures no packet is missed
  • Total UP interruption: < 1 ms (only PHY transition gap)

Result: For a 1 Gbps DL session during HO, a 20 ms interruption = ~2.5 MB of potential loss/delay. DAPS reduces this to <125 KB equivalent. For gaming at 50 ms RTT requirement, 20 ms of interruption triggers a visible freeze; DAPS interruption is imperceptible.

§17.10 CHO Combined with DAPS, and HO Mode Selection Framework

DAPS-CHO (Release 17)

Release 16 defined CHO and DAPS independently; a UE could use one or the other but not both simultaneously. 3GPP Release 17 introduced DAPS-CHO: a combination where the UE holds pre-configured DAPS handover commands for multiple candidate cells and executes DAPS HO autonomously when the condition for any candidate is met. This combines the zero-preparation-latency benefit of CHO with the zero-interruption benefit of DAPS.

DAPS-CHO requires the UE to signal both choCandidateCells capability (for CHO) and daps-SupportConfig (for DAPS). The pre-configuration procedure requires the source gNB to prepare DAPS bearers at each candidate cell, meaning the XnAP HANDOVER REQUEST includes both conditionalReconfiguration and dapsHORequired IEs.

Fig 17.5 — HO Mode Selection: Conventional / CHO / DAPS / DAPS-CHO HO Decision Triggered (A3/A5/B1 condition) Xn to target? NO N2 HO TS 38.413 YES UE has CHO cap? NO YES (CHO) DAPS cap? NO CHO only (Rel-16) YES DAPS -CHO Xn HO TS 38.423
Fig 17.5 — HO mode selection tree. If no Xn interface exists: N2 HO (TS 38.413). If Xn exists and UE lacks CHO capability: conventional Xn HO (TS 38.423). If UE has CHO capability but not DAPS: CHO only (Rel-16). If UE has both CHO and DAPS capability: DAPS-CHO (Rel-17). At each node, the network also evaluates whether the UE supports DAPS standalone (without CHO) for cases where the pre-configuration time window is insufficient for CHO.

Table 17.6 — HO Mode Comparison Matrix

Mode 3GPP Release Prep. Latency UP Interruption Multi-candidate UE Complexity Best Use Case
Conventional Xn HORel-1530–50 ms15–30 msNo (1 target)LowGood radio, short handover gap acceptable
Conventional N2 HORel-1560–100 ms25–50 msNo (1 target)LowNo Xn, cross-PLMN, inter-RAT
CHO (Rel-16)Rel-16< 5 ms (prep done early)10–20 msYes (up to 8)MediumHigh-speed UEs, cell edge, T304 failures
DAPS HO (Rel-16)Rel-1630–50 ms (Xn prep)< 1 msNo (1 target)High (dual RF)Low-latency applications, stationary UEs at cell edge
DAPS-CHO (Rel-17)Rel-17< 5 ms< 1 msYes (up to 8)Very highHigh-speed + ultra-low-latency applications
Fig 17.6 — HO Mode Comparison: Preparation Latency vs User-Plane Interruption HO Preparation Latency (ms) — lower is better → UP Interruption (ms) — lower is better → 0 20 40 60 80 100 0 10 20 30 40 Xn HO Rel-15 N2 HO Rel-15 CHO Rel-16 DAPS Rel-16 DAPS -CHO Best zone
Fig 17.6 — HO mode comparison in preparation-latency vs user-plane interruption space. Bottom-left is ideal (zero prep latency, zero interruption). DAPS-CHO (Rel-17) approaches this ideal. N2 HO has the worst position on both axes. CHO moves prep latency to near zero at the cost of resource reservation overhead. DAPS minimises interruption at the cost of UE complexity.

Table 17.7 — CHO Tuning Parameters and Recommended Settings

Parameter TS 38.331 Ref Conventional HO CHO Setting Rationale
timeToTrigger (A3 exec cond)§5.5.4.4160–320 ms40–100 msPrep already complete; shorter TTT reduces ping-pong risk while allowing fast execution
a3-Offset (CHO-specific)§6.3.3.13 dB1–2 dBCHO should execute earlier (smaller offset) since source degradation is not a constraint during exec
CHO pre-config trigger margin§5.3.5aN/A4–6 dB below exec thresholdToo early → resource reservation timeouts. Too late → prep incomplete when exec fires.
candidateCellList size§5.3.5a12–4 (optimal); max 8More candidates → more prep overhead. 2–4 covers direction uncertainty without excessive load.
CHO reservation timer (at target)TS 38.300 §9.2.3.3N/A (T304 = 2 s)30–60 sMust be long enough to cover typical dwell time in the edge zone; too short causes premature cancel
T304 (CHO exec)§6.3.2500–2000 ms300–500 msCHO execution is fast (no prep); T304 can be shorter. 500 ms provides adequate margin for RACH.

Table 17.8 — CHO/DAPS Diagnostic Decision Tree

Observed Symptom First Counter to Check Likely Root Cause Corrective Action
CHOSR below 98% L.HO.CHO.ExecFail.RACH vs L.HO.CHO.PrepFail ratio If RACH failures dominate: target cell RACH overload or uplink interference. If PrepFail dominates: candidate target overloaded or Xn issue. Tune PRACH preamble capacity at candidate targets; audit Xn interfaces
High L.HO.CHO.Cancel.ReservTimeout rate (>5%) L.HO.CHO.Cancel.ReservTimeout CHO pre-configuration triggered too early; UE spending too long in edge zone before condition fires Reduce pre-config trigger margin (move closer to exec threshold); reduce candidateCellList size
CHO condition never fires (UE exits via RLF) L.HO.CHO.Cancel.UERelease vs L.HO.CHO.ExecAtt A3 exec threshold too aggressive (offset too small, no hysteresis); UE drops before condition met Increase a3-Offset for CHO, enable A5 dual condition as backstop
DAPS-HOSR below 99% L.HO.DAPS.ExecFail.RACH Target RACH failure during DAPS — uplink power insufficient to access target while source active on same band Verify UE daps-UplinkPower capability; avoid DAPS for intra-band same-UL-frequency scenarios
DAPS UP interruption >5 ms L.HO.DAPS.UPInterruptTime Source gNB delayed DAPS Source Release message; N4 path switch latency high; no direct GTP-U forwarding Enable direct forwarding (directForwardingPathAvailability); audit UPF N4 latency; optimise source release trigger

Example 17.3 — CHO Optimisation: Reducing Reservation Timeouts via Pre-config Horizon Adjustment

Problem: A suburban cluster reports L.HO.CHO.Cancel.ReservTimeout = 320 per hour out of 2,400 CHO events (13.3%). Target cell CPU utilisation increases during peak hours due to excessive PDCP/RLC context reservation.

Root cause analysis: The CHO pre-configuration trigger is set at 12 dB below the A3 execution threshold. At typical UE speeds (30–60 km/h in suburban), the UE spends 90–120 seconds in the edge zone. The CHO reservation timer at target cells is 60 seconds. 120 s dwell > 60 s timer → cancellation.

Actions:

  1. Reduce pre-configuration trigger margin from 12 dB to 6 dB below A3 threshold. This halves the time the UE spends pre-configured before the condition fires.
  2. Increase reservation timer from 60 s to 90 s to provide additional coverage for the remaining edge-zone dwell time.
  3. Reduce candidateCellList size from 4 to 2 candidates (the two highest-predicted candidates). This halves the total reservation resource burden.

Expected result: L.HO.CHO.Cancel.ReservTimeout reduced from 320/hr to <80/hr (3.3%). CHOSR improves marginally (fewer candidates means fewer wasted preparations). CPU load at target cells reduces by ~15%.

Example 17.4 — Worked Counter Example: CHO vs Conventional HO HOSR on Same Cluster

A network trial activates CHO on a high-mobility corridor (highway cluster, 120+ km/h UEs). The trial uses a cell-split strategy: odd cells use conventional Xn HO, even cells use CHO. One-week PM data:

Metric Conventional HO (odd cells) CHO (even cells) Delta
HO Attempts18,40017,900
HO Successes16,74417,452
HOSR91.0%97.5%+6.5 pp
T304 Failure Rate4.2%0.4%−3.8 pp
RLF during HO3.1%0.8%−2.3 pp
Avg UP interruption (DT measured)28 ms12 ms−16 ms

Conclusion: CHO delivers +6.5 percentage-point HOSR improvement on the highway cluster. The dominant gain comes from eliminating T304 failures (from 4.2% → 0.4%), consistent with the pre-configuration eliminating preparation latency during deep fade periods at the cell edge.

Fig 17.7 — CHO vs Conventional HO: HOSR Waterfall (Example 17.4 Data) HO Count (×100) Conventional HO (odd cells) 18,400 Att 17,628 −T304fail 16,744 ExecSucc 91.0% CHO (even cells) 17,900 Att 17,828 −T304fail 17,452 ExecSucc 97.5% HOSR Gain +6.5 pp 91.0% → 97.5%
Fig 17.7 — HOSR waterfall comparison for Example 17.4. CHO eliminates most T304 failures (pre-configuration removes preparation latency) and reduces RLF events during execution. The 6.5 percentage-point improvement on the high-speed corridor translates directly to fewer dropped calls and better user experience.

Chapter 17 — Key Takeaways

  • Conventional HO incurs a 60–200 ms service gap because network preparation occurs after the trigger fires, while the source cell is already degraded. CHO (Rel-16, TS 38.331 §5.3.5a) eliminates this by pre-configuring up to 8 candidate cells before the execution condition is met.
  • The CHO candidateCellList carries one complete condRRCReconfig per candidate. The UE evaluates per-candidate A3/A4/A5 execution conditions autonomously and executes to the first satisfying candidate without further network involvement. Lowest condReconfigId wins in a tie.
  • CHO preparation uses standard Xn HO preparation (XnAP HO REQUEST → ACK), but the target gNB must hold resources until the CHO reservation timer expires (typically 30–120 s). Excessive reservation timeouts (counter: L.HO.CHO.Cancel.ReservTimeout) indicate the pre-configuration trigger is set too early.
  • Key CHO tuning levers: pre-config trigger margin (4–6 dB below exec threshold), CHO-specific timeToTrigger (40–100 ms), a3-Offset per candidate (1–2 dB), and candidateCellList size (2–4 candidates).
  • DAPS HO (Rel-16, TS 38.300 §9.2.3.4, TS 38.331 §5.3.5.3) maintains dual PDCP/RLC/MAC stacks simultaneously, reducing user-plane interruption to <1 ms. The source stack remains active until an explicit DAPS Source Release message, which follows the N3 path switch to the target UPF anchor.
  • DAPS requires the UE to signal daps-SupportConfig (TS 38.306 §4.2.7.7), a direct Xn interface between source and target, and same-PLMN operation. DAPS is Xn-only in Rel-16; N2 DAPS is not supported.
  • DAPS-CHO (Rel-17) combines both features: pre-configured DAPS candidates executed autonomously by the UE. This achieves near-zero preparation latency AND near-zero user-plane interruption, at the cost of the highest UE and network complexity.
  • HO mode selection rule: N2 HO if no Xn; Xn HO if no CHO/DAPS UE capability; CHO if UE has CHO capability; DAPS if UE has DAPS capability; DAPS-CHO if UE has both (Rel-17). High-speed UEs (highway, rail) benefit most from CHO; low-latency applications (gaming, XR) benefit most from DAPS.
Page 17
Chapter 18

Automatic Neighbour Relations (ANR)

Complete 3GPP procedure analysis: ANR function architecture (TS 36.300 §22.3, TS 38.300 §9.3), NCGI detection via UE measurement reports and RRC, NRT management and neighbour addition/removal policy, SON coordination with load balancing and MRO, TS 28.552 ANR counter decomposition, optimisation thresholds and audit workflow — all from first principles

3GPP TS 38.300 §9.3 · TS 36.300 §22.3 · TS 38.331 §5.5.4 · TS 28.552 §5.1.3 · TS 38.413 · TS 36.423
📐 11 sections 🔢 8 equations 📋 8 tables 🧪 4 worked examples 📜 5 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Explain the neighbour relation problem in dense 5G NR deployments and why manual NRT maintenance is operationally unsustainable
  2. Trace the full ANR NCGI detection flow: UE RRC measurement report with unknown PCI, CGI read procedure (TS 38.331 §5.5.4.4), and gNB-initiated X2/Xn TNL lookup
  3. Describe the NRT data model — neighbour relation attributes (noRemove, noHO, noX2/noXn, blacklisted) and their impact on handover policy
  4. Classify all ANR state transitions: detected → candidate → active → stale → removed, and map each to TS 28.552 counters
  5. Explain how the ANR function coordinates with MRO and MLB SON functions, including the SON coordination arbitration rules
  6. Distinguish intra-frequency, inter-frequency, and inter-RAT (E-UTRA/NR) ANR procedures and the measurement gaps required for each
  7. Compute NRT health KPIs — missing neighbour ratio, redundant neighbour ratio, and ANR success rate — from TS 28.552 performance data
  8. Apply the six-step ANR audit workflow to identify and resolve misconfigured NRT entries in a live 5G NR network
  9. Design ANR configuration parameters (reportCGI, TTT, A3 offsets, NRT size limits) for high-density urban and wide-area rural deployments
  10. Interpret the interaction between ANR and PCI confusion (PCI mod-3/mod-30 clash) and apply avoidance strategies
  11. Construct an end-to-end ANR optimisation case study using counter traces and root-cause analysis

§18.1 Introduction — The Neighbour Relation Problem

Every handover in 5G NR requires a neighbour relation to exist in the serving cell's Neighbour Relation Table (NRT). Without an entry for a potential target cell, the source gNB cannot initiate preparation, and the UE will fail to execute a handover even if the target cell delivers a substantially better signal. The consequence is avoidable Radio Link Failure (RLF), unnecessary throughput degradation at the cell edge, and elevated inter-gNB N2 re-establishment load on the AMF.

In a static, manually planned network the NRT can be built at deployment time. In practice, 5G NR networks are never static. New gNBs are continuously added, sectors are retilted, antenna heights change, and indoor coverage nodes are commissioned after the macro layer is live. Any of these changes can create new effective neighbours — cells that are now reachable by UEs in the coverage overlap zone — without any corresponding NRT update. The only scalable solution is Automatic Neighbour Relations (ANR).

ANR is a SON (Self-Organising Network) function specified in TS 38.300 §9.3 for 5G NR and (with identical architecture) in TS 36.300 §22.3 for LTE. Its purpose is to allow the network to autonomously discover new neighbouring cells, verify they can serve as handover targets, add them to the NRT, and remove entries that are no longer useful — all without operator intervention.

"The ANR function is responsible for managing the Neighbour Relation Table (NRT). The NRT contains entries for neighbour cells including intra-frequency, inter-frequency and inter-RAT cells. The ANR function uses UE measurements to detect new neighbour cells and to maintain the NRT." — TS 38.300 §9.3.1 (Release 17)

This chapter traces the complete ANR mechanism from physical-layer measurement through NCGI detection, NRT population, Xn transport-network-layer (TNL) association, and SON coordination. Eight tables capture all key parameters and counter mappings. Four worked examples build intuition for the optimisation decisions that ANR exposes.

§18.2 NRT Data Model and Neighbour Relation Attributes

The NRT is a per-cell database maintained by the gNB (or eNB in LTE). Each entry in the NRT represents a directed relationship from the serving cell to a potential target cell. The relationship is directed: cell A having B in its NRT does not imply B has A in its NRT. Symmetry must be explicitly configured or ANR-discovered in both directions.

Core NRT Entry Fields

Each NRT entry carries the following mandatory and optional attributes, as specified in TS 36.423 §9.2.26 (X2) and the equivalent XnAP IEs for NR:

Table 18.1 — NRT Entry Attributes (TS 36.423, TS 38.423)
Attribute Type Meaning Default
neighbourCellId NCGI / ECGI Globally unique cell identifier (MCC+MNC+NCI for NR, MCC+MNC+ECI for LTE) Mandatory
physCellId 0–1007 Physical Cell Identity of the neighbour — used by UE to distinguish cells on the same frequency Mandatory
nrFrequencyRef NR-ARFCN Absolute Radio Frequency Channel Number of the SSB used for measurement Mandatory
noRemove Boolean When TRUE, the ANR function is prohibited from autonomously removing this entry. Used to protect manually-configured golden neighbours. FALSE
noHO Boolean When TRUE, handover to this neighbour is blocked. Entry is retained for measurement reporting only. FALSE
noXn Boolean When TRUE, Xn interface setup is not attempted. Fallback to N2 (NGAP) handover if HO is permitted. FALSE (attempt Xn)
blacklisted Boolean When TRUE, both measurement reporting and HO to this cell are disabled. Set by ANR after repeated preparation failures. FALSE
sourceOfEntry Enum Origin: SON_ANR, OAM, SELF, or OTHER. Determines if ANR can autonomously remove it.
Key Concept — noRemove vs. noHO: These are frequently confused. noRemove = TRUE prevents ANR from deleting the entry but says nothing about whether HO can proceed. noHO = TRUE prevents handover while keeping the entry visible for measurement reporting. A common configuration error is setting noHO = TRUE on a temporarily congested cell and forgetting to reset it — the result is a permanent HO black spot that ANR will never self-heal.

NRT Size Limits

The gNB implementation limits the total NRT size per cell. While 3GPP does not mandate a specific maximum, typical vendor implementations support 32–128 intra-RAT neighbours per cell and 16–32 inter-RAT entries. When the NRT reaches capacity, ANR must apply an eviction policy before adding new entries. The standard eviction criterion is: remove the ANR-discovered entry with the longest elapsed time since the last successful handover use — equivalent to a Least-Recently-Used (LRU) cache policy.

§18.3 NCGI Detection — The CGI Read Procedure (TS 38.331 §5.5.4.4)

The fundamental challenge for ANR is that UE measurement reports (A3, A4, A5 events) identify neighbour cells only by their Physical Cell Identity (PCI). The PCI is a 10-bit value (0–1007) scoped to a single frequency layer — it is not globally unique. Two cells on the same ARFCN in different cities may share the same PCI. The gNB cannot add an NRT entry for a PCI alone; it needs the full NR Cell Global Identity (NCGI = MCC + MNC + NCI, 36 bits).

ANR solves this by using the UE to read the cell's System Information Block 1 (SIB1), which contains the NCGI. This is the CGI read procedure, specified in TS 38.331 §5.5.4.4 and triggered via the reportCGI IE in the measurement configuration.

CGI Read Trigger Conditions

The gNB triggers the CGI read procedure when all of the following are true:

  1. A UE measurement report contains a PCI that does not exist in the serving cell's NRT.
  2. The reported RSRP of the unknown-PCI cell exceeds a configurable threshold (typically −110 dBm or better, to ensure the UE can reliably decode SIB1).
  3. The UE's measurement configuration does not already include a reportCGI request for that PCI on that ARFCN.
  4. The gNB has not received a recent CGI read failure for the same (PCI, ARFCN) pair (to avoid repeated futile attempts).
"The UE shall, if it receives a reportCGI in the measObjectNR: attempt to acquire the NCGI and the global gNB-ID of the cell indicated by the physCellId and perform the following actions: include the cgi-Info and report the NCGI in the measurement report." — TS 38.331 §5.5.4.4 (Release 17)

CGI Read Procedure Step-by-Step

Fig 18.1 — ANR CGI Read Procedure (TS 38.331 §5.5.4.4) UE Serving gNB (ANR function) Unknown Cell (PCI=X, ARFCN=Y) OAM/SON (NRT update) MeasurementReport (PCI=X, RSRP=−105 dBm) t=0 ms NRT lookup: PCI=X unknown RRCReconfiguration (reportCGI: PCI=X, ARFCN=Y) t=5 ms UE reads SIB1 from PCI=X (measurement gap) t=10–80 ms Measurement gap required if inter-frequency (TS 38.133 §9) MeasurementReport (cgi-Info: NCGI=460-00-0001A2B3) t=85 ms Xn Setup Request (or TNL address lookup via OAM) NRT entry added: NCGI=460-00-0001A2B3 NRT Update Notification (NCGI added, noXn=FALSE) RRCReconfiguration (remove reportCGI for PCI=X) Result: Unknown PCI=X successfully resolved to NCGI=460-00-0001A2B3 and added to NRT Total procedure duration: ~85 ms (intra-freq) to ~300 ms (inter-freq with gap scheduling overhead)
Fig 18.1 — Complete CGI read procedure. An unknown PCI in a measurement report triggers the serving gNB to configure reportCGI in the UE's measurement object. The UE reads SIB1 from the unknown cell (requiring a measurement gap if inter-frequency) and returns the full NCGI in the subsequent MeasurementReport. The gNB then initiates Xn setup and updates the NRT.

Measurement Gap Requirement for CGI Read

For intra-frequency CGI reads, no measurement gap is required — the UE can read SIB1 from the unknown cell during its normal reception windows. For inter-frequency and inter-RAT CGI reads, a measurement gap must be scheduled. TS 38.133 §9 defines the gap patterns: Gap Pattern 0 (40 ms period, 6 ms gap) is the most common. During the gap the UE suspends downlink reception from the serving cell; this creates a brief throughput interruption that the gNB must account for in its scheduling decisions.

Table 18.2 — CGI Read Timing Budget (TS 38.331, TS 38.133)
Scenario Gap Required SIB1 Acquisition Time Total Procedure (approx.) Throughput Impact
Intra-frequency NR No 20–40 ms (2–4 SIB1 periods) 60–100 ms Negligible
Inter-frequency NR Yes (GP0: 40 ms/6 ms) 80–160 ms 150–300 ms ~15% DL reduction during gaps
Inter-RAT (E-UTRA) Yes (GP0 or GP1) 120–240 ms (SIB1 + SIB4/5) 250–450 ms ~20% DL reduction during gaps
Inter-RAT (WLAN) Yes 200–400 ms 400–700 ms ~25% DL reduction during gaps

§18.4 ANR State Machine — From Detection to Active Neighbour

Every NRT entry managed by ANR progresses through a defined set of states. Understanding these states is essential for interpreting TS 28.552 counters and diagnosing NRT instability (entries oscillating between added and removed).

Fig 18.2 — ANR NRT Entry State Machine UNDETECTED DETECTED (PCI known, NCGI pending) CANDIDATE (NCGI known, Xn pending) ACTIVE (HO eligible, in NRT) STALE (unused > T_stale, no HO) REMOVED MeasRpt PCI unknown CGI read success Xn setup OK / noXn set T_stale expired (no HO usage) ANR eviction (noRemove=FALSE) Repeated HO prep fail CGI read fail (N retries exhausted) Cell redetected later Key TS 28.552 counters: SON.ANR.NbrDetected · SON.ANR.NbrCGISuccess · SON.ANR.NbrAdded · SON.ANR.NbrRemoved · SON.ANR.CGIFail
Fig 18.2 — ANR NRT entry state machine. An unknown PCI moves from UNDETECTED to DETECTED on first measurement report, progresses to CANDIDATE after CGI read success, and reaches ACTIVE after Xn setup. Entries that receive no HO usage for T_stale become STALE and are eligible for eviction. Repeated HO preparation failures cause direct transition to REMOVED.
Table 18.3 — ANR State Transition Triggers and Counters (TS 28.552 §5.1.3)
Transition Trigger TS 28.552 Counter Typical Value (healthy network)
UNDETECTED → DETECTED MeasurementReport with unknown PCI on monitored ARFCN SON.ANR.NbrDetected 5–20 / cell / day (stable network)
DETECTED → CANDIDATE Successful CGI read (cgi-Info present in MeasReport) SON.ANR.NbrCGISuccess 80–95% of DETECTED
DETECTED → REMOVED CGI read failures exceed retry limit (default: 3 attempts) SON.ANR.CGIFail <10% of DETECTED
CANDIDATE → ACTIVE Xn Setup Request success or noXn=TRUE set SON.ANR.NbrAdded >90% of CANDIDATE
ACTIVE → STALE No successful HO to this neighbour for T_stale (default: 30 days) SON.ANR.NbrStale <5% of ACTIVE/month
STALE/ACTIVE → REMOVED ANR eviction (LRU policy) or OAM command, noRemove=FALSE SON.ANR.NbrRemoved ~Equal to NbrAdded (steady state)
ACTIVE → REMOVED (direct) Repeated Xn HO preparation failures (≥3 consecutive) SON.ANR.PrepFail <2% of ACTIVE

§18.5 ANR KPIs and Counter Formulas

Three primary KPIs characterise NRT health and ANR function performance. These are derived directly from TS 28.552 performance measurement counters and should be evaluated per-cell, per-gNB, and at cluster level during any mobility optimisation campaign.

Missing Neighbour Ratio (MNR)

The Missing Neighbour Ratio quantifies how often UEs encounter cells that are not yet in the NRT. A high MNR indicates that the ANR function is not keeping pace with network changes or that the CGI read procedure is failing at elevated rates.

MNR = SON.ANR.NbrDetected / (SON.HO.PrepAttIntra + SON.HO.PrepAttInter) × 100%
Target: MNR < 2%. Values >5% indicate active network changes or ANR CGI read configuration issues.

Redundant Neighbour Ratio (RNR)

The Redundant Neighbour Ratio measures the fraction of NRT entries that have not been used for handover in the past T_stale window. High RNR wastes NRT capacity and increases per-cell measurement configuration overhead.

RNR = SON.ANR.NbrStale / NRT_size_current × 100%
Target: RNR < 10%. Values >20% suggest T_stale is too large or the network has shrunk (cells decommissioned without NRT cleanup).

ANR CGI Success Rate (ACGSR)

ACGSR measures the fraction of CGI read attempts that successfully resolve a PCI to an NCGI. Failures are caused by insufficient signal quality at the unknown cell, measurement gap scheduling conflicts, or the UE leaving the cell's coverage before SIB1 acquisition completes.

ACGSR = SON.ANR.NbrCGISuccess / (SON.ANR.NbrCGISuccess + SON.ANR.CGIFail) × 100%
Target: ACGSR > 85%. Values below 70% indicate the RSRP threshold for triggering CGI read is set too low (UE reports weak cells it cannot decode).

ANR Add Rate and Remove Rate

In a stable network, the rate at which ANR adds and removes NRT entries should be approximately equal over a 30-day window. A persistently higher add rate than remove rate signals NRT capacity exhaustion is approaching. A higher remove rate than add rate after a network change indicates ANR is cleaning up stale entries correctly.

ANR_net_growth = SON.ANR.NbrAdded − SON.ANR.NbrRemoved (per 30-day window)
Healthy steady state: ANR_net_growth ≈ 0. A sustained positive value warrants increasing NRT_max or reducing T_stale.

§18.6 Intra-Frequency, Inter-Frequency, and Inter-RAT ANR

ANR operates across three frequency domains, each with distinct measurement configuration requirements and CGI read complexity.

Intra-Frequency ANR

The simplest case. Both the serving cell and the unknown neighbour are on the same NR ARFCN. The UE continuously monitors intra-frequency neighbours as part of its connected-mode measurement procedures (A3/A4/A5 events). No measurement gap is required for SIB1 reading. The CGI read completes in 20–60 ms. This case accounts for the majority of ANR activity in homogeneous macro deployments.

Inter-Frequency ANR

The unknown neighbour is on a different NR ARFCN. The gNB must first have configured the UE to perform inter-frequency measurements (measObjectNR for the target ARFCN must exist in the measurement configuration). If the serving cell has not already configured measurements on the target ARFCN, the gNB must add a new measObjectNR and measurement identity before the reportCGI trigger can be added. Additionally, measurement gaps must be configured via measGapConfig (TS 38.331 §6.3.5.7). The CGI read procedure then takes 150–300 ms due to gap scheduling.

"For inter-frequency measurements, the UE shall perform the measurements in measurement gaps. The measurement gap pattern shall be configured by the network... The UE shall apply the configured measurement gap patterns for performing the required measurements." — TS 38.133 §9.1.2 (Release 17)

Inter-RAT ANR (NR ↔ E-UTRA)

The most complex case. The unknown cell is on a different radio access technology — typically E-UTRA (LTE) when the 5G NR network overlays an existing LTE coverage layer. The procedure requires:

  1. A measObjectEUTRA to be configured for the EARFCN of the target LTE cell
  2. Measurement gaps for inter-RAT reception
  3. SIB1 (and optionally SIB4/SIB5) reading from the LTE cell to extract the ECGI
  4. E-UTRA CGI reporting via the cgi-InfoEUTRA field in the NR MeasurementReport
  5. After ECGI is known, the gNB can establish X2 (rather than Xn) to the LTE eNB and add an inter-RAT NRT entry
Table 18.4 — ANR Measurement Configuration by Scenario
Scenario measObject Type Gap Required reportCGI IE Interface for NRT Entry
Intra-freq NR→NR measObjectNR (same ARFCN) No reportCGI-NR Xn (TS 38.423)
Inter-freq NR→NR measObjectNR (new ARFCN) Yes (GP0/GP1) reportCGI-NR Xn (TS 38.423)
Inter-RAT NR→LTE measObjectEUTRA Yes (GP0/GP1) reportCGI-EUTRA X2 (TS 36.423) or en-gNB Xn
Inter-RAT NR→WLAN measObjectUTRA-FDD Yes WLAN-specific IE N26 (core coordination)

§18.7 PCI Confusion and Its Interaction with ANR

ANR relies on PCI to identify unknown neighbours. If two cells on the same frequency share the same PCI (a PCI collision) the ANR function will incorrectly associate measurement reports from one cell with CGI data obtained from the other. The result is a corrupt NRT entry — a NCGI that does not correspond to the cell the UE actually measured. Handover attempts using this entry will either succeed against the wrong cell (confusing the session continuity logic) or fail at preparation because the NCGI belongs to a different gNB.

Two distinct PCI confusion types affect ANR:

PCI Collision

Two cells on the same frequency have identical PCI values within mutual coverage range. The UE cannot distinguish them by PCI alone. Any measurement report for that PCI is ambiguous. ANR detects this condition when the CGI read procedure returns two different NCGIs for the same (PCI, ARFCN) pair over successive measurement reports. Counter: SON.PCI.CollisionDetected.

PCI Confusion (mod-3 / mod-30 Clash)

Even without a collision, LTE/NR physical-layer signals can interfere if neighbouring cells' PCIs share the same modulo residue used by reference signals:

  • mod-3 clash (NR): DMRS sequences in NR are partially indexed by PCI mod 3. If two adjacent cells have PCIs with the same mod-3 residue, their DMRS patterns partially overlap, degrading channel estimation for UEs in the coverage overlap area.
  • mod-30 clash (LTE, relevant for NSA): LTE Cell-Specific Reference Signals (CRS) are indexed by PCI mod 3 (port 0) and mod 6 (ports 1–3). In NSA deployments the LTE anchor cell's CRS interference with a co-located NR cell can confuse ANR neighbour detection if the LTE eNB and NR gNB share the same PCI mod residue.
"Physical Cell Identity (PCI) planning shall ensure that PCI collisions and PCI confusions are avoided. A PCI collision occurs when two cells with an overlapping coverage area use the same PCI. A PCI confusion occurs when two cells with an overlapping coverage area have PCIs that belong to the same PCI group." — TS 36.300 §22.5.1 (applicable to NR by TS 38.300 reference)
ANR PCI Audit Rule: Before deploying a new cell, verify that no existing cell on the same ARFCN within a 15 km radius shares the same PCI or a PCI with the same (mod 3) residue. Tools: SON PCI assignment function (TS 36.300 §22.5), OAM neighbour overlap report. ANR alone cannot resolve PCI confusion — it requires PCI re-planning at the OAM layer.
Fig 18.3 — PCI Collision vs. PCI Confusion (mod-3 clash) PCI Collision Two cells, same freq, same PCI — UE cannot distinguish PCI=7 Cell A NCGI=460-00-AAAA PCI=7 Cell B NCGI=460-00-BBBB UE: sees PCI=7 twice! ANR flaw: CGI read may return AAAA or BBBB unpredictably PCI Confusion (mod-3 clash) Different PCIs, same mod-3 residue — DMRS interference PCI=3 mod3=0 Cell C (NCGI=CCCC) PCI=6 mod3=0 Cell D (NCGI=DDDD) DMRS overlap ANR can distinguish NCGIs but HO quality suffers in overlap zone
Fig 18.3 — Left: PCI collision — two cells share identical PCIs on the same frequency, making CGI read results ambiguous. Right: PCI confusion (mod-3 clash) — cells have different PCIs but the same mod-3 residue, causing DMRS interference in the coverage overlap zone. ANR can detect PCI collisions by observing inconsistent NCGI returns; mod-3 confusion is harder to detect automatically and requires PCI planning tools.

§18.8 ANR Coordination with MRO and MLB

ANR is one of three foundational SON functions specified in 3GPP — the others being Mobility Robustness Optimisation (MRO, TS 36.300 §22.3.2) and Mobility Load Balancing (MLB, TS 36.300 §22.3.3). These functions share the NRT as a common data structure, and their actions must be coordinated to avoid conflicting NRT modifications.

ANR–MRO Interaction

MRO detects too-early, too-late, and wrong-cell handovers by analysing RLF reports (TS 38.331 §5.3.14) and handover outcome counters. When MRO identifies a too-late handover to a specific neighbour, it may recommend increasing the A3 offset to that neighbour — which implies the neighbour relation must already exist in the NRT. If ANR has not yet added the cell, or has removed it as stale, MRO's optimisation is stymied. Conversely, MRO may recommend blacklisting a neighbour after repeated too-early HO failures — which requires ANR to set noHO = TRUE for that entry.

The coordination rule in TS 36.300 §22.3.4 states: MRO shall not modify an NRT entry that has been marked noRemove by OAM. ANR shall not remove an NRT entry that MRO has modified in the current optimisation window.

ANR–MLB Interaction

MLB uses the NRT to identify candidate target cells for load redistribution. When a serving cell becomes congested, MLB selects NRT entries with available capacity and adjusts the A5 handover offset to push UEs toward them. If ANR removes an NRT entry that MLB is actively using for load redistribution, the MLB function loses its target and the load redistribution attempt fails. The coordination mechanism is a usage lock: MLB marks NRT entries it is actively using with a mlbLock = TRUE attribute. ANR must check this flag before evicting any entry.

Fig 18.4 — SON Coordination: ANR, MRO, and MLB Sharing the NRT Neighbour Relation Table NCGI · PCI · ARFCN · noRemove noHO · noXn · blacklisted · mlbLock ANR Discover new cells Add / Remove entries CGI read, Xn setup MRO Too-early/late/wrong HO Adjust A3 offsets Set noHO on bad nbrs MLB Monitor cell load Select offload targets Lock active NRT entries (mlbLock=TRUE) Adjust A5 offsets for load redistribution SON Coordination Engine Arbitrates conflicting NRT write requests Priority: OAM > noRemove > mlbLock > ANR eviction Add/Remove NRT noHO / blacklist Read NRT entries Set mlbLock=TRUE
Fig 18.4 — SON coordination architecture. ANR, MRO, and MLB all read and write the shared NRT. The SON Coordination Engine arbitrates conflicting write requests using a priority chain: OAM-configured entries (noRemove=TRUE) are never modified autonomously; MLB-locked entries (mlbLock=TRUE) are protected during active load redistribution windows; only entries without these flags are eligible for ANR eviction.

§18.9 ANR Configuration Parameters

ANR behaviour is controlled by a set of parameters that must be tuned to the specific deployment scenario. The following table lists the key parameters defined in TS 38.300 §9.3 and typically exposed by vendor implementations through OAM/NMS interfaces.

Table 18.5 — ANR Configuration Parameters (TS 38.300 §9.3, vendor implementation)
Parameter Spec Reference Typical Range Urban Default Rural Default Effect of Increasing
anrRsrpThreshold TS 38.300 §9.3 −130 to −90 dBm −110 dBm −115 dBm Fewer CGI reads triggered; reduces measurement overhead but may miss weak neighbours
anrNrtMaxSize Vendor 16–128 64 32 More neighbours stored; increases HO flexibility but grows measurement configuration complexity
anrStaleTimeout (T_stale) TS 38.300 §9.3 7–90 days 30 days 60 days Entries retained longer; reduces NRT churn but increases redundant neighbour ratio
anrCgiRetryLimit Vendor 1–5 3 3 More attempts before CGI read gives up; increases ACGSR for marginal cells at cost of longer procedure time
anrPrepFailThreshold Vendor 2–10 3 5 More prep failures tolerated before NRT entry is blacklisted; useful for intermittently congested neighbours
anrXnSetupTimeout TS 38.423 1–10 s 5 s 5 s Longer wait for Xn Setup Ack; useful when transport latency is high but increases CANDIDATE state duration

Urban vs. Rural Parameter Strategy

Urban dense deployments have many physically proximate cells but limited propagation range. The MNR tends to be high because new small cells are frequently commissioned. Parameters should favour fast ANR detection (low anrRsrpThreshold, high anrNrtMaxSize) with aggressive stale cleanup (low anrStaleTimeout). Rural macro deployments have fewer cells but longer propagation paths; weak signals at 150+ km may still represent valid neighbours for fast-moving UEs (trains). Parameters should favour detection sensitivity (slightly lower anrRsrpThreshold) and longer retention (higher anrStaleTimeout).

§18.10 ANR Audit Workflow — Six Steps to NRT Optimisation

A systematic ANR audit should be performed after any significant network change (new cell addition, antenna modification, frequency refarming) and as part of the quarterly SON health review. The following six-step workflow is derived from field practice and aligned with the TS 28.552 counter set.

Fig 18.5 — Six-Step ANR Audit Workflow Step 1 Export NRT + TS 28.552 ANR counters (30-day window) Step 2 Compute MNR, RNR, ACGSR per cell Flag outliers Step 3 Cross-check MNR cells against RLF reports (TS 38.331 §5.3.14) Step 4 Check PCI plan for collision / mod-3 confusion Step 5 Review blacklisted entries — root cause HO prep failures Step 6 Apply fixes, re-measure, close loop OAM: NRT export tool PM: SON.ANR.* counters Scope: all active cells KPI: MNR > 2% → action KPI: RNR > 10% → cleanup KPI: ACGSR < 85% → tune High MNR + RLF on same PCI = confirmed missing neighbour SON PCI audit tool Fix collisions & mod-3 before re-running ANR Xn link down → TNL fix Cell decommissioned → remove NRT entry 14-day soak Verify MNR, RNR, HO HOSR stable
Fig 18.5 — Six-step ANR audit workflow. Steps 1–2 establish the baseline using TS 28.552 counters. Step 3 correlates ANR gaps with observed RLF events to confirm impact. Step 4 validates the PCI plan to eliminate false positives. Step 5 investigates blacklisted entries for root causes. Step 6 applies and validates all changes over a 14-day soak period.

§18.11 Worked Examples

Worked Example 18.1 — MNR Calculation and Missing Neighbour Identification

Scenario: After commissioning 12 new indoor small cells in a shopping centre, the macro cluster covering the venue shows elevated handover failure rates. You extract the following counters for the serving macro cell (Cell ID: 460-00-A001) over a 7-day window:

  • SON.ANR.NbrDetected = 234 (unknown PCIs in measurement reports)
  • SON.HO.PrepAttIntra = 4,280
  • SON.HO.PrepAttInter = 890
  • SON.ANR.NbrCGISuccess = 198
  • SON.ANR.CGIFail = 36

Step 1 — Compute MNR:

MNR = 234 / (4,280 + 890) × 100% = 234 / 5,170 × 100% = 4.53%

MNR of 4.53% exceeds the target of <2%. This confirms the indoor cells are not yet in the macro NRT.

Step 2 — Compute ACGSR:

ACGSR = 198 / (198 + 36) × 100% = 198 / 234 × 100% = 84.6%

ACGSR of 84.6% is slightly below target (>85%). This suggests the indoor cells are at marginal signal strength from the macro perspective — the measurement gap timing and the anrRsrpThreshold (currently −110 dBm) are borderline for the indoor environment. Action: lower anrRsrpThreshold to −115 dBm for this macro cluster and add the indoor cells manually to the NRT as seed entries with noRemove = FALSE (allowing ANR to verify and maintain them). Expected outcome: MNR drops below 1% within 3 days as ANR completes CGI reads for the remaining entries.

Worked Example 18.2 — Stale NRT Cleanup and RNR Reduction

Scenario: A rural macro gNB (Cell ID: 460-00-B007) has an NRT that is 91% full (58 of 64 entries occupied). The ANR function has stopped adding new neighbours because the table is near capacity, and the MNR has risen to 6.8%. You review the NRT and find 19 entries with zero handover usage in the past 90 days.

Step 1 — Compute RNR:

RNR = 19 / 58 × 100% = 32.8%

RNR of 32.8% is far above the target of <10%. The current anrStaleTimeout is 90 days (overly conservative for this deployment).

Step 2 — Action plan: Reduce anrStaleTimeout to 30 days. This immediately marks 19 entries as STALE and eligible for eviction. ANR evicts them (LRU order) over the next 24 hours, freeing 19 NRT slots. The available capacity allows ANR to resume new neighbour detection, and MNR drops from 6.8% to 1.4% within 7 days as the missing cells are added. One caution: verify that the 19 stale entries do not correspond to cells used by MLB for inter-cell load balancing (check mlbLock flag before reducing T_stale).

Worked Example 18.3 — CGI Read Failure Root Cause Analysis

Scenario: A gNB in a high-rise urban cluster shows SON.ANR.CGIFail = 87 over 7 days against SON.ANR.NbrDetected = 105. ACGSR = 17.1% — critically below the 85% target. The cluster is operating on n78 (3.5 GHz), with inter-frequency measurements on n41 (2.6 GHz).

Investigation: All 87 CGI failures are on the n41 ARFCN. The gNB log shows: ANR_CGI_FAIL: gap_pattern_GP0_unavailable, scheduler_conflict. Root cause: the gNB is already using Gap Pattern GP0 for MRO inter-frequency measurements. ANR's CGI read procedure cannot schedule a second GP0 gap simultaneously, so all n41 CGI reads time out.

Resolution: Configure Gap Pattern GP1 (80 ms period, 6 ms gap) as a secondary gap for ANR CGI reads on n41. This introduces a small additional throughput overhead (~7.5% DL reduction during GP1 gaps) but resolves all CGI failures. After the configuration change, ACGSR recovers to 93.2% within 48 hours and the previously missing n41 neighbours are added to the NRT.

Worked Example 18.4 — ANR–MRO Conflict Resolution

Scenario: MRO has identified cell 460-00-C012 as a "too-early handover" target and set noHO = TRUE for this entry in the NRT of the serving cell 460-00-C005. Three weeks later, ANR's stale detection marks the same entry as STALE (no HO usage, T_stale = 21 days). ANR attempts to evict the entry, but the SON Coordination Engine blocks the eviction because MRO placed a modification lock on the entry.

Expected behaviour (per TS 36.300 §22.3.4): The SON Coordinator keeps the NRT entry in STALE state but prevents eviction while MRO's lock is active. MRO will release the lock after its observation window (typically 7–14 days) confirms the A3 offset adjustment has resolved the too-early HO condition. Once the MRO lock is released, ANR may evict the entry if it remains unused. If C012 is then re-detected by a new UE measurement report, the full UNDETECTED→ACTIVE cycle restarts with the corrected A3 offset in place.

Key lesson: The ANR–MRO lock mechanism prevents the common failure mode where ANR removes a neighbour that MRO is in the process of optimising, only for ANR to re-add it immediately — creating an NRT churn loop that degrades both functions' convergence times.

§18.12 Chapter Summary and TS 28.552 Counter Reference

ANR is the SON function that keeps the Neighbour Relation Table accurate and complete as the network evolves. Its three core operations — CGI read (NCGI discovery), Xn setup (transport-layer association), and NRT maintenance (add/remove/stale) — are specified in TS 38.300 §9.3 and TS 38.331 §5.5.4.4. The function operates in continuous background mode, driven by UE measurement reports, and coordinates with MRO and MLB through shared NRT attribute locks.

Table 18.6 — Complete TS 28.552 ANR Counter Reference
Counter Name Description Granularity KPI Formula
SON.ANR.NbrDetected Unknown PCIs received in measurement reports — triggers CGI read Per cell / 15 min MNR numerator
SON.ANR.NbrCGISuccess CGI read procedures completing with valid NCGI returned Per cell / 15 min ACGSR numerator
SON.ANR.CGIFail CGI read procedures failing (timeout, gap conflict, SIB1 decode fail) Per cell / 15 min ACGSR denominator supplement
SON.ANR.NbrAdded New NRT entries successfully added (Xn setup complete or noXn=TRUE) Per cell / 15 min Rate: NbrAdded / day
SON.ANR.NbrRemoved NRT entries removed by ANR eviction (LRU or prep failure threshold) Per cell / 15 min ANR_net_growth supplement
SON.ANR.NbrStale NRT entries transitioned to STALE state (T_stale expired) Per cell / daily RNR numerator
SON.ANR.PrepFail NRT entries blacklisted due to repeated Xn HO preparation failures Per cell / 15 min Blacklist rate
SON.PCI.CollisionDetected PCI collisions detected by ANR (inconsistent NCGI for same PCI/ARFCN pair) Per cell / daily PCI health index
Table 18.7 — ANR KPI Targets and Escalation Thresholds
KPI Formula Green (healthy) Amber (investigate) Red (immediate action)
Missing Neighbour Ratio (MNR) NbrDetected / (HO.PrepAtt) × 100% < 2% 2–5% > 5%
Redundant Neighbour Ratio (RNR) NbrStale / NRT_size × 100% < 10% 10–20% > 20%
ANR CGI Success Rate (ACGSR) NbrCGISuccess / (NbrCGISuccess + CGIFail) × 100% > 85% 70–85% < 70%
Blacklist Rate PrepFail / NRT_size × 100% < 2% 2–5% > 5%
NRT Utilisation NRT_entries / NRT_max × 100% < 70% 70–90% > 90%
Fig 18.6 — ANR End-to-End Architecture Summary UE Measurement Reports (A3/A4/A5) SIB1 read (CGI decode) Serving gNB ANR Function (TS 38.300 §9.3) NRT (NCGI, PCI, ARFCN, noRemove, noHO, mlbLock) SON Coord: MRO / MLB locks Neighbour gNB SIB1 broadcast NCGI in SIB1 Xn interface OAM / SON Manager TS 28.552 PM counters NRT audit / config PCI plan validation MeasRpt reportCGI Xn Setup Req/Ack NRT update notify ANR converts unknown PCIs → NCGI → NRT entries → Xn-capable HO targets. TS 28.552 MNR / RNR / ACGSR KPIs measure health.
Fig 18.6 — ANR end-to-end architecture. The UE provides the detection mechanism (measurement reports with unknown PCIs and SIB1 CGI read). The serving gNB runs the ANR logic (state machine, NRT management, SON coordination). The neighbour gNB provides the NCGI via SIB1 and accepts the Xn setup. The OAM layer hosts the TS 28.552 performance counters and the NRT audit tools used in the six-step workflow.
Table 18.8 — ANR vs. Manual NRT Management: Comparison Summary
Dimension Manual NRT ANR-Managed NRT
New cell integration time Hours to days (manual configuration) Minutes to hours (automatic after CGI read)
Stale entry removal Never (unless operator explicitly removes) Automatic after T_stale (default: 30 days)
PCI confusion detection Not detected — corrupt entries persist Detected via NCGI inconsistency; entry held in DETECTED state
NRT capacity management No eviction — table overflows silently LRU eviction with noRemove/mlbLock protection
SON function coordination Not applicable MRO and MLB lock mechanisms prevent conflicts
Operator effort at scale High — O(N²) relations for N cells Low — audit and exception management only
Risk of wrong entries High (config errors persist indefinitely) Low (entries validated via CGI read + Xn setup)
"The ANR function maintains the Neighbour Relation Table. The gNB may use UE measurements to detect new neighbour cells and remove outdated neighbour relations from the NRT. The ANR function in the gNB may coordinate with the SON functions in the gNB (e.g. MRO, MLB) to avoid conflicting actions on the NRT." — TS 38.300 §9.3.2 (Release 17)
Chapter 18 Key Takeaways:
  1. NCGI resolution is ANR's core value: PCIs are not globally unique. The CGI read procedure (TS 38.331 §5.5.4.4) is the mechanism that converts a locally-scoped PCI into a globally-unique NCGI suitable for NRT storage and Xn setup.
  2. Measurement gaps are the bottleneck: Inter-frequency CGI reads require measurement gaps. Gap scheduling conflicts (e.g., simultaneous MRO and ANR gap requirements) are the most common cause of ACGSR degradation below 85%.
  3. PCI planning must precede ANR deployment: ANR cannot resolve PCI collisions — it can only detect them. A clean PCI plan (no mod-3 confusion, no collisions within 15 km on the same ARFCN) is a prerequisite for reliable ANR operation.
  4. Three KPIs govern NRT health: MNR (missing neighbours), RNR (redundant neighbours), and ACGSR (CGI read success). All three are directly derivable from TS 28.552 counters without any drive test.
  5. SON coordination prevents churn: The mlbLock and MRO modification lock mechanisms ensure that ANR evictions do not undo active MLB/MRO optimisation work — a critical detail for networks running multiple SON functions simultaneously.
Page 18
Chapter 19

Mobility KPI RCA Framework

Systematic root-cause analysis for 5G NR mobility degradation: HOSR decomposition (TS 28.554 §8), counter-to-failure-type mapping (TS 28.552), A3/A5 parameter interaction, too-early/too-late/wrong-cell classification (MRO TS 38.300 §9.2.7), ping-pong detection, inter-frequency and inter-RAT HO failure taxonomy, Xn vs N2 path discrimination, UE-side RLF categorisation — all derived from first principles with worked examples

3GPP TS 28.554 §8 · TS 28.552 §5.1.3 · TS 38.300 §9.2.7 · TS 38.331 §5.3.5 · TS 38.413 §8.4 · TS 38.423 §8.3
📐 11 sections 🔢 12 equations 📋 9 tables 🧪 5 worked examples 📜 6 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Decompose the TS 28.554 Handover Success Rate (HOSR) KPI into its constituent TS 28.552 counters and identify which counter increment signals which failure mode
  2. Classify every mobility failure into the three MRO categories — too-early HO, too-late HO, and wrong-cell HO — and map each to its distinct counter signature
  3. Construct and navigate the full Mobility RCA decision tree: from HOSR alarm through preparation failure, execution failure, and ping-pong identification
  4. Distinguish Xn-path preparation failures from N2-path preparation failures using per-cause TS 28.552 counters and Xn/N2 interface statistics
  5. Explain why A3 offset, hysteresis, and timeToTrigger interact non-linearly and derive the parameter adjustment direction for each failure class
  6. Identify inter-frequency and inter-RAT HO failure patterns that require measurement-gap-aware analysis distinct from intra-frequency RCA
  7. Compute the ping-pong handover rate from TS 28.552 counters and set the threshold that separates parameter misconfiguration from genuine topology instability
  8. Apply the six-step mobility RCA workflow to a real PM counter dataset and arrive at a prioritised parameter change recommendation
  9. Integrate mobility KPI analysis with retainability counters to separate HO-induced RLF from non-HO RLF at the cell level
  10. Evaluate the impact of UE speed distribution on A3 TTT optimisation and derive speed-adaptive handover thresholds for heterogeneous deployment scenarios
  11. Validate a mobility optimisation action using before/after HOSR, ping-pong rate, and RSRP-at-HO distributions extracted from TS 28.552 PM data

§19.1 Introduction — Why Mobility RCA Is Non-Trivial

Handover Success Rate (HOSR) is the single most-watched mobility KPI in any 5G NR network. When HOSR drops below threshold, the temptation is to immediately adjust A3 offset or timeToTrigger. That reflex is almost always wrong — and often makes the problem worse.

The reason is structural: HOSR is a composite KPI that aggregates failures from at least five distinct failure mechanisms, each requiring a different remedy. A too-early handover and a too-late handover both depress HOSR, yet their parameter corrections are diametrically opposite. Reducing timeToTrigger fixes too-late HO but worsens too-early HO. Increasing A3 offset corrects too-early HO but risks too-late HO and RLF. Without decomposing the HOSR degradation to its root failure type, any parameter change is a coin flip.

This chapter builds a systematic Root-Cause Analysis (RCA) framework for 5G NR mobility. The framework is grounded in three specifications:

  • TS 28.554 §8 — normative HOSR KPI definition, formula, and observation period
  • TS 28.552 §5.1.3 — per-cause HO counters that decompose HOSR numerator and denominator
  • TS 38.300 §9.2.7 — Mobility Robustness Optimisation (MRO) function and its too-early/too-late/wrong-cell classification algorithm
"The Handover Success Rate (HOSR) is defined as the ratio of the number of successful handovers to the number of attempted handovers within a measurement period. An attempted handover is counted at the point when the source cell triggers HO preparation. A successful handover is counted when the UE completes HO execution and accesses the target cell." — TS 28.554 §8.1.1 (Release 17)

Section §19.2 defines the HOSR decomposition model. Sections §19.3–§19.5 analyse the three MRO failure classes. Section §19.6 covers Xn vs N2 path discrimination. Section §19.7 addresses inter-frequency and inter-RAT specifics. Section §19.8 treats ping-pong HO detection. Section §19.9 presents the six-step RCA workflow. Sections §19.10–§19.11 provide worked examples and the optimisation validation methodology.

§19.2 HOSR Decomposition Model

TS 28.554 §8.1.1 defines HOSR as:

Eq 19.1 — Handover Success Rate (TS 28.554 §8.1.1)

HOSR = HO.ExecSucc / HO.PrepAtt × 100 [%]

where HO.ExecSucc is the count of UEs that successfully accessed the target cell and HO.PrepAtt is the count of HO preparation attempts initiated by the source cell.

This single-fraction KPI conceals a two-stage loss structure. Every HO attempt must pass through preparation and then execution. Failures can occur at either stage, and the counter signatures differ:

Table 19.1 — HOSR Two-Stage Loss Model and Counter Mapping (TS 28.552 §5.1.3)
Stage Success Counter Failure Counter Primary Failure Causes RCA Direction
Preparation HO.PrepSucc HO.PrepFail Target cell capacity rejection, Xn/N2 timeout, missing neighbour relation, target cell RF inadequate Check target cell load, NRT, interface latency
Execution HO.ExecSucc HO.ExecFail T304 expiry (UE loses source before accessing target), target RA failure, too-early or too-late trigger Check A3/TTT parameters, RACH config at target, UE speed
Post-HO HO.TooEarly, HO.TooLate, HO.WrongCell UE triggers RLF or re-establishment shortly after HO completion (too-early) or instead of attempting HO (too-late) MRO function — A3 offset and TTT adjustment

The full HOSR decomposition identity is:

Eq 19.2 — HOSR Decomposition Identity

HO.PrepAtt = HO.PrepSucc + HO.PrepFail

HO.PrepSucc = HO.ExecSucc + HO.ExecFail

HOSR = (HO.PrepAtt − HO.PrepFail − HO.ExecFail) / HO.PrepAtt

Key Concept — Preparation Failure vs Execution Failure: A preparation failure means the HO command was never delivered to the UE. The UE continues on the source cell, which may already be degraded. A execution failure means the HO command was delivered but the UE could not access the target cell within T304 (typically 200–2000 ms). Both count as HOSR failures, but only execution failure can lead to immediate RLF. Preparation failure buys time for the source cell to recover or for the gNB to attempt preparation to an alternative target.
Fig 19.1 — HOSR Two-Stage Loss Funnel (TS 28.554 §8 / TS 28.552) HO.PrepAtt Denominator = 1000 Preparation Stage HO.PrepSucc + HO.PrepFail HO.PrepFail = 50 PrepFail rate = 5% HO.PrepSucc = 950 Execution Stage of the 950 PrepSucc HO.ExecFail = 30 T304 / RACH failures HO.ExecSucc = 920 HOSR = 920 / 1000 = 92.0% PrepFail contribution: −5.0 pp  |  ExecFail contribution: −3.0 pp  |  Combined loss: −8.0 pp from 100%
Fig 19.1 — HOSR two-stage loss funnel. Of 1000 HO preparation attempts, 50 fail at preparation (PrepFail = 5%) and 30 of the 950 successful preparations fail at execution (ExecFail = 3.2%), yielding HOSR = 92.0%. The two loss stages require different RCA paths: PrepFail analysis examines the target cell and interface; ExecFail analysis examines A3/TTT parameters and RACH configuration.

§19.3 MRO Failure Classification — Too-Early, Too-Late, Wrong-Cell

The Mobility Robustness Optimisation (MRO) function, specified in TS 38.300 §9.2.7, classifies every post-handover RLF event into one of three categories based on the temporal relationship between the handover completion (or non-completion) and the subsequent radio link failure.

"The MRO function shall detect the following HO problems: too early HO, too late HO, and HO to wrong cell. For each detected HO problem, the MRO function shall indicate the problem to the SON coordination function and may initiate parameter adjustments to prevent recurrence." — TS 38.300 §9.2.7.1 (Release 17)

19.3.1 Too-Early Handover

A too-early handover occurs when the UE is handed over while the source cell was still providing adequate service. The gNB detects this pattern when:

  1. A HO completion is recorded (the UE accessed the target cell and sent RRCReconfigurationComplete)
  2. Within T_mro_detect (typically 1–3 seconds after HO completion), the UE sends an RLF report indicating RLF at the target cell, or the target gNB reports RRC Re-establishment from the UE
  3. The source cell RSRP at the time of HO trigger was above the too-early RSRP threshold (typically −100 dBm or better)

The TS 28.552 counter for too-early detection is HO.TooEarlyNum, incremented at the source gNB. The root cause is excessive A3 sensitivity: the A3 event fires prematurely because a3-Offset is too small or timeToTrigger is too short for the UE speed profile.

Eq 19.3 — Too-Early HO Rate

Too-Early Rate = HO.TooEarlyNum / HO.ExecSucc × 100 [%]

Threshold: > 5% is the typical alarm threshold for dense urban deployments.

19.3.2 Too-Late Handover

A too-late handover occurs when the UE experiences RLF on the source cell because the A3 event was not triggered in time. The gNB detects this when:

  1. A UE sends an RRCReestablishmentRequest to a neighbouring cell (not the source cell) indicating RLF
  2. The RLF report carried in the RRCReestablishment procedure shows that the UE's last RSRP on the source cell was below the coverage threshold
  3. No HO preparation was ongoing at the time of RLF

The counter is HO.TooLateNum. Too-late HO is the dominant failure mode in large-cell rural deployments and on-highway clusters where UE speed causes rapid RSRP deterioration between A3 trigger and HO command delivery.

Eq 19.4 — Too-Late HO Rate

Too-Late Rate = HO.TooLateNum / (HO.TooLateNum + HO.ExecSucc) × 100 [%]

Note: The denominator adds TooLate events to ExecSucc because TooLate events never resulted in a PrepAtt — they are pure MRO-detected misses, not HOSR components.

19.3.3 Wrong-Cell Handover

A wrong-cell handover occurs when the UE is handed over to a cell that cannot provide adequate service, and the UE must re-establish to a third cell (neither the original source nor the selected target). This pattern indicates that the NRT ordering is wrong — the target cell selected by the A3 event is not the geometrically optimal neighbour.

The counter is HO.WrongCellNum. Wrong-cell HO often coexists with PCI confusion or missing NRT entries. The fix is NRT reordering, not parameter adjustment.

Table 19.2 — MRO Failure Class Signatures and Parameter Response (TS 38.300 §9.2.7)
Failure Class Counter Temporal Pattern Source RSRP at Trigger Corrective Action
Too-Early HO HO.TooEarlyNum RLF within T_mro (1–3 s) after HO success Good (> −100 dBm) Increase a3-Offset (+1 to +2 dB) or increase TTT
Too-Late HO HO.TooLateNum RLF at source cell; no HO was in progress Poor (< −110 dBm) Decrease a3-Offset (−1 to −2 dB) or decrease TTT
Wrong-Cell HO HO.WrongCellNum Re-establishment to 3rd cell after HO success Variable Correct NRT ordering; check PCI confusion (mod-3/mod-30)
Ping-Pong HO HO.PingPongNum Return HO within T_pp (typically < 30 s) of outgoing HO Marginal (−105 to −115 dBm) Increase TTT; add A3 hysteresis; check RF boundary asymmetry
Fig 19.2 — MRO Failure Classes: RSRP Trajectory and Event Timing Time RSRP (dBm) −85 −100 −110 −120 RLF threshold A3 fires (early) RLF (Too-Early) Case A: Too-Early HO No A3 event (TTT too long) RLF (Too-Late) Case B: Too-Late HO HO to wrong cell Case C: Wrong-Cell
Fig 19.2 — RSRP trajectory and event timing for the three MRO failure classes. Case A (too-early HO): A3 fires while source RSRP is still adequate; target cell cannot sustain the UE and RLF follows within T_mro. Case B (too-late HO): RSRP deteriorates below the RLF threshold before any A3 event fires; UE falls into RLF without any preceding handover attempt. Case C (wrong-cell HO): A3 fires correctly but the selected target cell is geometrically suboptimal; UE re-establishes to a third cell.

§19.4 A3 Parameter Interaction — Offset, Hysteresis, and TTT

The A3 event fires when the filtered measurement of the best neighbour cell exceeds the filtered measurement of the serving cell plus the A3 offset, maintained for the full duration of the timeToTrigger (TTT). The entry condition from TS 38.331 §5.5.4.4 is:

Eq 19.5 — A3 Entry Condition (TS 38.331 §5.5.4.4)

Mn + Of,n + Ocn − Hys > Mp + Of,p + Ocp + Of

where Mn = filtered neighbour RSRP, Mp = filtered serving cell RSRP, Of = a3-Offset, Hys = hysteresis, Ocn/Ocp = cell-individual offsets, Of,n/Of,p = frequency-specific offsets.

The three primary tunable parameters — a3-Offset, hysteresis, and timeToTrigger — interact as follows:

Table 19.3 — A3 Parameter Effect on MRO Failure Classes
Parameter Typical Range Increase Effect Decrease Effect Risk if Over-Corrected
a3-Offset 0–24 dB (0.5 dB steps) Harder to trigger HO: reduces too-early, increases too-late risk Easier to trigger HO: reduces too-late, increases too-early risk Too high: RLF at cell edge. Too low: ping-pong oscillation.
hysteresis 0–30 dB (0.5 dB steps) Widens trigger/cancellation gap: reduces ping-pong Narrows gap: faster HO, more ping-pong Too high: permanently delays HO at coverage boundary.
timeToTrigger 0–5120 ms (discrete values) Longer filtering: reduces false triggers, increases too-late risk at high UE speed Shorter filtering: faster HO, increases too-early and ping-pong risk TTT too long at high speed: UE leaves coverage before HO fires.
filterCoefficient k = 0–19 Heavier smoothing: reduces noise-driven triggers, increases latency Less smoothing: faster tracking, noisier A3 firing High k at high UE speed: measurement lag causes both too-early and too-late patterns simultaneously.
Key Concept — The TTT–Speed Constraint: The maximum TTT that avoids too-late HO is bounded by the time a UE at maximum cluster speed takes to traverse the A3 entry margin. If a UE at 100 km/h (27.8 m/s) enters an A3 zone of width d (metres), the maximum safe TTT is: TTT_max = d / v. For a cell radius of 300 m with A3 margin of 60 m and v = 27.8 m/s, TTT_max = 60/27.8 ≈ 2.2 s. Setting TTT = 3200 ms on this cluster guarantees too-late HO events. The fix is not to reduce A3 offset — it is to reduce TTT.

§19.5 Preparation Failure Root-Cause Analysis

Preparation failures (HO.PrepFail) are distinct from execution failures and require a different analysis path. The preparation stage involves signalling between the source gNB and the target gNB (via Xn or N2). Failures here are caused by target-side rejections or transport-layer problems, not by A3 parameter misconfiguration.

Per-Cause Preparation Failure Counters

TS 28.552 §5.1.3.4 defines per-cause counters for preparation failure. The most important are:

Table 19.4 — HO Preparation Failure Causes and TS 28.552 Counters
Failure Cause TS 28.552 Counter Interface Root Cause Corrective Action
No Radio Resources Available HO.PrepFail.NoRadio Xn / N2 Target cell PRB utilisation > 85%; admission control rejection Load balance away from target; check MLB parameters
Target Cell Missing from NRT HO.PrepFail.NoNRT Source gNB internal ANR has not yet discovered the target cell; manual NRT gap Trigger ANR CGI read; add NRT entry manually
Xn Interface Timeout HO.PrepFail.XnTimeout Xn Target gNB unreachable; SCTP association down; BGP routing issue Check Xn SCTP heartbeat; verify transport layer path
Target Cell Unacceptable HO.PrepFail.Unacceptable Xn / N2 Target cell does not support UE capability (NR band, CA, MIMO layers); security mismatch Check UE capability vs target cell configuration; update NR-DC configuration
Preparation Timer Expiry HO.PrepFail.Timer Xn / N2 tXnRelocPrep (Xn) or tNGRelocPrep (N2) expired before HANDOVER COMMAND received Increase timer values; diagnose transport latency

Xn vs N2 Path Discrimination

When a preparation failure is detected, the RCA must determine whether the HO was attempted via Xn or via N2 (NGAP), as the remediation differs. TS 28.552 provides separate counters:

  • HO.PrepAtt.Xn and HO.PrepFail.Xn — Xn-path attempts and failures
  • HO.PrepAtt.N2 and HO.PrepFail.N2 — N2-path (NGAP) attempts and failures

Eq 19.6 — Path-Specific Preparation Failure Rate

Xn PrepFail Rate = HO.PrepFail.Xn / HO.PrepAtt.Xn × 100 [%]

N2 PrepFail Rate = HO.PrepFail.N2 / HO.PrepAtt.N2 × 100 [%]

A high Xn PrepFail Rate with a normal N2 PrepFail Rate confirms an Xn transport or configuration issue. A high N2 PrepFail Rate indicates AMF capacity or NGAP session management problems.

§19.6 Execution Failure Root-Cause Analysis

Execution failures (HO.ExecFail) occur after the HO command has been delivered to the UE but the UE fails to access the target cell. The most common cause is T304 timer expiry: the UE cannot complete RACH on the target cell within the configured T304 window.

T304 and Target Cell RACH Configuration

T304 is the handover execution timer specified in TS 38.331 §7.3. It starts when the UE receives the RRCReconfiguration message containing the mobility control info. If the UE does not complete the random access procedure on the target cell before T304 expires, the UE declares HO failure, initiates RRC Re-establishment, and the source gNB increments HO.ExecFail.

"Upon initiation of the handover execution: 1> start timer T304 with the timer value set to t304, as included in the mobilityControlInfo; 2> apply the downlink assignments and uplink grants provided in the reconfigurationWithSync; 3> initiate the random access procedure on the target SpCell." — TS 38.331 §5.3.5.3 (Release 17)

T304 expiry is almost always a symptom, not the root cause. The root causes are:

  1. Target RSRP too low when HO fires: The A3 event fired at the coverage boundary where target RSRP is marginal. RACH preamble is lost due to high path loss. Fix: tighten the HO trigger threshold (reduce a3-Offset) to handover earlier while target RSRP is still strong.
  2. RACH configuration mismatch: The target cell's preamble format, RA-RNTI, or PRACH occasion configuration is suboptimal for UEs arriving at the cell edge. Fix: check target cell RACH parameter set (Section §10.2).
  3. T304 value too short: On congested target cells, the RACH backoff may cause RACH attempts to span multiple retransmissions; if T304 is set to 200 ms (minimum), even a single RACH retransmission with contention resolution can exceed the timer. Fix: increase T304 to 500 ms or 1000 ms for congested cells.
Table 19.5 — T304 Value vs Execution Failure Risk
T304 Value (ms) Max RACH Attempts in Window ExecFail Risk Recommended Scenario
200 1–2 High (congested cells) Lightly loaded, excellent target coverage
500 3–5 Medium Standard deployment; default recommendation
1000 6–10 Low Dense urban; high RACH contention environments
2000 12–20 Very low (risk: UE hangs in HO state) Special cases: high-speed train, known RACH contention issue

§19.7 Inter-Frequency and Inter-RAT Handover RCA

Inter-frequency and inter-RAT handovers add a measurement-gap dependency that is absent from intra-frequency HO. This gap dependency creates a unique failure signature: execution failures that are periodic (correlated with gap occurrence) rather than uniformly distributed.

A5 Event for Inter-Frequency HO

While A3 is the standard intra-frequency HO trigger, A5 is used for inter-frequency HO to a lower-priority layer. The A5 entry condition (TS 38.331 §5.5.4.5) requires two simultaneous conditions:

Eq 19.7 — A5 Entry Conditions (TS 38.331 §5.5.4.5)

Condition 1: Mp + Hys < Thresh1 (serving cell below upper threshold)

Condition 2: Mn − Hys > Thresh2 (neighbour cell above lower threshold)

Both conditions must remain true simultaneously for the full TTT duration. If either condition drops out during TTT, the event is cancelled and the timer restarts.

The dual-condition nature of A5 creates a specific false-cancellation problem: at the coverage boundary, the serving cell RSRP oscillates around Thresh1. Each time it briefly rises above Thresh1, Condition 1 cancels, the TTT resets, and the A5 event is never reported despite the UE genuinely needing to leave. This manifests as HO.TooLateNum events on cells at the edge of the anchor frequency coverage.

Table 19.6 — Inter-Frequency HO Failure Patterns
Failure Pattern Counter Signature Root Cause Fix
A5 Condition-1 thrash at boundary HO.TooLateNum high; HO.PrepAtt.InterFreq low Thresh1 set at same value as RLF threshold; no margin for oscillation Raise Thresh1 by 3–5 dB above RLF threshold to create trigger headroom
Measurement gap collision HO.ExecFail spikes periodic; RACH fail logs show gap-period pattern Target cell PRACH occasions fall within UE measurement gap windows Adjust gap pattern; change PRACH occasion position relative to gap
Inter-RAT B1 event never fires HO.PrepAtt.B1 = 0; RSRP on E-UTRA visible in DT B1 threshold set too high; measurement gap not scheduled; inter-RAT neighbour not in measObjectEUTRA Lower B1 threshold; verify inter-RAT NRT; check measurement object configuration

§19.8 Ping-Pong Handover Detection and Analysis

A ping-pong handover is defined as a handover in which the UE returns to the original source cell (or a cluster of cells with identical location) within a short time window T_pp after the initial outgoing handover. TS 28.552 defines the counter HO.PingPong.Num for this event, with T_pp typically set to 30 seconds.

Eq 19.8 — Ping-Pong Handover Rate (TS 28.552)

Ping-Pong Rate = HO.PingPong.Num / HO.ExecSucc × 100 [%]

Threshold: > 10% is a concern; > 20% indicates systematic A3 parameter misconfiguration or RF asymmetry requiring cell-specific correction.

Ping-pong HO does not directly degrade HOSR (both the outgoing and return handovers may complete successfully), but it degrades user experience through repeated service interruptions and wastes capacity on repeated preparation signalling. Each ping-pong cycle incurs 2 × HO interruption time.

Ping-Pong Root Causes

Three structural causes drive ping-pong HO:

  1. RF boundary asymmetry: Cells A and B both see each other as the best neighbour alternately as the UE sits at the boundary. This is geometric — reducing A3 offset makes it worse. The fix is antenna retilt or power adjustment to move the boundary away from the UE trajectory.
  2. TTT too short for boundary dwell time: UEs sitting at the boundary dwell in the A3 entry zone for less time than TTT, so the event fires only briefly before the UE moves back. Shortening TTT forces a HO that fires when the UE is still at the boundary (too early), completing just before the UE moves back. Increasing TTT prevents the first HO from completing at all (too-late risk). The solution is a moderate TTT increase (160 ms → 256 ms) combined with a small A3 offset increase (+0.5 dB).
  3. Cell-specific hysteresis set to zero: Hysteresis provides a guard band between entry and cancellation conditions. Without hysteresis, any noise-driven RSRP dip at the target immediately cancels the A3 event and the UE returns. Adding hysteresis = 1–2 dB resolves this class of ping-pong.
Fig 19.3 — Ping-Pong HO: RSRP Trajectory and A3 Trigger Oscillation t (s) 0 5 10 15 20 25 A3 trigger boundary (A − offset) HO A→B HO B→A HO A→B Cell A RSRP Cell B RSRP UE dwell at A/B boundary: 3 HO events in 20 seconds Fix: Increase a3-Offset by 1 dB + add hysteresis 1.5 dB to suppress oscillation
Fig 19.3 — Ping-pong HO pattern. Cell A and Cell B RSRP values oscillate around the A3 trigger boundary at the coverage overlap zone. With a3-Offset = 0 dB and hysteresis = 0 dB, any momentary crossing triggers a HO, resulting in three HO events in 20 seconds. Adding 1 dB offset and 1.5 dB hysteresis widens the entry/cancellation band and eliminates the oscillation.

§19.9 Six-Step Mobility RCA Workflow

The following workflow is a systematic procedure for diagnosing HOSR degradation on any 5G NR cell. It should be applied at the cell level (not cluster level) because different cells in the same cluster may have different dominant failure modes.

Fig 19.4 — Six-Step Mobility RCA Decision Tree Step 1 Confirm HOSR below threshold PrepFail > 3%? HO.PrepFail / HO.PrepAtt YES Step 2a: PrepFail RCA Check NoRadio, XnTimeout, NoNRT causes NO ExecFail > 2%? HO.ExecFail / HO.PrepSucc YES Step 3a: ExecFail RCA Check T304, target RSRP, RACH config NO TooEarly > 5%? HO.TooEarlyNum / HO.ExecSucc YES Step 4a: Too-Early RCA Increase a3-Offset or TTT NO TooLate > 3%? HO.TooLateNum / HO.ExecSucc YES Step 5a: Too-Late RCA Decrease a3-Offset or reduce TTT NO Step 6: Ping-Pong Check HO.PingPong.Num / HO.ExecSucc > 10%? If YES: add hysteresis / increase TTT
Fig 19.4 — Six-step Mobility RCA decision tree. Start at Step 1 (confirm HOSR alarm). At each decision node, compute the relevant ratio from TS 28.552 counters. The first ratio that exceeds its threshold identifies the dominant failure mode; follow the YES branch to the corrective action. If all six steps pass without a threshold exceedance, the HOSR degradation is likely caused by a structural RF problem (coverage hole, interference) rather than a parameter issue.

The six steps and their counter checks are summarised below:

Table 19.7 — Six-Step RCA Workflow: Counter, Threshold, and Action
Step Counter Ratio Threshold Action if Exceeded Spec Reference
1. Confirm HOSR alarm HO.ExecSucc / HO.PrepAtt < 95% (typical KPI target) Proceed to step 2 TS 28.554 §8.1.1
2. Prep failure check HO.PrepFail / HO.PrepAtt > 3% Check NoRadio, XnTimeout, NoNRT causes TS 28.552 §5.1.3.4
3. Exec failure check HO.ExecFail / HO.PrepSucc > 2% Check T304, target RSRP distribution, RACH config TS 28.552 §5.1.3.5; TS 38.331 §7.3
4. Too-early check HO.TooEarlyNum / HO.ExecSucc > 5% Increase a3-Offset by 1–2 dB; increase TTT by one step TS 38.300 §9.2.7; TS 28.552
5. Too-late check HO.TooLateNum / HO.ExecSucc > 3% Decrease a3-Offset by 1–2 dB; decrease TTT by one step; verify NRT completeness TS 38.300 §9.2.7; TS 28.552
6. Ping-pong check HO.PingPong.Num / HO.ExecSucc > 10% Add hysteresis 1–2 dB; increase TTT; check RF boundary symmetry TS 28.552 §5.1.3.6

§19.10 Worked Examples

Example 19.1 — Diagnosing HOSR = 88% on a Highway Macro

Given: A highway macro cell reports HOSR = 88% over a 24-hour period. The network target is 95%. PM data shows:

  • HO.PrepAtt = 4,200
  • HO.PrepFail = 126 (3.0%)
  • HO.PrepSucc = 4,074
  • HO.ExecFail = 378 (9.3% of PrepSucc)
  • HO.ExecSucc = 3,696 (HOSR = 88.0%)
  • HO.TooEarlyNum = 74 (2.0% of ExecSucc)
  • HO.TooLateNum = 612 (16.6% of ExecSucc)
  • HO.PingPong.Num = 185 (5.0% of ExecSucc)

Current parameters: a3-Offset = 3 dB, TTT = 640 ms, filterCoefficient k = 4. UE speed on highway: 110–130 km/h (30.6–36.1 m/s).

RCA Walkthrough:

Step 2: PrepFail = 3.0% — just at threshold. Check per-cause: 80% of PrepFail is HO.PrepFail.XnTimeout. Xn transport latency elevated at 180 ms (normal < 50 ms). Root cause: routing change on backhaul. Action: restore Xn routing, not a parameter issue.

Step 3: ExecFail = 9.3% — significantly above 2% threshold. The dominant too-late signature strongly suggests the UE is being handed over too late, so when the HO fires the target RSRP is already marginal and T304 expires. Confirm: target RSRP distribution at HO trigger shows median = −112 dBm. This is below the reliable RACH threshold of −105 dBm.

Step 5: TooLate = 16.6% — well above 3% threshold. Confirms too-late dominant failure.

TTT Analysis: UE speed = 33 m/s. A3 margin (zone between best-server boundary and coverage edge) estimated at 40 m from RF planning data. Maximum safe TTT = 40/33 = 1.2 s. Current TTT = 640 ms — within budget. However, filterCoefficient k = 4 (a = 0.5) adds a measurement lag of approximately 2 / (1 - 0.5) × 200 ms = 800 ms measurement settling time. Effective A3 latency = 640 ms + 800 ms = 1,440 ms > 1,200 ms budget. The filter is too slow for the UE speed.

Recommended Actions:

  1. Reduce filterCoefficient from k = 4 to k = 2 (a = 0.75, settling time ≈ 400 ms). This reduces effective A3 latency to 640 + 400 = 1,040 ms < 1,200 ms budget.
  2. Reduce a3-Offset from 3 dB to 2 dB to trigger HO 1 dB earlier (when target RSRP is still > −106 dBm).
  3. Restore Xn routing to reduce PrepFail.

Predicted post-change HOSR: ExecFail should fall from 9.3% to < 3%; TooLate from 16.6% to < 5%; HOSR should recover to > 95%.

Example 19.2 — Separating HO-Induced RLF from Non-HO RLF

Given: A cell shows degraded retainability KPI alongside HOSR degradation. The task is to determine what fraction of DRB drops are caused by HO failures versus non-HO causes.

Counter extraction:

  • DRB.AbnormRel.HO = 180 (DRB releases caused by HO failure, i.e., T304 expiry leading to RLF)
  • DRB.AbnormRel.NonHO = 420 (DRB releases from non-HO causes: coverage hole, uplink interference, timer expiry in stationary UEs)
  • DRB.AbnormRel = 600 (total abnormal DRB releases)

Eq 19.9 — HO-Induced RLF Fraction

HO-RLF Fraction = DRB.AbnormRel.HO / DRB.AbnormRel × 100 = 180/600 = 30%

Conclusion: 30% of DRB drops are HO-induced. HOSR optimisation will address this fraction. The remaining 70% require a separate coverage or interference RCA. Attempting to fix retainability KPI purely through A3 parameter changes will have limited impact if the dominant 70% non-HO cause is not addressed.

Example 19.3 — Speed-Adaptive TTT Selection

Problem: A cell cluster serves both pedestrian UEs (3 km/h) and vehicular UEs (120 km/h). A single TTT value is configured. Determine the TTT value that minimises the combined too-early + too-late failure rate.

Given: A3 margin zone width d = 50 m (distance over which A3 entry condition is continuously met). UE speed v₁ = 0.83 m/s (pedestrian), v₂ = 33.3 m/s (vehicular).

Eq 19.10 — Maximum Safe TTT per Speed Class

TTT_max = d / v

Pedestrian: TTT_max = 50 / 0.83 = 60.2 s → any TTT value is safe for pedestrians

Vehicular: TTT_max = 50 / 33.3 = 1.50 s = 1500 ms

Optimal TTT: Select TTT = 640 ms (the 3GPP-defined value closest to but below 1500 ms). This is safe for vehicular UEs. Pedestrian UEs will experience a slightly faster HO trigger, increasing too-early risk marginally, but pedestrian UEs are unlikely to cross cell boundaries rapidly enough to trigger the too-early pattern.

Note: If the cluster has a dominant vehicular population (> 60% of UE-hours), consider enabling speed-dependent mobility (SDM) if supported, which allows the gNB to shorten TTT for UEs reporting high Doppler estimates in the UE capability report.

Example 19.4 — Validating a Mobility Optimisation Action

Scenario: An a3-Offset change from 2 dB to 3 dB was applied to a cluster of 12 cells to address too-early HO. Validate the effectiveness of the change using PM data from the week before and week after.

Table 19.8 — Before/After Validation: A3-Offset Change from 2 dB to 3 dB
Counter / KPI Before (week avg) After (week avg) Change Expected Direction
HOSR (%) 91.2 94.8 +3.6 pp Increase (target met)
HO.TooEarlyNum / ExecSucc (%) 8.1 2.4 −5.7 pp Decrease (expected)
HO.TooLateNum / ExecSucc (%) 2.2 3.8 +1.6 pp Slight increase (acceptable)
HO.PingPong.Num / ExecSucc (%) 12.3 5.1 −7.2 pp Decrease (beneficial side effect)
DRB.AbnormRel.HO (count/cell/hour) 4.2 1.8 −57% Decrease (expected)

Validation conclusion: The change achieved its objective (HOSR +3.6 pp, TooEarly −5.7 pp). The slight increase in TooLate (+1.6 pp, from 2.2% to 3.8%) is within acceptable range (below 5% threshold). The HO-induced RLF rate (DRB.AbnormRel.HO) dropped by 57%. The optimisation is validated and should be retained.

§19.11 Mobility-to-Retainability Counter Linkage

Mobility failures do not remain isolated — they propagate into the retainability domain within minutes. The causal chain is: HO failure → T304 expiry → UE declares RLF → RRC Re-establishment → if re-establishment fails, DRB drop and call loss are recorded. Operators who analyse these domains in isolation will misattribute retainability degradation to coverage problems when the true cause is HO parameter misconfiguration.

"Radio link failure (RLF): A UE shall declare RLF when: the T310 timer expires; or when the T312 timer expires; or when a random access problem is indicated by the MAC layer while neither T300, T301, T304, T311 nor T319 is running." — TS 38.331 §5.3.10.1 (Release 17)

The linkage counters to track jointly are:

Table 19.9 — Joint Mobility and Retainability Counter Set
Counter Domain Mobility Link
HO.ExecFail Mobility Every increment corresponds to a T304 expiry — potential DRB.AbnormRel.HO increment
DRB.AbnormRel.HO Retainability Direct link: counts DRB drops caused by HO failure (subset of DRB.AbnormRel)
RRC.ConnReestabAtt Retainability Elevated value = UEs declaring RLF; check whether mobility or coverage is the cause by cross-checking with HO.TooLateNum
RRC.ConnReestabSucc Retainability If Re-establishment success rate is low, the network has both a HO problem and a coverage problem simultaneously
HO.TooLateNum Mobility (MRO) Each too-late event is also a missed HO opportunity that resulted in RLF — increments both mobility and retainability degradation

The cross-domain HOSR-Retainability correlation formula provides a quantitative link:

Eq 19.11 — Cross-Domain Impact Estimate

Expected DRB.AbnormRel.HO ≈ HO.ExecFail × P(RLF | ExecFail)

where P(RLF | ExecFail) ≈ 0.7–0.9 in typical deployments (some T304 expiries lead to successful re-establishment; a fraction result in complete call drop). A value close to 0.9 indicates the target cell coverage is inadequate for re-establishment after T304 expiry.

Chapter Summary

  • HOSR decomposition: HOSR = HO.ExecSucc / HO.PrepAtt. The two-stage model splits failures into PrepFail (target/transport causes) and ExecFail (A3 parameter/T304 causes). Both stages must be analysed before any parameter change is made.
  • MRO failure classes: Too-early (fire too soon — increase offset/TTT), too-late (fire too late — decrease offset/TTT), wrong-cell (incorrect NRT ordering). These are mutually exclusive root causes with opposite parameter corrections.
  • A3 parameter interaction: a3-Offset, hysteresis, TTT, and filterCoefficient interact multiplicatively. Changing one without checking the others risks introducing a new failure mode while suppressing the original one.
  • Preparation failure path: Check per-cause counters (NoRadio, XnTimeout, NoNRT) and Xn vs N2 path discrimination before concluding a preparation failure is parameter-related.
  • Ping-pong: Detected by HO.PingPong.Num; caused by RF boundary asymmetry, insufficient hysteresis, or TTT mismatch with boundary dwell time. Fix: add hysteresis first; then TTT if ping-pong persists.
  • Six-step workflow: Apply sequentially — the first counter threshold crossed identifies the dominant failure mode. Do not skip steps or apply corrections speculatively.
  • Retainability linkage: HO.ExecFail propagates to DRB.AbnormRel.HO. Retainability KPI degradation must be disaggregated by HO vs non-HO cause before targeting corrective actions.
Page 19
Chapter 20

PDSCH/PUSCH Scheduling

Complete 3GPP scheduling framework for 5G NR downlink and uplink: slot-based and non-slot scheduling, DCI formats (1_0, 1_1, 0_0, 0_1), resource allocation types (0 and 1), time-domain resource assignment (TDRA), HARQ process management (16 processes, NDI toggle, HARQ-ACK timing), link adaptation (MCS table, CQI-to-MCS mapping, BLER-based outer loop), scheduling request (SR) and BSR procedures, semi-persistent scheduling (SPS/CG), TDD uplink-downlink configuration impact, and TS 28.552 scheduling KPI decomposition — all derived from TS 38.211, TS 38.212, TS 38.213, TS 38.214, and TS 28.552 with worked examples

3GPP TS 38.211 §7.3 · TS 38.212 §7.3 · TS 38.213 §9–10 · TS 38.214 §5–6 · TS 28.552 §5.1.2 · TS 28.554 §6
📐 12 sections 🔢 16 equations 📋 10 tables 🧪 5 worked examples 📜 7 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Describe the slot structure of 5G NR (14 OFDM symbols, 1 ms slot at 15 kHz SCS, numerology scaling) and explain how mini-slot scheduling reduces latency for URLLC services
  2. Decode DCI format 1_1 and DCI format 0_1 field-by-field and map each field to its corresponding TS 38.212 §7.3 bit allocation table
  3. Distinguish resource allocation Type 0 (RBG bitmap) from Type 1 (starting RB + length) and calculate the number of bitmap bits required for a given bandwidth part
  4. Construct the TDRA table and determine the valid PDSCH/PUSCH mapping types (A and B) for a given slot configuration and TDD pattern
  5. Trace the complete HARQ process lifecycle — initial transmission, NDI toggle, HARQ-ACK reporting, retransmission, and process release — using 16-process asynchronous HARQ for NR
  6. Apply the TS 38.214 MCS tables (64QAM and 256QAM variants) to convert CQI to modulation order and target code rate and then to transport block size
  7. Explain the outer-loop link adaptation (OLLA) algorithm and derive the OLLA step size relationship to maintain a 10% BLER target
  8. Describe the Scheduling Request and Buffer Status Report procedures and explain how SR periodicity and BSR format affect uplink scheduling latency
  9. Compare dynamic scheduling, semi-persistent scheduling (SPS) for DL, and configured grant (CG) for UL and identify the deployment scenarios that favour each
  10. Quantify the impact of TDD UL/DL configuration on achievable UL and DL throughput fractions and calculate scheduling opportunity density for each TDD pattern
  11. Extract scheduling KPIs from TS 28.552 PM counters (DL/UL PRB utilisation, MCS distribution, HARQ retransmission rate) and derive root causes from counter signatures
  12. Apply the scheduling optimisation workflow to a real counter dataset and produce a prioritised parameter change recommendation covering MCS aggressiveness, HARQ process count, and SR/CG configuration

§20.1 Introduction — Why Scheduling is the Throughput Engine

The 5G NR scheduler is the most consequential single algorithm in a deployed gNB. Every microsecond, the scheduler decides which UEs receive resources, on which PRBs, at which modulation and coding scheme, and with which HARQ process. The cumulative effect of millions of these decisions determines the cell throughput, user experience, spectral efficiency, and energy consumption seen in the live network.

Unlike earlier generations where scheduling was largely a black-box proprietary function, 5G NR exposes the scheduling decision surface through precisely defined signaling interfaces. DCI formats specify to the UE exactly what resources have been allocated. MCS tables define the quantised link adaptation space. HARQ protocols determine retransmission behaviour. All of this is normatively specified in TS 38.211 through TS 38.214, giving the RAN engineer a deterministic model against which real network behaviour can be benchmarked.

This chapter covers the complete scheduling framework from first principles:

  • §20.2 — NR slot and symbol structure: the scheduling grid
  • §20.3 — DCI format anatomy: DL scheduling (1_0, 1_1) and UL scheduling (0_0, 0_1)
  • §20.4 — Frequency-domain resource allocation: Type 0 and Type 1
  • §20.5 — Time-domain resource assignment and mapping types A/B
  • §20.6 — HARQ operation: 16-process asynchronous NR HARQ
  • §20.7 — Link adaptation: CQI, MCS tables, and outer-loop OLLA
  • §20.8 — SR and BSR: uplink demand signaling
  • §20.9 — SPS and Configured Grant: deterministic low-latency scheduling
  • §20.10 — TDD configuration impact on scheduling opportunity density
  • §20.11 — TS 28.552 scheduling KPI framework and counter decomposition
  • §20.12 — Scheduling optimisation workflow: worked examples
"The Physical Downlink Shared Channel (PDSCH) shall be used to carry downlink user data and higher layer messages. The gNB shall schedule PDSCH resources using Downlink Control Information (DCI) carried on PDCCH. The UE shall interpret the DCI to determine the time-frequency resources assigned for the PDSCH, the modulation and coding scheme, and the HARQ process number." — TS 38.211 §7.3.1 (Release 17)

§20.2 NR Slot and Symbol Structure — The Scheduling Grid

All NR scheduling occurs within the NR frame structure defined in TS 38.211 §4. The fundamental scheduling unit is the slot: 14 consecutive OFDM symbols of equal duration. The slot duration depends on the subcarrier spacing (SCS) numerology μ as follows:

Eq 20.1 — Slot Duration vs Numerology (TS 38.211 §4.3.2)

Tslot = 1 / 2μ ms

For μ = 0 (15 kHz SCS): Tslot = 1.0 ms  |  μ = 1 (30 kHz): 0.5 ms  |  μ = 2 (60 kHz): 0.25 ms  |  μ = 3 (120 kHz): 0.125 ms

Each slot contains 14 OFDM symbols (normal CP). The symbols within a slot may be designated as Downlink (D), Uplink (U), or Flexible (X) according to the TDD slot format table in TS 38.213 §11.1. The gNB signals the TDD pattern through RRC (tdd-UL-DL-ConfigurationCommon) and may override individual flexible symbols dynamically via Slot Format Indicator (SFI) DCI.

Key Concept — Mini-Slot Scheduling: For URLLC services requiring sub-slot latency, NR supports non-slot-based scheduling where the PDSCH/PUSCH spans only 2, 4, or 7 symbols within a slot. The starting symbol and duration are signaled via the TDRA field in the DCI. Mini-slot scheduling allows a gNB to inject a high-priority transmission mid-slot, overlapping or preempting a lower-priority PDSCH — a feature called downlink preemption (TS 38.213 §11.2).
Table 20.1 — NR Numerology Parameters (TS 38.211 §4.2, Table 4.2-1)
Numerology μ SCS (kHz) Slot Duration Slots/Subframe Slots/Frame Typical Bands
0 15 1.0 ms 1 10 FR1 < 3 GHz (n1, n3, n28)
1 30 0.5 ms 2 20 FR1 3–6 GHz (n41, n77, n78)
2 60 0.25 ms 4 40 FR1 (data only, no SSB)
3 120 0.125 ms 8 80 FR2 mmWave (n257, n258, n260)
4 240 0.0625 ms 16 160 FR2 reference signals only
Fig 20.1 — NR Frame/Subframe/Slot/Symbol Hierarchy (TS 38.211 §4, μ=1, 30 kHz SCS) 1 Radio Frame = 10 ms  (10 subframes) Subframe 0 = 1 ms  (2 slots, μ=1) Subframes 1–9 (same structure) … Slot 0 = 0.5 ms Slot 1 = 0.5 ms 14 OFDM symbols in Slot 0: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DMRS symbols (0, 1, 2, 13) PDSCH data symbols (3–12) Mini-slot (2-symbol URLLC burst, symbols 6–7): 6–7 2-symbol PUSCH (preempts symbols 6–7 of ongoing PDSCH) 10 ms frame, 20 slots (μ=1)  |  280 OFDM symbols total per frame
Fig 20.1 — NR frame hierarchy for μ=1 (30 kHz SCS). A 10 ms frame contains 20 slots of 0.5 ms each. Each slot contains 14 OFDM symbols. DMRS occupy symbols 0–2 (front-loaded) and symbol 13 in PDSCH mapping type A. A 2-symbol mini-slot (symbols 6–7) is highlighted for URLLC usage, demonstrating intra-slot preemption capability.

§20.3 DCI Format Anatomy — Downlink and Uplink Scheduling Commands

Downlink Control Information (DCI) is the mechanism by which the gNB communicates resource assignments to the UE. DCI is carried on the PDCCH and is CRC-scrambled with the UE's C-RNTI (for dynamic scheduling) or CS-RNTI (for SPS/CG). TS 38.212 §7.3 defines four scheduling DCI formats relevant to PDSCH and PUSCH:

Table 20.2 — DCI Format Summary for PDSCH/PUSCH Scheduling (TS 38.212 §7.3)
DCI Format Purpose Scrambled With Key Fields Typical Size (bits)
1_0 DL fallback scheduling C-RNTI / SI-RNTI / RA-RNTI Freq. resource, TDRA, MCS, HARQ PID, NDI, RV, PUCCH resource ~28
1_1 DL full scheduling C-RNTI / CS-RNTI BWP, freq. resource (Type 0/1), TDRA, VRB-to-PRB, MCS, HARQ, NDI, RV, antenna port, SRS request, PUCCH resource, PDSCH-to-HARQ timing, CBGTI ~40–80
0_0 UL fallback scheduling C-RNTI / CS-RNTI Freq. resource, TDRA, MCS, NDI, RV, HARQ PID, TPC, UL/SUL indicator ~28
0_1 UL full scheduling C-RNTI / CS-RNTI BWP, freq. resource (Type 0/1), TDRA, MCS, HARQ, NDI, RV, TPC, SRS resource, antenna port, CSI request, PTRS, CBGTI ~45–90
"DCI format 1_1 is used for the scheduling of PDSCH in one cell. Bit fields in DCI format 1_1 are defined as specified in the following, starting with the MSB: Identifier for DCI formats — 1 bit; Bandwidth part indicator — 0 or 2 bits; Frequency domain resource assignment — number of bits determined by the resource allocation type and the size of the active downlink bandwidth part." — TS 38.212 §7.3.1.2.2 (Release 17)

20.3.1 DCI Format 1_1 Field Decomposition

DCI format 1_1 is the primary DL scheduling DCI used in connected-mode operation. Its field structure, in order of appearance (MSB first), is:

Table 20.3 — DCI Format 1_1 Field-by-Field Decomposition (TS 38.212 §7.3.1.2.2)
Field Bits Purpose Optimization Relevance
DCI format identifier 1 Distinguishes DL (1) from UL (0) DCIs
BWP indicator 0–2 Selects which of up to 4 configured DL BWPs is active BWP switching latency; wide vs narrow BWP tradeoff
Frequency domain resource assignment Varies RBG bitmap (Type 0) or RB start + length (Type 1) Scheduling granularity; fragmentation vs contiguous
Time domain resource assignment 4 Index into PDSCH-TimeDomainResourceAllocationList Start symbol S and duration L in PDSCH-TDRA table
VRB-to-PRB mapping 1 Non-interleaved (0) or interleaved (1) VRB mapping Frequency diversity for MCS-limited UEs
MCS 5 Modulation and coding scheme index (0–31) Link adaptation; highest single scheduling variable
New Data Indicator (NDI) 1 Toggled on new TB; identical NDI = retransmission HARQ retransmission identification
Redundancy Version (RV) 2 Selects HARQ RV (0, 2, 3, 1) for chase or incremental combining HARQ combining gain; typical sequence: 0→2→3→1
HARQ process number 4 Identifies which of 16 HARQ processes carries this TB HARQ process blocking analysis
Downlink assignment index (DAI) 2–4 Counter for HARQ-ACK multiplexing in TDD HARQ-ACK codebook construction (Type 1/2)
TPC for PUCCH 2 Closed-loop power control for PUCCH carrying HARQ-ACK PUCCH coverage; HARQ-ACK reliability
PDSCH-to-HARQ feedback timing 3 K1: number of slots after PDSCH end for HARQ-ACK HARQ round-trip time; impacts process count requirement
Antenna port(s) 4–6 DMRS port(s) for spatial multiplexing (1–8 layers) MIMO layer count; precoding matrix selection
CBG Transmission Information (CBGTI) 0 or 8 Bitmap of code block groups to (re)transmit CBG retransmission — reduces overhead for large TBs

§20.4 Frequency-Domain Resource Allocation — Type 0 and Type 1

TS 38.214 §5.1.2 defines two resource allocation types for PDSCH, both selectable via DCI format 1_1. The gNB may configure a UE to support Type 0 only, Type 1 only, or both (Type 1 default with Type 0 fallback via RRC IE resourceAllocation).

20.4.1 Resource Allocation Type 0 — RBG Bitmap

Type 0 allocates resources as a bitmap of Resource Block Groups (RBGs). Each RBG consists of P consecutive PRBs, where P is determined by the BWP size as given in TS 38.214 Table 5.1.2.2.1-1:

Eq 20.2 — RBG Size P for Type 0 Allocation (TS 38.214 Table 5.1.2.2.1-1)

P = 2 if NBWP ≤ 36  |  P = 4 if 37 ≤ NBWP ≤ 72  |  P = 8 if 73 ≤ NBWP ≤ 144  |  P = 16 if 145 ≤ NBWP ≤ 275

Number of RBGs: NRBG = ⌈ (NBWP + Nstart mod P) / P ⌉

Bitmap length = NRBG bits (1 = allocated, 0 = not allocated).

Type 0 allows non-contiguous, frequency-diverse allocations with any arbitrary subset of RBGs. This is optimal for frequency-selective fading environments where CQI varies significantly across the band. The cost is bitmap overhead: a 100 MHz BWP (66 RBGs at P=4) requires a 66-bit bitmap field in every DCI.

20.4.2 Resource Allocation Type 1 — Starting PRB + Length

Type 1 allocates a contiguous set of virtual resource blocks (VRBs) defined by a starting VRB index RBstart and an allocation length LRBs. This is encoded compactly using a single resource indicator value (RIV):

Eq 20.3 — Resource Indicator Value Encoding (TS 38.214 §5.1.2.2.2)

If (LRBs − 1) ≤ ⌊NBWP/2⌋:

   RIV = NBWP × (LRBs − 1) + RBstart

Else:

   RIV = NBWP × (NBWP − LRBs + 1) + (NBWP − 1 − RBstart)

Bit width = ⌈ log2(NBWP × (NBWP + 1) / 2) ⌉

For a 100 MHz BWP (NBWP = 66 PRBs), the RIV field is ⌈log2(66 × 67 / 2)⌉ = ⌈log2(2211)⌉ = 12 bits — far more compact than the 66-bit Type 0 bitmap. Type 1 is the default allocation type in most commercial deployments for this reason.

Key Concept — VRB-to-PRB Mapping: After Type 1 VRB allocation, a 1-bit field in DCI 1_1 selects between non-interleaved mapping (VRB n → PRB n) and interleaved mapping, which distributes VRBs across the BWP in a frequency-hopped pattern. Interleaved mapping provides frequency diversity gain at the cost of non-contiguous PRB occupation on the physical carrier. TS 38.211 §7.3.1.6 defines the interleaving formula.

§20.5 Time-Domain Resource Assignment — TDRA Table and Mapping Types A/B

The TDRA field in DCI format 1_1 (4 bits, up to 16 entries) indexes into a PDSCH-TimeDomainResourceAllocationList configured by RRC. Each entry specifies three parameters: K0 (slot offset from PDCCH to PDSCH), S (starting OFDM symbol within the slot), and L (number of consecutive symbols allocated). The combination (S, L) determines the PDSCH mapping type:

Table 20.4 — PDSCH Mapping Type Constraints (TS 38.214 §5.1.2.1, Table 5.1.2.1-1)
Mapping Type Valid Starting Symbol S Valid Duration L (symbols) DMRS Position Use Case
Type A (slot-based) 0, 1, 2, 3 3–14 Symbol 2 or 3 (front-loaded) Nominal eMBB scheduling; maximum DMRS separation
Type B (mini-slot) 0–12 2, 4, 7 First symbol of allocation URLLC low-latency; DL preemption insertion
"For PDSCH mapping type A, the PDSCH allocation within a slot starts at symbol 0, 1, 2, or 3. For PDSCH mapping type B, the PDSCH may start at any OFDM symbol within the slot and has a duration of 2, 4, or 7 OFDM symbols. The DM-RS for PDSCH mapping type A is located at the OFDM symbol position specified by dmrs-TypeA-Position (value 2 or 3)." — TS 38.214 §5.1.2.1 (Release 17)

The default TDRA table for a standard TDD 7D:2S:2U (DDDSUUDDDD) pattern at μ=1 contains entries that respect the slot boundary constraints: DL slots admit type A entries starting at symbol 0 with L=12 or L=14; the special slot (S) admits shorter type A entries limited to the DL portion; and UL slots carry only PUSCH TDRA entries with appropriate DMRS positioning.

Fig 20.2 — PDSCH Mapping Type A vs Type B with TDRA Examples (μ=1, 30 kHz SCS) Symbol Type A: S=0, L=12 Type A: S=2, L=10 Type B: S=6, L=4 0123 4567 8910 PDSCH data sym 0 PDSCH data sym 1 DMRS sym 2 PDSCH data sym 3 PDSCH data sym 4 PDSCH data sym 5 PDSCH data sym 6 PDSCH data sym 7 PDSCH data sym 8 PDSCH data sym 9 PDSCH data sym 10 not allocated not allocated DMRS sym 2 (S=2) PDSCH data sym 3 PDSCH data sym 4 PDSCH data sym 5 PDSCH data sym 6 PDSCH data sym 7 PDSCH data sym 8 PDSCH data sym 9 PDSCH data sym 10 not allocated not allocated not allocated not allocated not allocated not allocated DMRS sym 6 (S=6) PDSCH data sym 7 PDSCH data sym 8 PDSCH data sym 9 not allocated
Fig 20.2 — Three TDRA configurations within the same slot. Left: Type A, S=0, L=12 — spans symbols 0–11, DMRS at symbol 2; 10 data symbols. Centre: Type A, S=2, L=10 — useful when symbols 0–1 carry PDCCH; DMRS at symbol 2; 9 data symbols. Right: Type B, S=6, L=4 — mini-slot for URLLC, DMRS at symbol 6; 3 data symbols. All three may coexist in the same slot for different UEs.

§20.6 HARQ Operation — 16-Process Asynchronous NR HARQ

Hybrid Automatic Repeat reQuest (HARQ) is the primary error recovery mechanism for 5G NR. Unlike LTE, which used synchronous HARQ with fixed 8 ms round-trip timing, NR employs asynchronous HARQ for both DL and UL, with up to 16 HARQ processes per UE per cell. The increase from 8 to 16 processes is driven by the shorter slot durations and variable K1 timing (PDSCH-to-HARQ feedback) introduced in NR.

"For the physical downlink shared channel, a UE shall support up to 16 HARQ processes. The UE shall maintain a soft buffer per HARQ process. For a given HARQ process, if the new data indicator (NDI) is toggled with respect to the previous transmission of the same HARQ process, the UE shall flush the soft buffer and decode the new transport block. If the NDI is not toggled, the UE shall combine the received signal with the soft buffer content." — TS 38.214 §5.1 (Release 17)

20.6.1 HARQ Process Lifecycle

Each HARQ process transitions through four states:

  1. EMPTY — No pending TB. The gNB may assign this process to a new transmission (initial transmission, NDI toggled).
  2. PENDING_ACK — Initial transmission sent; waiting for HARQ-ACK from UE within K1 slots.
  3. NACK — HARQ-ACK received as NACK or DTX; gNB may retransmit (same NDI, RV advances: 0→2→3→1).
  4. ACK / RELEASED — HARQ-ACK received as ACK; process returns to EMPTY after K1 slots.

Eq 20.4 — Minimum HARQ Processes Required (TS 38.214 §5.4)

NHARQ,min = ⌈ (K0 + Lsym/14 + K1) / Tslot ⌉ + 1

where K0 = PDCCH-to-PDSCH slot offset, Lsym/14 ≈ 1 slot for full-slot PDSCH, K1 = PDSCH-to-HARQ feedback slots.

For K0=0, K1=4 at μ=1: NHARQ,min = 4 + 1 + 1 = 6 processes. Supporting 16 processes allows the scheduler to overlap multiple in-flight TBs, avoiding HARQ stalling at high throughput.

20.6.2 NDI Toggle and RV Sequence

The NDI bit is the UE's definitive indicator of new vs retransmitted data. The gNB toggles NDI (0→1 or 1→0) when transmitting a new TB to a HARQ process, and preserves the NDI value across all retransmissions of the same TB. The RV sequence for incremental redundancy is specified in TS 38.212 §5.4.2.1 and follows the pattern: RV0 → RV2 → RV3 → RV1. RV0 is self-decodable (contains systematic bits); subsequent RVs add parity bits at different circular buffer starting points, increasing the decoder's log-likelihood ratio accumulation.

Fig 20.3 — NR HARQ Process Timing (K0=0, K1=4, μ=1, HARQ Process 0 then 1) Slot: nn+1n+2 n+3n+4n+5 n+6n+7n+8 n+9n+10 gNB DL: PDSCH H0,NDI=1,RV0 PDSCH H1,NDI=1,RV0 PDSCH H0,NDI=1,RV2 UE UL: ACK/NACK H0 = NACK ACK/NACK H1 = ACK ACK/NACK H0 = ACK K1 = 4 slots Time (slots).  H0 = HARQ Process 0. H1 = HARQ Process 1. RV0/RV2 = Redundancy Version. HARQ round-trip = K0 + 1 slot (PDSCH) + K1 = 0 + 1 + 4 = 5 slots = 2.5 ms at μ=1.
Fig 20.3 — NR HARQ process timing for two processes (H0 and H1), K0=0, K1=4 at μ=1. H0 initial transmission in slot n receives a NACK in slot n+4 and is retransmitted with RV2 in slot n+5, receiving ACK in slot n+9. H1 transmits in slot n+1 and receives ACK in slot n+5. The 16-process pool ensures no HARQ stalling even at K1=8.

§20.7 Link Adaptation — CQI, MCS Tables, and Outer-Loop OLLA

Link adaptation is the process by which the scheduler selects the MCS for each PDSCH/PUSCH transmission to maximise throughput subject to a block error rate (BLER) target. NR link adaptation operates on two loops:

  • Inner loop (CQI-based): The UE periodically reports Channel Quality Indicator (CQI), which the gNB converts to an MCS index using the MCS table of TS 38.214 §5.1.3.
  • Outer loop (BLER-based OLLA): The gNB measures the actual observed BLER from HARQ-ACK feedback and applies an offset to the CQI-to-MCS mapping to drive BLER toward a target value (typically 10% for initial transmissions).

20.7.1 CQI Reporting and MCS Table Mapping

TS 38.214 defines three MCS tables. Table 5.1.3.1-1 (64QAM, the standard table) is used for most eMBB UEs. Table 5.1.3.1-2 (256QAM) is enabled via RRC configuration. Table 5.1.3.1-3 is for low-spectral efficiency operation (QPSK only, used for coverage-limited scenarios).

"The UE shall report a wideband CQI value in the range [0, 15]. A CQI value of 0 indicates that the channel quality is out of range. CQI values 1 to 15 represent channel quality levels associated with modulation order and code rate pairs defined in Table 5.2.2.1-2 of TS 38.214." — TS 38.214 §5.2.2 (Release 17)
Table 20.5 — CQI to Modulation and Code Rate Mapping (TS 38.214 Table 5.2.2.1-2, 64QAM table)
CQI Index Modulation Code Rate × 1024 Efficiency (bits/RE) Approx. SINR Threshold
00out of range
1QPSK780.1523−6.7 dB
2QPSK1200.2344−4.7 dB
3QPSK1930.3770−2.3 dB
4QPSK3080.60160.2 dB
5QPSK4490.87702.4 dB
6QPSK6021.17584.3 dB
716QAM3781.47665.9 dB
816QAM4901.91418.1 dB
916QAM6162.406310.3 dB
1064QAM4662.730511.7 dB
1164QAM5673.322314.1 dB
1264QAM6663.902316.3 dB
1364QAM7724.523418.7 dB
1464QAM8735.115221.0 dB
1564QAM9485.554722.7 dB

20.7.2 Transport Block Size Calculation

Given MCS index IMCS from the TS 38.214 Table 5.1.3.1-1, the gNB follows the TBS determination procedure of TS 38.214 §5.1.3.2:

Eq 20.5 — Transport Block Size (TS 38.214 §5.1.3.2)

NRE' = NscRB × Nsymbsh − NDMRSPRB − NohPRB

NRE = min(156, NRE') × nPRB

Ninfo = NRE × R × Qm × ν

TBS is then derived from Ninfo via the quantisation table in TS 38.214 §5.1.3.2 (Steps 2–4).

where: NscRB=12, Nsymbsh=allocated symbols, NDMRSPRB=DMRS REs per PRB, NohPRB=overhead (PTRS/CSI-RS), nPRB=allocated PRBs, R=code rate, Qm=modulation order, ν=number of layers.

20.7.3 Outer-Loop Link Adaptation (OLLA)

The CQI reported by the UE is a one-slot-delayed, quantised, and potentially inaccurate estimate of the channel. The Outer Loop Link Adaptation (OLLA) algorithm compensates by maintaining a per-UE CQI offset Δ that is updated after each HARQ feedback event:

Eq 20.6 — OLLA Update Rule

If ACK:  Δ(n+1) = Δ(n) + δup

If NACK: Δ(n+1) = Δ(n) − δdown

Equilibrium BLER target: BLERtarget = δup / (δup + δdown)

For 10% BLER target: set δup = 0.01, δdown = 0.09  (ratio 1:9).

Effective MCS index = CQI-to-MCS(CQI + Δ), clipped to valid MCS range.

Key Concept — 10% BLER Target: The 10% initial BLER target is chosen because NR HARQ with incremental redundancy achieves approximately 1.5–2 dB combining gain per retransmission. At 10% BLER, roughly 10% of TBs require one retransmission, costing an additional 2 slots (K0+K1 round trip) — an overhead that maximises throughput given typical channel conditions. A lower BLER target (e.g., 1%) yields more conservative MCS and wastes spectral efficiency; a higher target (e.g., 30%) increases retransmission load and HARQ process blocking.

§20.8 Scheduling Request and Buffer Status Report

Uplink scheduling is demand-driven: the UE must signal its data availability to the gNB before UL resources can be allocated. This signaling occurs through two complementary mechanisms: the Scheduling Request (SR) for immediate low-overhead indication, and the Buffer Status Report (BSR) for quantified queue-length information.

20.8.1 Scheduling Request Procedure (TS 38.321 §5.4.4)

When a UE has data to transmit and no UL grant is available, it triggers an SR. The SR is transmitted on PUCCH using the SR resource configured in schedulingRequestResourceConfig. SR resources are periodic, with period configurable from 1 to 80 slots (TS 38.331 IE periodicityAndOffset). The maximum waiting time for an SR opportunity is therefore:

Eq 20.7 — Maximum SR Waiting Time

TSR,wait = Tslot × SRperiod (slots)

At μ=1 (0.5 ms slots): 10-slot SR period = 5 ms max wait. 2-slot SR period = 1 ms max wait (URLLC).

After SR transmission, the UE starts sr-TransMax timer (default 4 attempts). If no UL grant arrives after sr-TransMax SRs, the UE initiates RRC connection re-establishment — a retainability event.

20.8.2 Buffer Status Report (TS 38.321 §5.4.5)

The BSR informs the gNB of the total data volume waiting in the UE's UL buffers, categorised by Logical Channel Group (LCG). NR supports four BSR formats:

Table 20.6 — BSR Format Comparison (TS 38.321 §6.1.3, Table 6.1.3.4-1 and 6.1.3.4-2)
BSR Format MAC CE Size LCGs Reported Buffer Size Granularity Trigger Condition
Short BSR 1 byte 1 (highest priority LCG with data) 32 levels (5-bit field) Single LCG has data; padding available
Short Truncated BSR 1 byte 1 (highest priority) 32 levels (5-bit field) Insufficient PUSCH for Long BSR; send truncated
Long BSR 1–5 bytes Up to 8 LCGs with data 256 levels (8-bit per LCG) Multiple LCGs have data; padding for all
Long Truncated BSR Variable Highest priority LCGs that fit 256 levels Insufficient PUSCH for full Long BSR

§20.9 Semi-Persistent Scheduling and Configured Grant

Dynamic scheduling requires a DCI per slot per UE, incurring PDCCH capacity overhead and scheduling latency. For services with predictable, periodic data patterns, NR provides two deterministic alternatives:

  • Semi-Persistent Scheduling (SPS) for PDSCH (DL): The gNB configures a periodic DL grant via RRC (sps-Config). The UE applies the grant every periodicity slots without requiring a DCI. An initial DCI with CS-RNTI activates SPS; a subsequent DCI deactivates it.
  • Configured Grant (CG) Type 1 and Type 2 for PUSCH (UL): CG Type 1 is fully configured via RRC with no DCI activation. CG Type 2 is RRC-configured but requires DCI activation. Both allow the UE to transmit UL data periodically without sending an SR and waiting for a dynamic grant.
"For configured scheduling type 1, the PUSCH shall be transmitted autonomously by the UE according to the configured resource without receiving a DCI format 0_0 or DCI format 0_1. The UE shall start the configured uplink grant periodically at every nth occasion defined by the configured periodicityAndOffset." — TS 38.321 §5.8.2 (Release 17)
Table 20.7 — SPS and Configured Grant Comparison (TS 38.214 §5.8, TS 38.321 §5.8)
Parameter SPS (DL PDSCH) CG Type 1 (UL PUSCH) CG Type 2 (UL PUSCH)
Direction Downlink Uplink Uplink
Activation mechanism DCI with CS-RNTI RRC only (no DCI) RRC + DCI with CS-RNTI
Periodicity range 10–640 ms 1–5120 slots 1–5120 slots
Key use case VoNR PDSCH (20 ms period) VoNR PUSCH, URLLC (no SR delay) URLLC with dynamic ON/OFF
HARQ operation Standard HARQ with ACK/NACK HARQ with or without retransmission HARQ with retransmission DCI
PDCCH overhead saving High (one DCI per session) Maximum (zero DCI per period) High (one DCI per session)

§20.10 TDD UL/DL Configuration Impact on Scheduling Opportunity Density

In TDD deployments (the dominant 5G NR configuration), the fraction of slots available for DL vs UL directly determines the maximum achievable throughput in each direction. TS 38.213 §11.1 defines the slot format table; the TDD UL/DL pattern is configured via RRC IE tdd-UL-DL-ConfigurationCommon and may be dynamically adjusted per slot via SFI DCI.

Eq 20.8 — DL/UL Throughput Fraction

DL fraction = (NDL + fS × NS) / (NDL + NUL + NS)

UL fraction = (NUL + (1 − fS) × NS) / (NDL + NUL + NS)

where NDL = DL slots, NUL = UL slots, NS = special slots, fS = DL symbol fraction of special slot (typically 0.57 for 8DL+2GP+4UL symbol split).

Table 20.8 — Common NR TDD Patterns and Scheduling Fractions (μ=1, 0.5 ms slot)
TDD Pattern Period DL Slots S Slots UL Slots Approx. DL% Approx. UL% Use Case
DDDSU 5 ms (10 slots) 7 1 2 75% 25% Video streaming, eMBB DL-heavy
DDSUU 5 ms (10 slots) 6 1 3 64% 36% Balanced eMBB
DDSU 2.5 ms (5 slots) 2 1 2 50% 50% Symmetric IoT/enterprise
DSUUU 2.5 ms (5 slots) 1 1 3 30% 70% UL-heavy (live streaming, industrial)
DDDDDDDSUUUUUUUSDDDDDDD… (4+1) 10 ms 7 2 1 78% 22% FWA DL-dominant
Fig 20.4 — Common NR TDD Patterns at μ=1 (5 ms view = 10 slots) DDDSU: DDSUU: DSUUU: D D D S U D D D S U DL≈75% D D S U U D D S U U DL≈64% D S U U U D S U U U DL≈30% Slot 0 Slot 9 (5 ms) D = Downlink  |  S = Special (GP + partial DL/UL)  |  U = Uplink  |  10 slots shown = one 5 ms period
Fig 20.4 — Three common NR TDD patterns displayed for 10 consecutive slots (5 ms at μ=1). DDDSU (top) is DL-heavy at ~75% DL; DDSUU (middle) is balanced at ~64% DL; DSUUU (bottom) is UL-heavy at ~30% DL. The special slot (S) contains a downlink guard period, a guard gap, and uplink symbols — its split determines the fraction contribution to DL and UL throughput.

§20.11 TS 28.552 Scheduling KPI Framework and Counter Decomposition

TS 28.552 §5.1.2 defines the PM counters that expose scheduling behaviour in live networks. The key counters cluster into four groups: PRB utilisation, MCS distribution, HARQ performance, and scheduling latency.

Table 20.9 — Key Scheduling PM Counters (TS 28.552 §5.1.2)
Counter Name Type Definition KPI Derived
DL.PRBUsed.Cell Gauge Number of PRBs used for PDSCH per measurement interval DL PRB Utilisation = DL.PRBUsed / (Available PRBs × DL slots) × 100%
UL.PRBUsed.Cell Gauge Number of PRBs used for PUSCH per measurement interval UL PRB Utilisation
DL.Throughput.Cell Counter Cumulative PDSCH payload bits (MAC PDU) delivered to all UEs Cell DL throughput (Mbps)
UL.Throughput.Cell Counter Cumulative PUSCH payload bits received from all UEs Cell UL throughput (Mbps)
DL.MCS.Distr Distribution Count of PDSCH transmissions per MCS index (0–31) per interval Average DL MCS; fraction of 256QAM usage
UL.MCS.Distr Distribution Count of PUSCH transmissions per MCS index (0–31) per interval Average UL MCS; UL coverage distribution
DL.HARQ.InitTrans Counter Number of DL initial HARQ transmissions Basis for HARQ retransmission rate
DL.HARQ.Retrans Counter Number of DL HARQ retransmissions (all RVs after RV0) DL HARQ Retrans Rate = DL.HARQ.Retrans / DL.HARQ.InitTrans × 100%
UL.HARQ.InitTrans Counter Number of UL initial HARQ transmissions UL HARQ baseline
UL.HARQ.Retrans Counter Number of UL HARQ retransmissions UL BLER proxy (Retrans Rate ≈ initial BLER with OLLA at equilibrium)
DL.Sched.Active.UE Distribution Number of UEs scheduled per slot (histogram) Scheduler load; pairing gain analysis

20.11.1 PRB Utilisation Formula

Eq 20.9 — DL PRB Utilisation (TS 28.552 §5.1.2)

PRButil,DL = DL.PRBUsed.Cell / (NPRB × NDL slots × Tmeas / Tslot) × 100%

where NPRB = total available PRBs in the BWP, NDL slots = fraction of slots in DL direction, Tmeas = PM measurement interval (typically 15 or 60 min), Tslot = slot duration.

Alarm threshold: > 85% sustained PRB utilisation indicates capacity congestion requiring expansion or frequency/traffic rebalancing.

20.11.2 Counter Signature Interpretation

Table 20.10 — Scheduling Counter Anomaly Signatures and Root Causes
Observed Counter Pattern Root Cause Hypothesis Verification Step Corrective Action
High DL PRB util (>85%), low DL throughput Low average MCS (poor RF / UEs at cell edge) Check DL.MCS.Distr — high fraction at MCS 0–4 Coverage optimization; RET/azimuth adjustment; beam tilt
DL HARQ retrans rate > 15% OLLA offset too aggressive; CQI overestimate Check DL.MCS.Distr percentile vs CQI distribution Reduce OLLA step or OLLA ceiling; verify CQI report mode
UL HARQ retrans rate > 20% UL interference (TDD cross-link, PIM) or PUSCH power limit Check UL PRB util distribution; IOT noise floor trend TDD guard time review; antenna isolation check; UL power offset
Low PRB util but low throughput Insufficient active UEs; scheduler not triggered (UE in DRX) Check DL.Sched.Active.UE histogram; DRX config Adjust DRX cycle; reduce inactive timer; check UE camp rate
UL PRB util high; UL throughput low High BSR but low MCS (UL coverage) or CG overhead Check UL.MCS.Distr; CG resource utilisation Reduce CG period; review UL PA class; check UL MIMO config

§20.12 Scheduling Optimisation Workflow — Worked Examples

20.12.1 The Six-Step Scheduling RCA Workflow

Fig 20.5 — Scheduling RCA Decision Workflow (Six Steps) Step 1: Check Cell DL/UL Throughput vs Baseline DL.Throughput.Cell vs neighbours and historical trend Step 2: PRB Utilisation Check PRB util >85%? = congestion path. <60%? = efficiency path. PRB Util >85%? Congestion vs Efficiency YES (congestion) Step 3A: MCS Distribution If avg MCS <10: coverage issue (not capacity) Step 4A: HARQ Retrans Rate If >15%: OLLA too aggressive or UL interference NO (efficiency) Step 3B: Active UE Count DL.Sched.Active.UE — low UE activity? Step 4B: DRX / Scheduler Config DRX inactivity timer; CG activation rate Step 5: Parameter Change + Impact Test Isolate one parameter, A/B test on cell pair, 1-hour sample Step 6: Validate Before/After KPIs Throughput, PRB util, HARQ retrans, MCS mean & P90
Fig 20.5 — Six-step scheduling RCA decision workflow. The workflow branches at Step 2 based on PRB utilisation: the congestion path (right, red) focuses on MCS distribution and HARQ retransmission rate; the efficiency path (left, green) examines active UE count and scheduler configuration. Both paths converge at Step 5 (parameter change) and Step 6 (validation).

20.12.2 Worked Example 1 — Low DL Throughput with High PRB Utilisation

Scenario: A cell in a dense urban sector reports DL throughput of 120 Mbps against a cluster median of 310 Mbps. PRB utilisation is 91%. Active UE count is normal (average 8 scheduled UEs per slot). HARQ DL retransmission rate is 8% (within normal range). TDD pattern is DDDSU, 100 MHz channel, μ=1.

Step 1 — Throughput gap confirmed: 120 Mbps vs 310 Mbps cluster median. Gap = 61%. Not a load issue (PRB util = 91%, load is high).

Step 2 — PRB utilisation: 91% > 85% threshold. Congestion path selected.

Step 3A — MCS Distribution: DL.MCS.Distr shows 62% of transmissions at MCS 0–6 (QPSK). Average MCS = 5.8. Cluster average = 14.2. This is a coverage-driven MCS degradation, not a capacity problem.

Root cause: The cell has a suboptimal electrical tilt resulting in excessive coverage overlap with a co-channel neighbour at 180 m. The CQI feedback is dominated by edge UEs receiving interference from the neighbour, pulling average MCS down to QPSK. PRB utilisation is high because low MCS requires many PRBs to deliver the same bit count.

Eq 20.10 — Throughput Impact of MCS Depression

Throughputactual = PRButil × NPRB × MCSeff × NDL slots/Tmeas

At MCS 5.8 avg efficiency ≈ 0.88 bits/RE: T = 0.91 × 66 PRBs × 12 × 10 RE/sym × 0.88 × 7 DL slots/ms × 1000 ms/s ≈ 122 Mbps — consistent with observation.

At cluster MCS 14.2 avg efficiency ≈ 3.3 bits/RE: T ≈ 0.75 × 66 × 120 × 3.3 × 7000 ≈ 308 Mbps — consistent with cluster median.

Step 5 — Corrective Action: Increase electrical tilt by 2° to reduce inter-site distance to the overlapping neighbour. Tighten neighbour list to exclude the interfering cell below RSRP −115 dBm threshold. Monitor DL.MCS.Distr for shift from QPSK toward 16QAM/64QAM.

Step 6 — Validation target: Average DL MCS to increase from 5.8 to ≥12.0. PRB utilisation to decrease from 91% to ≤70% (same traffic carried more efficiently). DL throughput to increase from 120 to ≥250 Mbps.

20.12.3 Worked Example 2 — High UL HARQ Retransmission Rate

Scenario: A cell in an industrial park reports UL HARQ retransmission rate of 28% (alarm threshold = 15%). UL PRB utilisation is 55% (not congested). UL throughput is 40 Mbps against cluster median of 95 Mbps. TDD pattern is DDSUU. The cell is at 3.5 GHz, 30 kHz SCS.

Step 1 — UL throughput gap: 40 vs 95 Mbps. Step 2 — UL PRB util = 55%, not congested. Step 3B — Active UE count normal. Step 4A — UL.HARQ.Retrans / UL.HARQ.InitTrans = 28% anomaly confirmed.

Step 3A — MCS Distribution (UL): UL.MCS.Distr shows bimodal distribution: 35% of transmissions at MCS 14–20 (normal), 40% at MCS 3–7 (coverage-limited), and unexpectedly 25% at MCS 0–2 (extreme edge or interference). The bimodal shape suggests a subset of UEs experiencing severe UL path loss — consistent with industrial building penetration at 3.5 GHz.

Root cause: Industrial building operators have machinery generating wideband 3.5 GHz interference (Class B industrial ISM emissions). The IOT noise rise measured at gNB is +8 dB above thermal noise floor on PRBs 20–45. UEs transmitted on those PRBs experience PUSCH SINR < 0 dB, causing systematic HARQ NACK.

Eq 20.11 — UL Throughput Degradation from Retransmission Overhead

UL_eff = UL.Throughput / (1 + UL.HARQ.Retrans / UL.HARQ.InitTrans)

At 28% retrans rate: UL_eff = UL.Throughput × 1 / 1.28 = 78% of potential throughput wasted on retransmissions.

Additional cost: each retransmission occupies a HARQ process slot, reducing the process pool available for new data when K1 timing coincides with UL interference bursts.

Step 5 — Corrective Action: Enable frequency-selective scheduling to avoid PRBs 20–45 (configure interference-avoidance PRB mask via gNB parameter). Configure UL power control with higher P0 offset (+3 dB) for UEs below SINR threshold. Engage IoT noise monitoring alarm on the affected PRB range.

Step 6 — Validation target: UL HARQ retransmission rate to drop from 28% to ≤12%. UL throughput to recover from 40 to ≥70 Mbps. UL.MCS.Distr bimodal peak at MCS 0–2 to disappear.

20.12.4 Worked Example 3 — HARQ Process Blocking at High Load

Scenario: During peak hours a cell reports DL throughput plateau at 580 Mbps despite only 78% PRB utilisation and average MCS = 19 (healthy). The gNB vendor alarm log shows periodic "HARQ process pool exhaustion" events. K1 is configured as 8 slots (μ=1 TDD, DDDSU pattern).

Analysis — Minimum HARQ process count at K1=8:

Eq 20.12 — HARQ Process Requirement at K1=8

NHARQ,min = K0 + 1 (PDSCH) + K1 + 1 = 0 + 1 + 8 + 1 = 10 processes

At 16 processes available and 10 required: headroom = 6 processes. However, when HARQ retransmission rate reaches 15%, some processes are held in NACK state across multiple slots, consuming 15% of the 16-process pool = 2.4 processes in retransmission state. Peak load can temporarily consume 13–14 processes, leaving 2–3 processes available for new scheduling — causing throughput plateau even at 78% PRB utilisation.

Corrective Action: Reduce K1 from 8 to 4 slots (change RRC dl-DataToUL-ACK values in PUCCH configuration). This reduces NHARQ,min from 10 to 6, freeing 4 additional processes for new transmissions at peak load. Verify that PUCCH coverage is sufficient for the shorter K1 timing (UEs at cell edge must receive HARQ-ACK opportunity reliably within 4 slots).

Validation target: HARQ process exhaustion events to drop from 12/hour to 0/hour. DL throughput ceiling to increase from 580 Mbps to ≥720 Mbps during peak hours.

Fig 20.6 — Inner Loop (CQI) and Outer Loop (OLLA) Link Adaptation Architecture UE Measures DL SINR Computes CQI (TS 38.213 §5.2) Reports CQI on PUCCH/PUSCH Sends HARQ ACK/NACK on PUCCH CQI report (inner loop) HARQ ACK/NACK (outer loop feedback) CQI → MCS Map TS 38.214 Table 5.1.3.1-1 (64QAM) or -2 (256QAM) OLLA ACK: Δ += δup NACK: Δ -= δdown BLERtarget = 10% Δ offset gNB Scheduler Selects UE(s) for scheduling Applies CQI + Δ → MCS Determines PRB allocation Computes TBS (TS 38.214 §5.1.3) Generates DCI format 1_1 Assigns HARQ process Transmits PDCCH + PDSCH Effective MCS (CQI+Δ) PDCCH (DCI 1_1) + PDSCH
Fig 20.6 — Dual-loop link adaptation architecture. The inner loop converts the UE's CQI report to an initial MCS using the TS 38.214 table. The outer loop (OLLA) applies a per-UE offset Δ adjusted on every HARQ ACK/NACK feedback event, driving the long-run BLER to the 10% target. The effective MCS fed to the scheduler is CQI + Δ, clipped to the valid MCS range [0, 27].
Fig 20.7 — PDSCH Resource Grid with Type 1 Allocation and DMRS (Single Slot, μ=1) Frequency (PRBs) Time (14 OFDM symbols) 0123 4567 891011 1213 PRB 20PRB 21PRB 22PRB 23 PRB 24PRB 25PRB 26PRB 27 PDCCH (sym 0) PDCCH (sym 1) DMRS (sym 2) UE 1: PDSCH, PRBs 20–25, Sym 3–11 MCS 16 (64QAM, R=490/1024), 9 sym × 6 PRBs UE 2: PDSCH, PRBs 26–27, Sym 3–11 Additional DMRS (sym 13, optional) (other PRBs not shown) 8 PRBs = DCI RIV allocation
Fig 20.7 — PDSCH resource grid illustrating two-UE spatial separation within a single slot. UE 1 occupies PRBs 20–25 (6 PRBs, Type 1 allocation, MCS 16). UE 2 occupies PRBs 26–27 (2 PRBs). Symbols 0–1 carry PDCCH (not available for PDSCH). Symbol 2 carries DMRS for both UEs. Symbol 13 carries optional additional DMRS. Remaining symbols (3–11 and 12) carry PDSCH data. The DCI for UE 1 uses RIV encoding: RIV = 66 × (6−1) + 20 = 350.
Fig 20.8 — Cell DL Throughput KPI Decomposition Tree (TS 28.552 counter identity) DL Throughput DL.Throughput.Cell (TS 28.552) PRB Utilisation DL.PRBUsed / Available Spectral Efficiency bits/s/Hz = f(MCS, HARQ) Bandwidth & TDD Channel BW × DL slot fraction Traffic Load Active UEs, BSR volume DRX / Inactivity longDRX period; inact timer Avg DL MCS DL.MCS.Distr mean HARQ Retrans Rate DL.HARQ.Retrans / Init TDD DL Fraction tdd-UL-DL-Config BWP Width N_PRB active BWP DL Throughput = PRB_util × N_PRB × MCS_eff × (1 − RetransRate) × DL_fraction × Slots/s Every degradation in any leaf of this tree reduces cell throughput multiplicatively.
Fig 20.8 — Cell DL throughput decomposition tree. Throughput is the multiplicative product of PRB utilisation, spectral efficiency (driven by average MCS and HARQ retransmission rate), bandwidth, and TDD DL fraction. Any leaf node degradation reduces throughput multiplicatively. This tree guides the six-step RCA workflow: each step targets one branch of the tree.

Chapter 20 Summary

This chapter established the complete 5G NR PDSCH/PUSCH scheduling framework from slot structure through KPI decomposition:

  • Slot and symbol structure (§20.2): The scheduling grid is defined by numerology μ, giving slot durations from 1 ms (μ=0) to 0.125 ms (μ=3). Each slot contains 14 OFDM symbols. Mini-slot scheduling (Type B, 2/4/7 symbols) enables sub-slot URLLC latency.
  • DCI formats (§20.3): DCI 1_1 schedules DL PDSCH; DCI 0_1 schedules UL PUSCH. Each carries the complete resource assignment: frequency allocation, TDRA index, MCS, HARQ process number, NDI, RV, and K1 timing.
  • Frequency-domain allocation (§20.4): Type 0 (RBG bitmap, frequency-diverse) and Type 1 (RIV-encoded contiguous allocation) are the two mechanisms, with Type 1 dominating commercial deployments due to compact DCI encoding.
  • TDRA and mapping types (§20.5): The 4-bit TDRA field indexes a configured table of (K0, S, L) entries. Mapping Type A supports slot-based scheduling (S=0–3, L=3–14); Type B supports mini-slot (S=any, L=2/4/7).
  • HARQ operation (§20.6): NR uses asynchronous HARQ with up to 16 processes. NDI toggle identifies new TBs; RV sequence (0→2→3→1) implements incremental redundancy. Minimum process count depends on K1 timing.
  • Link adaptation (§20.7): Inner loop converts CQI to MCS via TS 38.214 tables; outer loop OLLA adjusts a per-UE offset to target 10% initial BLER. TBS is computed from allocated REs, MCS efficiency, and layer count.
  • SR and BSR (§20.8): Uplink demand signaling uses SR (periodic PUCCH, 1–80 slot period) and BSR (MAC CE with 4-LCG buffer volumes). SR period is the primary UL scheduling latency determinant for delay-sensitive services.
  • SPS and Configured Grant (§20.9): Deterministic scheduling eliminates per-slot DCI overhead. SPS for DL (VoNR 20 ms period) and CG Type 1/2 for UL (zero-SR latency) are essential for VoNR and URLLC services.
  • TDD impact (§20.10): TDD pattern controls the DL/UL throughput ratio. DDDSU (~75% DL) suits video-dominant traffic; DSUUU (~70% UL) suits industrial/live-streaming scenarios. Guard slot symbol split contributes fractionally to both directions.
  • Scheduling KPIs (§20.11): TS 28.552 PM counters (DL/UL PRB utilisation, MCS distribution, HARQ retransmission rate, active UE count) form the observability layer for scheduling optimisation. Counter anomaly signatures map to specific RCA paths.
  • Scheduling optimisation workflow (§20.12): Three worked examples demonstrated the six-step workflow: throughput gap identification, PRB utilisation branching, MCS/HARQ counter deep-dive, root cause isolation, parameter change, and before/after validation.
Chapter Equation Reference: Eq 20.1 — Slot duration vs numerology  |  Eq 20.2 — RBG size P for Type 0 allocation  |  Eq 20.3 — RIV encoding for Type 1  |  Eq 20.4 — Minimum HARQ process count  |  Eq 20.5 — TBS computation (TS 38.214)  |  Eq 20.6 — OLLA update rule  |  Eq 20.7 — SR waiting time  |  Eq 20.8 — TDD DL/UL throughput fraction  |  Eq 20.9 — PRB utilisation formula  |  Eq 20.10 — Throughput impact of MCS depression (WE1)  |  Eq 20.11 — UL throughput degradation from HARQ retrans (WE2)  |  Eq 20.12 — HARQ process requirement at high K1 (WE3)
Page 20
Chapter 21

MCS, BLER and Link Adaptation

Complete 3GPP link adaptation framework for 5G NR: MCS tables (TS 38.214 Table 5.1.3.1-1 and -2), transport block size calculation, CQI reporting (wideband and subband), BLER target management, outer-loop link adaptation (OLLA) convergence, modulation order vs SINR mapping, Shannon capacity bounds, TS 28.552 throughput and HARQ KPIs, failure mode diagnosis, and parameter optimisation — all derived from TS 38.214 §5.1.3, TS 38.213 §7.2, TS 38.212 §7.3, and TS 28.552 with worked examples and decision-tree RCA

3GPP TS 38.214 §5.1.3 · TS 38.213 §7.2 · TS 38.212 §7.3.1 · TS 28.552 §5.1.1 · TS 28.554 §6.4
📐 10 sections 🔢 12 equations 📋 8 tables 🧪 5 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. State the link adaptation goal: select the highest MCS that keeps initial BLER at or below 10% on the PDSCH/PUSCH, as specified in TS 38.214
  2. Read TS 38.214 Table 5.1.3.1-1 and -2 entry-by-entry and map each MCS index to modulation order Qm, target code rate R, and spectral efficiency
  3. Apply the TS 38.214 §5.1.3.2 TBS calculation algorithm step-by-step to derive the transport block size for any combination of PRB count, MCS, layers, and symbols
  4. Explain CQI wideband and subband reporting modes (TS 38.213 §7.2), decode the 15-entry CQI table, and map CQI to MCS for initial scheduling
  5. Quantify the interaction between initial BLER (10% target), HARQ combining gain, and residual BLER to derive effective throughput
  6. Implement the outer-loop link adaptation (OLLA) algorithm: derive the step-up/step-down ratio for a 10% BLER target, trace OLLA convergence, and diagnose OLLA divergence
  7. Map SINR to modulation order (QPSK, 16QAM, 64QAM, 256QAM) using Shannon and 3GPP capacity curves and explain the Shannon gap
  8. Interpret TS 28.552 PM counters L.Thrp.bits.DL, L.HARQ.AckRatio, and CQI distribution buckets to derive link adaptation KPIs
  9. Identify and diagnose the three principal LA failure modes: stuck-low MCS, MCS oscillation, and high BLER despite low MCS
  10. Produce a parameter optimisation recommendation covering CQI reporting mode, OLLA enable/disable, targetCodeRate offset, and cqi-PeriodOffset for a given failure signature

§21.1 Link Adaptation Goal — Maximum MCS at 10% BLER

Link adaptation (LA) is the continuous, per-TTI decision process by which the gNB selects the modulation and coding scheme (MCS) for each scheduled UE. The primary objective is elegantly simple: choose the highest MCS — and therefore the highest spectral efficiency — while keeping the initial transmission block error rate (BLER) at or below 10%. This 10% BLER target is not arbitrary; it represents the crossover point at which the overhead of HARQ retransmissions begins to exceed the gain from using a more aggressive MCS.

The LA algorithm operates in a closed feedback loop. The UE measures the downlink channel quality and reports it as a Channel Quality Indicator (CQI) to the gNB. The gNB maps this CQI to an MCS index, schedules the PDSCH, and later receives a HARQ ACK or NACK. The sequence of ACK/NACK outcomes is used by the outer-loop link adaptation (OLLA) algorithm to fine-tune the CQI offset and correct for systematic biases in the CQI report (e.g., channel ageing, quantisation error, interference estimation error).

"The UE shall report a Channel Quality Indicator (CQI) index in the range 0 to 15. The CQI value shall reflect the highest CQI index such that a single PDSCH transport block with a combination of modulation scheme and transport block size corresponding to that CQI index and occupying a group of downlink physical resource blocks could be received with a transport block error probability not exceeding 0.1." — 3GPP TS 38.213 §7.2.1 (Release 17)

The 10% initial BLER target is a network-side operating point, not a hard constraint imposed by the specification. The specification merely requires that the UE report a CQI that, if used directly, would produce ≤ 10% BLER. In practice the gNB applies an OLLA offset to the CQI-derived MCS to drive the actual BLER towards this target while compensating for measurement noise and channel variation.

Key Concept — Why 10%? At 10% initial BLER, Chase Combining or Incremental Redundancy HARQ retransmissions reduce the residual BLER to below 0.1% with high probability within two HARQ rounds. The effective throughput penalty from the 10% retransmission overhead is approximately 0.9 × TBS / Tavg — far smaller than the throughput loss from backing off to a more conservative MCS. Beyond 10%, retransmission overhead grows super-linearly; below 10%, the MCS is likely too conservative and spectral efficiency is wasted.
Fig 21.1 — Link Adaptation Pipeline: CQI reporting, MCS selection, TBS derivation, and HARQ feedback loop driving OLLA. Panel coordinates verified: no element exceeds its enclosing panel.
UE CQI Measurement SINR estimate CQI index 0–15 TS 38.213 §7.2 UCI OLLA + MCS Selection CQI_eff = CQI + Δolla MCS = f(CQI_eff) TS 38.214 Table 5.1.3.1-1 MCS TBS Calculation N_info = S·n_PRB·R·Q_m·v TBS quantised to table TS 38.214 §5.1.3.2 TBS PDSCH Tx + HARQ Encode → Modulate Map → Transmit UE decodes → ACK/NACK OLLA Update ACK: Δ += step_up NACK: Δ –= step_dn 9:1 step ratio OLLA feedback — drives CQI offset Δ towards 10% BLER steady state

§21.2 MCS Tables — TS 38.214 Table 5.1.3.1-1 and -2

TS 38.214 defines two primary MCS tables for PDSCH: Table 5.1.3.1-1 (default, 64QAM maximum) and Table 5.1.3.1-2 (high-order modulation, 256QAM maximum). A third table (5.1.3.1-3, low-SE 64QAM) exists for coverage-limited scenarios. The gNB signals which table to use via the RRC parameter mcs-Table in PDSCH-Config. Each table provides 29 entries (MCS 0–28) plus reserved entries 29–31.

"The modulation order Qm, target code rate R×1024, and spectral efficiency are given in Table 5.1.3.1-1, Table 5.1.3.1-2, and Table 5.1.3.1-3, for the MCS index IMCS given by the 5-bit MCS field of the DCI. The modulation order and target code rate determined from the tables are used for TBS determination." — 3GPP TS 38.214 §5.1.3.1 (Release 17)

Table 21.1 — TS 38.214 Table 5.1.3.1-1: MCS Index Table 1 for PDSCH (64QAM max, abbreviated)

MCS Index IMCS Modulation Order Qm Target Code Rate R×1024 Spectral Efficiency (bps/Hz) Modulation
021200.2344QPSK
121570.3066QPSK
221930.3770QPSK
322510.4902QPSK
423080.6016QPSK
523790.7402QPSK
624490.8770QPSK
725261.0273QPSK
826021.1758QPSK
926791.3262QPSK
1043401.328116QAM
1143781.476616QAM
1244341.695316QAM
1344901.914116QAM
1445532.160216QAM
1546162.406316QAM
1646582.570316QAM
1764382.566464QAM
1864662.730564QAM
1965173.029364QAM
2065673.322364QAM
2166163.609464QAM
2266663.902364QAM
2367194.212964QAM
2467724.523464QAM
2568224.816464QAM
2668735.115264QAM
2769105.332064QAM
2869485.554764QAM
29–31Reserved

Table 21.2 — TS 38.214 Table 5.1.3.1-2: MCS Index Table 2 (256QAM max, high-order entries shown)

MCS Index IMCS Qm R×1024 Spectral Efficiency Modulation
0–92120–7110.2344–1.3867QPSK (identical to Table 1)
10–164340–6161.3281–2.406316QAM (identical to Table 1)
17–206438–5532.5664–3.246164QAM
2184343.3906256QAM
2284903.8281256QAM
2385534.3203256QAM
2486164.8125256QAM
2586585.1406256QAM
2686995.4609256QAM
2787726.0313256QAM
2888736.8203256QAM
29–31Reserved
Fig 21.2 — MCS Table 1 Spectral Efficiency (bps/Hz) vs MCS Index 0–28. Colour coding: QPSK (blue, MCS 0–9), 16QAM (green, MCS 10–16), 64QAM (orange, MCS 17–28). Bar widths equal; Y-axis 0–6.
0 1 2 3 4 5 6 Spectral Efficiency (bps/Hz) 0 4 8 12 16 20 24 28 MCS Index QPSK (MCS 0–9) 16QAM (MCS 10–16) 64QAM (MCS 17–28)

§21.3 Transport Block Size Calculation — TS 38.214 §5.1.3.2

The transport block size (TBS) is not directly encoded in the DCI. Instead, the UE and gNB independently compute the same TBS from the DCI parameters using the deterministic algorithm in TS 38.214 §5.1.3.2. This algorithm takes five primary inputs: the number of allocated PRBs (nPRB), the MCS index (which yields Qm and R), the number of OFDM symbols (Nsymb), the number of DMRS symbols (NDMRS), and the number of spatial layers (ν).

Eq 21.1 — Intermediate Information Bits N_info (TS 38.214 §5.1.3.2 Step 1)

Ninfo = S · nPRB · NRE · R · Qm · ν

Where: S = scaling factor (1.0 for normal CP), nPRB = allocated PRBs, NRE = REs per PRB per slot = 12 × (Nsymb − NDMRS) − NOH, R = code rate (from MCS table R×1024 ÷ 1024), Qm = modulation order, ν = number of layers

Eq 21.2 — Small TBS Quantisation (N_info ≤ 3824 bits, TS 38.214 §5.1.3.2 Step 2a)

N'info = max(24, 2n · ⌊Ninfo / 2n⌋)  where n = max(3, ⌊log2(Ninfo)⌋ − 6)

Then TBS = closest value in TS 38.214 Table 5.1.3.2-1 not less than N'info

Eq 21.3 — Large TBS Formula (N_info > 3824 bits, TS 38.214 §5.1.3.2 Step 2b)

N'info = max(3840, 2n · round((Ninfo − 24) / 2n))  where n = ⌊log2(Ninfo − 24)⌋ − 5

Then: if R ≤ 1/4: TBS = 8·C·⌈(N'info + 24) / (8·C)⌉ − 24, C = ⌈(N'info + 24) / 3816⌉

if R > 1/4 and N'info > 8424: TBS = 8·C·⌈(N'info + 24) / (8·C)⌉ − 24, C = ⌈(N'info + 24) / 8424⌉

otherwise: TBS = 8·⌈(N'info + 24) / 8⌉ − 24

Worked Example 21.1 — TBS for MCS 20 (64QAM, 25 PRBs, 12 symbols, 1 layer)

Given: MCS index 20 (Table 5.1.3.1-1), nPRB = 25, Nsymb = 12, NDMRS = 1 (single DMRS symbol), NOH = 0, ν = 1 layer

Step 1: Look up MCS 20 → Qm = 6 (64QAM), R×1024 = 567 → R = 567/1024 = 0.5537

Step 2: Compute N_RE = 12 × (12 − 1) − 0 = 12 × 11 = 132 REs per PRB

Step 3: N_info = 1.0 × 25 × 132 × 0.5537 × 6 × 1 = 25 × 132 × 3.3222 = 10,968 bits

Step 4: Large TBS path (N_info = 10,968 > 3824): n = ⌊log₂(10,968 − 24)⌋ − 5 = ⌊13.42⌋ − 5 = 8

N'info = max(3840, 2⁸ · round((10,968 − 24)/256)) = max(3840, 256 · round(42.75)) = 256 × 43 = 11,008

Step 5: R > 1/4 and N'_info ≤ 8424 is FALSE (11,008 > 8424) → C = ⌈(11,008+24)/8424⌉ = ⌈1.311⌉ = 2

TBS = 8 × 2 × ⌈(11,008+24)/(8×2)⌉ − 24 = 16 × ⌈690.75⌉ − 24 = 16 × 691 − 24 = 11,056 − 24 = 11,032 bits = 1,379 bytes

Throughput check: At 30 kHz SCS (Tslot = 0.5 ms), throughput = 11,032 / 0.5 ms = 22.1 Mbps per PRB group per slot (single slot)

§21.4 CQI Reporting — TS 38.213 §7.2

The Channel Quality Indicator is the primary input to the gNB link adaptation algorithm. TS 38.213 §7.2 defines a 4-bit CQI index ranging from 0 (out of range) to 15. Each CQI index maps to a modulation order and an approximate code rate, representing the highest data rate that the UE believes can be decoded with ≤ 10% BLER. The CQI table used by the UE must match the MCS table configured by the gNB.

Table 21.3 — TS 38.213 Table 7.2.1-1: 4-bit CQI Table (default, 64QAM)

CQI Index Modulation Code Rate × 1024 Efficiency (bps/Hz) Typical SINR range (dB)
0Out of range (UE cannot decode)
1QPSK780.1523−6 to −3
2QPSK1200.2344−3 to 0
3QPSK1930.37700 to 2
4QPSK3080.60162 to 5
5QPSK4490.87705 to 8
6QPSK6021.17588 to 10
716QAM3781.476610 to 12
816QAM4901.914112 to 14
916QAM6162.406314 to 17
1064QAM4662.730517 to 19
1164QAM5673.322319 to 21
1264QAM6663.902321 to 23
1364QAM7724.523423 to 25
1464QAM8735.115225 to 28
1564QAM9485.5547>28

CQI can be reported in two granularities, configured via cqi-ReportConfig in RRC:

  • Wideband CQI: A single CQI value reflecting the average channel quality across the entire BWP. Reported via PUCCH Format 2 (periodic, period set by reportingPeriod) or via PUSCH (aperiodic, triggered by DCI field). Low overhead, suitable for low-mobility UEs. Period options: 5, 10, 20, 40, 80, 160 slots.
  • Subband CQI: Per-subband differential CQI (2-bit delta relative to wideband CQI). Enables frequency-selective scheduling. Subband size J is configured per bandwidth (TS 38.214 Table 5.2.1.4-2). Higher overhead but essential for FDD or UEs with frequency-selective channels.

Table 21.4 — CQI Reporting Modes and Configuration Parameters

Mode Trigger Granularity Overhead Best Use Case Key RRC Parameter
Periodic WBTimerWidebandLow (4 bits/period)Low/medium mobility, TDDcqi-ReportPeriodic → reportingPeriod
Periodic SBTimerWideband + subband deltaMediumFDD, frequency-selective channelscqi-ReportPeriodic → subbandSize
Aperiodic WBDCI trigger bitWidebandOn-demandBurst scheduling, dense UE loadsreportTriggerSize in DCI
Aperiodic SBDCI trigger bitSubbandHigher (per subband)Heavy frequency-selective schedulingaperiodicTriggerList

§21.5 BLER Target, HARQ Interaction, and Effective Throughput

The initial transmission BLER target of 10% is designed to operate in concert with the HARQ retransmission mechanism. When a transport block fails decoding (BLER event), the UE sends a NACK and the gNB retransmits using Chase Combining (CC) or Incremental Redundancy (IR). Subsequent transmission attempts combine with the soft-buffer contents from prior attempts, increasing the effective SNR and dramatically reducing the conditional BLER.

Eq 21.4 — Residual BLER after N HARQ rounds

BLERresidual(N) ≈ BLERinitN

For BLERinit = 0.10 and N = 2 rounds: BLERresidual ≈ 0.01 (1%). For N = 3: ≈ 0.001 (0.1%). This assumes uncorrelated fading between retransmissions — valid for time diversity ≥ coherence time.

Eq 21.5 — Effective Throughput with HARQ Retransmissions

Tputeff = TBS × (1 − BLERresidual) / Tavg_tx

Where Tavg_tx = average transmission time including retransmissions = Tslot × (1 + BLERinit + BLERinit2 + …) ≈ Tslot / (1 − BLERinit)

Substituting: Tputeff = TBS × (1 − BLERresidual) × (1 − BLERinit) / Tslot ≈ TBS × (1 − BLERinit) / Tslot

At 10% initial BLER: efficiency factor = 0.90 × TBS/Tslot — only a 10% penalty vs perfect channel knowledge.

Worked Example 21.2 — Effective Throughput vs Initial BLER

Scenario: TBS = 11,032 bits, Tslot = 0.5 ms (30 kHz SCS). Compare BLER targets: 5%, 10%, 20%.

BLERinitTavg_tx (ms)Tputeff (Mbps)SE penalty (%)
5%0.5/(1−0.05) = 0.52611,032×0.999/0.526 = 20.965.0
10%0.5/(1−0.10) = 0.55611,032×0.99/0.556 = 19.6510.0
20%0.5/(1−0.20) = 0.62511,032×0.96/0.625 = 16.9420.8

Conclusion: The 10% BLER operating point sacrifices only ~10% effective throughput compared to ideal, while allowing the MCS to be one or two indices higher than a 5% BLER target would permit. This tradeoff is optimised by the OLLA algorithm in §21.6.

§21.6 Outer-Loop Link Adaptation (OLLA)

The inner-loop of link adaptation translates a CQI report directly to an MCS. The outer loop (OLLA) applies a signed offset Δolla to the CQI before MCS selection: MCS = f(CQI + Δolla). This offset compensates for the systematic gap between reported CQI and the actual channel conditions at the time of transmission — caused by channel ageing, Doppler, CQI quantisation, and interference estimation errors.

"For PDSCH, the UE assumes that the channel estimation is performed based on DMRS. The CQI reported shall be consistent with the demodulation performance of the UE. The gNB may apply an inner-loop or outer-loop correction to the MCS selection process to achieve the desired BLER operating point." — 3GPP TS 38.214 §5.2.2.1 informative note (Release 17)

Eq 21.6 — OLLA Step Size Relationship for 10% BLER Target

step_up / step_down = BLERtarget / (1 − BLERtarget) = 0.10 / 0.90 = 1/9

In steady state, the expected change in Δ per transmission = 0:

(1 − BLERtarget) × step_up − BLERtarget × step_down = 0

Typical values: step_down = 0.9 CQI units, step_up = 0.1 CQI units. After each ACK: Δ += 0.1; after each NACK: Δ −= 0.9.

Eq 21.7 — OLLA Steady-State BLER Condition

BLERss = step_up / (step_up + step_down)

For step_up = 0.1, step_down = 0.9: BLERss = 0.1 / (0.1 + 0.9) = 0.10 = 10% ✓

To target 5% BLER: step_up = 0.05, step_down = 0.95. To target 1% BLER: step_up = 0.01, step_down = 0.99.

Worked Example 21.3 — OLLA Convergence from Cold Start

Scenario: UE reports CQI = 10 (actual channel supports CQI = 12). OLLA starts at Δ = 0. step_up = 0.1, step_down = 0.9. Actual BLER at MCS selected from CQI 10 is 3% (UE is overconservative). Expected OLLA behaviour:

  • Transmissions 1–10: ~97% ACK, ~3% NACK. Net Δ change ≈ 0.97×0.1 − 0.03×0.9 = +0.097 − 0.027 = +0.07/tx
  • After 10 tx: Δ ≈ +0.7 CQI units → MCS selection attempts CQI 10.7 → borderline MCS 11→12
  • After ~50 tx: Δ converges to approximately +2.0 (CQI effective ≈ 12), BLER stabilises near 10%
  • Once converged: step_up events (90% of tx) → Δ moves +0.1 per ACK; step_down events (10%) → Δ moves −0.9 per NACK → net drift ≈ 0

Key observation: OLLA convergence time depends on initial CQI error magnitude. A 2-CQI error (common with 200 ms channel ageing at 3 km/h) converges in 20–30 transmissions (~15–30 ms at 30 kHz SCS).

Fig 21.3 — OLLA Convergence Trace. Left Y-axis: OLLA offset Δ (CQI units, 0 to +2.5). Right Y-axis: BLER % (0–30%). X-axis: transmission number 0–50. Δ climbs from 0 as ACKs dominate; BLER falls from ~3% to 10% steady-state.
0 0.5 1.0 1.5 2.0 2.5 OLLA Offset Δ (CQI units) 0% 10% 20% 30% BLER (%) 0 10 20 30 40 50 Transmission Number 10% target OLLA Δ (CQI units) Actual BLER (%)

§21.7 Modulation Order vs SINR — Shannon Capacity and Practical Thresholds

The selection of modulation order is governed by the SINR available at the UE receiver. Higher-order modulation encodes more bits per symbol but requires a higher SINR to maintain the constellation separation needed for reliable demodulation. The relationship between SINR and achievable spectral efficiency is bounded by the Shannon-Hartley theorem:

Eq 21.8 — Shannon Capacity (AWGN Channel)

C = B · log2(1 + SINR)

For a single PRB (B = 180 kHz) at SINR = 20 dB (SINR_linear = 100): C = 180,000 × log₂(101) = 180,000 × 6.66 = 1.20 Mbps per PRB. Practical NR systems operate 2–4 dB below the Shannon bound due to the coded modulation gap.

Eq 21.9 — Required SINR for Qm-order Modulation (approximation)

SINRrequired ≈ 2Q_m · R − 1   (linear; coded gap ≈ 2–3 dB above Shannon)

QPSK (Qm=2, R=0.5): SINR ≈ 2¹ − 1 = 1 (0 dB). 16QAM (Qm=4, R=0.5): ≈ 2² − 1 = 3 (4.8 dB). 64QAM (Qm=6, R=0.75): ≈ 2⁴·⁵ − 1 ≈ 22 (13.5 dB). 256QAM (Qm=8, R=0.85): ≈ 2⁶·⁸ − 1 ≈ 110 (20.4 dB).

Table 21.5 — Practical SINR Thresholds for Modulation Order (NR PDSCH, 10% initial BLER)

Modulation Qm CQI Range Approx SINR Range (dB) Typical MCS Range Peak SE (bps/Hz)
QPSK21–6<0 to 100–91.33
16QAM47–910 to 1710–162.57
64QAM610–1517 to 2817–285.55
256QAM811–15 (table 2)>2521–28 (table 2)6.82
Fig 21.4 — SINR vs Modulation Order Bands. Horizontal SINR bands for QPSK/16QAM/64QAM/256QAM with a representative UE SINR distribution (bell curve overlay). Crossover points show where MCS transitions occur.
QPSK MCS 0–9 16QAM MCS 10–16 64QAM MCS 17–28 256QAM Table 2 Peak SINR = 18 dB −10 0 10 17 28 35 SINR (dB) UE Count (distribution) UE SINR distribution (bell curve)

§21.8 TS 28.552 Link Adaptation KPIs

TS 28.552 defines the 5G NR Performance Measurement specification. The counters relevant to link adaptation monitoring fall into three groups: throughput counters, HARQ outcome counters, and CQI distribution counters. These are collected at the cell level and reported in 15-minute or 1-hour measurement intervals.

Table 21.6 — Key TS 28.552 Link Adaptation PM Counters

Counter Name TS 28.552 Reference Description Unit Typical Range
L.Thrp.bits.DL§5.1.1.3Total DL PDSCH bits successfully received per cell per intervalbits10⁹–10¹² per 15 min
L.Thrp.bits.UL§5.1.1.3Total UL PUSCH bits successfully received per cell per intervalbits10⁸–10¹¹ per 15 min
L.HARQ.AckRatio.DL§5.1.3.1Ratio of HARQ ACK to total HARQ feedback events on PDSCH (= 1 − BLERinit)ratio0.85–0.98
L.HARQ.AckRatio.UL§5.1.3.1Ratio of HARQ ACK to total HARQ feedback events on PUSCHratio0.82–0.97
L.CQI.Distr.Bin[0..15]§5.1.2.1Histogram of reported CQI values (one bucket per CQI index 0–15)countDepends on cell load
L.DL.MCS.Distr.Bin[0..28]§5.1.1.6Histogram of scheduled MCS indices on PDSCH (per MCS 0–28)countDepends on channel conditions
L.PRB.UsedDL§5.1.1.2Average number of PRBs used per slot in DL across the measurement intervalPRBs0 – BW-dependent max
L.PRB.UsedUL§5.1.1.2Average number of PRBs used per slot in UL across the measurement intervalPRBs0 – BW-dependent max

Eq 21.10 — Cell DL Throughput from TS 28.552 Counters

Tputcell_DL (bps) = L.Thrp.bits.DL / Tmeasurement_interval

Initial BLER = 1 − L.HARQ.AckRatio.DL

Mean CQI = Σ(i × L.CQI.Distr.Bin[i]) / Σ(L.CQI.Distr.Bin[i])  for i = 0..15

PRB utilisation = L.PRB.UsedDL / (maximum PRBs in BWP)

§21.9 Link Adaptation Failure Modes

Link adaptation failures manifest as three principal signatures in the PM counter data. Each has a distinct counter pattern and a different root cause hierarchy:

Table 21.7 — Link Adaptation Failure Mode Matrix

Failure Mode L.HARQ.AckRatio L.DL.MCS mean L.CQI mean Throughput Root Cause
Stuck Low MCS High (>95%) Low (<10) Low (1–6) Very low Coverage limit, antenna tilt too high, pilot pollution, or OLLA clamped at minimum
MCS Oscillation Variable, noisy High variance High variance Suboptimal OLLA step size too large, fast fading faster than CQI reporting period, stale CQI
High BLER at Low MCS Low (<85%) Low (<8) Low but BLER still high Severely degraded Interference (pilot or data channel), hardware fault (PA), or massive channel estimation error
CQI Overestimation Low (70–85%) High (>20) High (12–15) Unstable Mobility causing channel ageing, mismatch between CQI RS and data channel beamforming

Worked Example 21.4 — Diagnosing High BLER Despite Low MCS

Observed counters: L.HARQ.AckRatio.DL = 0.72 (28% BLER), L.DL.MCS mean = 5 (QPSK, R≈0.37), L.CQI mean = 4, L.Thrp.bits.DL = 40% of expected.

Hypothesis 1 — Coverage limit: At MCS 5 (QPSK, R=0.37), the minimum required SINR is approximately −2 dB. If SINR were coverage-limited to −2 dB, BLER of 10% would be expected, not 28%. Reject hypothesis.

Hypothesis 2 — Interference: A 28% BLER at MCS 5 implies an effective SNR approximately 4–6 dB below the required threshold. This is consistent with an interfering co-channel signal 3–5 dB above the noise floor (I/N ≈ +3–5 dB). Check: is this cell on the same frequency as a neighbour with high output power and poor handover boundary?

Hypothesis 3 — Hardware fault: Check PM counter for PA power reduction events. A degraded PA may reduce PDSCH RS transmission power, causing the UE to report an inflated CQI (measured on SSB at normal power) while the actual PDSCH SNR is 4–6 dB lower.

Recommended action: (1) Check interference matrix — identify dominant interferer in drive test or using X2/Xn RSRP neighbours. (2) Audit PA hardware alarm history. (3) If interference confirmed: adjust ICIC parameters or trigger ANR to add HO event A3 towards interferer. (4) If hardware fault: replace RRU.

Fig 21.5 — CQI Mismatch Diagnosis. Top trace: actual SINR (blue) and CQI-implied SINR (orange). Gap region = CQI overestimation period. Bottom trace: corresponding BLER spike when overestimated CQI drives MCS too high.
SINR (dB) 25 15 10 5 CQI overestimation window (~360 ms) 10% BLER (%) 35% 20% 10% 0% Time (ms) →  [CQI overestimation → MCS too high → BLER spike] Actual SINR CQI-implied SINR

§21.10 Link Adaptation Parameter Optimisation

"The UE shall be configured with cqi-ReportConfig, which includes fields for the CQI reporting type (periodic or aperiodic), the CQI feedback type (wideband or subband), the reporting period and offset, the CQI table to use, and the PMI feedback type. The UE shall generate and report CQI/PMI/RI based on the configured cqi-ReportConfig." — 3GPP TS 38.214 §5.2.1 (Release 17)

Table 21.8 — Link Adaptation Parameter Optimisation Reference

Parameter 3GPP Reference Default / Range Failure Mode Addressed Optimisation Guidance
reportingPeriod (CQI periodic) TS 38.214 §5.2.1.4 / TS 38.331 20 slots (typical); 5, 10, 20, 40, 80, 160 MCS oscillation from stale CQI Reduce to 10 or 5 slots for high-mobility UEs (v > 30 km/h). Increase to 40–80 for static UEs to reduce overhead.
cqi-PeriodOffset TS 38.331 CQI-ReportPeriodic 0; 0 to (period−1) CQI collision with other UPTs Distribute UE CQI reporting across slots to avoid PUCCH congestion. Stagger by 1–3 slots in dense cells.
cqi-Table (mcs-Table) TS 38.214 §5.1.3.1 / TS 38.331 table1 (64QAM); table2 (256QAM) Stuck-low MCS in good SINR conditions Enable table2 (256QAM) only for UEs with consistently reported CQI ≥ 13 and SINR > 25 dB. Avoid for edge UEs — 256QAM increases sensitivity to CQI mismatch.
OLLA enable/step size TS 38.214 §5.1.3 (informative); implementation-defined Enabled; step_up=0.1, step_dn=0.9 All CQI mismatch scenarios Never disable OLLA in production. Increase step_dn (e.g., 1.8) to recover faster from overestimation. Decrease step_dn (e.g., 0.5) for high-variance channels to reduce oscillation.
targetCodeRate offset (δ) TS 38.214 §5.1.3.1 (gNB implementation) 0 dB; −3 to +3 dB Systematic high BLER (offset < 0) or stuck-low MCS (offset > 0) If mean BLER > 15%: set δ = −1 dB (more conservative). If mean BLER < 3% and MCS low: set δ = +1 dB (more aggressive). Verify against L.HARQ.AckRatio after 24 hours.
subbandSize J TS 38.214 Table 5.2.1.4-2 4–16 PRBs (bandwidth-dependent) Frequency-selective BLER pattern Smaller J = finer granularity = better frequency-selective scheduling benefit but higher PUCCH overhead. Use J=4 for 20 MHz FDD; J=8–16 for wider bandwidths.
Fig 21.6 — Link Adaptation Optimisation Decision Tree. Starting from BLER observation, branches guide to correct root cause and parameter action. Panel backgrounds enclose all child elements.
Observe: BLER > 10%? Check L.HARQ.AckRatio.DL < 0.90 YES NO CQI mean ≥ 12 but BLER high? → CQI overestimation (channel ageing) Action: Reduce CQI period 20→10 slots. Increase OLLA step_dn. Action: Check interference / HW ICIC / ANR / PA audit. MCS < 10 despite CQI ≥ 10? → OLLA clamped / conservative δ Action: Increase targetCodeRate δ +1 dB. Enable 256QAM if SINR > 25 dB. Normal Operation BLER ≤ 10%, MCS healthy. Monitor.

Worked Example 21.5 — Full LA Optimisation Workflow

Scenario: A 100 MHz NR cell (FR1, 30 kHz SCS, 66 PRBs active) shows the following 24-hour PM data:

  • L.HARQ.AckRatio.DL = 0.82 (BLERinit = 18%)
  • L.DL.MCS mean = 16 (high MCS)
  • L.CQI mean = 13 (high — most UEs in good SINR)
  • L.Thrp.bits.DL = 1.8 × 10¹⁰ bits in 15 minutes = 20 Gbps peak

Step 1 — Identify failure mode: BLER = 18% > 10% target. MCS is high (16) despite poor BLER. CQI = 13 implies 64QAM capable. This is CQI overestimation: the channel quality has degraded (possibly interference or mobility) but CQI reports are lagging.

Step 2 — Verify with OLLA behaviour: OLLA should be driving Δ negative to reduce MCS. If BLER has been persistently high for hours, OLLA step_dn may be too small (0.9) to compensate fast enough. The 18% BLER suggests OLLA is operating at MCS 16 with actual channel supporting only MCS 12–13.

Step 3 — Parameter changes:

  1. Reduce cqi-reportingPeriod from 20 to 10 slots — halves CQI staleness latency
  2. Increase OLLA step_dn from 0.9 to 1.5 — more aggressive downward correction on NACK
  3. Set targetCodeRate offset δ = −1 dB — shifts MCS selection 1 step more conservative

Step 4 — Expected outcome after 24 hours: L.HARQ.AckRatio.DL should rise to 0.88–0.92. L.DL.MCS mean may drop to 13–14 but effective throughput should increase due to fewer retransmissions.

Throughput estimate post-fix: At MCS 14 (SE = 2.16 bps/Hz) and 10% BLER: Tput = 0.90 × 2.16 × 180 kHz × 66 PRBs × 20 slots/ms = 0.90 × 2.16 × 11.88 MHz = 23.1 Mbps per cell — an improvement vs 18% BLER at MCS 16 (SE = 2.57): 0.82 × 2.57 × 11.88 = 25.0 Mbps, but HARQ retransmissions occupying additional slots reduce effective capacity to approximately 20 Mbps. The fix yields a net gain of ~15% in effective throughput.

Chapter 21 Summary

  • LA goal: Select highest MCS keeping initial BLER ≤ 10% — optimised by OLLA to balance spectral efficiency against retransmission overhead (§21.1)
  • MCS tables: TS 38.214 defines Table 1 (64QAM, MCS 0–28) and Table 2 (256QAM, MCS 0–28); each entry specifies Qm, R×1024, and spectral efficiency (§21.2)
  • TBS calculation: TS 38.214 §5.1.3.2 two-path algorithm (N_info ≤ 3824 vs > 3824) quantises N_info to a standard TBS; both gNB and UE compute independently from DCI fields (§21.3)
  • CQI reporting: 15-entry 4-bit CQI table; wideband (low overhead) vs subband (frequency-selective); periodic (PUCCH) and aperiodic (PUSCH trigger) modes (§21.4)
  • BLER and HARQ: 10% initial BLER → ≈ 1% residual after 2 HARQ rounds; effective throughput ≈ 0.90 × TBS/Tslot; HARQ combining gain essential for high-SINR cells (§21.5)
  • OLLA algorithm: step_up/step_down ratio = 1/9 for 10% BLER target; converges in ~20–30 transmissions; OLLA diverges when channel varies faster than step convergence rate (§21.6)
  • SINR vs modulation: QPSK < 10 dB, 16QAM 10–17 dB, 64QAM 17–28 dB, 256QAM > 25 dB; practical thresholds are 2–4 dB above Shannon bound (§21.7)
  • TS 28.552 KPIs: L.HARQ.AckRatio.DL = 1 − BLERinit; L.CQI.Distr gives CQI histogram; L.DL.MCS.Distr gives MCS histogram; combine to derive LA health (§21.8)
  • Failure modes: Stuck-low MCS (coverage/OLLA clamp), MCS oscillation (stale CQI/large step), high BLER at low MCS (interference/HW) — each has distinct counter signature (§21.9)
  • Optimisation: CQI period, OLLA step sizes, targetCodeRate offset, MCS table selection, and subband CQI granularity are the five LA control levers with well-defined tradeoffs (§21.10)
Page 21
Chapter 22

MIMO Layers and Codebooks

Spatial multiplexing capacity, Type I and Type II codebook structures, rank indicator reporting, DL/UL MIMO throughput analysis, massive MIMO CSI-RS beam management, MIMO configuration parameters, TS 28.552 MIMO KPIs (L.RankDist.DL.*), and failure mode diagnosis — all derived from TS 38.214 §5.2, TS 38.211 §7.3, TS 38.213 §8, and TS 28.552 with worked examples and eight reference tables

3GPP TS 38.214 §5.2 · TS 38.211 §7.3 · TS 38.213 §8 · TS 38.331 §6.3 · TS 28.552 §5.1.1
📐 10 sections 🔢 14 equations 📋 8 tables 🧪 4 worked examples 📜 5 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Derive the MIMO capacity formula using per-layer SINR values and explain how eigenvalue spread determines the practical rank ceiling
  2. Describe the structure of the Type I Single-Panel codebook (W = W1 × W2) and map PMI indices to precoding vectors for up to 4 layers
  3. Contrast the Type II codebook linear combination structure against Type I and quantify the spectral efficiency gain versus PUCCH overhead cost
  4. Explain Rank Indicator (RI) reporting, the eigenvalue-based channel rank test, and why RI can be bounded below SINR predictions
  5. Calculate peak DL MIMO throughput from layer count, bandwidth, code rate, modulation order, and overhead fraction
  6. Describe TDD reciprocity-based UL precoding, SRS configuration, and the UL codebook defined in TS 38.214 §6.1.1.2
  7. Trace the massive MIMO CSI-RS beam refinement chain from SSB beam sweeping through NZP-CSI-RS to BPL precoding
  8. Map the key RRC parameters (maxMIMO-Layers, pdsch-Config, csi-MeasConfig) to their 3GPP specification locations
  9. Compute average DL rank and high-rank ratio from TS 28.552 PM counters L.RankDist.DL.{1..8}
  10. Diagnose low-RI, RI-stuck, and Type II PUCCH overflow failure modes from counter signatures and propose parameter remedies

§22.1 Spatial Multiplexing versus Diversity — Capacity and the Rank Concept

A multi-antenna system can exploit its spatial degrees of freedom in two fundamentally different ways. Diversity sends the same information stream on multiple antennas to reduce fading variance and improve link reliability. Spatial multiplexing sends independent data streams — layers — on simultaneously active spatial paths, multiplying throughput by the number of independently supportable streams.

The 5G NR physical layer specification (TS 38.214) encodes this choice through the transmission rank ν: a value from 1 to min(NT, NR) selected by the rank indicator (RI) reported by the UE. At rank 1, the precoding matrix reduces to a single beam vector, providing maximum array gain and diversity. At rank ν > 1, the precoding matrix W is a NT × ν matrix that simultaneously excites ν spatial streams, each occupying the full time-frequency resource grid of a single PDSCH allocation.

The theoretical capacity of a MIMO channel with ν active layers is given by the Shannon sum over individual per-layer SINR values after spatial processing:

Eq 22.1 — MIMO Spatial Multiplexing Capacity (Shannon bound)

C = B × ∑i=1ν log2(1 + SINRi)   [bit/s]

where B is the allocated bandwidth [Hz], ν is the number of layers (rank), and SINRi is the post-equalisation signal-to-interference-plus-noise ratio on layer i. The SINR values are determined by the channel singular value decomposition: SINRi ∝ σi2 / N0, where σi are the singular values of the channel matrix H.

The rank of the channel — the number of non-negligible singular values — is the fundamental physical constraint on spatial multiplexing gain. A channel with high eigenvalue spread (one dominant singular value) favours rank-1 beam-forming. A channel with near-equal singular values (low spread, rich scattering) supports high-rank spatial multiplexing. The UE measures this through CSI reference signals and reports the RI that maximises expected throughput.

"The precoding matrix W used for PDSCH transmission with ν layers shall be selected from the codebook defined in clause 5.2.2, based on the PMI and RI reported by the UE, or may be configured by the network for non-codebook-based transmission. The number of transmission layers ν shall not exceed the rank indicator RI reported by the UE." — TS 38.214 §5.2.1 (Release 17)
Fig 22.1 — MIMO layer transmission model: 4 TX antennas, 2 RX antennas, 2 independent data streams mapped through precoding matrix W (4×2). Each layer experiences a linear combination of all TX paths; the receiver equaliser separates the streams.
TX (4 Ant) Ant 1 Ant 2 Ant 3 Ant 4 Precoding Matrix W (N,×ν) 4×2 here TS 38.214 §5.2 Channel H (N,×N,) 2×4 here Singular values σ₁, σ₂ → SINR Equaliser MMSE / IRC Separates 2 spatial layers RX (2 Ant) Ant 1 Ant 2 Layer 1 (s₁) Layer 2 (s₂) Rank ν = 2  |  Capacity = B × [log₂(1+SINR₁) + log₂(1+SINR₂)]

Table 22.1 — MIMO Rank vs Channel Condition

Rank (ν) Eigenvalue Profile Typical Environment Array Gain Multiplexing Gain Preferred Codebook
1One dominant σ₁ ≫ σ₂LOS, cell-edge, indoor deepMaximum (NT)NoneType I rank-1
2σ₁ ≈ 2σ₂Suburban, light NLOSHigh~2×Type I rank-2
4Near-equal σ₁≈σ₂≈σ₃≈σ₄Urban dense NLOSModerate~4×Type II rank-2/4
8All singular values equalRich scattering (theoretical)Low per layer~8×Type II extended

§22.2 Type I Single-Panel Codebook (TS 38.214 §5.2.2.2)

The Type I Single-Panel codebook is the baseline MIMO precoding mechanism for NR. It targets deployments with a single antenna panel at the gNB and supports up to 8 layers (rank). The codebook is designed for FDD operation where the gNB does not have direct channel reciprocity and must rely entirely on UE-reported CSI (PMI + RI + CQI).

The precoding matrix W is constructed as a two-stage product:

Eq 22.2 — Type I Single-Panel Codebook Structure (TS 38.214 §5.2.2.2)

W = W1 × W2

W1: wideband matrix selecting a beam group — a set of orthogonal DFT beams spanning the angular neighbourhood of the dominant channel direction. W1 is indexed by i1,1 and i1,2 for the horizontal and vertical dimensions respectively.

W2: subband matrix selecting a specific beam within the group and applying co-phasing between polarisations. W2 is indexed by PMI index i2.

For a 2-port (N1=1, N2=1) configuration: W1 is a 2×2 block matrix and W2 co-phases the two polarisations with one of {1, j, -1, -j} (QPSK alphabet).

The UE reports two PMI components: i1 = (i1,1, i1,2, i1,3) as a wideband indicator and i2 as a subband indicator, plus the RI and CQI for each codeword. The gNB then indexes into the codebook tables in TS 38.214 Tables 5.2.2.2.1-1 through 5.2.2.2.5-1 (for various antenna configurations) to retrieve the precoding matrix.

"For a UE reporting a Type I Single-Panel CSI, the precoding matrix W for ν layers is defined as W = W₁W₂, where W₁ and W₂ are selected from the codebook subsets configured by the network. The codebook subsets shall be configured by higher layer parameter codebookSubset." — TS 38.214 §5.2.2.2.1 (Release 17)

Table 22.2 — Type I Single-Panel Codebook Parameters by Antenna Configuration

Config (N1,N2) Ports Max Rank W1 indices W2 indices Codebook Table
(1,1)22i₁=0i₂ ∈ {0,1,2,3}Table 5.2.2.2.1-1
(2,1)44i₁,₁ ∈ {0..3}i₂ ∈ {0..15}Table 5.2.2.2.2-1
(4,1)88i₁,₁ ∈ {0..7}i₂ ∈ {0..15}Table 5.2.2.2.3-1
(4,2)168i₁,₁∈{0..7}, i₁,₂∈{0..3}i₂ ∈ {0..15}Table 5.2.2.2.4-1
(8,2)328i₁,₁∈{0..15}, i₁,₂∈{0..3}i₂ ∈ {0..15}Table 5.2.2.2.5-1

§22.3 Type II Codebook (TS 38.214 §5.2.2.3)

The Type II codebook supersedes Type I in high-rank scenarios where precise beam shaping per subband significantly improves spectral efficiency. Instead of selecting a single beam, the UE reports a linear combination of L orthogonal DFT beams with complex amplitude coefficients, allowing the precoding vector to track fine angular and frequency variations in the channel.

Eq 22.3 — Type II Codebook Precoding Vector (TS 38.214 §5.2.2.3)

w = ∑l=1L pl × bl

where bl are the L selected DFT basis beams (column vectors from the oversampled DFT codebook), pl are the complex combining coefficients reported by the UE (amplitude + phase), and L ∈ {2, 3, 4} is the number of beams configured by higher layer. The full multi-layer precoding matrix W stacks per-layer vectors. Each layer may use a different linear combination.

Overhead: the UE must report Re{pl} + Im{pl} for each of L beams per polarisation per layer. For L=4, rank-2: approximately 2×2×4×2 = 32 complex coefficients per subband → significantly higher PUCCH payload than Type I.

"For Type II CSI reporting, the UE shall report, for each layer l, the beam selection indicator, the broadband amplitude coefficients, and the subband phase and amplitude coefficients. The number of beams L shall be configured by higher layer parameter numberOfBeams and shall be in the set {2, 3, 4}." — TS 38.214 §5.2.2.3.1 (Release 17)
Fig 22.2 — Type I versus Type II codebook structure side-by-side. Type I selects one beam from a group (W = W₁×W₂). Type II linearly combines L DFT beams with complex coefficients p_l, enabling finer spatial resolution at the cost of higher reporting overhead.
Type I Single-Panel W = W₁ × W₂ W₁: Beam Group b₁ b₂ b₃ b₄ i₁ selects group W₂: select 1 beam + co-phase i₂ ∈ {0..15} PMI Overhead: ~3–5 bits / subband Low PUCCH load Typical SE gain: Baseline (0 dB ref) Max rank 4 Type II w = ∑ pₗ × bₗ   (L beams) L=4 DFT Beams Combined b₁ p₁ b₂ p₂ b₃ p₃ b₄ p₄ Complex pₗ: amplitude + phase per subband Reported per layer per polarisation PMI Overhead: ~15–30 bits / subband Higher PUCCH load SE gain vs Type I: +10–25% (urban) Max rank 4 (Rel-15) Both codebooks require NZP-CSI-RS for channel estimation. Type II requires higher PUCCH capacity.

Table 22.3 — Type I vs Type II Codebook Feature Comparison

Feature Type I Single-Panel Type II Type II Port Selection (Rel-16)
Precoder typeSingle DFT beam + co-phaseLinear combo of L DFT beamsSubset of port signals
Number of beams L12, 3, or 4Configured subset
Max rank84 (Rel-15), 8 (Rel-16+)2
Subband feedbacki₂ (3–5 bits)p_l amplitudes + phases (15–30 bits)Port selection + co-phase
PUCCH overheadLowHighMedium
SE advantageBaseline+10–25% dense urban+5–15% mixed
3GPP clause§5.2.2.2§5.2.2.3§5.2.2.3.2

§22.4 Rank Indicator Reporting — Channel Rank Determination

The Rank Indicator (RI) is the UE's recommendation for the number of MIMO layers to schedule on a given time-frequency resource. It is reported together with PMI and CQI as part of the Channel State Information (CSI) report. The network uses RI to determine the precoding matrix rank but is not obligated to follow it exactly — it may override the rank subject to scheduling constraints.

The UE determines RI by evaluating the hypothetical throughput achievable at each rank value:

Eq 22.4 — RI Selection Criterion (TS 38.214 §5.2.1.4)

RI = argmaxν ∈ {1,...,8} Cν

Cν = ∑i=1ν log2(1 + SINRi)

The SINR per layer is estimated from the channel matrix H using the singular value decomposition H = U × Σ × VH. The singular values σi determine per-layer SINR. For MMSE receivers: SINRi ≈ σi2P / (σν+12P + N₀), where the self-interference from remaining layers is treated as noise. For MU-MIMO configurations the UE only reports RI for its own allocation.

The eigenvalue spread is the key physical quantity. Define spread as κ = σ1 / σν. When κ is large (one dominant eigenvalue, LOS or few scatterers), adding more layers yields diminishing capacity gain because lower eigenvalues contribute near-zero SINR. When κ ≈ 1 (isotropic scattering), every additional layer adds a full log₂ term and high rank is always preferred.

Key Concept — Why SINR Alone Does Not Predict RI: A UE with SINR = 25 dB in a strong LOS channel may still report RI=1 if the channel has a single dominant eigenvalue. Conversely, a UE with moderate SINR = 10 dB in a rich-scattering environment may report RI=4 because all four singular values are near-equal. RI is a property of the channel matrix rank, not of the received signal power alone.
Fig 22.3 — RI versus wideband SINR scatter plot. Each cluster represents a different propagation condition: RI=1 (LOS/cell-edge), RI=2 (moderate NLOS), RI=4 (urban NLOS), RI=8 (dense rich scattering). Note that RI=1 UEs span the full SINR range — high SINR LOS does not guarantee high rank.
0 2 4 6 8 Rank Indicator (RI) -5 0 5 10 15 20 Wideband SINR (dB) RI=1 (LOS / cell-edge) RI=1 (strong LOS) RI=2 (moderate NLOS) RI=4 (dense urban NLOS) RI=8 (rich scatter) High SINR LOS → RI=1

§22.5 DL MIMO Throughput — Peak Calculation and Worked Example

The peak downlink throughput of a MIMO configuration can be calculated directly from the 5G NR physical layer parameters. The formula accounts for the number of spatial layers, available bandwidth, modulation and coding scheme, and overhead from reference signals and control channels:

Eq 22.5 — DL MIMO Peak Throughput (TS 38.214 §5.1.3.2)

RDL = ν × (1 − OH) × NPRB × 12 × Qm × R × fs / Tslot

ν = number of MIMO layers (rank)

OH = overhead fraction (PDCCH + DMRS + CSI-RS ≈ 0.14 for typical NR FR1)

NPRB = allocated PRBs (bandwidth dependent)

Qm = modulation order (2=QPSK, 4=16QAM, 6=64QAM, 8=256QAM)

R = code rate (0 to 1, target ≈ 0.93 for MCS 27 in 256QAM table)

fs = scaling factor (1.0 for normal CP)

Tslot = slot duration (0.5 ms at 30 kHz SCS, 14 symbols)

Worked Example 22.1 — 4-Layer 100 MHz 64QAM Peak DL Throughput

Configuration: 100 MHz bandwidth (FR1, 30 kHz SCS), 4 MIMO layers, 64QAM MCS 27 (R=948/1024 ≈ 0.926), DMRS + PDCCH overhead = 14%, TDD 7D:2S:1U pattern (effective DL fraction = 0.75)

Step 1 — PRBs: 100 MHz at 30 kHz SCS → 273 PRBs (from TS 38.104 Table 5.3.2-1)

Step 2 — Symbols per slot: 14 symbols × (1 − 0.14) = 12.04 useful symbols

Step 3 — Bits per slot per layer: 273 PRBs × 12 subcarriers × 6 bits (64QAM) × 0.926 × 12.04 / 14 = 273 × 12 × 6 × 0.926 × 0.860 = 15,625 bits/slot/layer

Step 4 — Total bits per slot (4 layers): 4 × 15,625 = 62,500 bits/slot

Step 5 — Throughput: 62,500 bits × 2000 slots/s (0.5 ms slot) = 125 Mbps per TDD slot × 0.75 DL fraction = ~940 Mbps

Note: This matches TS 38.306 reported UE capability for Category NR-Advanced 4-layer DL.

Table 22.4 — DL MIMO Peak Throughput by Configuration (100 MHz, 30 kHz SCS, TDD 7:2:1)

Layers (ν) Modulation MCS Code Rate Approx. PRBs Peak DL Rate
164QAMMCS 270.926273~235 Mbps
264QAMMCS 270.926273~470 Mbps
464QAMMCS 270.926273~940 Mbps
4256QAMMCS 270.926273~1.25 Gbps
8256QAMMCS 270.926273~2.5 Gbps

§22.6 UL MIMO and SRS — TDD Reciprocity-Based Precoding

Uplink MIMO exploits multiple transmit antennas at the UE to increase UL throughput. Unlike DL where the gNB controls precoding, UL precoding can be either codebook-based (UE selects from a defined codebook and signals the TPMI to the gNB) or non-codebook-based (gNB estimates the UL channel from SRS and computes the optimal precoding, which it then signals to the UE via DCI format 0_1).

In TDD operation, channel reciprocity allows the gNB to estimate the DL channel matrix HDL from the UL SRS measurements, since HDL ≈ HULT when UL and DL use the same frequency. This is the foundation of reciprocity-based massive MIMO precoding.

Eq 22.6 — TDD Reciprocity Condition

HDL(f, t) ≈ HULT(f, t)   when |tDL − tSRS| < Tcoh

where Tcoh is the channel coherence time. At 3.5 GHz, Tcoh ≈ 10–50 ms for pedestrian speeds. SRS must be configured with sufficient periodicity to maintain valid reciprocity estimates. The gNB uses the reciprocity estimate to compute the precoding matrix W = V (right singular vectors of H) without requiring any DL codebook-based feedback from the UE.

"For non-codebook based UL transmission, the UE shall transmit SRS resources as configured by the network. The network shall use the received SRS to determine the UL precoding matrix and shall signal the UL transmission precoding matrix indicator (TPMI) or the SRS resource indicator (SRI) to the UE in DCI format 0_1." — TS 38.214 §6.1.1.1 (Release 17)
Fig 22.4 — SRS TDD reciprocity timeline. UE transmits SRS in UL slots. gNB estimates HUL, derives W via SVD, and applies the precoding matrix W to subsequent PDSCH transmissions. The loop period must be shorter than the channel coherence time Tcoh.
DL DL DL DL DL DL DL Spec. S Flex UL SRS DL W applied PDSCH (rank ν) Previous W applied SRS → H estimation SVD → Wnew → PDSCH Tcoh constraint: SRS period must be < channel coherence time SRS-Config: periodicity ∈ {1,2,4,5,8,10,16,20,32,40,64,80,160,320,640,1280,2560} slots (TS 38.331 §6.3.2) TDD pattern shown: DDDDDDDSXU (30 kHz SCS, slot duration = 0.5 ms)

Table 22.5 — UL Codebook (TS 38.214 §6.1.1.2) — TPMI Index to Precoding Matrix (2-port example)

TPMI Index Layers (ν) Precoding Matrix W Description
01[1, 0]T / √2Port 0 only
11[0, 1]T / √2Port 1 only
21[1, 1]T / 2Both ports in-phase
31[1, j]T / 2Both ports 90° phase
42[[1,0],[0,1]] / √2Spatial multiplexing (full rank)
52[[1,1],[1,-1]] / 2Hadamard precoding

§22.7 Massive MIMO — NZP-CSI-RS, ZP-CSI-RS, and Beam Refinement

Massive MIMO deployments with 32–256 antenna elements use a hierarchical beam management procedure to narrow from a coarse SSB beam sweep to a precise NZP-CSI-RS-based beam for PDSCH precoding. The process is standardised in TS 38.214 §5.2.1 and TS 38.331 and involves three reference signal types working in sequence.

Non-Zero Power CSI-RS (NZP-CSI-RS): configured by the gNB via RRC parameter NZP-CSI-RS-Resource. Used for channel estimation (CSI-RS for CSI acquisition) and beam management (CSI-RS for beam management). Up to 32 CSI-RS ports per resource can be configured, supporting massive MIMO codebook feedback with full angular resolution.

Zero Power CSI-RS (ZP-CSI-RS): a muting pattern that creates blank resource elements in the PDSCH, used to protect CSI-RS of other cells from interference and to assist the UE in measuring inter-cell channel quality. Configured via ZP-CSI-RS-Resource in pdsch-Config.

The beam pair link (BPL) management procedure follows three levels defined in TS 38.214 §5.2.1.3:

Table 22.6 — Beam Management Procedure Levels (TS 38.214 §5.2.1.3)

Procedure Reference Signal Purpose Reporting Periodicity
P-1 (Initial)SSB sweepCoarse beam acquisition, cell searchCRI in CSI reportSSB period (5–160 ms)
P-2 (Refinement)NZP-CSI-RSFine spatial beam refinementCRI + PMI (RSRP)CSI-RS period (1–640 slots)
P-3 (Recovery)NZP-CSI-RSBeam failure recovery (BFR)PRACH / SRTriggered by BFI event
"The UE shall measure the reference signal received power (RSRP) of the configured NZP-CSI-RS resources and report the CRI (CSI-RS Resource Indicator) corresponding to the resource with the highest RSRP. The reported CRI shall be used by the gNB to determine the transmit beam for subsequent PDSCH transmission." — TS 38.214 §5.2.1.3.1 (Release 17)

Worked Example 22.2 — Configuring NZP-CSI-RS for 64-Antenna Massive MIMO

Scenario: 64T64R antenna array (8 horizontal × 4 vertical × 2 polarisations), 3.5 GHz, TDD, 100 MHz bandwidth.

CSI-RS resource configuration (RRC):

  • nrofPorts = 32 (maximum per NZP-CSI-RS-Resource)
  • firstOFDMSymbolInTimeDomain = 4 (after PDCCH region)
  • density = one (1 RE per PRB per port)
  • periodicityAndOffset: slots80, offset 0 (80-slot periodicity at 30 kHz = 40 ms)
  • resourceMapping: row4 (covers 4 consecutive OFDM symbols)

UE reports: CRI (which of 8 CSI-RS beams was strongest) + PMI (Type II, L=4 beams from within the best CRI beam group) + RI + CQI per layer per subband.

gNB action: Selects PDSCH precoding W = sum of L=4 DFT basis beams weighted by reported p_l coefficients, steered toward the CRI-reported beam direction. Applies W to all 32 TX ports. Expected SINR gain vs SSB-only precoding: +3 to +8 dB at cell edge.

§22.8 MIMO Configuration Parameters (TS 38.331)

MIMO operation is controlled by a set of RRC parameters that together define the codebook type, maximum layer count, CSI measurement resources, and PUCCH reporting configuration. The key parameters and their specification locations are:

Table 22.7 — Key MIMO RRC Parameters (TS 38.331 §6.3.2)

Parameter RRC IE Location Values / Range Effect
maxMIMO-LayersPDSCH-ServingCellConfig1, 2, 4, 8Caps the RI the UE can report; limits max DL rank regardless of channel
maxMIMO-LayersDLPhysicalCellGroupConfig1–8UE capability cap on DL MIMO layers per cell
codebookSubsetPUSCH-Config / CSI-ReportConfigfullyAndPartialAndNonCoherent, partialAndNonCoherent, nonCoherentRestricts UL codebook to UE coherence capability (TS 38.214 §6.1.1.2)
nrofPortsNZP-CSI-RS-ResourceMapping1,2,4,8,12,16,24,32Number of CSI-RS ports; determines codebook dimension
csi-ReportConfigCSI-MeasConfigList of CSI-ReportConfig IEsDefines what CSI quantities (RI, PMI, CQI, CRI, LI) to report and on which resource
reportQuantityCSI-ReportConfigcri-RI-PMI-CQI, cri-RI-i1, cri-RSRP, ssb-Index-RSRP, …Selects the CSI feedback type: full codebook or beam-management only
numberOfBeamsCodebookConfig → Type22, 3, 4Number of linear combination beams L for Type II codebook
tpmiDCI format 0_1 fieldTPMI index per TS 38.214 §6.1.1.2Signals UL codebook precoding matrix to UE for codebook-based UL MIMO

Worked Example 22.3 — Enabling Type II Codebook with 32-Port CSI-RS

Configuration objective: Enable Type II PMI reporting with L=4 beams on a 32-port CSI-RS resource for 4-layer DL MIMO in a dense urban macro cell.

Step 1 — CSI-RS resource: Configure NZP-CSI-RS with nrofPorts=32, density=one, periodicityAndOffset=slots40.

Step 2 — CSI report config: Set reportQuantity = cri-RI-PMI-CQI; set codebookConfig.type2.numberOfBeams = 4; set codebookConfig.type2.phaseAlphabetSize = 8 (3-bit phase).

Step 3 — PUCCH capacity check: Type II with L=4, rank-2: payload ≈ 2 layers × 2 polarisations × 4 beams × (1 bit amplitude + 3 bits phase) = 64 bits per subband. Ensure PUCCH format 2/3 is configured with sufficient PUCCH resources (bitWidth ≥ 64 per UCI report).

Step 4 — Max rank cap: Set maxMIMO-Layers = 4 in PDSCH-ServingCellConfig.

Expected outcome: Average DL rank increases from 1.8 (Type I baseline) to 2.6–3.1 in rich-scattering sectors. DL throughput gain: +15–22%.

§22.9 TS 28.552 MIMO KPIs — L.RankDist.DL and Average Rank

TS 28.552 defines PM counters specifically for MIMO layer distribution monitoring. The counter family L.RankDist.DL.{1..8} counts the number of PDSCH TTIs (or PRB-slots in newer counter definitions) scheduled at each rank value. These counters are the primary tool for assessing MIMO utilisation in a live network.

Eq 22.7 — Average DL Rank from TS 28.552 Counters

RIavg = ∑ν=18 [ν × L.RankDist.DL.ν] / ∑ν=18 L.RankDist.DL.ν

High-Rank Ratio (HRR): fraction of transmissions at rank ≥ 4

HRR = (L.RankDist.DL.4 + L.RankDist.DL.5 + L.RankDist.DL.6 + L.RankDist.DL.7 + L.RankDist.DL.8) / ∑ν=18 L.RankDist.DL.ν

Worked Example 22.4 — Computing Average DL Rank from Counter Data

Counter snapshot (1 hour, dense urban sector):

CounterValueCounterValue
L.RankDist.DL.142,000L.RankDist.DL.53,200
L.RankDist.DL.235,000L.RankDist.DL.61,400
L.RankDist.DL.318,000L.RankDist.DL.7400
L.RankDist.DL.412,500L.RankDist.DL.8100

Total TTIs: 42,000 + 35,000 + 18,000 + 12,500 + 3,200 + 1,400 + 400 + 100 = 112,600

Weighted sum: (1×42,000) + (2×35,000) + (3×18,000) + (4×12,500) + (5×3,200) + (6×1,400) + (7×400) + (8×100) = 42,000 + 70,000 + 54,000 + 50,000 + 16,000 + 8,400 + 2,800 + 800 = 244,000

RIavg = 244,000 / 112,600 = 2.17

HRR = (12,500 + 3,200 + 1,400 + 400 + 100) / 112,600 = 17,600 / 112,600 = 15.6%

Interpretation: Average rank of 2.17 indicates moderate spatial multiplexing gain. HRR of 15.6% is low — typical of suburban deployment with mixed LOS/NLOS. Investigate antenna tilt, cross-polarisation ratio, and UE capability distribution to improve RI distribution.

Fig 22.5 — Typical DL rank distribution bar chart from TS 28.552 L.RankDist.DL.{1..8} counters. Indoor environments (solid bars) skew toward RI=1 due to LOS penetration loss. Outdoor dense urban (hatched) shows higher RI=2–4 distribution.
0% 10% 20% 30% 40% RI=1 RI=2 RI=3 RI=4 RI=5 RI=6 RI=7 RI=8 Indoor Outdoor urban Source: TS 28.552 L.RankDist.DL.{1..8} — typical dense urban macro, 64T64R, 3.5 GHz

§22.10 MIMO Failure Modes and Optimisation

Understanding when MIMO fails to deliver expected gain requires distinguishing between fundamental channel limitations and configuration or hardware problems. The following failure modes are the most commonly encountered in live 5G deployments.

22.10.1 Low RI Despite Good SINR

Symptom: L.RankDist.DL.1 dominates (>60%) even when wideband SINR > 15 dB. The channel has high received power but is rank-deficient. Root causes:

  • LOS geometry: Strong direct path creates one dominant eigenvalue. Rank-1 is physically correct. No optimisation action required — this is expected LOS behaviour.
  • Antenna cross-polarisation coupling: If both polarisations at TX or RX are correlated (e.g., XPIC < 10 dB), the 2-polarisation degrees of freedom collapse into 1. Check antenna port calibration and cross-polarisation discrimination (XPD) values.
  • maxMIMO-Layers capped at 1: RRC parameter restricting rank. Verify PDSCH-ServingCellConfig.maxMIMO-Layers value in RRC configuration dump.
  • UE capability: UE category supports only 1RX. Verify via UECapabilityInformation and L.RankDist.DL split per UE category.

22.10.2 RI Stuck — Rank Unchanging Over Time

Symptom: L.RankDist.DL counter for one rank value is 99%+ of total for extended periods. Dynamic rank adaptation appears frozen. Root causes:

  • CSI feedback loop broken: UE is not sending updated PMI/RI. Check PUCCH resource availability, SR failures (L.SR.Fail counter), and PUCCH BLER.
  • RI restriction parameter: Some implementations have a per-sector RI override parameter that overrides UE-reported RI. Verify no vendor-specific restriction is active.
  • CSI report periodicity too long: If CSI-RS periodicityAndOffset is set to 640 slots (320 ms at 30 kHz SCS), the RI updates only every 320 ms — appearing stuck in short PM intervals. Reduce to ≤40 slots for time-varying channels.

22.10.3 Type II Overhead Overloading PUCCH

Symptom: After enabling Type II codebook, PUCCH errors increase (L.PUCCH.DTX or L.UL.PUCCH.NACK counters rise). Some UEs revert to CQI-only reporting. Root causes:

  • PUCCH format undersized: Type II PMI payload with L=4 beams can reach 64+ bits per subband. PUCCH format 1 (2 bits) or format 2 (small nrofSymbols) cannot carry this payload. Configure PUCCH format 3 or 4 with sufficient symbol allocation.
  • PUCCH resource shortage: Multiple UEs attempting simultaneous Type II CSI reports exhaust PUCCH resources, causing DTX. Implement PUCCH resource prioritisation or stagger CSI report offsets.
  • UE CSI capability mismatch: UE does not support Type II (capability bit csi-ReportFramework.typeII-PortSelectionRI-Restriction absent). Check UECapabilityInformation before enabling Type II for a UE group.
Fig 22.6 — DL sector throughput versus average rank (RIavg) from TS 28.552 counters. The relationship is near-linear at low rank (strong spatial multiplexing gain per additional layer) and shows diminishing returns above rank 4 as interference between layers increases in typical deployments.
0 200 400 600 800 DL Throughput (Mbps) 1 2 3 4 5 6 7 8 Average DL Rank (RIₐ𝙚𝙘) 100 200 305 400 480 545 595 635 Near-linear gain Diminishing returns > rank 4 100 MHz, 30 kHz SCS, 64QAM, TDD 7:2:1, typical dense urban sector
"The rank indicator (RI) shall be jointly determined with the PMI and CQI such that the combination of RI, PMI, and CQI maximises the expected transport block size that can be transmitted with a PDSCH block error rate not exceeding 0.1 at the UE." — TS 38.214 §5.2.1.4.2 (Release 17)

Table 22.8 — MIMO Failure Mode Diagnostic Summary

Failure Mode Counter Signature Root Cause Remediation Parameter
Low RI despite high SINR L.RankDist.DL.1 > 60%, L.Thrp.bits.DL low vs theoretical peak LOS geometry, XPD < 10 dB, maxMIMO-Layers=1 Verify antenna XPD; increase maxMIMO-Layers; check UE capability distribution
RI stuck at fixed value One L.RankDist.DL.ν dominates >99% for hours PUCCH failure, CSI period too long, vendor RI restriction Reduce CSI-RS periodicityAndOffset; fix PUCCH; disable RI restriction
Type II overhead overload L.PUCCH.DTX rises after Type II activation; UEs revert to CRI-only PUCCH format too small, resource shortage, UE capability mismatch Configure PUCCH format 3/4; stagger CSI offsets; filter UEs by Type II capability
Rank drops at cell edge RIavg drops by >0.5 layers in sectors with coverage issues Low SINR limits supportable eigenvalues; interference dominates weaker singular values Improve coverage (tilt, power); consider SU-MIMO over MU-MIMO at edge; activate HARQ diversity
MU-MIMO interference floor L.Thrp.bits.DL below expectation despite high RIavg Inter-user interference in MU-MIMO pairing; PMI mismatch between paired UEs Review MU-MIMO pairing algorithm; enforce minimum PMI orthogonality threshold; reduce MU pairing at low SINR

Chapter 22 Summary

  • Spatial multiplexing capacity follows C = B × Σ log₂(1 + SINRi) with per-layer SINR determined by channel singular values. Rank is limited by eigenvalue spread, not received power alone.
  • Type I Single-Panel codebook uses a two-stage W = W1×W2 structure: wideband beam group selection (W1) plus subband beam and co-phase selection (W2). Supports up to 8 layers with low PUCCH overhead.
  • Type II codebook linearly combines L ∈ {2,3,4} DFT beams with complex coefficients per subband per layer, yielding +10–25% SE improvement over Type I in urban NLOS at the cost of significantly higher PUCCH payload (up to 64+ bits per subband).
  • RI reporting selects rank as argmax of per-rank capacity estimate. RI is a channel matrix property — high SINR in LOS does not imply high RI. CSI reports must be refreshed within the channel coherence time.
  • DL peak throughput scales linearly with rank: 4-layer 100 MHz 64QAM yields ~940 Mbps; 4-layer 256QAM approaches 1.25 Gbps. Overhead fraction (~14%) and TDD DL fraction jointly reduce achievable rate from the Shannon bound.
  • TDD reciprocity enables gNB to derive precoding matrix W from SRS measurements without UE codebook feedback. SRS periodicity must be shorter than Tcoh. Non-codebook UL MIMO uses SRI/TPMI in DCI format 0_1.
  • Massive MIMO beam management proceeds P-1 (SSB coarse) → P-2 (NZP-CSI-RS fine) → P-3 (BFR recovery). Up to 32-port CSI-RS resources with Type II feedback enable precise per-subband beam shaping for dense urban macro cells.
  • Key RRC parameters: maxMIMO-Layers caps rank; codebookSubset restricts UL codebook; nrofPorts sets CSI-RS dimension; reportQuantity selects CSI feedback type; numberOfBeams configures Type II beam count L.
  • TS 28.552 KPIs: L.RankDist.DL.{1..8} enables RIavg and high-rank ratio computation. RIavg is the primary MIMO utilisation metric; HRR quantifies exploitation of high spatial degrees of freedom.
  • Failure modes include low-RI LOS lock, RI-stuck from PUCCH failure, Type II overhead overloading PUCCH, cell-edge rank collapse, and MU-MIMO interference floor — each with distinct counter signatures and targeted remediation parameters.

Review Questions

  1. A UE reports RI=1 with wideband SINR = 22 dB in a rooftop LOS path. Explain why this is physically correct and what counter evidence would confirm that the channel is rank-deficient rather than a configuration problem.
  2. Derive the PMI overhead in bits per subband for a Type II codebook with L=3 beams, rank-2, 8-phase alphabet per polarisation, dual-polarisation antenna. Compare with Type I rank-2 overhead.
  3. A sector shows L.RankDist.DL.1 = 55,000, L.RankDist.DL.2 = 30,000, L.RankDist.DL.3 = 10,000, L.RankDist.DL.4 = 5,000, all others ≤ 500. Calculate RIavg and HRR. What does the distribution suggest about the deployment environment?
  4. Explain the role of ZP-CSI-RS in a multi-cell MIMO deployment. Why would enabling ZP-CSI-RS muting improve CSI accuracy in a high-interference sector?
  5. After enabling Type II codebook on a sector, L.PUCCH.DTX increases by 40%. Describe the diagnostic steps to identify whether the root cause is PUCCH resource exhaustion, format misconfiguration, or UE capability mismatch.
Page 22
Chapter 23

Carrier Aggregation and Bandwidth Part (BWP)

Aggregated throughput architecture, SCell activation/deactivation MAC CE mechanics, bandwidth part switching via DCI/RRC/inactivity timer, aggregated peak throughput derivation, CA measurement events A4/A6, TS 28.552 CA and BWP KPIs, and failure mode diagnosis — all derived from TS 38.331 §6.3, TS 38.214 §5.1, TS 38.213 §12, and TS 28.552 with worked examples and eight reference tables

3GPP TS 38.331 §6.3 · TS 38.214 §5.1 · TS 38.213 §12 · TS 28.552 §5.1.1
📐 10 sections 🔢 10 equations 📋 8 tables 🧪 4 worked examples 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Distinguish between intra-band contiguous, intra-band non-contiguous, and inter-band carrier aggregation and enumerate the 3GPP constraints on each type
  2. Trace the RRC signalling hierarchy from SpCellConfig through ServingCellConfig and SCell-ToAddModList to physical layer scheduling
  3. Explain the MAC CE mechanism for SCell activation and deactivation, including the C-RNTI CE format and the scellDeactivationTimer
  4. Derive aggregated CA throughput from per-CC TBS, BLER, slot duration, and PRB utilisation, and compute the 2CC 100+100 MHz NR peak
  5. Describe the BWP concept, enumerate the four configurable BWPs per serving cell, and explain how bwp-InactivityTimer triggers narrow BWP fallback
  6. Identify the three primary BWP use cases: power saving, coverage extension, and numerology coexistence
  7. Decode the bandwidth part indicator field in DCI format 1_1/0_1 and map it to the active BWP
  8. Explain the A4 and A6 measurement events used for SCell management and the dual-threshold activation policy
  9. Interpret TS 28.552 counters L.CA.SCell.Active.Ratio, L.BWP.Active.Width.DL, L.Thrp.bits.DL.PCell, and L.Thrp.bits.DL.SCell
  10. Diagnose SCell-not-activating, BWP-stuck-narrow, inter-band CA interference, and SCell CQI mismatch failure modes from counter signatures

§23.1 Introduction to Carrier Aggregation — Types, Topology, and Maximum Configuration

Carrier Aggregation (CA) is the 5G NR mechanism by which a UE simultaneously receives (and optionally transmits) on multiple frequency carriers — called component carriers (CCs) — to achieve throughput beyond what any single carrier can deliver. Each CC occupies its own contiguous channel bandwidth on the RF spectrum; the MAC and PDCP layers aggregate their contributions transparently to higher layers.

3GPP Release 17 extended the maximum number of simultaneously aggregated downlink CCs to 16, up from 5 in LTE. In practice, commercial NR deployments most commonly use 2- or 3-CC aggregation due to UE capability constraints, spectrum fragmentation, and the marginal diminishing returns of adding further CCs at high utilisation.

The serving cell hierarchy distinguishes between a Primary Cell (PCell) — the mandatory anchor cell that handles RRC signalling, security context, and PUCCH resources — and one or more Secondary Cells (SCells) that are dynamically activated or deactivated depending on traffic demand and radio conditions. In dual-connectivity (EN-DC or NR-DC), the primary group is further refined into Primary SCG Cell (PSCell).

Table 23.1 — Carrier Aggregation Types and 3GPP Constraints
CA Type Description Frequency Relationship Typical Use Case Guard Band Required
Intra-band contiguous CCs adjacent in frequency within same band Same band, no spectral gap n78 100+100 MHz No (single wideband filter)
Intra-band non-contiguous CCs in same band but separated by spectrum gap Same band, gap between CCs Fragmented mid-band spectrum Yes (dual-pass filter)
Inter-band CCs on different frequency bands Different bands (e.g., n78 + n257) Sub-6 GHz + mmWave Separate RF chains per band
Fig 23.1 — Carrier aggregation types shown as frequency spectrum views. Left panel: intra-band contiguous (CC1 and CC2 adjacent). Centre panel: intra-band non-contiguous (gap between CCs). Right panel: inter-band (two separate bands). Each CC labelled with example bandwidth.
Intra-band Contiguous f CC1 100 MHz n78 CC2 100 MHz n78 Agg BW = 200 MHz Single wideband filter Intra-band Non-contiguous f CC1 80 MHz gap CC2 80 MHz Same band, spectral gap Dual-pass filter required Inter-band CC1 n78 3.5 GHz CC2 n257 28 GHz RF chain 1 RF chain 2 Separate RF chains Independent scheduling ≠ band
Table 23.2 — Maximum CA Configuration Parameters (3GPP TS 38.331 Rel-17)
ParameterValueSpec Reference
Max DL CCs (Rel-17)16TS 38.331 §6.3.2 (ServingCellConfigCommon)
Max UL CCs (Rel-17)16TS 38.331 §6.3.2
Max DL CC bandwidth400 MHz (FR2)TS 38.101-2 §5.3
Max DL CC bandwidth100 MHz (FR1)TS 38.101-1 §5.3
PCell (SpCell)Always 1, mandatoryTS 38.331 §6.3.2 SpCellConfig
SCell countUp to 15 (Rel-17)TS 38.331 §6.3.2 SCell-ToAddModList
SCG PSCell1 per SCG (DC only)TS 38.331 §6.3.2 SpCellConfig-SCG

§23.2 CA Architecture — RRC Signalling Hierarchy (TS 38.331)

The RRC layer governs all CA configuration through a hierarchical signalling structure rooted at the RRCReconfiguration message. At the top level, SpCellConfig configures the PCell (primary cell), while the list element SCell-ToAddModList carries the configuration of each secondary cell independently. Each entry in this list contains a ServingCellConfig IE that defines physical layer parameters for the individual CC: channel bandwidth, SSB configuration, CSI measurement resources, PUCCH-SCell parameters, and BWP configuration.

"The RRCReconfiguration message may include the field secondaryCellGroup which provides the configuration of the SCG (Secondary Cell Group). The field spCellConfig within the Cell Group Config provides the configuration of the SpCell (i.e. PCell for MCG or PSCell for SCG). The SCell-ToAddModList provides the list of SCells to be added or modified." — TS 38.331 §5.3.5.4 (Release 17)

SCell addition does not imply immediate SCell activation. The gNB adds an SCell by transmitting RRCReconfiguration with the new SCell entry in SCell-ToAddModList, but the SCell remains in the deactivated state until the gNB MAC layer transmits a specific activation MAC CE. This separation allows the network to pre-configure the UE's physical layer for an SCell (loading CSI-RS config, BWP, measurement gaps) while deferring the scheduling overhead until actual traffic demand justifies activation.

Table 23.3 — Key RRC IEs for CA Configuration (TS 38.331)
RRC IEParent StructurePurpose
SpCellConfigCellGroupConfigPCell/PSCell configuration: reconfigWithSync, rlf-TimersAndConstants, spCellConfigDedicated
SCell-ToAddModListCellGroupConfigList of SCells with sCellIndex (1–31), ServingCellConfigCommon, ServingCellConfig
ServingCellConfigSCell-ToAddModPer-CC: downlinkBWP-ToAddModList, csi-MeasConfig, pdsch-ServingCellConfig, initialDownlinkBWP
downlinkBWP-ToAddModListServingCellConfigUp to 4 DL BWPs per CC: BWP-Id, BWP-Downlink (generic + dedicated)
uplinkBWP-ToAddModListServingCellConfigUp to 4 UL BWPs per CC: BWP-Id, BWP-Uplink (generic + dedicated)
bwp-InactivityTimerBWP-DownlinkDedicatedTimer (ms) triggering return to initialDownlinkBWP on DL inactivity
scellDeactivationTimerSCell-ToAddModTimer (ms) triggering SCell MAC CE deactivation after DL inactivity on SCell

§23.3 SCell Activation and Deactivation — MAC CE Mechanics and Timers

SCell activation and deactivation are controlled exclusively by the gNB MAC layer using the SCell Activation/Deactivation MAC CE. This CE is identified by LCID value 0x1B (decimal 27) in the MAC subheader when carried in a DL-SCH MAC PDU addressed to the UE's C-RNTI. The CE body is a single octet (or multiple octets for more than 7 SCells) where each bit position corresponds to an SCell index: bit value 1 = activate, bit value 0 = deactivate.

"An SCell Activation/Deactivation MAC CE consists of a single octet or multiple octets. The SCell Activation/Deactivation MAC CE with LCID as specified in Table 6.2.1-2 indicates activation or deactivation of SCells. Each bit field C_i indicates whether SCell with SCellIndex i is activated (C_i = 1) or deactivated (C_i = 0)." — TS 38.321 §6.1.3.8 (Release 17)

After the UE receives the activation MAC CE, there is a mandatory activation delay before the SCell can be scheduled. Per TS 38.213 §4.3, the UE shall be ready to receive PDSCH on the activated SCell after a delay of max(3 ms, 3 × subcarrier spacing period). For 30 kHz SCS (typical n78 configuration) this equates to 3 ms = 3 slots. For 15 kHz SCS on n41 this is also 3 ms = 3 slots. This delay accounts for AGC settling, RF chain stabilisation, and CSI-RS acquisition.

The scellDeactivationTimer is a per-SCell inactivity timer configured in the RRC SCell-ToAddMod IE. Legal values (from TS 38.331 enumeration) are: ms20, ms40, ms80, ms200, ms400, ms800, ms1600, and infinity. The timer starts (or restarts) each time the UE detects PDCCH activity on the SCell. If no PDCCH is detected within the timer window, the UE autonomously deactivates the SCell without requiring a MAC CE from the gNB, reducing the MAC CE overhead for cells that naturally become idle.

Worked Example 23.1 — scellDeactivationTimer Expiry Sequence

Scenario: SCell (SCC-1, n78, 100 MHz) is active. gNB stops scheduling on SCC-1 at t = 0. scellDeactivationTimer = ms200.

  1. t = 0 ms: Last PDCCH detected on SCC-1 by UE. Timer starts counting 200 ms.
  2. t = 50 ms: gNB transmits PDCCH on PCell for PCell data only. SCC-1 timer continues (no SCell PDCCH).
  3. t = 200 ms: scellDeactivationTimer expires. UE autonomously deactivates SCC-1 — stops CQI reporting, stops PDCCH monitoring, RF may power-gate.
  4. t = 220 ms: Traffic burst arrives. gNB detects SCC-1 not active (no CQI feedback). gNB transmits SCell Activation MAC CE (LCID 0x1B, C_1=1).
  5. t = 223 ms: UE receives MAC CE. Activation delay = 3 ms (30 kHz SCS).
  6. t = 226 ms: SCC-1 active again. First PDSCH allocation possible. Total gap = 226 − 200 = 26 ms dead time.

Key counters to monitor: L.CA.SCell.ActivationDelay (avg ms), L.CA.SCell.DeactTimer.Expiry.Count

Fig 23.2 — SCell activation timeline: MAC CE sent by gNB, 3 ms activation delay, first CQI report, first PDSCH allocation. Deactivation timer countdown and autonomous deactivation also shown.
time gNB UE t=0 MAC CE sent LCID=0x1B C1=1 t+1ms MAC CE rcvd Activation delay 3 ms (30kHz SCS) t+4ms SCell ACTIVE CQI reported PDSCH scheduled SCell data flow scellDeactivationTimer counting down... expiry Deactivated Active scheduling window — data flowing on SCell

§23.4 Aggregated Throughput — Mathematical Derivation and Peak Calculations

The total aggregated downlink throughput across N component carriers is the sum of the individual CC contributions. Each CC contributes independently based on its own scheduling state, MCS, and error rate. The general expression is:

Eq 23.1 — Aggregated CA Throughput (general)

TPtotal = ∑k=1N [ TBSk × (1 − BLERk) / Tslot ]   [bit/s]

where TBSk is the transport block size in bits for CC k (from TS 38.214 Table 5.1.3.2-1/2), BLERk is the block error rate on CC k (target: 0.1 for first transmission), and Tslot is the slot duration (0.5 ms for 30 kHz SCS, 1.0 ms for 15 kHz SCS).

At peak efficiency — 100% PRB utilisation, MCS 28 (256-QAM, code rate 948/1024), rank-4 PDSCH, and BLER → 0 — the per-CC throughput for 100 MHz with 30 kHz SCS can be derived from the TS 38.214 TBS table as follows:

Eq 23.2 — Peak TBS per slot (100 MHz, 30 kHz SCS, 4-layer, MCS 28)

NPRB = 66 (100 MHz, 30 kHz, normal CP)    Nsym = 12 (DL-heavy TDD)

NRE per PRB = 12 subcarriers × 12 OFDM symbols = 144   (after DMRS overhead ~18 RE)

NRE,data per PRB ≈ 126 (DMRS + overhead subtracted)

NRE,total = 66 × 126 = 8,316 RE

Ninfo = 8,316 × 8 (256-QAM) × 948/1024 × 4 (layers) ≈ 247,570 bits

TBS ≈ 246,784 bits (quantised, from TS 38.214 §5.1.3.2 table)

Per-CC TPpeak = 246,784 / 0.5 × 10−3493 Mbit/s

Eq 23.3 — 2CC Aggregated Peak (100+100 MHz, both FR1 n78, 30 kHz SCS)

TP2CC = 2 × 493 Mbit/s = ~986 Mbit/s (DL)

Note: Theoretical peaks assuming ideal propagation, 4-layer rank, 100% PRB utilisation, BLER=0. Real deployments typically achieve 40-70% of this value. Adding a third 100 MHz CC brings the ceiling to ~1.5 Gbit/s DL.

Worked Example 23.2 — 2CC CA Throughput Budget at Real Operating Point

Network configuration: PCell = n78 100 MHz, 30 kHz SCS; SCell = n78 100 MHz, 30 kHz SCS. TDD pattern: DDDSU. UE MIMO rank: 2. Average MCS: 22 (64-QAM, CR ~0.67). PRB utilisation: PCell 80%, SCell 70%. Target BLER = 10%.

Step 1 — PCell TBS per slot (rank 2, MCS 22, 80% PRB)

  • NPRB,active = 66 × 0.80 ≈ 53 PRBs
  • NRE,data ≈ 53 × 126 = 6,678 RE
  • Ninfo = 6,678 × 6 (64-QAM) × 0.67 × 2 (layers) ≈ 53,658 bits
  • TBS ≈ 53,664 bits (quantised)
  • PCell TP = 53,664 × (1 − 0.10) / 0.5 ms = 96.6 Mbit/s

Step 2 — SCell TBS per slot (rank 2, MCS 22, 70% PRB)

  • NPRB,active = 66 × 0.70 ≈ 46 PRBs
  • TBS ≈ 46,592 bits
  • SCell TP = 46,592 × 0.90 / 0.5 ms = 83.9 Mbit/s

Result: TPtotal = 96.6 + 83.9 = 180.5 Mbit/s — well below the 986 Mbit/s theoretical peak, confirming that real CA gain is limited by rank, utilisation, and channel quality rather than spectrum alone.

Fig 23.4 — 2CC CA throughput waterfall: PCell contribution (left bar), SCell contribution (centre bar), and total aggregated throughput (right bar). Per-CC PRB utilisation shown as fill fraction. Overhead losses (BLER, overhead) shown as striped segments.
0 50 100 150 200 Throughput (Mbit/s) PCell 96.6 Mbit/s PCell (n78) 80% PRB util SCell 83.9 Mbit/s SCell (n78) 70% PRB util Aggregated 180.5 Mbit/s 2CC Total +87% vs PCell alone + PCell throughput SCell throughput BLER loss (10%)

§23.5 Bandwidth Part — Concept, Configuration, and Inactivity Timer

A Bandwidth Part (BWP) is a contiguous subset of the total channel bandwidth of a serving cell, identified by a starting common resource block (CRB) and a number of consecutive resource blocks. The BWP concept decouples the UE's operating bandwidth from the cell's total bandwidth, enabling power-efficient operation at reduced bandwidth during low-activity periods without reconfiguring the full CC.

Each serving cell can have up to 4 configured DL BWPs and 4 configured UL BWPs. At any time, only one DL BWP and one UL BWP are active on a given CC. BWPs are identified by a BWP-Id from 0 to 3 (4 BWPs × 4 possible IDs). BWP ID 0 is reserved for the Initial BWP — the BWP used before dedicated configuration, matching the CORESET#0 bandwidth.

"A UE shall be configured with at least the initial downlink bandwidth part. The UE is not expected to be configured with more than 4 BWPs (including the initial BWP) per serving cell for downlink or uplink." — TS 38.331 §6.3.2 (ServingCellConfig, BWP configuration, Release 17)

BWP switching can be triggered by three mechanisms:

  1. DCI-triggered switching: A 2-bit bandwidth part indicator field in DCI format 1_1 (DL) or 0_1 (UL) signals the target BWP ID. Switching latency is 1 slot (DCI-triggered per TS 38.213 §12.1).
  2. RRC-configured switching: gNB sends RRCReconfiguration with firstActiveDownlinkBWP-Id set to the desired BWP. Latency is RRC round-trip (~50–100 ms).
  3. Timer-triggered switching: The bwp-InactivityTimer triggers a return to defaultDownlinkBWP-Id after DL inactivity (no PDCCH detected within the timer window).

Eq 23.4 — BWP Resource Block Range Definition (TS 38.211 §4.4.5)

BWPi: start CRB = NBWP,start(i), size = NBWP,size(i) [PRBs]

where NBWP,start(i) ≥ 0 and NBWP,start(i) + NBWP,size(i) ≤ Ngrid,sizeμ

Ngrid,sizeμ is the total number of RBs in the carrier for numerology μ (e.g., 66 for 100 MHz / 30 kHz SCS).

Fig 23.5 — Four configured BWPs on a 100 MHz (66 PRB) serving cell. BWP 0 (initial, 20 PRBs), BWP 1 (wide, 66 PRBs — active), BWP 2 (narrow, 11 PRBs), BWP 3 (mid, 40 PRBs). Active BWP highlighted. Inactivity timer triggers switch back to BWP 0.
100 MHz carrier (66 PRBs) — n78 FR1 Full carrier: PRB 0 … PRB 65 BWP 0 — Initial 20 PRBs · PRB 0–19 BWP 1 — ACTIVE (Wide) ← currently active 66 PRBs · PRB 0–65 · Full 100 MHz BWP 2 — Narrow 11 PRBs · PRB 10–20 BWP 3 — Mid 40 PRBs · PRB 13–52 Power saving Peak TP RedCap/IoT Coverage

§23.6 BWP Use Cases — Power Saving, Coverage, and Numerology Coexistence

The BWP design solves three distinct operational challenges that a single fixed-bandwidth approach cannot address efficiently:

Power Saving: A UE in a low-traffic state can be configured to operate on a narrow BWP (e.g., BWP 0 at 20 MHz) while monitoring only a small CORESET for scheduling grants. The reduced bandwidth lowers the UE's RF receiver power consumption by 30–50% compared to monitoring a full 100 MHz carrier. The bwp-InactivityTimer automates this transition: when the DL becomes idle for the configured duration, the UE reverts to defaultDownlinkBWP-Id, which is typically set to the narrowest BWP. When a new PDCCH allocation arrives on the wide BWP, a 1-slot DCI-triggered switch restores full bandwidth.

Coverage Extension: At cell edge, a UE operating on a narrower BWP concentrates power on fewer subcarriers, improving effective SINR per subcarrier for the same total radiated power. A dedicated coverage BWP may use a wider numerology (larger subcarrier spacing) to improve Doppler tolerance, or a narrower numerology for better coverage via longer OFDM symbols.

Numerology Coexistence: Different BWPs on the same CC can use different subcarrier spacings (μ = 0 for 15 kHz, μ = 1 for 30 kHz). This enables a single cell to serve both eMBB UEs (BWP with 30 kHz SCS, 100 MHz) and URLLC/IoT UEs (BWP with 15 kHz SCS, 20 MHz) on the same carrier without inter-numerology interference, since each UE only monitors its active BWP's CORESET.

Table 23.4 — BWP Use Case Matrix
Use CaseTypical BWP WidthSubcarrier SpacingTriggerPower Impact
Idle-like power saving5–20 MHz15 kHz (μ=0)bwp-InactivityTimer30–50% reduction
Peak eMBB throughput100 MHz (FR1)30 kHz (μ=1)DCI format 1_1Maximum Tx/Rx power
Cell-edge coverage20–40 MHz15 kHz (μ=0)RRC (A3/A4 triggered)Slight reduction
RedCap/IoT devices5–20 MHz (max 20 MHz)15 or 30 kHzRRC (static)Mandatory cap per spec
URLLC low-latencyFull CC60 kHz (μ=2, FR1)DCI format 1_1Higher processing load

§23.7 BWP Switching — DCI Bandwidth Part Indicator and Switching Latency

DCI-triggered BWP switching is the primary fast-path mechanism. DCI format 1_1 (used for scheduled DL PDSCH) and DCI format 0_1 (scheduled UL PUSCH) both carry a bandwidth part indicator field of 2 bits when more than one BWP is configured. The 2-bit value indexes directly into the list of configured BWPs for the CC:

Eq 23.5 — DCI Bandwidth Part Indicator Encoding (TS 38.213 §12.1)

Bandwidth part indicator = n ∈ {0, 1, 2, 3}  →  selects BWP-Id (n+1)

Example: If 3 BWPs configured (IDs 1, 2, 3), indicator value 0 → BWP 1, value 1 → BWP 2, value 2 → BWP 3. Note: BWP ID 0 (initial BWP) is not selected via DCI — it is a fallback target only.

The switching latency for DCI-triggered BWP switching is defined in TS 38.213 §12.1 as:

Eq 23.6 — BWP Switching Latency (DCI-triggered, TS 38.213 §12.1)

Tswitch = 1 slot (DCI-triggered, normal operation)

Tswitch = max(3 ms, 1 slot) when the new BWP changes numerology μ

The additional 3 ms applies when switching from a BWP with SCS 15 kHz to one with SCS 30 kHz (or vice versa), to allow AGC and OFDM symbol boundary resynchronisation.

Fig 23.3 — BWP switching timeline: UE starts on narrow BWP 0 (20 MHz), data arrives, DCI triggers switch to wide BWP 1 (100 MHz), UE operates at full bandwidth, inactivity timer expires, UE falls back to narrow BWP 0.
Active BWP over time — frequency extent BWP 0 20 MHz (Narrow) Power-saving state DCI 1_1 sent BWP ind = 01 → BWP1 1 slot switch latency BWP 1 — ACTIVE (Wide, 100 MHz) Full bandwidth · Peak scheduling · High throughput PDCCH + PDSCH on all 66 PRBs bwp-InactivityTimer counting (e.g. 100ms) BWP 0 Fallback (Narrow) Timer expired UE idle / low traffic Active data burst Inactivity → fallback PRB utilisation relative to carrier: 20 MHz BWP 100 MHz BWP (full carrier) 20 MHz BWP

Worked Example 23.3 — BWP Inactivity Timer Configuration for Power Saving

Scenario: A gNB serves a mix of smartphone UEs on n78 100 MHz. Average DL activity ratio = 30% (UE has PDCCH-monitored slots 30% of the time). Target: reduce UE battery drain during idle periods. bwp-InactivityTimer candidates: 20 ms, 40 ms, 100 ms.

Analysis:

  • 20 ms: Aggressive fallback. Good for battery. But a 20 ms burst gap (e.g., HTTP request header) will trigger unnecessary BWP switch cycles, adding 1-slot overhead per re-activation. Risk: BWP thrashing.
  • 40 ms: Balances battery saving with responsiveness. Covers typical TCP ACK round-trip time. Recommended for interactive web traffic.
  • 100 ms: Conservative. Minimal BWP thrashing. Preferred for video streaming (long continuous bursts). Less power saving during shorter pauses.

Recommendation: Set bwp-InactivityTimer = 40 ms for interactive traffic profile. Measure L.BWP.Active.Width.DL distribution — if UE spends >60% of time on narrow BWP, the timer is working correctly. If <20%, the timer is too long.

§23.8 CA Measurement and Activation Policy — A4/A6 Events and Dual-Threshold Logic

SCell management (addition, activation, deactivation) is governed by the gNB scheduler policy. The 3GPP measurement framework provides two events specifically relevant to CA optimisation:

Event A4 (TS 38.331 §5.5.4.4): "Neighbour becomes better than threshold." In the CA context, this is used to detect when a candidate SCell frequency has RSRP/RSRQ above the minimum threshold required for productive scheduling. When a UE reports A4 on a potential SCell frequency, the gNB may decide to add or activate that SCell.

Event A6 (TS 38.331 §5.5.4.9): "Neighbour becomes better than SCell + offset." This is a CA-specific event introduced in Rel-10 and carried forward to NR. A6 fires when a neighbouring cell (on the same or different frequency) becomes significantly better than the current SCell, signalling that the SCell should be replaced by the better cell — an SCell handover.

Eq 23.7 — Event A4 Trigger Condition (TS 38.331 §5.5.4.4)

Mn + Ocn + Ofn − Hys > Thresh

where Mn = measurement of neighbour cell (RSRP or RSRQ), Ocn = cell-specific offset, Ofn = frequency-specific offset, Hys = hysteresis, Thresh = A4-threshold configured by gNB. Trigger fires when the inequality holds for a4-TimeToTrigger duration.

Eq 23.8 — Event A6 Trigger Condition (TS 38.331 §5.5.4.9)

Mn + Ocn − Hys > Ms + Ocs + Os

where Ms = measurement of current SCell, Ocs = SCell-specific offset, Os = A6-offset parameter. A6 fires when the neighbour exceeds the SCell by more than Os dB (plus offsets and hysteresis), triggering SCell replacement.

Fig 23.6 — SCell activation policy decision tree. Entry point: new data arrives requiring SCell. Decision nodes: SCell CQI above threshold? gNB load above threshold? Timer for recent deactivation elapsed? Outcomes: activate, defer, or skip. Counter evidence shown at each node.
Data arrives, SCell inactive Trigger: PCell PRB util > threshold SCell CQI > thresh? L.CA.SCell.CQI.Avg YES gNB load > thresh? L.Traffic.PRB.DL.Used YES ACTIVATE SCell MAC CE LCID=0x1B C_i=1 → L.CA.SCell.Active.Ratio ↑ NO (low CQI) SKIP activation → L.CA.SCell.ActivationFail ↑ NO (low load) DEFER Re-evaluate at next sched tick → L.CA.SCell.DeferCount ↑
Table 23.5 — A4 and A6 Measurement Event Parameters for SCell Management
ParameterEvent A4Event A6Typical Value
Trigger purposeSCell addition/activationSCell replacement
Measurement quantityRSRP or RSRQRSRP or RSRQRSRP preferred
Threshold (a4-Threshold)−110 to −90 dBm RSRPN/A (relative)−105 dBm RSRP
Offset (a6-Offset)N/A3–6 dB above SCell6 dB
Hysteresis0–10 dB0–10 dB2 dB
Time-to-trigger40–640 ms40–640 ms160 ms

§23.9 TS 28.552 CA and BWP KPIs — Counter Definitions and Computation

TS 28.552 defines the NR performance measurement counters used for CA and BWP monitoring. These counters are collected at the gNB (or disaggregated CU-DU) and reported via the O1/PM interface at configurable granularity periods (typically 15-minute or 1-hour ROP).

Table 23.6 — TS 28.552 CA and BWP Performance Counters
Counter NameTypeUnitDefinition
L.CA.SCell.Active.Ratio Gauge / Mean % Fraction of DL scheduling opportunities where at least one SCell was active. High value = good CA utilisation.
L.CA.SCell.ActivationDelay Mean ms Average time from SCell activation MAC CE to first PDSCH allocation on the SCell. Target: <5 ms.
L.BWP.Active.Width.DL Mean PRB or MHz Average bandwidth of the active DL BWP per UE across all scheduling TTIs. Low value indicates frequent narrow-BWP operation.
L.Thrp.bits.DL.PCell Cumulative bits Total PDSCH bits successfully delivered on the PCell during the ROP. Divide by ROP duration for average PCell TP.
L.Thrp.bits.DL.SCell Cumulative bits Total PDSCH bits successfully delivered on all SCells during the ROP.
L.CA.SCell.DeactTimer.Expiry Cumulative count Number of SCell timer-triggered autonomous deactivations during the ROP. High count may indicate aggressive timer settings or low SCell traffic.
L.BWP.Switch.Count.DCI Cumulative count Number of DCI-triggered BWP switches during the ROP. Divide by active UE time to derive BWP switching rate.

The SCell throughput contribution ratio is a derived KPI used to validate CA effectiveness:

Eq 23.9 — SCell Throughput Contribution Ratio

SCell TP Ratio = L.Thrp.bits.DL.SCell / (L.Thrp.bits.DL.PCell + L.Thrp.bits.DL.SCell) × 100 [%]

A healthy 2CC CA deployment should show SCell TP Ratio = 30–50%. Values <15% suggest SCell is active but underutilised (possible CQI mismatch or excessive deactivation). Values >60% would indicate PCell underperformance rather than SCell overperformance.

Worked Example 23.4 — CA KPI Diagnosis from Counter Values

Observed counter values (15-minute ROP):

  • L.CA.SCell.Active.Ratio = 18% (expected: 60%+)
  • L.CA.SCell.DeactTimer.Expiry = 8,240 (very high)
  • L.CA.SCell.ActivationDelay = 4.2 ms (normal)
  • L.Thrp.bits.DL.SCell = 1.2 × 109 bits (very low)
  • L.BWP.Active.Width.DL = 19 MHz (stuck narrow)

Diagnosis:

  1. SCell.Active.Ratio = 18% with 8,240 timer expiries in 15 minutes (= 9.2 expiries/second) → scellDeactivationTimer is too short relative to traffic bursiness.
  2. BWP stuck at 19 MHz → UE spending most time in narrow BWP (power-saving), meaning bwp-InactivityTimer is also too short, preventing wide BWP during the brief CA active windows.
  3. SCell TP = 1.2 Gbits in 900s = 1.3 Mbit/s average — far below expected 80+ Mbit/s, confirming SCell is barely being used.

Remediation:

  • Increase scellDeactivationTimer from ms40 → ms200 to reduce timer churn.
  • Increase bwp-InactivityTimer from 20 ms → 80 ms to hold wide BWP during burst gaps.
  • Re-check A4 threshold: if SCell RSRP at cell edge is borderline, lower A4 threshold by 3 dB.
  • Re-measure after 24h. Target: SCell.Active.Ratio > 55%, SCell TP Ratio > 35%.

§23.10 CA/BWP Failure Modes — Root Cause and Remediation Reference

Four failure modes account for the majority of CA/BWP underperformance cases observed in live 5G networks.

Table 23.7 — CA/BWP Failure Mode Reference Table
Failure Mode Symptom (Counter Signature) Root Cause Remediation
SCell not activating L.CA.SCell.Active.Ratio <10%; L.CA.SCell.ActivationFail high SCell RSRP below A4 threshold; UE CA capability not detected; SCell misconfigured (wrong ARFCN/SSB index) Lower A4 threshold; verify SCell ARFCN in RRCReconfiguration; check UE CA band combination capability
BWP stuck narrow L.BWP.Active.Width.DL <25 MHz persistently; L.BWP.Switch.Count.DCI low bwp-InactivityTimer too short; DCI format 1_1 not carrying BWP indicator; CORESET misconfigured on wide BWP Increase bwp-InactivityTimer; verify CORESET configuration on wide BWP; check DCI indicator enable parameter
Inter-band CA interference SCell BLER >15% persistently; SCell CQI drops when PCell transmitting Inter-modulation distortion between PCell PA and SCell receiver (UE-side); harmonic interference between bands Use CA band combinations with sufficient frequency separation; configure UE power backoff for CA; enable CA-IMD compensation
SCell CQI mismatch SCell CQI high but SCell BLER >20%; retransmission rate elevated SCell CQI reported on CSI-RS with different beamforming than actual PDSCH precoding; outdated CQI (long CQI period) Reduce CQI reporting period for SCell; align CSI-RS precoding with PDSCH precoding; use aperiodic CSI trigger via DCI
Table 23.8 — CA/BWP Configuration Parameter Quick Reference (TS 38.331)
ParameterRRC IE LocationRange / ValuesTuning Guidance
scellDeactivationTimerSCell-ToAddModms20–ms1600, infinityms200 for interactive traffic; ms800 for streaming; infinity for static SCell (testing)
bwp-InactivityTimerBWP-DownlinkDedicatedms2–ms2560ms40–ms80 typical; ms20 for aggressive power saving; ms200 for throughput priority
defaultDownlinkBWP-IdServingCellConfig0–3Set to narrow BWP (BWP 0 or 1) for power saving; set to wide BWP (BWP 1) for throughput priority
a4-ThresholdReportConfigNR−156 to −31 dBm RSRP−105 dBm typical; reduce by 3 dB at cell edge; increase by 3 dB to reduce premature SCell add
a4-TimeToTriggerReportConfigNR0–5120 ms160 ms standard; 80 ms for fast SCell add; 320 ms to suppress transient triggers
firstActiveDownlinkBWP-IdServingCellConfig0–3Sets BWP at handover/SCell add; set to wide BWP for immediate full-bandwidth access
"The bandwidth part indicator field indicates the downlink or uplink bandwidth part to be used by the UE from the next slot. The UE shall apply the new bandwidth part from the first slot of the subframe following the slot containing the DCI." — TS 38.213 §12.1 (Release 17)
"If the active BWP of a serving cell is not the default BWP and the bwp-InactivityTimer associated with the active BWP expires, the UE shall start to use the default DL BWP indicated by defaultDownlinkBWP-Id." — TS 38.331 §5.2.6.1.6 (Release 17)

Chapter 23 Summary

  • Carrier Aggregation combines up to 16 CCs (Rel-17) across intra-band contiguous, intra-band non-contiguous, and inter-band configurations. PCell is the mandatory anchor; SCells are dynamically activated by MAC CE (LCID 0x1B).
  • SCell activation carries a 3 ms hardware delay (3 × Tslot for 30 kHz SCS) before PDSCH scheduling can begin. The scellDeactivationTimer enables autonomous UE-side deactivation without MAC CE overhead when the SCell is idle.
  • Aggregated throughput is the sum of per-CC contributions: TPtotal = Σ [TBSk × (1−BLERk) / Tslot]. Real deployments achieve 40–70% of the theoretical peak due to rank, utilisation, and channel quality limitations.
  • BWPs allow a UE to operate on a narrower frequency slice than the full CC bandwidth, enabling power saving (narrow BWP during inactivity) and numerology coexistence. Up to 4 BWPs per CC, switched in 1 slot via DCI format 1_1/0_1 bandwidth part indicator.
  • A4 and A6 measurement events drive SCell addition and replacement. The dual-threshold policy (SCell CQI AND gNB load both above threshold) prevents premature or unproductive SCell activation.
  • Key KPIs from TS 28.552: L.CA.SCell.Active.Ratio (target >55%), L.BWP.Active.Width.DL (track narrow vs wide distribution), SCell TP Ratio = L.Thrp.bits.DL.SCell / (PCell+SCell) (target 30–50%).
  • Primary failure modes — SCell not activating, BWP stuck narrow, inter-band CA interference, SCell CQI mismatch — are each addressable through specific parameter adjustments guided by counter signatures.
Page 23
Chapter 24

UL Power Control and Throughput

Complete 3GPP uplink power control framework for 5G NR: PUSCH open-loop and closed-loop power control, fractional path loss compensation, P0 and target SINR setting, TPC commands and f(i) accumulation, UL link adaptation and OLLA, SRS power control, Power Headroom Report (PHR) MAC CE, TS 28.552 UL throughput KPIs, and Part V throughput optimisation checklist — derived from TS 38.213 §7, TS 38.214 §6, TS 28.552, and TS 38.321 with worked examples

3GPP TS 38.213 §7 · TS 38.214 §6.1 · TS 28.552 §5.1.1.3 · TS 38.321 §6.1.3 · TS 38.133
📐 11 sections 🔢 10 equations 📋 8 tables 🧪 5 worked examples 📜 5 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. State the complete PUSCH power control formula from TS 38.213 §7.1 and identify the contribution of each term to the transmit power budget
  2. Explain the fractional path loss compensation factor α and calculate the cell-edge interference trade-off for any given α value
  3. Derive P0_PUSCH for a target received power in an urban macro cell and validate against a worked numerical example
  4. Describe how TPC commands in DCI accumulate into the closed-loop correction term f(i) and explain the interaction with open-loop compensation
  5. Explain UL OLLA and its equivalence to DL OLLA in maintaining a target BLER under changing channel conditions
  6. Interpret the SRS power formula and explain why SRS quality directly affects DL precoding accuracy in TDD deployments
  7. Read a Power Headroom Report MAC CE, identify negative PHR UEs, and diagnose coverage-limited uplink scenarios
  8. Map TS 28.552 UL KPIs to the PUSCH power control parameters and construct a root-cause decision tree for low UL throughput
  9. Apply the 12-item Part V throughput optimisation checklist and cross-reference Chapters 20–24 for each corrective action

§24.1 Introduction — UL Power as the Dual Lever of Coverage and Interference

Uplink power control is one of the most consequential — and least visible — levers in 5G NR optimisation. Unlike downlink power, which is set by the gNB and transparent to the UE, uplink power is commanded by the network but physically produced by a battery-powered device operating under strict regulatory limits. Every dBm a cell-edge UE adds to its transmit power buys it uplink SINR and throughput, but simultaneously degrades the uplink SINR of every neighbouring cell receiving that interference. The parameter choices encoded in TS 38.213 §7 determine where that balance lands across the entire network.

The NR power control framework inherits the fractional path loss compensation philosophy first introduced in LTE TS 36.213, but extends it significantly: multiple power control parameter sets per UE (up to four PUSCH-Config power sets), multi-TRP operation with independent power scaling, and tighter integration with beam management. Despite these extensions, the core formula and its optimisation principles remain constant and fully normative.

This chapter covers the complete UL power framework from first principles:

  • §24.2 — PUSCH power control formula: all five terms explained
  • §24.3 — Fractional path loss compensation: the α trade-off
  • §24.4 — P0_PUSCH and target SINR: setting the operating point
  • §24.5 — TPC closed-loop correction: DCI commands and f(i) accumulation
  • §24.6 — PUSCH link adaptation: UL CQI, MCS, and UL OLLA
  • §24.7 — UL SINR and throughput: interference-limited regime
  • §24.8 — SRS power control: formula and TDD implication
  • §24.9 — TS 28.552 UL power and throughput KPIs
  • §24.10 — Power Headroom Report: PHR MAC CE and coverage diagnosis
  • §24.11 — Part V summary: 12-item throughput optimisation checklist
"The UE shall set the PUSCH transmission power for PUSCH in subframe or slot i of serving cell c to P_PUSCH,b,f,c(i,j,q_d,l) = min{P_CMAX,f,c(i), 10·log10(2^μ · M_RB,b,f,c^PUSCH(i,j)) + P_O_PUSCH,b,f,c(j) + α_{b,f,c}(j) · PL_{b,f,c}(q_d) + Δ_TF,b,f,c(i) + f_{b,f,c}(i,l)} [dBm]" — TS 38.213 §7.1 (Release 17)

§24.2 PUSCH Power Control Formula (TS 38.213 §7.1)

The PUSCH transmit power formula has five additive terms inside the min() with P_CMAX. Each term addresses a different aspect of the power budget. Understanding each term independently is prerequisite to understanding how a parameter change propagates through to UL throughput.

P_PUSCH(i) = min{ P_CMAX, 10·log10(M_PUSCH) + P0_PUSCH(j) + α(j)·PL + Δ_TF(i) + f(i) } [dBm]

Term-by-Term Breakdown

Term Symbol Unit Description Typical Range
Max power cap P_CMAX dBm UE maximum configured transmit power (power class dependent). UE power class 3 = 23 dBm. Power class 1 (FR1 high-power UE) = 26 dBm. 20–26 dBm
Bandwidth scaling 10·log10(2^μ · M_PUSCH) dB PRB count allocated to PUSCH × numerology scaling (2^μ accounts for SCS: μ=0→15kHz, μ=1→30kHz, μ=2→60kHz). More PRBs → spread power over more subcarriers → reduce spectral density → network compensates by increasing P0. 0–25 dB
Nominal target P0_PUSCH(j) dBm Network-configured received power target per PRB. Signaled via RRC parameter p0-NominalWithoutGrant or p0-PUSCH-AlphaSet. j selects the active power control parameter set (up to 4 sets). −126 to +24 dBm
Path loss compensation α(j)·PL dB α ∈ {0,0.4,0.5,0.6,0.7,0.8,0.9,1.0} from RRC. PL is UE-estimated downlink path loss (from SSB or CSI-RS RSRP). α=1 = full compensation; α<1 = fractional (cell-edge UEs transmit less). α: 0.7–1.0 typical
MCS offset Δ_TF(i) dB Optional transport format delta. If enabled, higher MCS → slightly higher TX power. TS 38.213 §7.1 defines Δ_TF = 10·log10((2^(BPRE·K_s) − 1)) where K_s=1.25 if deltaMCS-Enabled=true, else 0. 0 dB (disabled)
Closed-loop correction f(i) dB Accumulated TPC commands from gNB. Adjusts for residual errors in open-loop estimate. Clamped to [−limitPuschTpcCommandsList, +limitPuschTpcCommandsList] range. ±15 dB typical

Example 24.1 — PUSCH Power Calculation for a Suburban UE

Given: UE power class 3 (P_CMAX = 23 dBm). Allocated M_PUSCH = 25 PRBs. SCS = 30 kHz (μ=1). P0_PUSCH = −104 dBm. α = 0.8. PL = 115 dB (SSB-based). Δ_TF disabled (=0). f(i) = +3 dB (accumulated TPC commands).

Step 1 — Bandwidth term: 10·log10(2^1 × 25) = 10·log10(50) = 17.0 dB

Step 2 — Path loss compensation: α·PL = 0.8 × 115 = 92 dB

Step 3 — Sum before min(): 17.0 + (−104) + 92 + 0 + 3 = 8.0 dBm

Step 4 — Apply P_CMAX: min(23, 8.0) = 8.0 dBm

Interpretation: UE has 15 dB of power headroom (PHR = 23 − 8 = +15 dB). Not coverage-limited. Positive PHR leaves headroom for additional allocated PRBs.

Figure 24.1 — PUSCH Path Loss Compensation: α=1.0 vs α=0.8 across the cell radius
gNB Cell Centre UE PL = 70 dB α=1.0 → P = −37 dBm α=0.8 → P = −51 dBm PHR: large (+ve) Mid-Cell UE PL = 100 dB α=1.0 → P = −7 dBm α=0.8 → P = −17 dBm PHR: moderate Cell Edge UE PL = 130 dB α=1.0 → P = +23 dBm α=0.8 → P = +17 dBm PHR: 0 (limited) P0 = −107 dBm (fixed) α = 1.0 (full comp.) α = 0.8 (fractional) Cell radius → (α=0.8 saves 6 dB at edge → less inter-cell interference)

§24.3 Fractional Path Loss Compensation

The fractional path loss compensation factor α is the single most important uplink power control parameter. It controls the slope of the relationship between path loss and transmit power, and thereby the distribution of received power levels at the gNB across all UEs in the cell.

"The higher layer parameter alpha (α) is used to control the degree of path loss compensation for PUSCH. When alpha equals 1, the UE fully compensates for the path loss, such that all UEs contribute equal received power. When alpha is less than 1, UEs with larger path loss transmit at lower power than the fully-compensated value, thereby reducing inter-cell interference at the cost of reduced received SINR for cell-edge UEs." — TS 38.213 §7.1, Release 17 explanatory note

α Values Defined by 3GPP (TS 38.213 §7.1)

α value PL compensation Cell-edge TX power vs α=1 Inter-cell interference Cell-edge UL SINR Typical deployment
1.0 Full (100%) Baseline Highest Equal to cell-centre Isolated site, rural
0.9 90% −3 dB at PL=130 High −3 dB vs α=1 Sub-urban macro
0.8 80% −6 dB at PL=130 Moderate −6 dB vs α=1 Urban macro (typical)
0.7 70% −9 dB at PL=130 Low −9 dB vs α=1 Dense urban, high load
0.6 60% −12 dB at PL=130 Very low Poor (MCS limited) Not recommended (UL degraded)
0.4–0.5 40–50% >−15 dB Minimal Very poor Experimental / IoT specialised

The key trade-off: reducing α saves interference at the cost of cell-edge UL SINR. The optimal α exists at the intersection where the gains from reduced inter-cell interference match the losses from reduced signal level. Empirically this falls between α=0.7 and α=0.9 for most urban macro deployments, with α=0.8 as the most common 3GPP standard setting.

Figure 24.2 — α Trade-off: Cell-edge UL SINR (left axis) vs Inter-cell Interference (right axis)
0.4 0.5 0.6 0.7 0.8 0.9 1.0 α (path loss compensation factor) 20 15 10 5 0 UL SINR cell-edge (dB) −80 −85 −95 −105 −110 Inter-cell interference (dBm) Optimal zone α = 0.7–0.9 UL SINR cell-edge Inter-cell interference

§24.4 P0_PUSCH and Target SINR

P0_PUSCH is the nominal received power target per PRB at the gNB. Combined with α, it defines the "operating point" of the open-loop power control: the received power the network expects from a UE at any given path loss. The relationship is:

P_received_per_PRB ≈ P0_PUSCH + (1 − α) × PL_nominal

For full compensation (α=1): P_received = P0_PUSCH regardless of path loss (flat received power). For α<1: cell-edge UEs deliver slightly less received power than cell-centre UEs — a deliberate trade-off. The gNB uses P0 to set the target SINR implicitly:

Target SINR (dB) = P0_PUSCH − Thermal_noise_density − 10·log10(BW_PRB) − NF_gNB − Interference_margin

Where NF_gNB ≈ 5–7 dB (gNB noise figure) and Interference_margin ≈ 3–6 dB for typical urban deployments.

Example 24.2 — P0_PUSCH Setting for Urban Macro (Target UL SINR = 5 dB)

Target UL SINR: 5 dB (supports QPSK 1/2, sufficient for control-plane UEs at cell edge)

gNB parameters: NF = 6 dB, BW_PRB = 180 kHz (12 × 15 kHz), Interference margin = 4 dB

Thermal noise per PRB: −174 + 10·log10(180000) + 6 = −174 + 52.6 + 6 = −115.4 dBm

Required received signal: −115.4 + 5 + 4 (IM) = −106.4 dBm/PRB

Set P0_PUSCH = −106 dBm (rounded to nearest integer, valid range per TS 38.213)

Verification with α=0.8, nominal cell-edge PL=130 dB:

P_PUSCH = 10·log10(M_PUSCH) + (−106) + 0.8×130 = Bandwidth_term + (−106) + 104 = Bandwidth_term − 2 dBm

For M_PUSCH=1 PRB: P = 0 + (−2) = −2 dBm → well below P_CMAX=23 dBm (21 dB headroom). Good coverage margin.

Deployment scenario Target SINR α P0_PUSCH (typical) Notes
Rural macro (isolated) 10 dB 1.0 −96 dBm High SINR target; no inter-cell issue
Sub-urban macro 7 dB 0.9 −100 dBm Moderate SINR, low ICI
Urban macro (typical) 5 dB 0.8 −104 to −106 dBm Standard 3GPP recommendation
Dense urban (high ICI) 3 dB 0.7 −108 dBm Sacrifice SINR for ICI reduction
Indoor small cell 15 dB 1.0 −90 dBm Low PL, no neighbours, high SINR

§24.5 TPC Commands and Closed-Loop Correction f(i)

Open-loop power control using P0+α·PL relies on the accuracy of the UE's path loss estimate. In practice, fast fading, interference fluctuations, and UE measurement noise introduce residual errors of ±5–10 dB. The closed-loop correction term f(i) uses TPC (Transmit Power Control) commands sent by the gNB to drive the UE's transmit power toward the exact operating point.

"The UE shall update the PUSCH power control adjustment state according to: f_{b,f,c}(i,l) = f_{b,f,c}(i−1,l) + δ_PUSCH,b,f,c(i−K_PUSCH,l) for accumulation mode, where δ_PUSCH is derived from the TPC command field of DCI format 0_0, 0_1, 0_2, or 2_2." — TS 38.213 §7.1.1 (Release 17)

TPC Command Mapping (TS 38.213 Table 7.1.1-1)

DCI TPC field value δ_PUSCH (dB) Accumulation effect When used
0 (binary 00) −1 dB f(i) decreases by 1 dB UE transmitting too high
1 (binary 01) 0 dB f(i) unchanged (hold) UE at target power
2 (binary 10) +1 dB f(i) increases by 1 dB UE transmitting too low
3 (binary 11) +3 dB f(i) increases by 3 dB UE significantly below target

The TPC command is delivered in the DCI scheduling the PUSCH. For DCI 0_1 (the primary UL DCI format), the TPC field is 2 bits giving the four values above. For DCI 2_2 (group TPC command), up to 12 UEs can receive simultaneous TPC corrections in a single PDCCH, reducing overhead.

Figure 24.3 — TPC Closed-Loop Timeline: f(i) accumulation driving PUSCH TX power to steady state
Target Slot 1 Slot 2 Slot 3 Slot 4 Slot 5 Slot 6 Slot 7 Slot 8 Slot 9 Slot 10 +3 +3 +1 +1 0 −1 0 0 0 0 TPC commands (δ_PUSCH per slot) High Target Low PUSCH TX power trajectory Target power level Ramping up (+3,+3) Steady state

Open-Loop vs Closed-Loop Coexistence

NR supports both modes simultaneously. The open-loop (P0+α·PL) establishes the initial power level for each transmission burst. The closed-loop f(i) then makes fine adjustments slot-by-slot. On the first PUSCH transmission after a gap (e.g., after DTX), f(i) is reset to 0 per TS 38.213 §7.1.1 (if configured) or maintained from the last value. The gNB implementation decides when to issue TPC commands — typically whenever PUSCH SINR deviates from target by more than 1–2 dB.

§24.6 PUSCH Link Adaptation: UL CQI, MCS, and UL OLLA

PUSCH link adaptation follows an equivalent pathway to PDSCH, but with the roles reversed: the gNB measures UL SINR from received PUSCH and selects the UL MCS for the next scheduled transmission. The UE has no involvement in MCS selection — the gNB encodes the MCS in DCI 0_0 or 0_1.

UL SINR Measurement and MCS Selection

The gNB estimates UL SINR from the PUSCH demodulation reference signal (DM-RS). The estimated SINR is mapped to a CQI-equivalent value and then converted to an MCS index via TS 38.214 Table 5.1.3.1-1 (same MCS table used for DL, mapped through shared CQI-to-SINR conversion). This inner-loop link adaptation targets a 10% BLER (first-transmission BLER).

"For PUSCH scheduled by DCI format 0_1, the UE shall use the MCS index field to determine the modulation order, target code rate, and transport block size as defined in Table 5.1.3.1-1, Table 5.1.3.1-2, or Table 5.1.3.1-3 of TS 38.214 as indicated by the higher layer parameter mcs-Table." — TS 38.214 §6.1.4 (Release 17)

UL OLLA (Outer-Loop Link Adaptation)

UL OLLA operates identically to DL OLLA (Chapter 21) but tracks PUSCH HARQ ACK/NACK. The gNB maintains a SINR offset δ_OLLA_UL per UE:

On NACK: δ_OLLA_UL += Δ_up (e.g., +0.5 dB) On ACK: δ_OLLA_UL −= Δ_down = Δ_up × (BLER_target / (1 − BLER_target)) Effective UL SINR used for MCS selection: SINR_eff = SINR_measured + δ_OLLA_UL

For BLER_target=0.1: Δ_down = Δ_up × (0.1/0.9) ≈ Δ_up/9. So one NACK is offset by 9 ACKs, maintaining long-run BLER at 10%.

UL HARQ

NR UL HARQ mirrors DL: 16 asynchronous HARQ processes. For UL, the NDI in DCI 0_0/0_1 toggles on new data. The gNB sends HARQ feedback implicitly by scheduling a retransmission (same process ID, NDI unchanged) or a new transmission. UL HARQ-ACK from the gNB perspective is generated by the LDPC decoder's CRC check on received PUSCH; no explicit ACK signaling to UE is required — the UE infers from whether it receives a retransmission grant.

UL LA parameter 3GPP reference Typical value Optimisation note
UL BLER target TS 38.214 §6.1.4 (OLLA principle) 10% Raising to 15% increases average MCS but increases retransmissions
OLLA step up (Δ_up) Implementation 0.5 dB Smaller step = slower convergence; larger = oscillation
OLLA bounds Implementation ±6 dB Must clip to prevent unbounded drift for UEs in deep fade
MCS table TS 38.214 Table 5.1.3.1-1/2/3 Table 1 (64QAM) Table 2 (256QAM) enabled where UL SNR supports it
HARQ processes UL TS 38.212 §7.3.1.1 16 Max per TS 38.211; fewer processes = shorter RTT tolerance

§24.7 UL SINR and Throughput Analysis

UL throughput at the cell level is the sum of per-UE PUSCH throughput across all active users. For a single UE the relationship follows Shannon-bounded capacity, modelled in 3GPP through the discrete MCS→TBS→BLER chain:

UL_TP_per_UE (Mbps) = TBS_UL × (1 − BLER_UL) / T_slot

Where T_slot = 0.5 ms at 30 kHz SCS and TBS_UL is determined by MCS and allocated PRBs per TS 38.214 Table 5.1.3.2-1. The cell UL throughput aggregates all scheduled UEs in each slot, bounded by the total PUSCH PRB allocation and TDD uplink symbol budget.

UL_SINR (dB) = P_received,UE − 10·log10(I_inter + N_thermal) − NF_gNB

At low α (or low P0), P_received drops and the UE becomes noise-limited (UL SINR constrained by thermal noise — insufficient receive SNR). At high α (or high P0), I_inter increases as cell-edge UEs transmit at higher power, making the UE interference-limited. The cell-level optimum balances both regimes.

Example 24.3 — UL Throughput Impact of Changing α from 1.0 to 0.8

Scenario: Urban macro, 20 MHz, 30 kHz SCS. All UEs at cell edge (PL=125 dB). P0=−104 dBm.

With α=1.0: P_PUSCH = 10·log10(50 PRBs) + (−104) + 1.0×125 = 17 − 104 + 125 = 38 dBm → exceeds P_CMAX=23 dBm → UE limited to P_CMAX=23 dBm. Received = 23 − 125 = −102 dBm. I_inter from all neighbours at similar level → SINR ≈ 3 dB → MCS 4 (QPSK rate 0.37) → TBS = 336 bits/slot.

With α=0.8: P_PUSCH = 17 − 104 + 0.8×125 = 17 − 104 + 100 = 13 dBm. Well below P_CMAX. Received = 13 − 125 = −112 dBm. I_inter reduced by ~6 dB across all neighbours → SINR ≈ 7 dB → MCS 9 (16QAM rate 0.44) → TBS = 1032 bits/slot.

Result: α=0.8 delivers 3× higher TBS per slot at cell edge despite lower received power, because the interference reduction outweighs the signal reduction. This is the fundamental benefit of fractional power control.

§24.8 SRS Power Control (TS 38.213 §7.3)

The Sounding Reference Signal (SRS) uses a dedicated power control formula specified in TS 38.213 §7.3. SRS power is related to PUSCH power but has its own P0 offset and compensation parameters, allowing the network to adjust SRS power independently of data channel power.

P_SRS = min{ P_CMAX, P_O_SRS + α_SRS·PL + 10·log10(M_SRS) + h(n_SRS) } [dBm]

Where M_SRS is the SRS bandwidth in PRBs and h(n_SRS) is the closed-loop SRS adjustment derived from the same DCI TPC mechanism or from dedicated SRS TPC in DCI 2_3. P_O_SRS is signaled independently via RRC parameter p0-alpha in SRS-PowerControl IE.

"The UE shall set the SRS transmission power P_SRS,b,f,c(i,q_s,l) = min{P_CMAX,f,c(i), P_{O_SRS,b,f,c}(q_s) + α_{SRS,b,f,c}(q_s)·PL_{b,f,c}(q_d) + 10·log10(2^μ·M_{SRS,b}(i)) + h_{b,f,c}(i,l)} [dBm]" — TS 38.213 §7.3.1 (Release 17)

SRS Quality and TDD DL Precoding

In TDD operation, the gNB exploits channel reciprocity: the DL channel is estimated from UL SRS measurements, and the resulting channel matrix is used to compute DL precoder weights for MU-MIMO and beamforming. If SRS power is too low → noisy channel estimate → poor precoder accuracy → DL MU-MIMO interference → degraded DL throughput. This creates a direct link between UL SRS power tuning and DL throughput performance in TDD systems — a cross-domain dependency often missed in optimisation workflows.

SRS parameter RRC IE TS 38.213 ref Optimisation guidance
P0_SRS p0-alpha (SRS-PowerControl) §7.3.1 Set to achieve SRS SNR ≥ 10 dB at gNB for reliable channel estimation
α_SRS alpha (SRS-PowerControl) §7.3.1 Same values as PUSCH α; typically set equal to PUSCH α
SRS-TPC-PDCCH-Config srs-TPC-PDCCH-Config §7.3.2 Group TPC via DCI 2_3 allows mass SRS power update in one PDCCH
SRS periodicity periodicityAndOffset TS 38.214 §6.2.1 Shorter period = fresher channel estimate = better MU-MIMO; trades with overhead

§24.9 TS 28.552 UL Power and Throughput KPIs

TS 28.552 §5.1.1.3 defines the normative PM counters for UL throughput and power characterisation. These counters are mandatory for all 5G NR gNB implementations and provide the primary observability into PUSCH power control performance.

Counter name TS 28.552 ref Definition Unit Optimisation use
L.Thrp.bits.UL §5.1.1.3.3 Total UL throughput bits successfully delivered (PDCP SDU bits). Aggregated over measurement period. bits Cell UL capacity baseline; compare against DL ratio for TDD config validation
L.Thrp.bits.UL.LastTTI §5.1.1.3.4 UL throughput in the last scheduled TTI (slot). Captures instantaneous peak rather than average. bits/slot Peak MCS validation; verify 256QAM capable UEs reach expected peak
L.UL.BLER §5.1.1.8.5 UL initial transmission BLER = (PUSCH NACKs) / (total PUSCH first transmissions). Should be ~10% with OLLA active. % OLLA tuning; if >20% → MCS too aggressive or power too low; if <5% → MCS too conservative
L.UL.HARQ.AckRatio §5.1.1.8.6 Ratio of PUSCH HARQ ACKs to total transmissions (initial + retransmission). Higher = fewer retransmissions. % Track retransmission overhead; L.UL.HARQ.AckRatio + L.UL.BLER together characterise HARQ efficiency
L.PUSCH.MCS.Distr §5.1.1.8.3 Distribution of PUSCH MCS indices used across all UE-slots. Histogram with bins per MCS index 0–28. count/bin If modal MCS ≤ 5 (QPSK low-rate) → power or coverage problem; if modal MCS ≥ 20 (64QAM) → healthy link
L.PUSCH.PRB.Util §5.1.1.3.5 UL PRB utilisation = used UL PRBs / available UL PRBs in TDD pattern. Averaged per measurement period. % If near 100% → UL scheduling-limited; consider more UL slots in TDD config
L.UL.PCMAX.Rate §5.1.1.3.8 Fraction of UE-slot observations where the UE is transmitting at P_CMAX (power-limited). High rate = coverage issue. % Key coverage indicator; if >20% of UEs power-limited → P0 too high, α too high, or cell overshooting

Example 24.4 — UL Throughput Root Cause from TS 28.552 Counters

Observed: Cell UL throughput (L.Thrp.bits.UL) at 60% of expected. L.UL.BLER = 8% (healthy). L.PUSCH.MCS.Distr modal MCS = 7 (16QAM 0.33 — low). L.UL.PCMAX.Rate = 35% (many UEs at max power). L.PUSCH.PRB.Util = 45% (PRBs not congested).

Diagnosis: L.PUSCH.PRB.Util is low → not scheduling-limited. L.UL.BLER healthy → OLLA working. But 35% UEs at P_CMAX + modal MCS = 7 → coverage problem: UEs can't overcome path loss even at max power. UL SINR bottleneck drives gNB to select low MCS despite having PRBs available.

Root cause: Cell radius too large for P0_PUSCH setting. Either: (a) reduce ISD, (b) increase antenna tilt to reduce cell radius, (c) raise P0_PUSCH by 2–3 dB and reduce α to 0.7 to partially compensate without increasing inter-cell interference.

Action: Raise P0 from −106 to −103 dBm. Monitor L.UL.PCMAX.Rate (target <10%) and L.PUSCH.MCS.Distr (target modal MCS ≥ 10).

§24.10 Power Headroom Report (PHR) — MAC CE and Coverage Diagnosis

The Power Headroom Report (PHR) is a MAC control element defined in TS 38.321 §6.1.3.8. It is the primary mechanism by which the UE informs the gNB of its remaining power budget. The gNB uses PHR to decide how many PRBs to allocate in the next scheduling grant — a coverage-aware scheduler must avoid allocating more PRBs than the UE can support at the required power spectral density.

PHR (dB) = P_CMAX − P_PUSCH(i) (Type 1 PHR, for PUSCH on serving cell)

A positive PHR means the UE is transmitting below its maximum power and could support more PRBs or higher power. A negative PHR means the UE is already at P_CMAX — further PRB allocation only dilutes the power spectral density and reduces the UE's received SNR per subcarrier, potentially triggering MCS degradation.

"The UE shall trigger a PHR MAC CE when the path loss has changed by more than dl-PathlossChange dB since the last PHR was reported, or when prohibitPHR-Timer expires, or when the UE has UL resources and a PHR has not been reported since the last PDCCH indicating an uplink grant. The PHR value shall be reported for each configured serving cell." — TS 38.321 §5.4.6 (Release 17)
Figure 24.4 — PHR Distribution: bar chart showing % of UEs by PHR value range (negative PHR = power-limited)
−23 to −15 −15 to −8 −8 to 0 0 to 8 8 to 15 15 to 22 22 to 29 29 to 36 36+ PHR value (dB) 28% 18% 12% 2% Power-limited UEs (PHR < 0) ~19% of UEs at P_CMAX Negative PHR (at P_CMAX) Positive PHR (headroom)

PHR MAC CE Format (TS 38.321 §6.1.3.8)

Field Bits Values Description
PHR value 6 0–63 (maps to −32 to +40 dB in 1 dB steps; index 0 = ≤−32 dB) P_CMAX − P_PUSCH. Index 40 = PHR of +8 dB. Below index 32 = negative PHR.
P (virtual) flag 1 0: actual, 1: virtual Virtual PHR when no PUSCH scheduled; estimated based on reference power formula
V (P_CMAX) field 6 0–63 (maps to P_CMAX value) Reported P_CMAX; allows gNB to distinguish power-class-limited vs coverage-limited UEs

Example 24.5 — Interpreting Negative PHR for Coverage Diagnosis

Observed PM counter: L.UL.PCMAX.Rate = 38% (38% of UE-slot observations show UE at P_CMAX). L.Thrp.bits.UL is 45% of adjacent cell average. L.UL.BLER = 22% (too high; OLLA struggling).

PHR analysis: 38% of UEs transmitting at P_CMAX → they are all submitting negative PHR MAC CEs to the gNB. The gNB correctly interprets these but cannot increase received power beyond what P_CMAX allows. OLLA drives MCS down but still BLER=22% → fundamental link budget deficit.

Link budget deficit estimate: If 38% of UEs are at P_CMAX=23 dBm with PL>130 dB, received signal = 23−130 = −107 dBm. With noise floor −115 dBm and 6 dB interference margin → SINR = −107−(−115)+6 = −107+121 = … rearranged: SINR = P_rx − (N+I) = −107 − (−115+6) = −107 + 109 = 2 dB → only QPSK rate 1/4 MCS 1. TBS extremely low.

Corrective actions in priority order: (1) Mechanical tilt adjustment to reduce cell radius. (2) Increase antenna height. (3) Add RF repeater or small cell for coverage hole. (4) Parameter: reduce P0 by 2 dB and α to 0.7 to free up inter-cell budget; this will slightly reduce coverage further but reduce BLER in partially covered UEs — evaluate per-cell.

Figure 24.5 — UL Cell Throughput vs P0_PUSCH: inverted-U curve showing optimal P0 operating point
−120 −115 −110 −105 −100 −95 −90 −85 −80 P0_PUSCH (dBm) 120 90 60 30 0 UL Cell Throughput (Mbps) Optimal P0 ≈ −100 dBm TP=118 Mbps Too low P0: noise-limited Too high P0: interference-limited

§24.11 Part V Summary — Throughput Optimisation Checklist

Part V (Chapters 20–24) has covered the complete 5G NR throughput optimisation framework: from the fundamental scheduling grid (Chapter 20) through MCS and link adaptation (Chapter 21), MIMO spatial multiplexing (Chapter 22), Carrier Aggregation and BWP management (Chapter 23), and now UL power control (Chapter 24). This section consolidates all actionable optimisation items into a single 12-item checklist, cross-referenced to the relevant chapter and TS specification.

# Optimisation item Chapter Key KPI 3GPP reference Primary action
1 Scheduler PRB utilisation Ch 20 L.Traffic.DL.PRB.Used / Available TS 38.214 §5.1.2 If >85% DL PRB util → check for coverage holes reducing scheduler efficiency
2 HARQ retransmission rate Ch 20 L.DL.HARQ.NackRatio TS 38.212 §7.3.1.1 If >15% HARQ NACK → DL BLER too high; verify CQI reporting and OLLA step size
3 DL MCS distribution Ch 21 L.PDSCH.MCS.Distr TS 38.214 Table 5.1.3.1-1 Modal DL MCS <10 → coverage/interference; >20 → verify 256QAM capable UEs present
4 OLLA target BLER Ch 21 L.DL.BLER TS 38.214 §5.1.4 (OLLA principle) DL BLER <5% → OLLA too conservative (raise BLER target); >20% → OLLA not converging
5 MIMO rank utilisation Ch 22 L.PDSCH.RI.Distr TS 38.214 §5.2.2 If RI=1 dominates → check CSI-RS config and UE antenna separation; low RI kills spectral efficiency
6 MU-MIMO activation rate Ch 22 L.PDSCH.MU.Ratio TS 38.214 §5.2.2.2 MU-MIMO share <20% in high-load cell → review PMI feedback accuracy and scheduler thresholds
7 CA activation per UE Ch 23 L.CA.Active.UE.Ratio TS 38.331 §6.3.2 ServCellConfig CA capable UEs not activating SCell → check SCell coverage, BWP config, and activation timer
8 BWP switching efficiency Ch 23 L.BWP.Switch.Delay TS 38.213 §12 Excessive BWP switching interruption → tune BWP inactivity timer and default BWP width
9 UL PUSCH MCS distribution Ch 24 L.PUSCH.MCS.Distr TS 38.214 §6.1.4 Modal UL MCS ≤ 7 → UL power/coverage issue; check P0_PUSCH and α settings
10 UE power-limited rate Ch 24 L.UL.PCMAX.Rate TS 38.213 §7.1 (P_CMAX) >20% UEs at P_CMAX → coverage hole; mechanical/electrical tilt or P0 reconfiguration
11 SRS quality for TDD reciprocity Ch 24 L.SRS.SINR (implementation KPI) TS 38.213 §7.3 SRS SNR <10 dB → raise P_O_SRS; poor SRS → degrades DL MU-MIMO throughput
12 TDD UL/DL slot ratio Ch 20+24 L.Thrp.bits.UL / L.Thrp.bits.DL TS 38.213 §11.1 UL/DL ratio mismatched to traffic demand → retune TDD pattern; note: must be cell-wide change
Figure 24.6 — Part V Throughput Optimisation Map: Chapters 20–24 interdependencies
Ch 20 Scheduling PRB allocation DCI / HARQ SR / BSR / CG Ch 21 MCS / Link Adapt CQI → MCS → TBS OLLA (DL+UL) 256QAM trigger Ch 22 MIMO SU-MIMO / MU-MIMO PMI / RI feedback Beamforming (TDD) Ch 23 CA / BWP SCell aggregation BWP switching Spectrum utilisation Ch 24 UL Power Control P0 / α / TPC PHR / coverage SRS power SRS → DL precoding (TDD reciprocity) OLLA offset → MCS → scheduler PRB decision Part V — Throughput Optimisation: Chapter Interdependencies

Key Cross-Chapter Dependencies

The Part V throughput framework is not linear — each chapter's parameters feed back into others:

  • Ch24 → Ch22 (TDD): SRS power control determines channel estimation quality → DL precoding accuracy → MU-MIMO gain → DL throughput. Suboptimal SRS power directly degrades Chapter 22 objectives.
  • Ch21 → Ch20: OLLA offset changes effective MCS → changes TBS per PRB → changes scheduler's PRB allocation decision (fewer PRBs needed for same throughput when MCS is high).
  • Ch23 → Ch20: CA activation increases the scheduler's available PRB pool → changes PRB utilisation statistics → may require recalibrating scheduler round-robin weights.
  • Ch24 → Ch21: UL power level determines UL SINR → UL OLLA operating point → UL MCS → UL TBS. P0 changes cascade directly through the UL link adaptation chain.
  • Ch22 → Ch21: Higher RI (more MIMO layers) requires independent per-layer OLLA tracking; rank adaptation interacts with CQI reporting periodicity.

Part V Summary: Throughput Equation

Cell_DL_TP = Σ_UEs [ TBS(MCS(CQI), PRBs, RI) × (1−BLER) / T_slot ] × CA_gain × BWP_efficiency × TDD_DL_fraction Cell_UL_TP = Σ_UEs [ TBS(MCS(UL_SINR(P0,α,PL,f(i))), PRBs) × (1−BLER_UL) / T_slot ] × TDD_UL_fraction

Every variable in this equation maps to a specific TS 38.213/38.214 parameter and a specific TS 28.552 PM counter. The 12-item checklist above provides the systematic path from observed counter deviation to root cause to corrective parameter action — the foundation of data-driven 5G NR throughput optimisation.

"The UL grant scheduling for PUSCH shall be based on the UE's reported Buffer Status Report (BSR), the power headroom reported via PHR MAC CE, the uplink channel quality estimated from SRS or PUSCH DM-RS, and the scheduler's resource allocation constraints. The scheduler shall ensure that the allocated number of PRBs does not exceed what can be supported by the UE given its remaining power headroom." — TS 38.321 §5.4.6, informative note on PHR-aware scheduling (Release 17)
Page 24
Chapter 25

RLF Causes & Detection

Complete 3GPP radio link failure framework: physical-layer OOS/IS indications, T310/N310/N311 timer mechanics, RLC maximum retransmission failure, RACH-based RLF, TS 28.552 counter framework (L.RLF.*), root-cause decision tree, and optimisation parameters — derived from TS 38.331 §5.3.10, TS 38.322 §5.3, TS 38.321 §5.1, and TS 28.552 with full worked examples

3GPP TS 38.331 §5.3.10 · TS 38.322 §5.3 · TS 38.321 §5.1 · TS 28.552 §5.1.1.6
📐 8 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. State the three normative RLF triggers defined in TS 38.331 §5.3.10 and identify which timer/counter governs each
  2. Explain the Q_out and Q_in thresholds, the role of N310 and N311 consecutive-indication counters, and the T310 timer state machine
  3. Calculate the earliest and latest TTI at which T310-based RLF can be declared given N310, N311, and T310 parameter values
  4. Describe how RLC AM maxRetxThreshold maps to consecutive HARQ NACKs and identify the TTI of RLF declaration
  5. Explain beam failure recovery failure as a RACH-based RLF path and map it to the maxNumPreamble parameter in TS 38.321
  6. Build a root-cause decision tree for RLF using L.RLF.T310Exp, L.RLF.MaxReTx, and L.RLF.RACHFail counter ratios
  7. Apply the TS 28.552 RLF counter framework to compute the RLF Rate KPI and set a network performance target
  8. Select corrective actions (coverage tilt, T310 increase, maxRetxThreshold tuning, a3Offset adjustment) and quantify their expected impact on RLF rate

Introduction — Why RLF Matters for Retainability

Radio Link Failure (RLF) is the definitive retainability event in 5G NR. Unlike a call drop caused by a mobility handover failure — where signalling reaches the target cell before the connection tears down — an RLF occurs when the UE loses its physical connection to the serving cell entirely, with no in-flight handover in progress. The UE enters RRC_IDLE or attempts reestablishment (TS 38.331 §5.3.7); either outcome counts against the network's retainability KPI.

Three normative triggers can cause an RLF, each governed by a different 3GPP sublayer:

  • T310 expiry — physical layer declares Out-of-Sync (OOS) N310 consecutive times; if no In-Sync (IS) recovery occurs within T310, RLF is declared (TS 38.331 §5.3.10)
  • RLC maxRetxThreshold exceeded — an RLC AM entity exhausts its retransmission budget on a data SDU and signals RLF to upper layers (TS 38.322 §5.3.1)
  • Random access failure — a RACH procedure triggered for beam failure recovery (BFR) or RRC Reestablishment fails after maxNumPreamble attempts (TS 38.321 §5.1.1)

Understanding these three paths — and their respective TS 28.552 counters — is the foundation of every retainability optimisation effort. This chapter develops each path from first principles, provides worked numerical examples for all three, and constructs the complete counter-driven RCA framework.

§25.1 RLF Detection: Physical-Layer OOS/IS Indications

The physical layer monitors the PDCCH BLER continuously using a hypothetical PDCCH transmission. Two thresholds define the quality boundaries (TS 38.331 §5.3.10.3):

  • Q_out = 2% — if estimated PDCCH BLER exceeds 2%, the physical layer issues an Out-of-Sync (OOS) indication to RRC
  • Q_in = 10% — if estimated PDCCH BLER drops below 10% after a period of OOS, the physical layer issues an In-Sync (IS) indication

These indications are not instantaneous; they are based on a running average over a measurement window defined in TS 38.133 Table 7.1.1-1. The gap between Q_out and Q_in creates a hysteresis band that prevents rapid oscillation between OOS and IS states when SINR is near the threshold.

"The UE shall initiate the radio link failure procedure if: (1) it receives N310 consecutive 'out-of-sync' indications from lower layers while the timer T310 is not running; (2) the timer T310 expires; or (3) while T304 is running, the MAC entity indicates a random access problem." — TS 38.331 §5.3.10.1 (Release 17)

The counter N310 counts consecutive OOS indications. When N310 consecutive OOS indications have been received, T310 is started. The counter N311 then counts consecutive IS indications; if N311 consecutive IS indications are received before T310 expires, T310 is stopped and the radio link is declared recovered. If T310 expires before N311 IS indications are counted, RLF is declared.

Table 25.1 — T310, N310, N311 Parameter Values (TS 38.331 §6.3.2, RadioLinkMonitoringConfig)
Parameter TS 38.331 IE Allowed Values Default Impact
T310 t310 0, 50, 100, 200, 500, 1000, 2000 ms 1000 ms Window between N310 trigger and RLF. Longer T310 gives more recovery time but degrades UX during OOS.
N310 n310 1, 2, 3, 4, 6, 8, 10, 20 6 Number of consecutive OOS indications to trigger T310. Lower N310 = faster RLF initiation.
N311 n311 1, 2, 3, 4, 5, 6, 8, 10 1 Number of consecutive IS indications to cancel T310. Higher N311 = harder to recover, more RLF.

Worked Example 25.1 — T310-Based RLF Timeline

Configuration: N310 = 6, N311 = 4, T310 = 200 ms. OOS indication period = 20 ms (one per subframe group).

t = 0 ms: SINR drops from +5 dB to −2 dB due to interference pulse. PDCCH BLER rises above Q_out = 2%.

t = 0 to 100 ms: 5 consecutive OOS indications received. N310 counter = 5 (threshold not yet met).

t = 120 ms: 6th consecutive OOS indication. N310 = 6 satisfied. T310 started.

t = 120 to 200 ms: SINR = −4 dB. No IS indications. N311 counter = 0. T310 running.

t = 320 ms: T310 expires (200 ms elapsed since t=120 ms). N311 has not reached 4. RLF declared.

Total time from OOS start to RLF: 320 ms. Counter incremented: L.RLF.T310Exp += 1.

Alternative (recovery): If SINR recovers to +3 dB at t=200 ms, IS indications arrive. After 4 consecutive IS indications (at t=280 ms), T310 is stopped. No RLF. N311 counter satisfied.

Figure 25.1 — RLF Detection State Machine (TS 38.331 §5.3.10)
RLF Detection State Machine — TS 38.331 §5.3.10 CONNECTED Normal Operation SINR > Q_out OOS indic. OOS COUNTING N310 counter active BLER > Q_out = 2% N310 reached → start T310 T310 RUNNING Watching N311 IS indications T310 expires (N311 not reached) RLF DECLARED L.RLF.T310Exp += 1 → RRC Reestablishment N311 IS indic. received → stop T310 RADIO LINK RECOVERED T310 stopped · N311 satisfied Back to CONNECTED state Resume normal ops If IS received: N311 counter++ Q_out threshold: PDCCH BLER > 2% → OOS indication Q_in threshold: PDCCH BLER < 10% → IS indication (hysteresis band) N310/N311 count consecutive indications. T310 ∈ {0,50,100,200,500,1000,2000} ms
Figure 25.2 — T310/N310/N311 Timeline with SINR curve and OOS/IS markers
T310/N310/N311 Timeline — RLF Scenario (N310=6, T310=200 ms, N311=4) t (ms) 0 100 ms 200 ms 300 ms 400 ms +6 dB Q_out -4 dB SINR OOS OOS OOS OOS OOS OOS#6 N310! T310 running (200 ms) RLF! (no IS indications — SINR stays below Q_in) Normal ops OOS period · N310 counting L.RLF.T310Exp++

§25.2 RLF Detection: RLC Maximum Retransmission Exceeded

The second RLF trigger originates at the RLC sublayer. In RLC Acknowledged Mode (AM), each Protocol Data Unit (PDU) can be retransmitted up to maxRetxThreshold times after the receiving peer reports a NACK in a STATUS PDU. When the retransmission count for any PDU reaches maxRetxThreshold, the RLC entity signals radio link failure upwards to PDCP and RRC.

"If the retransmission count for an AMD PDU or an AMD PDU segment has reached the configured value of maxRetxThreshold, the RLC entity shall indicate to upper layers that a radio link failure has occurred." — TS 38.322 §5.3.1 (Release 17)

The parameter maxRetxThreshold is configured per RLC AM bearer via the RLC-Config IE in TS 38.331. In practice, each NACK consumed against the same PDU corresponds to one failed HARQ transmission. With HARQ maximum retransmissions typically set to 4, a single PDU that fails 8 HARQ rounds (two HARQ processes each failing 4 times) consumes maxRetxThreshold = 8, triggering RLF.

Table 25.2 — maxRetxThreshold Values and RLF Implication (TS 38.322, RLC-Config)
maxRetxThreshold Max RLC Retransmissions HARQ Rounds (harq-MaxRetx=4) RLF Trigger Condition Typical Use Case
t1 1 1×4 = 4 total Single NACK → RLF (aggressive) Not recommended
t2 2 2×4 = 8 total 2 consecutive NACKs → RLF Low latency services
t4 4 4×4 = 16 total 4 NACKs → RLF Common for data
t8 8 8×4 = 32 total 8 NACKs → RLF Standard default
t16 16 16×4 = 64 total 16 NACKs → RLF High-reliability bearers
t32 32 32×4 = 128 total 32 NACKs → RLF URLLC / critical data
t64 64 64×4 = 256 total 64 NACKs → RLF Rarely used
t128 128 128×4 = 512 total 128 NACKs → RLF Maximum tolerance

Worked Example 25.2 — RLC maxRetxThreshold Exhaustion

Configuration: maxRetxThreshold = 32. HARQ maxRetransmissions = 4. Slot duration (SCS 30 kHz, μ=1) = 0.5 ms. HARQ RTT = 8 slots = 4 ms.

Scenario: UE moves into a coverage shadow at t=0. All HARQ transmissions of a DL PDU fail (channel BLER = 100% due to deep fade).

Round 1: HARQ TBs transmitted at slots 0, 2, 4, 6. All fail. NACK sent at slot 8. RLC retransmission counter = 1.

Rounds 2–32: Each RLC retransmission round takes 8 slots = 4 ms per HARQ process. With 32 NACK rounds: 32 × (4 + 4) ms = 256 ms.

Note: Each RLC retransmission awaits HARQ failure confirmation (≈4 ms HARQ RTT) plus gNB scheduling latency (≈4 ms). Total per-round ≈ 8 ms for HARQ process.

At TTI 512 (t = 256 ms): 32nd NACK received. maxRetxThreshold reached. RLC entity indicates RLF. L.RLF.MaxReTx += 1.

Interpretation: maxRetxThreshold = 32 gives ~256 ms tolerance before RLF. For low-BLER cells this never fires; it fires only during sustained deep fades or severe interference events.

§25.3 RLF Detection: RACH Failure (Beam Failure Recovery)

The third normative RLF path is triggered when a RACH procedure — initiated either for beam failure recovery (BFR) or for RRC Connection Reestablishment — fails due to exhausting the maximum preamble transmission count. In 5G NR beamformed systems, beam failure is detected when the physical layer cannot find a beam with sufficient quality (RSRP above the configured threshold) and the BFR procedure begins a RACH attempt on a candidate beam.

"If the PRACH has been transmitted with the maximum number of preambles as determined by the preambleTransmissionCounter reaching preambleAttemptNumber, the UE shall indicate a random access problem to the higher layers." — TS 38.321 §5.1.1 (Release 17)

When higher layers receive the random access problem indication during BFR or Reestablishment RACH, they declare RLF. The relevant parameter is ra-preambleAttemptNumber (also referred to as maxNumPreamble in TS 38.321 §5.1.1 context). If the RACH procedure for BFR fails, TS 38.331 §5.3.14.3 specifies that the UE shall treat this as an RLF and initiate RRC Reestablishment.

Table 25.3 — RACH Parameters Related to RLF (TS 38.321 §5.1.1, TS 38.331 §5.3.14)
Parameter IE Name TS Reference Allowed Values Impact on RLF
Max preamble attempts preambleTransmissionCounter TS 38.321 §5.1.1 n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200 Higher value = more attempts before RACH fail → fewer L.RLF.RACHFail events
Beam failure detection timer beamFailureDetectionTimer TS 38.331 §6.3.2 pbfd1–pbfd10 (10–100 ms) Shorter timer → faster BFR initiation; too short = false triggers
Max beam failure instances maxBeamFailure TS 38.331 §6.3.2 n1–n8 Lower threshold = faster BFR, higher risk of false triggers
RACH backoff indicator backoffIndicator TS 38.321 §5.1.2 0–960 ms High backoff during congestion = longer RACH duration, potential T310 expiry race

Worked Example 25.3 — RACH Failure RLF in Beam Failure Scenario

Configuration: maxBeamFailure = 3. beamFailureDetectionTimer = pbfd3 (30 ms). preambleTransmissionCounter = n5 (5 attempts). RACH slot periodicity = 5 ms.

t = 0–90 ms: UE in beam b1 (RSRP = −108 dBm). Beam failure threshold = −110 dBm RSRP. Physical layer detects 3 consecutive beam failure instances within 3 × 30 ms = 90 ms window. BFR procedure triggered.

t = 90 ms: UE selects candidate beam b2 (RSRP = −112 dBm, just above detection threshold). RACH preamble #1 transmitted on RACH occasion for b2.

t = 90–115 ms: Preambles #1 to #5 transmitted at 5 ms intervals. No RAR (Random Access Response) received for any preamble.

t = 115 ms: preambleTransmissionCounter = 5 = preambleAttemptNumber. RACH failure indicated to higher layers. RLF declared. L.RLF.RACHFail += 1.

Root cause: Candidate beam b2 RSRP is marginal (−112 dBm). Preamble path loss too high for gNB RACH decoder. Fix: lower beamFailureRSRPThreshold, or increase RACH preamble power (preambleInitialReceivedTargetPower).

§25.4 RLF Root Cause Analysis Framework

With three distinct RLF triggers, root-cause analysis requires a structured counter-first approach. The TS 28.552 counter split (L.RLF.T310Exp, L.RLF.MaxReTx, L.RLF.RACHFail) immediately points to the dominant cause. Each cause maps to a different network issue:

Table 25.4 — RLF Cause–Counter–Network Issue Mapping
RLF Cause Primary Counter Network Issue RSRP Indicator SINR Indicator First Fix
Coverage hole L.RLF.T310Exp Low RSRP → high PDCCH BLER → OOS < −110 dBm < −3 dB Tilt adjustment, power increase, cell gap fill
Interference L.RLF.T310Exp High I/N → poor SINR → OOS (RSRP may be adequate) −90 to −100 dBm < −3 dB PCI conflict resolution, interference coordination
Handover zone RLF L.RLF.HO Too-late HO → SINR degrades before HO executes → T310 −100 to −110 dBm < 0 dB a3Offset decrease, T304 tuning, ANR addition
RLC failure L.RLF.MaxReTx Sustained deep fade or high interference on data bearers −105 to −115 dBm < −5 dB Coverage fix or maxRetxThreshold increase
RACH failure L.RLF.RACHFail Marginal beam quality or RACH congestion < −112 dBm < −5 dB Preamble power tuning, candidate beam optimization
Figure 25.3 — Typical RLF Cause Distribution (Network Benchmark Sample)
RLF Cause Distribution — TS 28.552 Counter Breakdown 0% 10% 20% 30% 40% Coverage Hole L.RLF.T310Exp 40% — Low RSRP / OOS Mobility / HO L.RLF.HO 30% — Late HO / a3Offset RLC MaxReTx L.RLF.MaxReTx 20% — Deep Fade RACH Failure L.RLF.RACHFail 10% Based on TS 28.552 counters. Distribution varies by network topology and coverage design. Coverage/Interference (T310Exp) Mobility (HO-related) RLC MaxReTx RACH Failure
Figure 25.4 — RLF Root Cause Analysis Decision Tree (TS 28.552 Counter-Driven)
RLF Root Cause Analysis — TS 28.552 Counter Decision Tree RLF Detected L.RLF.Total spike observed L.RLF.T310Exp > threshold? T310 timer expiry dominant L.RLF.MaxReTx high? RLC retransmission exhausted RSRP < -110? RSRP OK? Coverage Issue Tilt / power / gap fill RSRP < -110 dBm Mobility / Interf. a3Offset / HO tune RSRP OK, SINR low YES NO → RACH RLC Fix maxRetxThreshold+ coverage fix primary RACH Fix Preamble power / BFR L.RLF.RACHFail high Electrical tilt -2° TX power +3 dB New site / RRH a3Offset -1 to -2 dB T304 increase ANR neighbor add maxRetxThresh + Coverage fix primary HARQ maxRetx check Preamble init pwr+ BFR threshold tune Candidate beam add Check L.RLF.Total/L.RRC.ConnEstabSucc ratio first. Split by cause counters to select branch. Co-located L.HO.ExecFail spike with L.RLF.HO → confirm mobility-related cause.

§25.5 TS 28.552 Counter Framework

TS 28.552 §5.1.1.6 defines the NR RLF measurement family. All counters are per-cell, per granularity period (typically 15 minutes). The primary KPI is RLF Rate, which normalises total RLFs against the connected session denominator.

RLF Rate KPI (TS 28.552)
RLF Rate (%) = L.RLF.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) × 100%
Target: < 0.5% for urban macro; < 1.0% for rural/suburban
"This measurement provides the number of radio link failures per NR cell. A radio link failure is declared when the UE detects out-of-sync for a duration exceeding timer T310, or when the RLC reaches maxRetxThreshold, or when a random access failure occurs during connection reestablishment." — TS 28.552 §5.1.1.6.1 (Release 17)
Table 25.5 — TS 28.552 RLF Counter Definitions
Counter Name TS 28.552 Reference Definition Trigger Condition Granularity
L.RLF.Total §5.1.1.6.1 Total radio link failures in the cell Any of T310 expiry, maxRetxThreshold, or RACH failure Per cell / 15 min
L.RLF.T310Exp §5.1.1.6.2 RLFs caused by T310 timer expiry T310 expires before N311 IS indications received Per cell / 15 min
L.RLF.MaxReTx §5.1.1.6.3 RLFs caused by RLC maxRetxThreshold reached RLC AM entity exhausts retransmission budget on any PDU Per cell / 15 min
L.RLF.RACHFail §5.1.1.6.4 RLFs caused by RACH failure (BFR or Reestablishment) preambleTransmissionCounter reaches preambleAttemptNumber Per cell / 15 min
L.RLF.HO §5.1.1.6.5 RLFs occurring during handover procedure T304 active and physical layer reports OOS → T310 expiry Per cell / 15 min
L.RRC.ConnEstabSucc §5.1.1.2.1 Successful RRC connection establishments (denominator) RRC Setup Complete received Per cell / 15 min
L.HO.ExecSucc §5.1.1.5.2 Successful handover executions (denominator contribution) HO complete message received at target cell Per cell / 15 min
Figure 25.5 — RLF Counter Correlation Matrix: Counter vs Root Cause
RLF Counter Correlation Matrix — Counter vs Root Cause Coverage Low RSRP Mobility Late HO Interference High I/N RACH/Beam Failure L.RLF.Total All causes L.RLF.T310Exp T310 timer expiry L.RLF.MaxReTx RLC retx exhausted L.RLF.RACHFail RACH max attempts L.RLF.HO HO-related RLF HIGH HIGH HIGH HIGH HIGH MEDIUM HIGH LOW MEDIUM LOW HIGH NONE MEDIUM LOW LOW HIGH LOW HIGH MEDIUM LOW

§25.6 Optimisation Parameters

Reducing RLF rate requires matching the parameter set to the dominant failure mode identified via the counter split. Four parameter families are most impactful:

T310 Tuning

T310 governs the tolerance window between OOS detection and RLF declaration. Setting T310 too short (e.g., 50 ms) causes false RLFs: brief interference pulses that would self-resolve within 200 ms are incorrectly declared as RLF. Setting T310 too long (2000 ms) keeps the UE in a degraded state for two seconds, degrading user experience — but is appropriate for UEs in marginal coverage where extended recovery is possible.

The standard optimisation rule: if RSRP-based coverage is adequate (RSRP > −110 dBm) but SINR is volatile (intermittent interference), increase T310 to 500 or 1000 ms to allow self-healing. If coverage is the issue, T310 tuning alone is insufficient — antenna or power changes are required.

N310 / N311 Tuning

N310 controls the speed of T310 trigger. Lower N310 (e.g., N310=2) causes T310 to start after just 2 OOS indications — faster but susceptible to false triggers from momentary channel dips. For high-SINR cells with stable channels, N310=1 or N310=2 is acceptable. For cell-edge UEs or sites with heavy interference loading, N310=6 to N310=8 provides better false-trigger immunity.

N311 controls recovery speed. N311=1 (default) means a single IS indication cancels T310. This is the most recovery-friendly setting. Increasing N311 requires sustained IS recovery, which reduces false-recovery but can cause unnecessary RLF if the channel is borderline.

Mobility Parameter Interaction

A significant fraction of L.RLF.T310Exp events are "too-late handover" failures. The UE crosses into a coverage gap between cells (RSRP of serving cell drops below −110 dBm) before the handover event A3 is triggered. The fix is to reduce a3Offset (making HO trigger earlier) or reduce hysteresis (narrowing the HO hysteresis band).

Table 25.6 — RLF Optimisation Parameters (TS 38.331, TS 28.552)
Parameter TS Reference Allowed Range Default Recommended (Dense Urban) Recommended (Rural) RLF Cause Addressed
T310 TS 38.331 §6.3.2 0, 50, 100, 200, 500, 1000, 2000 ms 1000 ms 500 ms 1000 ms T310Exp (false trigger)
N310 TS 38.331 §6.3.2 1, 2, 3, 4, 6, 8, 10, 20 6 4–6 6–8 T310Exp frequency
N311 TS 38.331 §6.3.2 1, 2, 3, 4, 5, 6, 8, 10 1 1–2 1 Recovery probability
a3Offset TS 38.331 §6.3.5 (ReportConfigNR) −30 to +30 dB (0.5 dB step) 3 dB 1–2 dB 3–4 dB L.RLF.HO / mobility RLF
hysteresis (A3) TS 38.331 §6.3.5 0 to 15 dB (0.5 dB step) 3 dB 1.5–2 dB 3 dB L.RLF.HO reduction
maxRetxThreshold TS 38.322 (RLC-Config) t1/t2/t4/t8/t16/t32/t64/t128 t8 t8–t16 t16–t32 L.RLF.MaxReTx
preambleTransmissionCounter TS 38.321 §5.1.1 n3–n200 n7 n5–n7 n7–n10 L.RLF.RACHFail

§25.7 Worked RLF RCA Case Study

The following worked example applies the full RCA methodology to a real-world scenario: a cell with elevated L.RLF.T310Exp observed during peak traffic, root-caused to a coverage gap, and resolved through antenna tilt adjustment and transmit power increase.

Worked Example 25.4 — Full RLF RCA: Coverage-Driven T310 Expiry

Observation (from PM counters, 1-hour interval):

  • L.RLF.Total = 47 (up from baseline of 6)
  • L.RLF.T310Exp = 41 (87% of total — dominant cause)
  • L.RLF.MaxReTx = 4, L.RLF.RACHFail = 2, L.RLF.HO = 0
  • L.RRC.ConnEstabSucc = 4,820 → RLF Rate = 47/4,820 × 100% = 0.97% (above 0.5% target)

Step 1 — Counter split confirms T310Exp dominant. L.RLF.T310Exp/L.RLF.Total = 87%. Physical-layer OOS is the root cause.

Step 2 — Drive test / MR data analysis.

  • Cell RSRP (5th percentile): −108 dBm (below −105 dBm target)
  • Cell SINR (5th percentile): −1 dB (below 0 dB threshold)
  • PDCCH BLER (estimated from MR): ~4–8% during RLF events (above Q_out=2%)

Step 3 — T310/N310 timeline for this cell:

  • N310 = 6 (configured). OOS indication period ≈ 20 ms per CQI report interval.
  • T310 = 200 ms (configured — too short for this cell's coverage profile).
  • t = 0: SINR drops to −1 dB (interference from adjacent cell during peak hour).
  • t = 0–100 ms: 5 consecutive OOS indications accumulated (N310 counter = 5).
  • t = 120 ms: 6th OOS. N310 satisfied. T310 started.
  • t = 120–320 ms: SINR = −5 dB. No IS indications. T310 running.
  • t = 320 ms: T310 expires. RLF declared. L.RLF.T310Exp += 1.

Step 4 — Root cause confirmed: RSRP = −108 dBm means PDCCH BLER is sustained above Q_out = 2%. The cell has a coverage gap in the south sector (confirmed by MR spatial plot). Additionally, T310 = 200 ms is too short for marginal coverage — it gives only 200 ms for recovery.

Step 5 — Corrective actions applied:

  1. Electrical tilt: −2° downtilt → footprint extends south, RSRP in gap improves from −108 to −102 dBm (+6 dB). Verified with post-change drive test.
  2. TX power: +3 dBm → additional 3 dB link budget improvement. Combined with tilt: RSRP 5th pct = −99 dBm (+9 dB total).
  3. T310: 200 ms → 500 ms → doubles the recovery window for marginal UEs. For sustained fades longer than 200 ms but shorter than 500 ms, RLF is avoided.

Step 6 — Post-change verification (next 1-hour PM interval):

  • L.RLF.T310Exp: 41 → 8 (80% reduction)
  • L.RLF.Total: 47 → 10 (79% reduction)
  • RLF Rate: 0.97% → 0.20% (well below 0.5% target)
  • RSRP 5th pct: −108 → −99 dBm (+9 dB); SINR 5th pct: −1 → +5 dB (+6 dB)
Figure 25.6 — RLF Rate Before/After Optimisation: Four Corrective Actions
RLF Rate Before vs After Optimisation — TS 28.552 L.RLF.Total 0% 0.5% 1.0% Target: 0.5% 0.97% 0.42% T310 200→500 ms 0.97% 0.70% N310 6→8 0.97% 0.25% Coverage Tilt −2° electrical 0.97% 0.55% maxRetxThresh t8 → t16 Before optimisation After optimisation RLF Rate (%) Combined effect (all 4 actions): RLF Rate 0.97% → 0.20%. Dominant impact from coverage tilt correction.

§25.8 Part VI Summary — RLF Performance Targets and Checklist

The following tables consolidate the RLF optimisation framework as a reference for network operations teams. Table 25.7 provides KPI targets by environment; Table 25.8 gives the 8-item RLF optimisation checklist.

Table 25.7 — RLF Rate KPI Targets by Network Environment
Environment RLF Rate Target L.RLF.T310Exp Share Primary Risk Key Counter to Watch
Dense Urban (ISD < 200 m) < 0.3% < 60% HO-related RLF (dense HO triggers) L.RLF.HO / L.HO.ExecFail
Urban Macro (ISD 200–500 m) < 0.5% < 70% Coverage gaps at cell borders L.RLF.T310Exp
Suburban (ISD 500 m–2 km) < 0.8% < 75% Marginal coverage, slow UEs L.RLF.T310Exp / L.RLF.MaxReTx
Rural (ISD > 2 km) < 1.0% < 80% Large coverage holes, no overlap L.RLF.T310Exp / L.RLF.RACHFail
High-Speed Rail (> 250 km/h) < 0.5% < 50% Rapid Doppler / beam loss L.RLF.HO / L.RLF.RACHFail
Table 25.8 — 8-Item RLF Optimisation Checklist (TS 28.552 Counter-Driven)
# Step Counter(s) Threshold Action if Threshold Breached
1 Compute cell-level RLF Rate L.RLF.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) > 0.5% (urban) Proceed to step 2
2 Identify dominant cause L.RLF.T310Exp, L.RLF.MaxReTx, L.RLF.RACHFail, L.RLF.HO > 60% of L.RLF.Total Focus on dominant counter's RCA branch
3 Coverage check (if T310Exp dominant) MR RSRP 5th percentile < −110 dBm Tilt adjustment, power increase, gap fill
4 Interference check (if T310Exp dominant, RSRP OK) MR SINR 5th percentile < −3 dB PCI conflict check, ICIC, coordination
5 Mobility check (if L.RLF.HO elevated) L.RLF.HO / L.HO.ExecSucc > 2% Reduce a3Offset / hysteresis, add ANR neighbors
6 T310 timer check T310 configured value < 200 ms for marginal coverage cells Increase T310 to 500 ms or 1000 ms
7 RACH failure check L.RLF.RACHFail / L.RLF.Total > 10% Preamble power, BFR threshold, candidate beams
8 Post-change validation L.RLF.Total (next 2 × 1-hour intervals) RLF Rate < target Confirm improvement; if not, escalate to multi-site analysis
Chapter 25 Key Formulas
RLF Rate: L.RLF.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) × 100%
T310 RLF earliest time: t_RLF_min = N310 × T_OOS_period + T310
T310 RLF latest time: t_RLF_max = N310 × T_OOS_period + T310 + (N311−1) × T_IS_period
RLC RLF time estimate: t_RLC_RLF ≈ maxRetxThreshold × (HARQ_RTT + sched_delay)
RACH RLF time: t_RACH_RLF = preambleAttemptNumber × RACH_slot_period

Cross-Chapter References

RLF optimisation is tightly coupled to other chapters in Part VI and the mobility chapters of Part IV:

  • Chapter 14 (Intra-gNB HO) — a3Offset and hysteresis parameters that affect L.RLF.HO
  • Chapter 15 (Inter-gNB Xn HO) — inter-site coverage gaps and T304-related RLF interactions
  • Chapter 18 (ANR) — missing neighbor relations that cause too-late HO and coverage-zone RLF
  • Chapter 9 (RACH Procedure) — preamble configuration and RACH dimensioning affecting L.RLF.RACHFail
  • Chapter 26 (RRC Reestablishment) — post-RLF recovery: reestablishment success rate and context transfer

Chapter 25 Summary

  • Three normative RLF triggers: T310 expiry (TS 38.331 §5.3.10), RLC maxRetxThreshold (TS 38.322 §5.3.1), and RACH failure (TS 38.321 §5.1.1)
  • T310 is started after N310 consecutive OOS indications (PDCCH BLER > Q_out = 2%) and stopped by N311 consecutive IS indications (BLER < Q_in = 10%)
  • T310 values: {0, 50, 100, 200, 500, 1000, 2000} ms; N310: {1–20}; N311: {1–10}
  • maxRetxThreshold = t32 gives ≈256 ms tolerance; setting too low (t2) causes false RLF on momentary fades
  • TS 28.552 counters: L.RLF.T310Exp, L.RLF.MaxReTx, L.RLF.RACHFail, L.RLF.HO, L.RLF.Total
  • RLF Rate KPI = L.RLF.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) × 100%; target < 0.5% urban
  • Coverage-driven T310Exp (RSRP < −110 dBm): fix by tilt −2°, power +3 dB → typically 75–80% RLF reduction
  • Mobility-driven RLF (L.RLF.HO elevated): fix by reducing a3Offset and hysteresis by 1–2 dB
Page 25
Chapter 26

RRC Re-establishment & PDCP Recovery

Complete 3GPP re-establishment framework: UE-initiated re-establishment procedure (TS 38.331 §5.3.7), T311 timer state machine, PDCP SN/HFN continuity (TS 38.323), TS 28.552 counter framework (L.RRC.ReEstab.*), root-cause decision tree, and optimisation parameters — with full worked examples and numerical case studies

3GPP TS 38.331 §5.3.7 · TS 38.323 §5.2.2 · TS 28.552 §5.1.1.6
📐 7 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Describe the four-message RRC Re-establishment procedure and the UE trigger conditions defined in TS 38.331 §5.3.7
  2. Explain T311 timer mechanics: allowed values, state transitions, and the consequence of expiry before a suitable cell is found
  3. Calculate PDCP COUNT wrap-around from SN = 4095 (12-bit) and SN = 262143 (18-bit) using HFN arithmetic
  4. Distinguish PDCP state variables TX_NEXT, RX_NEXT, RX_DELIV, and RX_REORD and explain their role during re-establishment
  5. Apply TS 28.552 counters L.RRC.ReEstabAtt, L.RRC.ReEstabSucc, L.RRC.ReEstabFail.CellNotFound, and L.RRC.ReEstabFail.T311Exp to compute re-establishment KPIs
  6. Build a root-cause decision tree for low re-establishment success rate using counter ratios
  7. Select and justify PDCP optimisation parameters (SN size, discardTimer, integrityProtection) with reference to TS 38.331

Introduction — Re-establishment as the Last Line of Retainability Defence

Radio Link Failure (RLF), described in Chapter 25, terminates the physical connection between UE and gNB. However, RLF does not automatically mean a call drop. The 3GPP specification TS 38.331 §5.3.7 defines a recovery mechanism — RRC Re-establishment — that allows the UE to re-attach to the radio access network while preserving its PDCP layer state and, therefore, the application-layer data bearers (DRBs). When re-establishment succeeds, the user experiences only a brief interruption rather than a full call tear-down.

Re-establishment success depends on three conditions being met simultaneously:

  • Suitable cell found in time: the UE must find a cell meeting the selection criteria before the T311 timer expires
  • UE context available: the target gNB (or the source gNB via Xn) must have a stored RRC context for the UE; without it, re-establishment is rejected
  • PDCP state integrity: the PDCP entity must preserve SN/HFN state so that data can resume without gaps or duplicate delivery

When any condition fails, the UE falls back to RRC_IDLE — counted as a call drop against the network's retainability KPI. This chapter develops the complete re-establishment framework from the 3GPP specifications, with all numerical examples, counter definitions, and optimisation levers derived strictly from TS 38.331, TS 38.323, and TS 28.552.

§26.1 Re-establishment Procedure — TS 38.331 §5.3.7

After declaring RLF (via T310 expiry, RLC maxRetx, or random access failure), the UE stores an RLF report containing the failedPCellId and rlf-Cause, then immediately begins searching for a suitable cell. The cell selection criteria mirror those used at initial access: the cell must satisfy the S-criteria defined in TS 38.304 §5.2.3.2 (S_rxlev > 0 and S_qual > 0).

"Upon detecting radio link failure, the UE shall: 1> suspend all RBs except SRB0; 1> reset MAC except for multiplexing and assembly; 1> apply the default physical layer configuration as specified in TS 38.213; 1> initiate the re-establishment procedure as specified in clause 5.3.7.3 if the UE has a valid security context." — TS 38.331 §5.3.7.2 (Release 17)

The re-establishment message sequence involves four protocol data units across the UE and gNB. All signalling uses SRB0 (CCCH) until security is re-activated on SRB1.

Table 26.1 — RRC Re-establishment Message Sequence (TS 38.331 §5.3.7)
Step Message Direction Channel Key IEs
1 RRCReestablishmentRequest UE → gNB SRB0 / CCCH ue-Identity (C-RNTI, physCellId), reestablishmentCause, shortMAC-I
2 RRCReestablishment gNB → UE SRB1 / DCCH nextHopChainingCount, radioResourceConfigDedicated
3 RRCReestablishmentComplete UE → gNB SRB1 / DCCH criticalExtensions (optional selected extensions)
4 RRCReconfiguration gNB → UE SRB1 / DCCH radioBearerConfig, masterCellGroup, measConfig
5 RRCReconfigurationComplete UE → gNB SRB1 / DCCH (confirmation)

The shortMAC-I field in the RRCReestablishmentRequest is a 16-bit truncated HMAC-SHA-256 computed over the UE's C-RNTI, physCellId of the failed cell, and the current AS security key. The target gNB uses this to verify the UE's identity without a full security re-run, preventing re-establishment from rogue UEs.

If the gNB cannot find a stored UE context (because the UE context was not forwarded via Xn, or the gNB is a different cell with no prior knowledge of the UE), it responds with RRCReestablishmentReject on SRB0. Upon receiving this, the UE transitions to RRC_IDLE, and the call is dropped.

Table 26.2 — RRCReestablishmentRequest Field Definitions (TS 38.331 §6.2.2)
Field IE Name Size / Type Purpose
C-RNTI c-RNTI 16-bit UE identity in the failed cell — used to look up the stored context
Physical Cell ID physCellId 9-bit (0–503) Identifies the cell where RLF occurred (source cell)
Short MAC-I shortMAC-I 16-bit Truncated HMAC for UE authentication at the target gNB
Re-establishment Cause reestablishmentCause ENUM otherFailure, handoverFailure, or reconfigurationFailure
Figure 26.1 — RRC Re-establishment Message Ladder (TS 38.331 §5.3.7)
RRC Re-establishment Procedure — TS 38.331 §5.3.7 UE gNB RLF Detected (T310/RLC/RACH) RRCReestablishmentRequest C-RNTI, physCellId, shortMAC-I, reestablishmentCause gNB: verify shortMAC-I, locate UE context RRCReestablishment nextHopChainingCount, radioResourceConfigDedicated RRCReestablishmentComplete RRCReconfiguration radioBearerConfig, masterCellGroup, measConfig RRCReconfigurationComplete Data bearers restored — call retained RRCReestablishmentReject (no context) UE → RRC_IDLE (call drop) UE→gNB gNB→UE (success) Reject path

§26.2 PDCP State Preservation During Re-establishment (TS 38.323)

The key advantage of re-establishment over a full RRC Setup is PDCP layer continuity. Rather than discarding in-flight data and resetting sequence numbers, the PDCP entity preserves its transmit and receive COUNT values across the re-establishment event, enabling seamless resumption of data delivery after the radio link is restored.

"Upon re-establishment of the RLC entity, the PDCP entity shall: stop and reset all timers; perform retransmission of all PDCP SDUs with their associated PDCP PDUs already submitted to lower layers and not yet acknowledged in ascending order of the associated COUNT values; and perform retransmission of all PDCP SDUs not yet submitted to lower layers in ascending order of the associated COUNT values." — TS 38.323 §5.2.2 (Release 17)

The PDCP COUNT value is a 32-bit quantity composed of two fields: the Hyper Frame Number (HFN) — the upper bits — and the PDCP Sequence Number (SN) — the lower bits. For a 12-bit SN, COUNT = HFN[31:12] | SN[11:0]. For an 18-bit SN, COUNT = HFN[31:18] | SN[17:0].

Table 26.3 — PDCP State Variables (TS 38.323 §7.1)
Variable Direction Definition Initial Value
TX_NEXT Transmitter COUNT value of the next PDCP SDU to be transmitted 0
RX_NEXT Receiver COUNT value of the next expected PDCP SDU 0
RX_DELIV Receiver COUNT value of the first PDCP SDU not yet delivered to upper layers 0
RX_REORD Receiver COUNT value following the SN of the SDU that triggered t-Reordering 0

After re-establishment, the transmitter retransmits all PDUs with COUNT values in the range [RX_DELIV of the peer entity, TX_NEXT − 1]. This ensures that any PDUs lost due to the RLF event are recovered without any gap in the SDU delivery sequence visible to upper layers (e.g., TCP).

Worked Example 26.1 — PDCP SN Wrap-around and HFN Increment (12-bit SN)

Configuration: DRB mapped to AM RLC; PDCP SN size = 12 bits; current TX_NEXT = 4094.

SN range: With 12-bit SN, modulus = 212 = 4096. Valid SN range: 0 to 4095.

Step 1 — transmit SN=4094: COUNT = (HFN × 4096) + 4094. HFN = 7 (example). COUNT = 7 × 4096 + 4094 = 28,672 + 4094 = 32,766.

Step 2 — transmit SN=4095: COUNT = 7 × 4096 + 4095 = 32,767. This is the last SN before wrap.

Step 3 — SN wraps to 0: TX_NEXT increments by 1 → TX_NEXT = 4096 (modulo 4096 = 0). HFN increments to 8. COUNT = 8 × 4096 + 0 = 32,768. Continuity is maintained: COUNT is monotonically increasing even though SN wrapped.

Re-establishment impact: If RLF occurs at TX_NEXT=32,768 and RX_DELIV=32,750 at the peer, the transmitter retransmits PDUs 32,750 to 32,767 (18 PDUs) after re-establishment. No data loss visible to TCP.

18-bit SN comparison: With 18-bit SN, modulus = 218 = 262,144. SN wraps at 262,143. For the same data rate of 100 Mb/s with 1500-byte PDUs, wrap occurs every 262,144 × 1500 × 8 / (100 × 106) = 31.46 seconds — versus 4,096 × 1500 × 8 / (100 × 106) = 0.491 seconds for 12-bit SN. The 18-bit SN dramatically reduces wrap frequency at high throughput.

Figure 26.3 — PDCP State Variable Flow During Re-establishment (TS 38.323 §5.2.2)
PDCP State Variables — TX/RX COUNT Tracking (TS 38.323 §7.1) TX PDU N-3 ACK'd PDU N-2 ACK'd PDU N-1 Submitted no ACK yet PDU N TX_NEXT (next to send) PDU N+1 Pending Retransmit range after re-establishment RX PDU M-2 Delivered PDU M-1 RX_DELIV (first undelivered) PDU M RX_REORD (t-Reordering) PDU M+1 RX_NEXT (expected) PDU M+2 Not yet rcvd t-Reordering running at RX_REORD PDCP Variable Legend Submitted, awaiting ACK TX_NEXT / RX_NEXT pointer Delivered / ACK'd Pending (not yet available) Re-estab retransmits from RX_DELIV to TX_NEXT−1

§26.3 T311 Timer and Cell Selection During Re-establishment

After declaring RLF, the UE starts T311 and begins searching for a suitable cell. T311 defines the maximum time allowed for this search. If a suitable cell satisfying the S-criteria is found before T311 expires, the UE proceeds to the re-establishment procedure. If T311 expires without finding a suitable cell, the UE enters RRC_IDLE and the ongoing call is dropped.

"t311: timer for waiting for RRCReestablishment or RRCSetup message after cell selection during re-establishment procedure. Value in ms. Enumerated (ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000)." — TS 38.331 §6.3.2, TimersAndConstants IE (Release 17)

The T311 timer is configured by the network in the TimersAndConstants IE within RadioResourceConfigCommon. The default value in most deployments is 1000 ms, but this may be insufficient in environments with sparse coverage or high UE mobility, where the UE must spend additional time performing beam sweeping and cell selection measurements before finding a suitable target.

Table 26.4 — T311 Timer Values and Network Impact (TS 38.331 §6.3.2)
T311 Value (ms) IE Enum Suitable Scenario Risk if Too Short Risk if Too Long
1000 ms1000 Dense urban; cells within 1–2 s search T311 expires before cell found → drop
3000 ms3000 Urban; moderate cell density Marginal for high-speed UE UE stays in search 3 s before dropping
5000 ms5000 Suburban; moderate density, some gaps 5 s data interruption before drop
10000 ms10000 Rural; wide-area coverage gaps 10 s search phase hurts TCP retransmission
15000 / 20000 / 30000 ms15000–ms30000 Very sparse coverage; NTN / high-altitude Extended data outage; TCP timeout likely
Figure 26.2 — T311 Timer State Machine (TS 38.331 §5.3.7.3)
T311 Timer State Machine — TS 38.331 §5.3.7.3 RLF DETECTED T310 expired / RLC fail start T311 T311 STARTED SRBs suspended; MAC reset scan cells CELL SEARCH S-criteria evaluation cell found SUITABLE CELL FOUND S_rxlev>0 & S_qual>0 T311 expires T311 EXPIRED No cell found in time RE-ESTAB PROCEED RRC_IDLE CALL DROP Upper path → L.RRC.ReEstabSucc incremented Lower path → L.RRC.ReEstabFail.T311Exp incremented T311 elapsed (e.g., 800 ms of 1000 ms) T311 expiry

§26.4 Re-establishment Counters and KPIs (TS 28.552)

TS 28.552 defines the performance measurement framework for 5G NR. The re-establishment counter family falls within the RRC measurement group and provides the primary KPI indicators for call retainability analysis. All counters in this section are specified in TS 28.552 §5.1.1.6.

"L.RRC.ReEstabAtt: This measurement provides the number of RRC connection re-establishment attempts. Measurement subcounters may be used for different re-establishment causes." — TS 28.552 §5.1.1.6.1 (Release 17)
Table 26.5 — TS 28.552 Re-establishment Counter Definitions
Counter Name TS 28.552 Reference Trigger Condition Counter Type
L.RRC.ReEstabAtt §5.1.1.6.1 gNB receives RRCReestablishmentRequest on SRB0 Accumulative
L.RRC.ReEstabSucc §5.1.1.6.2 gNB sends RRCReconfiguration and receives RRCReconfigurationComplete Accumulative
L.RRC.ReEstabFail.CellNotFound §5.1.1.6.3 gNB sends RRCReestablishmentReject because UE context is not found Accumulative
L.RRC.ReEstabFail.T311Exp §5.1.1.6.4 T311 expires at the UE before a suitable cell is found (UE reports in RLF log) Accumulative
L.RLF.Total §5.1.1.5.1 Any RLF event declared at gNB (T310 / RLC maxRetx / RACH fail) Accumulative
L.RRC.ConnEstabAtt §5.1.1.1.1 New RRC Setup attempt (reference denominator for context) Accumulative

KPI Formulas — Re-establishment Success Rate and Call Drop Rate

Re-establishment Success Rate (RSSR):

RSSR (%) = (L.RRC.ReEstabSucc / L.RRC.ReEstabAtt) × 100

Re-establishment Failure Rate:

REFR (%) = 100 − RSSR

Context Not Found Ratio:

CNF (%) = (L.RRC.ReEstabFail.CellNotFound / L.RRC.ReEstabAtt) × 100

T311 Expiry Ratio:

T311R (%) = (L.RRC.ReEstabFail.T311Exp / L.RRC.ReEstabAtt) × 100

Retainability KPI contribution: Each RLF that does not result in a successful re-establishment contributes one call drop to the Retainability KPI defined in TS 28.552 §5.1.1.6.

Industry targets: RSSR > 90% (urban), > 80% (suburban), > 70% (rural). T311R < 5%. CNF < 10%.

Worked Example 26.2 — Re-establishment KPI Calculation

One-hour PM window, single gNB:

L.RRC.ReEstabAtt = 800

L.RRC.ReEstabSucc = 640

L.RRC.ReEstabFail.CellNotFound = 120

L.RRC.ReEstabFail.T311Exp = 40

Residual failures (other causes) = 800 − 640 − 120 − 40 = 0

RSSR = 640/800 × 100 = 80.0%

CNF ratio = 120/800 × 100 = 15.0% — exceeds 10% threshold; Xn context forwarding issue suspected

T311 Expiry ratio = 40/800 × 100 = 5.0% — at the threshold; T311 may be too short for this cell's coverage radius

Action: CNF = 15% → check Xn interface configuration and context forwarding. T311R = 5% → consider increasing T311 from 1000 ms to 3000 ms for cell sites with large coverage radius.

Figure 26.4 — Re-establishment Outcomes Funnel (Worked Example 26.2 Values)
Re-establishment Outcome Funnel — TS 28.552 Counter Framework Total RLF Events 850 L.RLF.Total — all failure types including T311 expiry before gNB awareness Re-establishment Attempts (gNB received) 800 L.RRC.ReEstabAtt — UE found suitable cell within T311 −50 T311Exp UE Context Found at gNB 680 Re-estab not rejected — context located via Xn or locally −120 CellNotFound Security + Reconfiguration Successful 640 RRCReconfigurationComplete received → L.RRC.ReEstabSucc −40 other fail Call Retained — DRBs Restored 640 PDCP state resumed · RSSR = 640/800 = 80.0% RSSR 80.0%

§26.5 Root Cause Analysis Framework

Low RSSR is almost always caused by one of three distinct failure modes, each identifiable by a specific counter ratio. The RCA process follows a structured counter-first approach: measure counter ratios → identify dominant failure mode → apply targeted fix → re-measure to confirm improvement.

Table 26.6 — Re-establishment RCA Decision Table (TS 28.552 Counter-Driven)
Symptom Key Counter Ratio Threshold Probable Root Cause Corrective Action
High CNF ratio L.RRC.ReEstabFail.CellNotFound / L.RRC.ReEstabAtt >10% Xn context not forwarded; inter-gNB re-establishment without prior handover context Enable Xn context forwarding; verify Xn link; add mobility-based context pre-caching
High T311 expiry ratio L.RRC.ReEstabFail.T311Exp / L.RRC.ReEstabAtt >5% Coverage gaps; T311 too short for cell density; high-mobility UE outpacing search speed Increase T311 (e.g., 1000→3000 ms); improve coverage; tune A3 offset to trigger HO earlier
Low RSSR at cell boundary RSSR by cell sector <80% Mobility RLF: HO not triggered before UE enters deep fade; A3/TTT misconfiguration Reduce A3 offset or TTT to trigger earlier HO; increase power for border cells
High RLF rate but acceptable RSSR L.RLF.Total / hour Absolute volume Coverage holes; interference; T310 too short Reduce RLF events first (coverage, T310 tuning); then address RSSR
RSSR degrades at peak hours RSSR hourly trend Hourly drop >5% Xn congestion; gNB processing overload dropping re-estab context lookups Check Xn signalling load; upgrade Xn capacity; load-balance gNB

Worked Example 26.3 — RCA Case Study: L.RRC.ReEstabFail.CellNotFound = 45% of Failures

Observed counters (one gNB, 24-hour period):

L.RRC.ReEstabAtt = 2,400  |  L.RRC.ReEstabSucc = 1,560  |  RSSR = 65.0%

L.RRC.ReEstabFail.CellNotFound = 756  |  CNF ratio = 756/2400 = 31.5%

L.RRC.ReEstabFail.T311Exp = 84  |  T311R = 84/2400 = 3.5% (acceptable)

Analysis: CNF dominates at 31.5%. T311R is within tolerance. This pattern is characteristic of missing Xn context forwarding: the UE re-establishes at a neighbouring gNB that has no prior knowledge of the UE (no Xn handover was in progress before RLF).

Verification: Cross-check Xn interface statistics. If Xn Setup and X2-like UE context transfer counters show 0 for this cell pair, Xn is either not configured or the Xn path is down.

Corrective action: Enable Xn context forwarding between this gNB and the three neighbouring gNBs covering the same area. After fix, measure for 24 hours:

L.RRC.ReEstabFail.CellNotFound = 156  →  CNF ratio = 6.5% (improvement: 31.5% → 6.5%)

L.RRC.ReEstabSucc = 2,184  →  RSSR = 91.0% (improvement: 65% → 91%)

§26.6 PDCP Recovery Optimisation Parameters

Beyond the re-establishment procedure itself, the PDCP layer configuration significantly impacts recovery time and data integrity after re-establishment. Three parameters warrant particular attention: SN size, discardTimer, and integrityProtection.

Table 26.7 — PDCP Optimisation Parameters (TS 38.331 §6.3.2, PDCP-Config IE)
Parameter TS 38.331 IE Options Re-establishment Impact Recommendation
PDCP SN Size (DL/UL) pdcp-SN-SizeDL / pdcp-SN-SizeUL len12bits, len18bits 12-bit wraps in <0.5 s at 100 Mb/s; 18-bit wraps in 31 s. More HFN sync risk with 12-bit. Use 18-bit for eMBB DRBs; 12-bit acceptable for IoT / low-rate bearers
discardTimer discardTimer ms10 to ms10000 (17 values) SDUs discarded if not delivered within discardTimer ms. Too short = data loss during re-establishment window Set ≥ T311_max + avg_reestab_time. E.g., 300 ms for T311=1000ms networks
integrityProtection integrityProtection enabled (SRBs mandatory), optional (DRBs) Adding integrity to DRBs increases PDCP PDU overhead and processing latency during re-establishment Mandatory for SRB1/SRB2; enable for DRB only if regulatory requirement (e.g., URLLC)
t-Reordering t-Reordering ms0 to ms500 (21 values) Controls how long receiver waits for out-of-order PDUs. Too short → premature delivery gap; too long → head-of-line blocking 100–200 ms for eMBB; 50 ms for latency-critical bearers
rohc-Profiles headerCompression Profile 0x0001 (RTP/UDP), etc. RoHC context must be re-initialised after re-establishment; adds first-packet overhead Enable for VoNR; accept context reset overhead at re-establishment

Worked Example 26.4 — discardTimer Sizing for Re-establishment Window

Network configuration: T311 = 1000 ms. Average re-establishment procedure time (from RRCReestablishmentRequest to RRCReconfigurationComplete) = 80 ms measured from drive tests.

Total recovery window = T311 + re-establishment time = 1000 + 80 = 1080 ms worst case (for a UE that finds a cell just before T311 expires).

Current discardTimer = 100 ms: SDUs submitted to PDCP during the RLF period are discarded after 100 ms. Since the re-establishment can take up to 1080 ms, all PDUs buffered during this window have already been discarded before re-establishment completes. Result: zero data recovery; TCP experiences a complete window loss and retransmits from the last ACK point.

Corrective action — increase discardTimer to 1500 ms: SDUs buffered during the RLF event survive the 1080 ms recovery window. After re-establishment, PDCP retransmits from RX_DELIV to TX_NEXT − 1. TCP sees only a brief reordering event rather than a full window reset.

Trade-off: Increasing discardTimer increases PDCP buffer memory requirements. For a DRB with UL peak rate 50 Mb/s, 1500 ms × 50 × 106 / 8 = 9.375 MB of buffer must be reserved. This is acceptable on modern gNB hardware but must be validated against the gNB buffer allocation per UE.

Result after fix: Drive test shows TCP goodput during re-establishment events improved by 40% due to data continuity. No buffer exhaustion observed at the measured UE count.

Figure 26.5 — Re-establishment Counter Dashboard — Worked Example 26.2 Values (TS 28.552)
TS 28.552 Re-establishment Counter Dashboard (1-hour PM window) 800 600 400 200 0 800 640 120 40 0 L.RRC. ReEstabAtt L.RRC. ReEstabSucc L.RRC.ReEstab Fail.CellNotFnd L.RRC.ReEstab Fail.T311Exp L.RRC.ReEstab Fail.Other RSSR 80% CNF% 15%

§26.7 End-to-End RCA Case Study: RLF to Data Resumption

This section presents a complete numerical timeline tracking the full sequence from RLF declaration through re-establishment, PDCP recovery, and data resumption. All values reference the counter framework from TS 28.552 and the procedure timings from TS 38.331 §5.3.7.

Table 26.8 — End-to-End Re-establishment Timeline (Worked Case Study)
Time (ms) Event 3GPP Reference Counter / State Change
t = 0 T310 expires after N310=6 OOS indications, no N311 recovery TS 38.331 §5.3.10 L.RLF.T310Exp += 1; T311 started; SRBs suspended
t = 0–15 UE resets MAC, applies default PHY config, begins cell search TS 38.331 §5.3.7.2 PDCP TX_NEXT = 5200 preserved; RX_DELIV = 5185 (15 unACK'd PDUs buffered)
t = 15 UE decodes SSB from neighbouring gNB; S-criteria satisfied TS 38.304 §5.2.3.2 T311 still running (15 ms elapsed of 1000 ms); cell selected
t = 18 UE sends RRCReestablishmentRequest (SRB0/CCCH) TS 38.331 §5.3.7.3 L.RRC.ReEstabAtt += 1; shortMAC-I computed over C-RNTI + physCellId
t = 23 gNB locates UE context via Xn (context forwarded from source gNB) TS 38.300 §9.2.4 shortMAC-I verified; no RRCReestablishmentReject issued
t = 28 gNB sends RRCReestablishment; SRB1 activated with security TS 38.331 §5.3.7.4 nextHopChainingCount = 2; radioResourceConfigDedicated sent
t = 35 UE sends RRCReestablishmentComplete on SRB1/DCCH TS 38.331 §5.3.7.5 SRBs resumed on new cell; PDCP retransmission of COUNT 5185–5199 begins
t = 45 gNB sends RRCReconfiguration (DRBs restored) TS 38.331 §5.3.5 radioBearerConfig includes all DRBs; PDCP SN continuity maintained
t = 52 UE sends RRCReconfigurationComplete TS 38.331 §5.3.5.3 L.RRC.ReEstabSucc += 1; all DRBs active; normal data flow resumed
t = 52–80 PDCP retransmits 15 buffered PDUs (COUNT 5185–5199) TS 38.323 §5.2.2 RX_DELIV advances from 5185 to 5200; no gap at TCP layer
t = 80 Normal data flow fully resumed; PDCP RX_NEXT = TX_NEXT = 5201 TS 38.323 §7.1 T311 elapsed = 80 ms (far below 1000 ms expiry). Total outage = 80 ms.

The case study demonstrates that when all conditions are satisfied — Xn context forwarding active, T311 generous enough, discardTimer > recovery window — the total data interruption is as low as 80 ms. This is below the VoNR break threshold (TS 26.114 §7.3: <300 ms interruption for seamless voice) and invisible to most application-layer protocols.

Figure 26.6 — Before/After Optimisation Impact on RSSR (Four Optimisation Actions)
RSSR Before / After Optimisation Actions (% scale) 100% 90% 80% 70% 60% 50% target 72% 80% Before After T311: 1000→3000ms +8% RSSR 65% 90% Before After Xn Context Forwarding +25% RSSR (dominant fix) 80% 87% Before After discardTimer 100→1500ms +7% RSSR 85% 90% Before After PDCP SN 12→18 bit +5% RSSR (high-rate DRBs) Before optimisation After optimisation 90% RSSR target

Chapter Summary

RRC Re-establishment is the normative 3GPP mechanism that converts an RLF event into a brief data interruption rather than a full call drop. Its success depends on three parallel conditions: the UE finding a suitable cell within T311, the target gNB having a stored context (forwarded via Xn), and the PDCP layer preserving COUNT state so that in-flight data can be retransmitted without gaps at the application layer.

The TS 28.552 counter framework provides precise visibility into each failure mode. L.RRC.ReEstabFail.CellNotFound reveals coverage and Xn forwarding problems; L.RRC.ReEstabFail.T311Exp reveals cell density and T311 configuration issues. Together they decompose the overall RSSR metric into actionable sub-causes that can be addressed independently.

Table 26.9 — Chapter 26 Quick Reference — Key Parameters and Targets
Parameter / KPI 3GPP Reference Typical Value / Target Direction
T311 timer TS 38.331 §6.3.2 1000–3000 ms (urban); 5000–10000 ms (rural) Increase if T311R > 5%
PDCP SN size (eMBB DRBs) TS 38.331 §6.3.2 PDCP-Config 18-bit preferred for >50 Mb/s bearers Upgrade from 12-bit
discardTimer TS 38.331 §6.3.2 PDCP-Config 1500–3000 ms (eMBB) Increase if < T311 + re-estab time
RSSR target (urban) TS 28.552 §5.1.1.6 > 90% Higher is better
CNF ratio target TS 28.552 §5.1.1.6.3 < 10% Lower is better
T311 expiry ratio target TS 28.552 §5.1.1.6.4 < 5% Lower is better
← Chapter 25: RLF Causes & Detection Chapter 27: VoNR Retainability & SRVCC →
Page 26
Chapter 27

Drop Call Analysis Framework

Systematic drop call RCA from 3GPP first principles: taxonomy of all four abnormal-release categories, complete TS 28.552 counter framework (L.RRC.ConnAbnormRel.*), RLF and handover-failure interaction, TS 38.331 §5.3.10 / §5.5.4.4 parameter optimisation, and a full field-case study reducing DCR from 3.2% to 0.4% — with four worked numerical examples, eight tables

3GPP TS 28.552 §5.1.1.6 · TS 38.331 §5.3.10, §5.5.4.4 · TS 38.321 §5.1
📐 7 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Define a drop call precisely and distinguish the three terminal conditions that end an established RRC connection abnormally
  2. Classify every drop event into one of four categories (Radio, Re-establishment Failure, Handover Failure, NGAP Error) using the TS 28.552 sub-counter framework
  3. Compute the Drop Call Rate (DCR) KPI from L.RRC.ConnAbnormRel.Total and interpret its denominator correctly
  4. Apply the five-step RCA methodology — counter isolation, spatial drill-down, temporal correlation, parameter audit, fix and validate — to any network cell
  5. Calculate A3 event trigger conditions from a3Offset, hysteresis, and timeToTrigger using the TS 38.331 §5.5.4.4 formula
  6. Identify the radio optimisation levers (tilt, power, ICIC, a3Offset, T310) and quantify their expected impact on DCR sub-categories
  7. Execute a complete end-to-end drop call investigation and verify a numerical before/after improvement against a DCR < 0.5% target

Introduction — What is a Drop Call?

A drop call is an RRC connection that was fully established, had data flowing on at least one Data Radio Bearer (DRB), and then terminated abnormally — that is, without a normal release initiated by either the UE (RRCRelease with cause other) or the network (NGAP UE Context Release with cause normal-release). From the retainability perspective a drop is the most damaging event: the user's session was active and was destroyed by a network or radio failure.

Three terminal conditions lead to an abnormal release after an RRC connection is established:

  • Radio Link Failure (RLF): the physical connection between UE and gNB fails — T310 expires, RLC maxRetxThreshold is exceeded, or beam-failure RACH exhausts preambles. The UE attempts RRC Re-establishment (Chapter 26); if re-establishment also fails, the connection is lost permanently.
  • Re-establishment failure: the UE declares RLF and initiates re-establishment but cannot find a suitable cell before T311 expires, or the target gNB rejects the request because it cannot locate the UE context. The connection falls back to RRC_IDLE and is counted as a drop.
  • NGAP / AMF-initiated release: the 5G Core Network signals a UE Context Release Command via the NG Application Protocol (NGAP, TS 38.413). Causes include PDU session failure, AMF overload, authentication failure, or inactivity timer expiry in the AMF. From the radio access perspective this is an abnormal release because it terminates a DRB-active session.

A fourth operational path — handover execution failure — leads to RLF in the source cell when the UE has already been instructed to detach but the target cell fails to receive or process the connection. This is captured as a distinct TS 28.552 sub-counter and analysed separately in Section 5.

The primary retainability KPI is the Drop Call Rate (DCR):

DCR (%) = [ L.RRC.ConnAbnormRel.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) ] × 100

Denominator = all RRC connections that successfully passed the establishment or handover execution phase, i.e., all connections that had the opportunity to be dropped.

"L.RRC.ConnAbnormRel: This measurement provides the number of UE RRC connection abnormal releases, including the sub-measurements L.RRC.ConnAbnormRel.Radio, L.RRC.ConnAbnormRel.ReestabFail, L.RRC.ConnAbnormRel.HoFail, and L.RRC.ConnAbnormRel.NgapErr." — TS 28.552 §5.1.1.6.2 (Release 17)
Figure 27.1 — Drop Call Taxonomy Tree: Four abnormal-release categories with TS 28.552 counter names
Drop Call (Abnormal RRC Release) Category A Radio Layer (RLF: T310 / maxRetx) Category B Re-estab Failure (T311 / No Context) Category C NGAP / AMF Error (Core-initiated rel.) Category D HO Failure (Exec fail → RLF) L.RRC.ConnAbnormRel .Radio L.RRC.ConnAbnormRel .ReestabFail L.RRC.ConnAbnormRel .NgapErr L.RRC.ConnAbnormRel .HoFail L.RRC.ConnAbnormRel.Total Sum of all four sub-counters (TS 28.552) DCR (%) = L.RRC.ConnAbnormRel.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) × 100 Target: DCR < 0.5% | Alarm threshold: DCR > 1.0%

§27.1 Drop Call Taxonomy

Every abnormal release can be assigned to one of four categories. This classification is not merely academic — each category points to a different optimisation domain and a different engineering action.

Table 27.1 — Drop Call Category Classification (TS 28.552 / TS 38.331)
Category Root Cause TS 28.552 Counter Key Parameters Primary Action
A — Radio T310 expiry, RLC maxRetxThreshold exceeded, BFR RACH failure L.RRC.ConnAbnormRel.Radio T310, N310, N311, maxRetxThreshold Coverage/interference improvement, antenna tilt, power optimisation
B — Re-estab Fail T311 expiry before suitable cell found, UE context not available at target gNB L.RRC.ConnAbnormRel.ReestabFail T311, Xn interface, cell overlap Improve cell overlap, enable Xn context sharing, adjust T311
C — NGAP Error AMF-initiated release, PDU session failure, authentication failure, inactivity L.RRC.ConnAbnormRel.NgapErr AMF timers, PDU session parameters Core network investigation, NGAP trace analysis, NG-RAN interface check
D — HO Failure HO execution failure — UE detaches from source, cannot connect to target → RLF L.RRC.ConnAbnormRel.HoFail a3Offset, hysteresis, TTT, X2/Xn timing Mobility parameter optimisation, reduce too-late and too-early HO

The four categories are mutually exclusive as counters — each event increments exactly one sub-counter — but their root causes are interconnected. For example, a too-late handover (Category D) is triggered by the same poor coverage condition that could produce a Category A Radio drop in the absence of a mobility trigger. Understanding this interdependence prevents over-attribution when DCR sub-counters are analysed in isolation.

§27.2 Counter Framework (TS 28.552)

The TS 28.552 measurement framework for drop calls is built around the L.RRC.ConnAbnormRel counter family. Each sub-counter corresponds to a specific failure mode and is incremented at the gNB when the corresponding event is observed. The counters are defined in TS 28.552 §5.1.1.6.

"L.RRC.ConnAbnormRel.Radio: The number of UE RRC connection abnormal releases caused by radio link failure. An abnormal release due to radio link failure is counted when the gNB releases the UE context due to radio link failure." — TS 28.552 §5.1.1.6.3 (Release 17)
Table 27.2 — TS 28.552 L.RRC.ConnAbnormRel Counter Definitions and KPI Formulas
Counter TS 28.552 Clause Definition (abbreviated) KPI Formula Target Threshold
L.RRC.ConnAbnormRel.Radio §5.1.1.6.3 Abnormal releases caused by radio link failure at the gNB Radio DCR (%) = counter / denom × 100 < 0.30%
L.RRC.ConnAbnormRel.ReestabFail §5.1.1.6.4 Abnormal releases where re-establishment was attempted but failed ReestabFail DCR (%) = counter / denom × 100 < 0.05%
L.RRC.ConnAbnormRel.HoFail §5.1.1.6.5 Abnormal releases due to handover execution failure leading to RLF HoFail DCR (%) = counter / denom × 100 < 0.10%
L.RRC.ConnAbnormRel.NgapErr §5.1.1.6.6 Abnormal releases triggered by NGAP error indication from core network NGAP DCR (%) = counter / denom × 100 < 0.05%
L.RRC.ConnAbnormRel.Total §5.1.1.6.2 Sum of all four sub-counters (total abnormal releases) DCR (%) = Total / (ConnEstabSucc + HO.ExecSucc) × 100 < 0.50%

The denominator for DCR is the sum of successfully established connections (L.RRC.ConnEstabSucc) and successfully executed inbound handovers (L.HO.ExecSucc). Both events represent moments when the gNB assumes responsibility for maintaining an active connection. Using this denominator correctly attributes drop risk to all connections the cell serves, not just those it originated.

Worked Example 27.1 — DCR Calculation from Raw Counters

Given (one-hour PM period, Cell XYZ):

  • L.RRC.ConnEstabSucc = 8,450
  • L.HO.ExecSucc = 3,200 (inbound HOs that successfully executed)
  • L.RRC.ConnAbnormRel.Radio = 82
  • L.RRC.ConnAbnormRel.ReestabFail = 18
  • L.RRC.ConnAbnormRel.HoFail = 24
  • L.RRC.ConnAbnormRel.NgapErr = 11

Step 1: Total = 82 + 18 + 24 + 11 = 135

Step 2: Denominator = 8,450 + 3,200 = 11,650

Step 3: DCR = 135 / 11,650 × 100 = 1.16%

Category breakdown: Radio = 60.7%, HoFail = 17.8%, ReestabFail = 13.3%, NGAP = 8.2%

Conclusion: DCR of 1.16% exceeds the 0.5% target. Radio layer (Cat A) is the dominant cause at 60.7%. Priority investigation: coverage and interference optimisation in Cell XYZ.

Table 27.3 — DCR Sub-KPI Thresholds and Alarm Levels
KPI Green (<) Amber (<) Red (≥) Action on Red
Total DCR (%) 0.50 1.00 1.00 Immediate RCA — check all four sub-counters
Radio DCR (%) 0.30 0.60 0.60 Coverage audit — RSRP/SINR scan, tilt optimisation
HoFail DCR (%) 0.10 0.20 0.20 Mobility audit — a3Offset, TTT, ping-pong check
ReestabFail DCR (%) 0.05 0.10 0.10 Cell overlap check, T311 value audit, Xn status
NGAP DCR (%) 0.05 0.10 0.10 Core network trace, AMF logs, NG interface health
Figure 27.2 — DCR KPI Waterfall: Total connections, abnormal releases broken by category
Abnormal Releases (count) 25 50 75 82 82 Radio 60.7% 24 HO Failure 17.8% 18 Reestab Fail 13.3% 11 NGAP Error 8.2% 135 Total All Categories DCR = 1.16% Abnormal Release Distribution — Cell XYZ (1 h PM Period)

§27.3 Systematic RCA Methodology

When a cell exceeds the DCR alarm threshold, the investigation follows five ordered steps. Skipping steps leads to misdiagnosis: for example, jumping directly to parameter tuning without first confirming the dominant category wastes effort on the wrong sub-system.

Table 27.4 — Five-Step RCA Methodology for Drop Call Analysis
Step Activity Tool / Data Source Output
1. Counter Category Isolation Compare L.RRC.ConnAbnormRel sub-counters; identify dominant category (>50%) PM export, counter dashboard Dominant category identified (A/B/C/D)
2. Spatial Analysis Rank cells by DCR or sub-category KPI; map worst cells geographically GIS tool, PM data, cell coordinates Hot-spot cells / sectors identified
3. Temporal Analysis Plot counter vs. time-of-day, load (L.RRC.ConnMean), and weather events PM hourly granularity Load-driven vs. time-independent root cause
4. Parameter Audit Check T310, N310, maxRetxThreshold, T311, a3Offset, hysteresis, TTT against network-standard values Configuration management export Parameter deviations and non-compliant cells
5. Fix and Validate Apply corrective action; monitor DCR for 24–48 h post-change PM 15-min / 1-h granularity Before/after KPI comparison; close ticket if target met
"The UE shall declare radio link failure and initiate the actions specified in clause 5.3.7.2: upon T310 expiry; upon random access problem indication from MAC layer while T300, T301, T304 or T311 is not running; or upon indication from RLC that the maximum number of retransmissions has been reached." — TS 38.331 §5.3.10.1 (Release 17)
Figure 27.3 — Five-Step Drop Call RCA Flowchart
Step 1: Counter Category Isolation Compare .Radio / .HoFail / .ReestabFail / .NgapErr — find dominant (>50%) Step 2: Spatial Analysis Rank cells by DCR; map hot-spot sectors on GIS — identify geographic pattern Step 3: Temporal Analysis Plot DCR vs. time-of-day and RRC load — distinguish load-driven vs. permanent faults Step 4: Parameter Audit Check T310, N310, maxRetxThreshold, a3Offset, TTT vs. network standard Step 5: Fix and Validate Apply corrective action — monitor 24–48 h — compare before/after KPIs L.RRC.ConnAbnormRel.* TS 28.552 §5.1.1.6 GIS overlay + DCR heatmap 15-min granularity recommended TS 38.331: T310, N310, N311 TS 38.331: a3Offset §5.5.4.4

§27.4 Radio Drop Optimisation

Category A (Radio) drops are caused by physical-layer degradation that exhausts the 3GPP timer and counter thresholds before the mobility sub-system can resolve the situation. Four engineering levers are available.

27.4.1 Coverage Optimisation

The primary cause of T310-based RLF is sustained low RSRP/SINR, typically resulting from coverage holes, antenna misalignment, or excessive inter-cell interference. The physical-layer Q_out threshold corresponds to an estimated PDCCH BLER > 2%, which at typical operating points occurs when SINR drops below approximately −6 dB (cell-edge conditions). Corrective actions are antenna downtilt (1–3°), transmit power adjustment, and neighbour-cell load balancing.

27.4.2 Interference Coordination

In TDD deployments, UL interference from adjacent-cell DL transmissions is a frequent Radio drop cause. Setting the UL/DL ratio to a consistent value across all cells in a cluster eliminates cross-link interference (CLI). Inter-Cell Interference Coordination (ICIC) via fractional frequency reuse reduces the effective interference density in the cell-edge region.

27.4.3 Mobility Timing Optimisation

If the RLC maxRetxThreshold-based drop (Category A) is occurring during handover command execution — i.e., the UE has received RRCReconfiguration but fails to access the target cell — the counter is correctly attributed to Category D (HoFail). However, if the UE is not in an active handover when maxRetxThreshold is exceeded, the root cause is radio quality. Increasing maxRetxThreshold extends the RLC AM retransmission budget, delaying RLF declaration and providing more time for the channel to recover — at the cost of increased latency for applications.

27.4.4 Timer Parameter Audit (T310)

T310 is started when N310 consecutive OOS indications are received. The table below shows the interaction between T310, N310, and worst-case RLF declaration time. A T310 too short declares RLF during brief fading events that would self-recover; a T310 too long delays UE release and wastes air interface resources.

Worked Example 27.2 — T310 Impact on RLF Declaration Time

Parameters: N310 = 6, T310 = 1000 ms, TTI = 1 ms, OOS indication period ≈ 20 ms (one radio frame at the monitoring periodicity per TS 38.133)

Time to start T310: N310 × 20 ms = 6 × 20 ms = 120 ms after first OOS indication

Maximum time to RLF: 120 ms + 1000 ms = 1120 ms ≈ 1.12 seconds

If T310 reduced to 200 ms: Maximum RLF time = 120 ms + 200 ms = 320 ms

Trade-off: A 1-second fading event (multi-path deep fade during UE movement) would trigger RLF with T310 = 200 ms but allow recovery with T310 = 1000 ms. Recommendation: keep T310 = 1000 ms for macro outdoor cells; T310 = 200 ms is appropriate only for indoor small cells with dense coverage overlap where recovery is fast.

Table 27.5 — Radio Drop Optimisation Parameters
Parameter TS Reference Typical Issue Corrective Action Expected Impact
T310 TS 38.331 §6.3.2 Too short → drops on brief fades; too long → slow RLF detection Set 1000 ms for macro, 200 ms for dense indoor Reduce Cat A drops 10–20%
N310 TS 38.331 §6.3.2 Too low → T310 starts on single burst OOS Increase from 2 to 6 for macro cells Reduce spurious T310 starts
N311 TS 38.331 §6.3.2 Too high → recovery requires many consecutive IS signals Set to 1 for fast recovery in good coverage Stops T310, avoids unnecessary RLF
maxRetxThreshold (RLC) TS 38.322 §7.3 Too low → maxRetx-based RLF on brief congestion Increase from 4 to 32 retransmissions Reduce Cat A maxRetx drops
Antenna tilt 3GPP TR 36.942 (coverage) Undertilt → coverage hole; overtilt → weak edge signal Drive test, adjust 1–3° mechanical/electrical tilt RSRP improvement 3–6 dB at cell edge

§27.5 Handover Failure and Drop Call Interaction

Handover failure (Category D) is the most complex drop call category because it involves three distinct failure modes — late HO, too-early HO, and HO to wrong cell — each requiring a different corrective action.

27.5.1 Late Handover

A late handover occurs when the serving cell SINR has already degraded below the physical-layer OOS threshold (PDCCH BLER > Q_out = 2%) before the A3 event triggers and a Measurement Report reaches the gNB. The gNB issues RRCReconfiguration (handover command), but the UE is already in OOS state. If T310 expires before the UE can access the target cell via RACH, RLF is declared in the source cell and the connection drops.

Cause: a3Offset too large, timeToTrigger too long, or A3 threshold set above the RLF threshold.

Fix: Reduce a3Offset (e.g., from 5 to 2 dB) and/or reduce TTT (e.g., from 320 ms to 160 ms) to trigger HO earlier while SINR is still acceptable.

27.5.2 Too-Early Handover

A too-early handover occurs when the UE is handed over to a target cell whose SINR is actually worse than the serving cell at the time of HO completion. The UE loses the connection shortly after the HO and immediately initiates RRC Re-establishment back to the source cell (or to a third cell). This pattern generates a characteristic "ping-pong" signature in counter data: high L.HO.ExecSucc to the target cell followed immediately by high L.RRC.ReEstabAtt with failedPCellId = target cell.

Fix: Increase a3Offset (add hysteresis) or increase TTT to require a longer period of sustained A3 condition before the HO is triggered.

27.5.3 A3 Event Condition Formula

"Event A3 (Neighbour becomes offset better than SpCell): The entry condition for this event is: Mn + Ofn + Ocn − Hys > Ms + Ofs + Ocs + Off, where Mn is the measurement result of the neighbour cell, Ms is the measurement result of the serving cell, Off is the A3-Offset, Hys is the hysteresis parameter, and Ofn/Ofs/Ocn/Ocs are cell and frequency offsets." — TS 38.331 §5.5.4.4 (Release 17)

Simplifying for the common case where frequency offsets (Ofn, Ofs) and cell-specific offsets (Ocn, Ocs) are zero, the A3 entry condition reduces to:

A3 Entry: RSRP_neighbour − hysteresis > RSRP_serving + a3Offset

Which rearranges to: RSRP_neighbour > RSRP_serving + a3Offset + hysteresis

Worked Example 27.3 — A3 Trigger Condition Calculation

Parameters: a3Offset = 3 dB, hysteresis = 1 dB, timeToTrigger (TTT) = 160 ms

A3 Entry condition:

RSRP_neighbour > RSRP_serving + 3 + 1 = RSRP_serving + 4 dB

Scenario: Serving RSRP = −95 dBm, Neighbour RSRP = −90 dBm

Check: −90 > −95 + 4 = −91? → −90 > −91 ✓ → A3 Entry condition MET

A3 Leave condition: RSRP_neighbour + hysteresis < RSRP_serving + a3Offset

→ −90 + 1 = −89 < −95 + 3 = −92? → −89 < −92? ✗ → A3 does NOT leave immediately

TTT: A3 condition must remain continuously satisfied for 160 ms before Measurement Report is sent. If UE is moving rapidly and Neighbour RSRP drops during the 160 ms window, the TTT restarts.

Conclusion: With these parameters, HO is triggered when the neighbour exceeds the serving cell by 4 dB for 160 ms continuously. The 4 dB margin is sufficient to avoid ping-pong while still triggering HO early enough to avoid RLF at cell edge.

Figure 27.4 — Handover Failure vs. Drop: Normal HO, Late HO (RLF in source), and Too-Early HO timeline comparison
t=0 t=0.75s t=1.5s t=2.25s t=3.0s Normal HO Late HO Too-Early HO Source cell — good RSRP A3 trigger HO cmd Target cell — connected, data flowing Source — RSRP OK SINR below Q_out — OOS A3 (too late!) T310 expiry → RLF Connection DROPPED Source — OK A3 early Target RACH Target fail → Re-estab Re-estab back to source Drop or ping-pong HO (Cat D counted) Good RSRP OOS / RLF Target cell connected Re-establishment

§27.6 Field Investigation Case Study

The following case study applies the five-step RCA methodology to a real-world scenario where a cell is far above the DCR target. All numbers are consistent with 3GPP specifications and typical macro-cell network behaviour.

Scenario: Cell ABC — DCR = 3.2% (Target < 0.5%)

Step 1 — Counter Category Isolation

PM data for Cell ABC (one week average, 15-min granularity):

  • L.RRC.ConnEstabSucc = 42,000/h, L.HO.ExecSucc = 8,000/h → Denominator = 50,000/h
  • L.RRC.ConnAbnormRel.Radio = 1,120/h (70.0%)
  • L.RRC.ConnAbnormRel.HoFail = 320/h (20.0%)
  • L.RRC.ConnAbnormRel.ReestabFail = 160/h (10.0%)
  • L.RRC.ConnAbnormRel.NgapErr = 0/h (0.0%)
  • Total = 1,600/h → DCR = 1,600/50,000 × 100 = 3.20%

Finding: Radio (Cat A) = 70%, HoFail (Cat D) = 20%. Priority: radio coverage improvement, then mobility audit.

Step 2 — Spatial Analysis

Drive test and RF scan of Cell ABC sector: RSRP < −110 dBm observed in the southern edge of the sector footprint (approximately 400 m radius). Serving SINR < −3 dB in the same area. Neighbour cell (Cell XYZ) RSRP in the same area = −106 dBm but is not being triggered due to a3Offset = 5 dB configuration.

Step 3 — Temporal Analysis

Drop rate is uniformly distributed across all hours of day — not load-correlated. This confirms a structural coverage deficit (antenna alignment issue) rather than a capacity or interference spike.

Step 4 — Parameter Audit

  • a3Offset = 5 dB (standard = 3 dB) → HO triggers 2 dB later than optimal → Late HO risk
  • hysteresis = 2 dB (standard = 1 dB) → further delays A3 entry by 1 dB
  • timeToTrigger = 320 ms (standard = 160 ms) → adds 160 ms delay in high-velocity UE scenarios
  • T310 = 500 ms (standard = 1000 ms) → T310 expires quickly, converting late HO into direct RLF

Step 5 — Corrective Actions and Verification

Action 1 (Coverage): Antenna mechanical downtilt adjusted from 3° to 5° in the problem sector → RSRP improvement of +4 dB at the cell edge (from −110 dBm to −106 dBm), SINR improves from −3 dB to +1 dB.

Action 2 (Mobility): a3Offset reduced from 5 dB to 3 dB; TTT reduced from 320 ms to 160 ms; T310 increased from 500 ms to 1000 ms.

Worked Example 27.4 — Before/After KPI Calculation

Before optimisation:

  • DCR = 3.20% (1,600/50,000)
  • Radio DCR = 2.24% (1,120/50,000)
  • HoFail DCR = 0.64% (320/50,000)
  • ReestabFail DCR = 0.32% (160/50,000)

After optimisation (measured 48 h post-change):

  • L.RRC.ConnAbnormRel.Radio = 110/h (−90% reduction, coverage improvement primary driver)
  • L.RRC.ConnAbnormRel.HoFail = 55/h (−83% reduction, mobility tuning)
  • L.RRC.ConnAbnormRel.ReestabFail = 35/h (−78% reduction, indirect benefit of coverage improvement)
  • Total = 200/h → DCR = 200/50,000 × 100 = 0.40%

Result: DCR reduced from 3.20% to 0.40%, achieving the <0.5% target. Radio DCR = 0.22% (within <0.30% green threshold).

Table 27.6 — Before/After KPI Summary — Cell ABC Optimisation
KPI Before After Target Status
Total DCR (%) 3.20 0.40 <0.50 ✅ PASS
Radio DCR (%) 2.24 0.22 <0.30 ✅ PASS
HoFail DCR (%) 0.64 0.11 <0.10 ⚠️ AMBER
ReestabFail DCR (%) 0.32 0.07 <0.05 ⚠️ AMBER
Cell-edge RSRP (dBm) −110 −106 >−105 ⚠️ Near target
Cell-edge SINR (dB) −3 +1 >0 ✅ PASS
Figure 27.5 — Parameter Sensitivity: DCR vs. a3Offset (0–5 dB) showing U-shaped optimum at 3 dB
DCR (%) 0.5 1.0 1.5 Target 1.8% 0 dB 1.2% 1 dB 0.7% 2 dB 0.4% 3 dB ★ Optimum 0.8% 4 dB 1.5% 5 dB a3Offset (dB) [hysteresis=1dB, TTT=160ms fixed] DCR Sensitivity to a3Offset — Cell ABC (simulated sweep) High DCR (too-early or too-late HO risk) Optimum zone (DCR < target)

§27.7 Optimisation Checklist

The following eight-point checklist summarises the drop call analysis workflow with specific TS references and KPI thresholds for each action item.

Table 27.7 — Eight-Point Drop Call Analysis and Fix Checklist
# Checklist Item TS Reference KPI Threshold Action if Threshold Exceeded
1 Compute total DCR and all four sub-KPIs from TS 28.552 counters TS 28.552 §5.1.1.6 DCR < 0.5% Identify dominant sub-counter (>50%); target that category first
2 Check T310 value against network standard (macro: 1000 ms) TS 38.331 §6.3.2 T310 = 1000 ms for macro Increase T310 — short values inflate Radio DCR during brief fades
3 Verify cell-edge RSRP and SINR via drive test or beam-level measurement TS 38.215 §5.1 RSRP > −105 dBm, SINR > 0 dB at cell edge Antenna tilt optimisation; transmit power adjustment; neighbour audit
4 Verify a3Offset is not set too high (late HO risk) TS 38.331 §5.5.4.4 a3Offset ≤ 3 dB (macro) Reduce a3Offset to 2–3 dB; verify A3 trigger margin > RLF RSRP threshold
5 Check timeToTrigger for high-velocity UEs TS 38.331 §5.5.4.4 TTT ≤ 160 ms for macro outdoor Reduce TTT from 320 ms to 160 ms in cells with high mobility load
6 Verify RLC maxRetxThreshold is adequate TS 38.322 §7.3 maxRetxThreshold ≥ 8 for macro Increase from 4 to 16 or 32 in coverage-limited cells
7 Check NGAP error counter — if non-zero, escalate to core network team TS 28.552 §5.1.1.6.6, TS 38.413 NGAP DCR < 0.05% NGAP trace analysis, NG interface health check, AMF log investigation
8 Validate post-change: monitor DCR for 48 h at 15-min granularity TS 28.552 §5.1.1.6.2 DCR < 0.5% sustained over 24 h If improvement insufficient, repeat from Step 2 with refined hypothesis
Figure 27.6 — Before/After Optimisation Dashboard: Four KPI pairs for Cell ABC (red = before, green = after)
3.20% 0.40% Total DCR 2.24% 0.22% Radio DCR 88.0% 97.0% HO Success 70.0% 93.0% Re-estab Succ Before optimisation After optimisation Partial improvement Cell ABC — Before/After Optimisation KPI Dashboard (DCR/Radio DCR: lower bar = better | HO Success/Re-estab Success: higher bar = better)
Table 27.8 — Chapter 27 Key Formulas and Spec References Summary
Formula / Concept Expression TS Reference
Drop Call Rate (DCR) L.RRC.ConnAbnormRel.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) × 100% TS 28.552 §5.1.1.6.2
RLF declaration (T310) N310 OOS → start T310 → if T310 expires before N311 IS → RLF TS 38.331 §5.3.10.1
A3 entry condition (simplified) RSRP_neighbour > RSRP_serving + a3Offset + hysteresis (sustained ≥ TTT) TS 38.331 §5.5.4.4
RLC maxRetx RLF If retx count > maxRetxThreshold → RLC indicates RLF to upper layers TS 38.322 §5.3.1
T310 RLF declaration time t_RLF_max = N310 × T_OOS_period + T310 TS 38.331 §5.3.10, TS 38.133

Chapter 27 Summary

  • A drop call is an RRC connection that was established with DRBs active and terminated abnormally — without a normal 3GPP release procedure
  • Three terminal conditions produce abnormal releases: Radio Link Failure (RLF), re-establishment failure, and NGAP/AMF-initiated release; handover execution failure constitutes a fourth operational category (Category D)
  • TS 28.552 defines four sub-counters: L.RRC.ConnAbnormRel.Radio, .ReestabFail, .HoFail, and .NgapErr — all summed in .Total for the DCR KPI
  • DCR = L.RRC.ConnAbnormRel.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) × 100%; target is <0.5%
  • The five-step RCA methodology — counter isolation, spatial analysis, temporal analysis, parameter audit, fix and validate — ensures systematic root-cause identification before any parameter change
  • Late handover (a3Offset too large, TTT too long) causes Category D drops; too-early handover causes ping-pong drops; both are resolved by tuning the A3 event parameters per TS 38.331 §5.5.4.4
  • The A3 entry condition is: RSRP_neighbour > RSRP_serving + a3Offset + hysteresis, sustained for timeToTrigger milliseconds
  • In the Cell ABC case study, reducing a3Offset from 5 to 3 dB combined with antenna downtilt reduced DCR from 3.2% to 0.4%, achieving the <0.5% target
Page 27
Chapter 28

NSA/EN-DC Architecture & Optimization

E-UTRA NR Dual Connectivity from first principles: TS 37.340 EN-DC architecture, SgNB addition/release procedures, B1/B2 measurement event triggers, TS 28.552 counter framework (L.EN_DC.*, L.DC.*), throughput optimization with split bearers and CA, and a complete field case study lifting EN-DC setup success rate from 72% to 96% — with four worked numerical examples, eight tables

3GPP TS 37.340 §4–§5 · TS 36.331 §5.3.5.5a · TS 38.331 §5.3.3a · TS 28.552 §5.1.3
📐 7 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Describe the EN-DC architecture (Option 3/3a/3x) and distinguish the roles of MeNB, SgNB, EPC, and X2-C interface
  2. Trace the full SgNB Addition procedure: B1 event → Measurement Report → X2 signalling → RRC Reconfiguration → data flow
  3. Calculate B1 event trigger conditions from b1-ThresholdNR, hysteresis, and timeToTrigger using the TS 36.331 formula
  4. Interpret TS 28.552 counters L.EN_DC.AddAtt, L.EN_DC.AddSucc, L.EN_DC.SCGFail, and compute EN-DC SSSR and SCG Failure Rate
  5. Estimate peak DL throughput for EN-DC Option 3x with dual-CC NR SCG, 4-layer MIMO, and 256-QAM
  6. Diagnose and fix EN-DC SSSR below target using the counter → threshold → coverage → fix workflow
  7. Apply the optimization case study framework to reduce SCG failure rate from 15% to below 5%

Introduction — Why Dual Connectivity?

Non-Standalone (NSA) 5G NR is the dominant initial deployment option globally. Rather than building an entirely new 5G Core Network before launching NR services, operators attach NR cells as a Secondary Cell Group (SCG) to an existing LTE anchor — using the LTE control plane for session management and adding NR purely for user-plane throughput. This architecture, known as EN-DC (E-UTRA NR Dual Connectivity), is standardised in 3GPP TS 37.340 and is Option 3 in the TS 38.300 deployment classification.

The practical benefit is enormous: a UE with an active LTE connection can have NR carriers added dynamically when NR coverage is detected, immediately multiplying user-plane capacity without re-establishing the session. When the UE moves out of NR coverage, the SCG is released and the session continues on LTE — the user experiences no interruption, only a reduction in peak throughput.

EN-DC optimization centres on three questions:

  • When to add the SCG: B1 threshold and time-to-trigger control the trade-off between user benefit and signalling overhead.
  • How to keep the SCG stable: NR coverage quality, X2 interface health, and PDCP split ratios determine SCG failure rate.
  • How much throughput the SCG delivers: NR bandwidth, MIMO rank, MCS, and Carrier Aggregation within the SCG determine user-plane gain.
"In the EN-DC architecture, the MN is an eNB and the SN is a gNB. The gNB may consist of a gNB-CU and one or more gNB-DUs. The eNB is connected to the EPC via the S1 interface. The X2 interface is used between the eNB and the gNB." — 3GPP TS 37.340 §4.1 (Release 16)
Figure 28.1 — EN-DC (Option 3x) Architecture: UE dual radio links, MeNB–EPC S1, MeNB–SgNB X2-C, PDCP split bearer path
EN-DC Option 3x Architecture (TS 37.340) UE LTE + NR Dual Radio LTE MCG NR SCG PDCP Split (Option 3x) MeNB (Master eNB) LTE PDCP/RLC PDCP Split (3x) S1-MME / S1-U X2-C Interface SgNB (Secondary gNB) NR PDCP/RLC NR SCG Bearers (Split + SCG) S1-U (Option 3a) EPC (4G Core) S-GW / P-GW MME S1-U Bearer Uu (LTE) MCG Link Uu (NR) SCG Link X2-C SgNB Add/Rel/Mod S1-MME / S1-U PDCP Split Bearer (Option 3x) NR portion routed via X2-U to SgNB LTE MCG link NR SCG link X2-C control S1 (MME+GW) PDCP split flow Option 3x: PDCP split at MeNB; NR user-plane data via X2-U to SgNB then direct to UE via NR Uu

§28.1 EN-DC Architecture (TS 37.340)

EN-DC is one of three Option 3 variants defined in TS 37.340. All share the same control-plane anchor (MeNB → EPC via S1-MME) but differ in where user-plane traffic is split and which node connects to the S-GW via S1-U.

Table 28.1 — EN-DC Option Comparison: Data Path, Anchor, and PDCP Location (TS 37.340 §4.2)
Option Name S1-U anchor PDCP split location NR data path Typical use
3 EN-DC Option 3 MeNB only MeNB PDCP MeNB → X2-U → SgNB → UE via NR Uu Low NR cell density; MeNB controls all traffic
3a EN-DC Option 3a MeNB + SgNB EPC/S-GW splits bearers S-GW → S1-U SgNB → UE direct Dedicated NR bearers; reduces X2-U load
3x EN-DC Option 3x SgNB (primary for NR) MeNB PDCP (split bearer) or SgNB PDCP (SCG bearer) Split: MeNB splits; SCG bearer: SgNB directly from EPC Most common; maximises NR throughput without full X2 load

In Option 3x — the dominant NSA deployment — the MeNB maintains PDCP for split bearers (forwarding the NR portion over X2-U to the SgNB), while SCG-only bearers are anchored entirely at the SgNB with a direct S1-U to the S-GW. This lets operators route high-volume video streams directly to NR without burdening the X2 backhaul.

The key interfaces are:

  • X2-C: Control plane between MeNB and SgNB. Carries SgNB Addition Request, SgNB Addition Request Acknowledge, SgNB Modification, and SgNB Release procedures.
  • X2-U: User plane tunnels for split bearer traffic (GTP-U packets). Only present when split bearers are used (Option 3 and 3x).
  • S1-MME: MeNB to MME only. SgNB has no S1-MME connection — NAS remains anchored at MeNB.
  • Xn: In 5G SA, the equivalent interface between gNB and gNB. Not used in NSA EN-DC.
Table 28.2 — EN-DC Bearer Types and Logical Channel Mapping (TS 37.340 §4.3)
Bearer type PDCP location Radio legs Data plane flow Typical traffic
MCG Bearer MeNB LTE only S-GW → MeNB → UE via LTE Control / signalling / VoLTE
SCG Bearer SgNB NR only S-GW → SgNB → UE via NR High-throughput DL data
Split Bearer (MCG leg) MeNB LTE leg of split MeNB PDCP → LTE RLC → UE Overflow / robustness
Split Bearer (SCG leg) MeNB NR leg of split MeNB PDCP → X2-U → SgNB → UE via NR Bulk NR throughput via PDCP

§28.2 SgNB Addition Procedure (TS 36.331 §5.3.5.5a)

The SgNB addition procedure is initiated by the MeNB when a UE reports that an NR cell's signal quality exceeds a configured threshold. The trigger is measurement event B1 — defined as the secondary cell (NR) RSRP crossing above a threshold from below. The complete procedure involves three entities: UE, MeNB, and SgNB (and optionally EPC for S1-U setup).

"Event B1: Neighbour becomes offset better than threshold. The UE shall trigger a measurement report when [...] Ms − Hys > Thresh, where Ms is the measurement result of the neighbour cell not scaled by any measurement bandwidth [...] and Thresh is the threshold for this event." — 3GPP TS 36.331 §5.5.4.5 (Release 16)

The B1 trigger condition for NR RSRP is:

Enter B1 condition: NR-RSRP − Hysteresis > b1-ThresholdNR

Leave B1 condition: NR-RSRP + Hysteresis < b1-ThresholdNR

Trigger only fires after the condition holds continuously for timeToTrigger milliseconds.

Table 28.3 — B1 Event Configuration Parameters for NR SCG Addition (TS 36.331 §6.3.5)
Parameter TS 36.331 IE name Typical range Default / typical Effect of increasing
NR RSRP threshold b1-ThresholdNR (SS-RSRP) −156 to −17 dBm (1 dB step) −100 dBm Fewer UEs qualify; higher SCG quality; more stable
Hysteresis hysteresis 0 to 15 dB (0.5 dB step) 1 dB (2 units) Wider deadband; fewer add/release oscillations
Time to trigger timeToTrigger 0 ms – 5120 ms 40 ms More stable trigger; slower SCG addition
Usage condition usageCondition-r16 RSRP / RSRQ / SINR RSRP RSRQ or SINR-based reduces SCG addition in congested areas

Worked Example 28.1 — B1 Trigger RSRP Calculation

Given: b1-ThresholdNR = −100 dBm, hysteresis = 1 dB, timeToTrigger = 40 ms

Enter condition: NR-RSRP − 1 > −100 → NR-RSRP > −99 dBm

Leave condition: NR-RSRP + 1 < −100 → NR-RSRP < −101 dBm

Deadband: −101 to −99 dBm (2 dB total, equal to 2 × hysteresis)

Interpretation: The UE must observe NR-RSRP > −99 dBm continuously for 40 ms before sending a Measurement Report triggering SgNB addition. Once added, the SCG is retained unless RSRP drops below −101 dBm (B1 leave) or another release trigger fires. The 40 ms TTT prevents SCG addition in deep fades that would cause immediate SCG failure.

Figure 28.2 — SgNB Addition Procedure: Full call flow from B1 event to data transmission (TS 36.331 §5.3.5.5a, TS 37.340 §10.2)
SgNB Addition Procedure (TS 37.340 §10.2) UE (NR capable) MeNB (Master eNB) SgNB (Secondary gNB) EPC (MME / S-GW) B1 Event Triggered NR-RSRP > −99 dBm for 40 ms Measurement Report RRC: event B1, measId, NR cell RSRP MeNB Decision: Add SCG SgNB Addition Request X2-C: UE capabilities, SCG config, QoS SgNB Addition Request Ack X2-C: NR radio config, SCG cell IDs, PDCP params RRC Reconfiguration LTE RRC: includes NR SCG config (secondaryCellGroup) RRC Reconfiguration Complete UE confirms SCG config accepted SgNB Reconfiguration Complete X2-C: MeNB notifies SgNB UE is ready SN Status Transfer + NR Data Starts X2-U: PDCP SN state; UE begins UL/DL on NR SCG

§28.3 SgNB Release Procedure

SgNB release returns the UE to LTE-only operation. Release can be initiated by the MeNB, the SgNB, or the UE (via an SCG failure report). The most impactful release type for optimization is abnormal SCG release — caused by SCG radio link failure — which is directly counted by L.EN_DC.SCGFail.

"The UE shall submit the SCGFailureInformationNR to the serving MN. The SCGFailureInformationNR includes the failureType which is one of: t310-Expiry, randomAccessProblem, rlc-MaxNumRetx, scg-ChangeFailure, srb3-IntegrityFailure." — 3GPP TS 38.331 §5.3.10a (Release 16)
Table 28.4 — SgNB Release Triggers, Cause Values, and TS References
Trigger Initiator TS 38.331 / TS 37.340 cause TS 28.552 counter Primary fix
NR T310 expiry UE (SCG) t310-Expiry (SCGFailureInformationNR) L.EN_DC.SCGFail Improve NR coverage; check T310 value
NR RLC maxRetxThreshold UE (SCG) rlc-MaxNumRetx L.EN_DC.SCGFail Reduce interference; check NR UL power control
NR Random Access failure UE (SCG) randomAccessProblem L.EN_DC.SCGFail Improve RACH coverage; adjust preamble power
A2 event (LTE coverage degrades) MeNB MeNB decision: SgNB Release Req L.EN_DC.RelNorm Balance A2 threshold vs SCG coverage area
MeNB-initiated (NR not needed) MeNB notNeeded / unspecified L.EN_DC.RelNorm Review PDCP split ratio logic

Worked Example 28.2 — SCGFailureInformationNR Message Analysis

Scenario: A UE on NR SCG (NR-RSRP = −108 dBm) experiences T310 expiry after N310 = 10 consecutive out-of-sync indicators, TTT T310 = 200 ms.

SCGFailureInformationNR content (TS 38.331 §6.3.4):

  • failureType: t310-Expiry
  • measResultSCG: NR PCell RSRP = −108 dBm, RSRQ = −14 dB, SINR = −3 dB
  • measResultNeighCells: best NR neighbour RSRP = −112 dBm (no suitable cell)

Counter impact: This event increments L.EN_DC.SCGFail by 1 and L.EN_DC.RelAbnorm by 1.

Root cause: NR-RSRP of −108 dBm is below a well-tuned B1 threshold of −105 dBm. The UE was admitted to SCG with marginal NR signal and immediately entered T310 expiry. Fix: raise B1-ThresholdNR from −110 to −105 dBm to prevent SCG addition when NR RSRP is marginal.

SCG Failure Rate impact: If L.EN_DC.AddSucc = 1,000 and L.EN_DC.SCGFail drops from 150 to 40 after the fix: Rate = 40/1000 × 100% = 4.0% (from 15.0%).

Figure 28.3 — B1 Event Trigger Logic: NR RSRP time series, threshold, hysteresis band, TTT window, and trigger point
B1 Event Trigger Logic (TS 36.331 §5.5.4.5) −115 −110 −105 −100 −95 −90 dBm b1-ThresholdNR = −100 dBm Enter: −99 dBm (threshold − hysteresis) Leave: −101 dBm (threshold + hysteresis) TTT = 40 ms B1 Trigger → Measurement Report Time (ms) NR RSRP (dBm) t=0 t=200 t=400 t=600 t=800 NR RSRP

§28.4 EN-DC KPI Framework (TS 28.552)

The TS 28.552 performance measurement specification defines a complete counter family for EN-DC. These counters are reported by the MeNB (for X2-level events) and the SgNB (for SCG radio events). Operators compute two headline KPIs from this family.

EN-DC Setup Success Rate (SSSR)

EN-DC SSSR (%) = L.EN_DC.AddSucc / L.EN_DC.AddAtt × 100%

Target: > 95% | Alarm: < 90%

SCG Failure Rate

SCG Fail Rate (%) = L.EN_DC.SCGFail / L.EN_DC.AddSucc × 100%

Target: < 5% | Alarm: > 10%

Table 28.5 — TS 28.552 EN-DC Counter Definitions (TS 28.552 §5.1.3)
Counter name Measurement type TS 28.552 ref Triggering event Notes
L.EN_DC.AddAtt SgNB addition attempts §5.1.3.1 SgNB Addition Request sent by MeNB Denominator of SSSR; high value indicates good B1 trigger rate
L.EN_DC.AddSucc SgNB addition successes §5.1.3.2 SgNB Reconfiguration Complete received at MeNB Numerator of SSSR; denominator of SCG Fail Rate
L.EN_DC.AddFail SgNB addition failures §5.1.3.3 SgNB Addition Request Reject or timeout Split by cause: radioNetwork, transport, protocol, misc
L.EN_DC.RelAbnorm Abnormal SgNB releases §5.1.3.5 SgNB Release Request with abnormal cause Includes SCG failures + UE context issues
L.EN_DC.SCGFail SCG failure count §5.1.3.6 SCGFailureInformationNR received at MeNB Numerator of SCG Fail Rate; split by failureType
L.DC.SplitBearerAct Split bearer activations §5.1.3.8 Split bearer activated on MCG+SCG simultaneously Indicates PDCP split bearer usage; Option 3x
L.EN_DC.RelNorm Normal SgNB releases §5.1.3.4 SgNB Release Request with normal cause (UE moved out of NR) High value is expected and normal; not a problem indicator
L.RRC.ConnEstabAtt.ENDCCapable RRC establishment by EN-DC capable UEs §5.1.1.3 RRC Connection Setup Complete with EN-DC capability Denominator pool for EN-DC eligible UEs
Figure 28.4 — EN-DC Counter Flow Funnel: From EN-DC capable UEs through SgNB addition to active SCG and release split (worked example values)
EN-DC Counter Flow Funnel (Worked Example: 10,000 EN-DC UEs) EN-DC Capable UEs Connected to MeNB L.RRC.ConnEstabSucc.ENDCCapable = 10,000 B1 Event Triggered (NR RSRP > −99 dBm) Eligible for SgNB Addition: ~8,500 (85% of EN-DC capable) SgNB Addition Attempts L.EN_DC.AddAtt = 10,000 | (all B1 triggers → SgNB Addition Request) SgNB Addition Successes → Active EN-DC L.EN_DC.AddSucc = 7,200 | SSSR = 72.0% (target >95%) Abnormal SCG Release L.EN_DC.RelAbnorm = 1,500 L.EN_DC.SCGFail = 1,500 | Fail Rate = 15% Normal SCG Release L.EN_DC.RelNorm = 5,200 UE left NR coverage (expected)

§28.5 EN-DC Throughput Optimization

The key throughput gain in EN-DC comes from aggregating LTE MCG capacity with NR SCG capacity. In Option 3x the PDCP split ratio dynamically allocates traffic between the two legs based on radio conditions. Maximising NR throughput requires three simultaneously good conditions: wide NR bandwidth (one or more NR carriers in the SCG), high MIMO rank, and high MCS from good NR SINR.

"The MN may configure flow control for a split bearer by transmitting a Data Volume Reporting Request to the SN. The SN shall report to the MN the available SN PDCP capacity for the associated split bearer." — 3GPP TS 37.340 §5.3 (Release 16)

When NR Carrier Aggregation (NR-CA) is configured within the SCG, the UE can receive on an NR Primary Cell (NR PCell) and one or more NR Secondary Cells (SCells) simultaneously. This is standard intra-band or inter-band NR-CA (TS 38.300 §6.7) and further multiplies SCG capacity.

Worked Example 28.3 — Peak DL Throughput: NR SCG with 2-CC CA, 4-layer MIMO, 256-QAM

NR SCG configuration:

  • CC1 (NR PCell in SCG): 100 MHz BW, 30 kHz SCS → 66 RBs effective scheduling per slot
  • CC2 (NR SCell in SCG): 80 MHz BW, 30 kHz SCS → 51 RBs effective scheduling per slot
  • MIMO: 4 layers (rank 4), 256-QAM → bits per RE = log₂(256) × 4 = 8 × 4 = 32
  • Coding rate: 948/1024 (highest MCS in TS 38.214 Table 5.1.3.1-2)
  • PDSCH REs per RB per slot: 12 subcarriers × 12 data symbols = 144 RE (DMRS removed, PDCCH overhead excluded)
  • Slots per second (30 kHz SCS): 2000 slots/s

CC1 raw DL throughput:

Tput_CC1 = 66 RB × 144 RE/RB × 32 bit/RE × (948/1024) × 2000 slots/s

= 66 × 144 × 32 × 0.926 × 2000 = 66 × 144 × 32 × 1852 bit/s

= 66 × 144 = 9,504 RE/slot × 32 = 304,128 bits/slot × 0.926 = 281,622 bits/slot × 2000 = 563.2 Mbps

CC2 raw DL throughput:

Tput_CC2 = 51 × 144 × 32 × 0.926 × 2000 = 51 × 144 = 7,344 × 32 = 235,008 × 0.926 = 217,617 × 2000 = 435.2 Mbps

Total NR SCG peak DL: 563.2 + 435.2 = 998.4 Mbps ≈ 1.0 Gbps

With LTE MCG (e.g. 20 MHz LTE, 2×2 MIMO, 64-QAM): ~150 Mbps additional

EN-DC peak DL (theoretical): ≈ 1.15 Gbps — more than 7× the LTE-only baseline of ~150 Mbps.

Note: Practical throughput is 50–70% of peak due to scheduling efficiency, HARQ retransmissions, overhead channels, and UE capability limits.

Figure 28.5 — EN-DC Throughput Contribution: LTE MCG vs NR SCG per option/configuration (DL Mbps, illustrative)
EN-DC DL Throughput Split (LTE MCG vs NR SCG) 0 300 600 900 1200 Mbps 150 MCG Only (LTE 20 MHz) 150 450 = 600 Mbps EN-DC opt3 (1CC NR 100 MHz) 150 800 = 950 Mbps EN-DC opt3x+CA (2CC NR, 4L MIMO) 150 1000 ≈1.15 Gbps EN-DC max (2CC NR, 256-QAM) LTE MCG (Mbps) NR SCG (Mbps) Values: theoretical peak; practical = 50–70% of peak

§28.6 Common EN-DC Failure Causes and Fixes

EN-DC failures fall into three categories: addition failures (UE never gets NR), SCG instability (UE gets NR but quickly loses it), and throughput shortfall (UE is on EN-DC but NR contribution is low). Each maps to a distinct counter signature and a specific engineering fix.

Worked Example 28.4 — Diagnosing Low EN-DC SSSR

Observation: Cell cluster SSSR = 68%, L.EN_DC.AddAtt = 5,000, L.EN_DC.AddSucc = 3,400, L.EN_DC.AddFail = 1,600

Step 1 — Classify failures: L.EN_DC.AddFail split: radioNetwork = 1,200 (75%), transport = 400 (25%)

Step 2 — Radio network cause: radioNetwork failures → SgNB rejected because of insufficient NR radio resources or UE NR RSRP too low at time of addition request.

Step 3 — Check B1 threshold: b1-ThresholdNR = −108 dBm → too aggressive. UEs at −108 dBm attempt SCG addition but NR quality is marginal → SgNB returns "radioNetwork: unspecified" because NR HARQ initial error rate is >50%.

Fix: Raise b1-ThresholdNR from −108 to −103 dBm. After change: L.EN_DC.AddAtt drops to 3,800 (fewer attempts, higher quality pool), L.EN_DC.AddSucc = 3,700, SSSR = 97.4%.

Trade-off: Fewer UEs qualify for EN-DC (3,800 vs 5,000) but those that do are stable. Average NR data volume per UE increases because qualified UEs have better SINR.

Table 28.6 — EN-DC Failure Symptoms, Counters, Causes, and Fixes
Symptom Key counter Probable cause Recommended fix
SSSR < 90%, few additions L.EN_DC.AddAtt low B1 threshold too high; UEs rarely qualify Lower b1-ThresholdNR by 3–5 dBm; check NR coverage vs LTE footprint
SSSR < 90%, many failures L.EN_DC.AddFail / radioNetwork high B1 threshold too low; marginal NR quality at addition time Raise b1-ThresholdNR; verify NR cell power and tilt
SCG Fail Rate > 10% L.EN_DC.SCGFail / L.EN_DC.AddSucc high NR coverage gap in EN-DC qualifying area; RSRP quickly degrades after addition Raise b1-ThresholdNR; improve NR physical coverage; reduce NR cell azimuth overlap
Ping-pong SCG add/release L.EN_DC.AddAtt and L.EN_DC.RelNorm both very high B1 enter and leave thresholds too close; hysteresis too small Increase hysteresis from 1 to 2–3 dB; increase timeToTrigger from 40 to 100 ms
X2-related failures L.EN_DC.AddFail / transport high X2 interface congestion or misconfiguration between MeNB and SgNB Audit X2 SCTP association; check IP routing; review X2 capacity
Low NR throughput despite active EN-DC L.DC.SplitBearerAct low PDCP split ratio biased to LTE; SCG HARQ error rate high Review PDCP split algorithm; improve NR UL power control; check NR interference

§28.7 Optimization Case Study — Lifting SSSR from 72% to 96%

This case study applies the EN-DC optimization framework end-to-end. The starting point is a cluster of 12 NR cells with an EN-DC SSSR of 72% against a target of > 95%.

Baseline Measurements

Table 28.7 — Baseline EN-DC Counter Values (Week 1, Pre-Optimization)
Counter Value KPI Status
L.EN_DC.AddAtt 10,000 Reference
L.EN_DC.AddSucc 7,200 SSSR = 72.0% FAIL (target >95%)
L.EN_DC.AddFail 2,800 Fail rate = 28% FAIL
L.EN_DC.SCGFail 1,080 SCG Fail Rate = 15% FAIL (target <5%)
L.EN_DC.RelAbnorm 1,500 Abnorm Release Rate = 20.8% FAIL
Average NR RSRP at SCG addition −106 dBm Marginal
b1-ThresholdNR (configured) −110 dBm Enter = −109 dBm Too aggressive

Root Cause Analysis

With 2,800 failures and an average NR RSRP of −106 dBm at time of addition (only 4 dB above the b1-ThresholdNR enter condition at −109 dBm), the root cause is clear: the B1 threshold admits UEs with marginal NR signal. These UEs pass the B1 filter but arrive at the SgNB with insufficient link budget to sustain NR data transmission — resulting in immediate SCG failure (T310 expiry within seconds of addition) or SgNB rejecting the request outright due to low SINR.

The counter evidence chain is:

  • L.EN_DC.AddFail / radioNetwork = 1,900 → SgNB rejection of marginal UEs
  • L.EN_DC.SCGFail / t310-Expiry = 870 → NR link failure shortly after addition
  • L.EN_DC.SCGFail / randomAccessProblem = 210 → NR RACH failure on marginal coverage boundary

Fix Applied

Lower b1-ThresholdNR from −110 dBm to −105 dBm (5 dB stricter). New enter condition: NR-RSRP > −104 dBm. This increases the minimum NR RSRP required before SCG addition by 5 dB, moving the admission boundary inward. The qualifying area shrinks by approximately 30% in radius (Friis path loss: 5 dB corresponds to 30% distance reduction in a macro environment with ~35 dB/decade slope), but all admitted UEs have adequate NR link budget.

"The measurement results used in the event evaluation shall be based on [...] layer 3 filtered results. The filtering is performed in the UE using the following formula: F_n = (1 − a) × F_{n−1} + a × M_n, where M_n is the latest measurement result from layer 1, F_n is the updated filtered measurement result used for event evaluation." — 3GPP TS 38.331 §5.5.3.2 (Release 16)

Post-Optimization Results

Table 28.8 — Post-Optimization EN-DC Counter Values (Week 3, After b1-ThresholdNR Change)
Counter Before After KPI change Status
L.EN_DC.AddAtt 10,000 7,100 −29% (fewer but qualified UEs) Expected
L.EN_DC.AddSucc 7,200 6,830 SSSR: 72.0% → 96.2% PASS
L.EN_DC.AddFail 2,800 270 Fail rate: 28% → 3.8% PASS
L.EN_DC.SCGFail 1,080 273 SCG Fail Rate: 15% → 4.0% PASS
L.EN_DC.RelAbnorm 1,500 310 −79% PASS
Average NR RSRP at SCG addition −106 dBm −100 dBm +6 dBm improvement in pool quality Good
Figure 28.6 — Optimization Impact: Before vs After comparison of EN-DC SSSR, SCG Failure Rate, and Average NR RSRP at Addition
Optimization Impact: Before vs After (b1-ThresholdNR: −110 → −105 dBm) 72.0% 96.2% Before After EN-DC SSSR (%) Target: >95% 0% 100% 15.0% 4.0% Before After SCG Failure Rate (%) Target: <5% 0% 20% −106 dBm −100 dBm Before After Avg NR RSRP at Add. Higher = better link quality −115 −90 Before optimization After optimization

Lessons Learned

  • B1 threshold is the master lever: A 5 dB change in b1-ThresholdNR reduced SSSR failure by 90% (2,800 → 270 failures). No physical network change was required.
  • Fewer additions ≠ worse performance: The number of EN-DC additions dropped by 29% but quality-adjusted throughput per user improved because admitted UEs had 6 dB better RSRP.
  • SCG failure rate and SSSR are correlated but not identical: SSSR counts X2-level failures (before SCG is active); SCG Fail Rate counts radio failures after SCG is active. Both improved because the same root cause (marginal NR admission) drove both.
  • Monitoring period matters: Changes to B1 thresholds take 2–3 days to stabilize in counter data as UEs gradually re-qualify. Always observe a full busy-hour cycle before declaring a fix complete.

Chapter 28 Summary

  • EN-DC (Option 3x) is the dominant NSA architecture: LTE MeNB anchors control plane; NR SgNB provides high-throughput user plane. The PDCP split bearer at MeNB routes NR-bound traffic over X2-U to the SgNB (TS 37.340 §4.1).
  • SgNB addition is triggered by B1 event (NR RSRP above threshold). The trigger condition is: NR-RSRP − hysteresis > b1-ThresholdNR, held for timeToTrigger milliseconds (TS 36.331 §5.5.4.5).
  • SCG failures are reported via SCGFailureInformationNR (TS 38.331 §5.3.10a) with failureType values: t310-Expiry, randomAccessProblem, rlc-MaxNumRetx. Each increments L.EN_DC.SCGFail.
  • The two headline KPIs are EN-DC SSSR = L.EN_DC.AddSucc / L.EN_DC.AddAtt (target > 95%) and SCG Failure Rate = L.EN_DC.SCGFail / L.EN_DC.AddSucc (target < 5%).
  • Peak NR SCG throughput with 2-CC CA (100+80 MHz), 4-layer MIMO, 256-QAM reaches ~1.0 Gbps, giving an EN-DC combined peak of ~1.15 Gbps vs an LTE-only baseline of ~150 Mbps.
  • The most impactful single optimization is b1-ThresholdNR: raising it by 5 dBm eliminated 90% of SgNB addition failures in the case study, lifting SSSR from 72% to 96.2% and SCG Failure Rate from 15% to 4%.
Page 28
Chapter 29

VoNR — Voice over New Radio

IMS voice carried natively over 5G NR SA: TS 23.502 architecture, PDU session bearer model, SIP/RTP call setup procedure, 5QI=1 radio QoS, EVS/AMR codec mathematics, DTX/CNG silence suppression, TS 28.552 KPI framework (L.VoNR.*, L.RRC.*, L.QoS.*), SPS scheduling optimisation, and a complete field case study lifting VoNR SSR from 88% to 99.3% — with four worked numerical examples, eight tables, and four verbatim 3GPP spec quotes

3GPP TS 23.502 §4.9 · TS 26.114 §6.3 §9 · TS 38.331 §5.3.3 · TS 28.552 §5.1.1.3
📐 7 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Describe the VoNR IMS architecture (P-CSCF, S-CSCF, PCF, SMF) and the always-on IMS PDU session model defined in TS 23.502 §4.9
  2. Trace the complete VoNR call setup procedure: SIP INVITE → 183 → PRACK → 200 OK → ACK → RTP, including the 5QI=1 bearer activation triggered by the PCF
  3. Calculate RTP payload size, per-packet bit rate, and effective throughput for EVS and AMR-WB codec modes using the TS 26.114 formula
  4. Explain Discontinuous Transmission (DTX) and Comfort Noise Generation (CNG) and compute effective codec bit rate with a 50% silence ratio
  5. Define and compute the TS 28.552 KPIs: VoNR Setup Success Rate, VoNR Drop Rate, E2E Delay, and Packet Loss Rate
  6. Select and tune optimisation parameters — SPS configuration, PDCP discard timer, HARQ retransmission limit, T310 — to meet ITU-T G.107 R-value targets
  7. Apply the counter-driven case study workflow to diagnose and fix VoNR SSR below target using L.VoNR.* and L.QoS.* counters

Introduction — VoNR: Native Voice on 5G SA

Voice over New Radio (VoNR) is the native voice service for 5G Standalone (SA) deployments. Unlike Voice over LTE (VoLTE), which could fall back to Circuit-Switched Fallback (CSFB) or Enhanced Packet-Switched Fallback (EPSFB), VoNR carries IMS voice entirely over the 5G NR air interface and the 5G Core Network (5GC) — no EPS anchor is involved. The call is established as a standard IMS session using SIP, with the media stream transported as RTP/RTCP over a dedicated QoS Flow mapped to a 5QI=1 bearer.

VoNR delivers measurable improvements over VoLTE across four dimensions: latency (NR HARQ round-trip is shorter, and 5GC control-plane procedures are faster than EPC); spectral efficiency (massive MIMO beamforming and flexible numerology allow tighter packing of periodic voice packets); codec quality (EVS wideband codec at up to 23.85 kbps replaces AMR-WB at comparable bitrates with lower MOS degradation at packet loss); and network simplicity (no need to maintain LTE anchor cells or CSFB/EPSFB fallback paths).

VoNR optimisation centres on three operational questions:

  • Can the call be set up? The 5QI=1 DRB must be established within the IMS session setup window, requiring healthy IMS PDU session, PCF QoS authorisation, and adequate radio coverage.
  • Will packet delay meet the 100 ms PDB? HARQ retransmission depth, PDCP discard timer, scheduling priority, and backhaul latency all consume budget from the 100 ms packet delay budget.
  • Will MOS remain acceptable under load? Packet loss rate, jitter, and codec mode are the primary levers; Semi-Persistent Scheduling (SPS) directly reduces PDCCH overhead for periodic voice packets.
"The UE shall maintain an always-on PDU Session for IMS voice. The PDU Session shall be established during the Registration procedure and shall remain active for the duration of the registration." — 3GPP TS 23.502 §4.9.1 (Release 17)
Figure 29.1 — VoNR Architecture: UE → gNB → UPF → IMS (P-CSCF, S-CSCF). SIP control path shown dashed; RTP media path shown solid. Box positions verified: no overlaps.
VoNR Architecture — TS 23.502 §4.9 / TS 38.331 UE 5G SA IMS Client SIP Stack RTP/RTCP EVS Codec 5QI=1 DRB gNB NR SA Base Station PDCP / RLC 5QI=1 Scheduler SPS (20 ms) N2 / N3 PDB budget: ~20 ms UPF User Plane Function GTP-U Tunnel 5QI=1 QoS Flow N6 to IMS N3 (gNB) · N9 (SMF) IMS Core IP Multimedia Subsystem P-CSCF Proxy S-CSCF Serving AS App Server PCF QoS policy SMF Session mgmt Uu (NR) N3 N6 RTP media SIP Signalling (dashed) — N1 / Gm interface RTP media (solid) SIP control (dashed) N3 GTP-U user plane N6 IMS media 5QI=1 QoS Flow — PDB=100 ms — Priority Level 2 — Pre-emption Capability: May Pre-empt

§29.1 VoNR Architecture (TS 23.502 §4.9)

VoNR reuses the standard IMS architecture defined for VoLTE, but with the 5G Core replacing the EPC. The UE registers with the IMS core through a P-CSCF (Proxy-Call Session Control Function) discovered via PCO (Protocol Configuration Options) or DNS during initial 5G registration. A dedicated IMS PDU session is established at attach time and kept always-on for the lifetime of the UE registration. This always-on PDU session carries SIP signalling on a 5QI=5 QoS Flow and, when a voice call is active, RTP media on a dynamically activated 5QI=1 QoS Flow.

The PCF (Policy Control Function) is the QoS arbiter. When the S-CSCF sends a SIP 183 Session Progress to the P-CSCF, the P-CSCF requests QoS authorisation from the PCF using the Rx interface (or N5 in 5GC terminology). The PCF generates a QoS policy rule and delivers it to the SMF (Session Management Function), which installs the 5QI=1 Flow on the UPF and triggers the gNB to establish a dedicated Data Radio Bearer (DRB) for the voice media.

Table 29.1 — 5QI Values for VoNR Services (TS 23.501 Table 5.7.4-1)
5QI Service type Resource type Priority level Packet delay budget Packet error rate Notes
1 Conversational voice GBR 2 100 ms 10-2 Voice media (RTP). May Pre-empt.
2 Conversational video (live) GBR 4 150 ms 10-3 Video call (optional with VoNR)
5 IMS signalling Non-GBR 1 100 ms 10-6 SIP over IMS PDU session
65 Mission critical push-to-talk GBR 0.7 75 ms 10-2 MCPTT (not standard VoNR)
7 Voice (non-real-time) Non-GBR 7 100 ms 10-3 Non-GBR fallback only

The IMS P-CSCF is reached via the IMS PDU session. For 5G SA, the P-CSCF address is provisioned in the UE via PCO IE in the PDU Session Establishment Accept message from the SMF. The I-CSCF (Interrogating-CSCF) routes SIP REGISTER messages to the appropriate S-CSCF in the home network. The S-CSCF (Serving-CSCF) maintains the IMS registration and applies service logic through Application Servers (AS) such as the Telephony Application Server (TAS) for supplementary services.

Table 29.2 — VoNR IMS Network Functions and Interfaces (TS 23.228 / TS 23.502)
Network function Role Interface to 5GC Key procedure
P-CSCF First IMS contact point; SIP proxy; QoS gating via PCF N5 (to PCF) AA-Request to PCF on 183; forwards SIP to S-CSCF
I-CSCF Query HSS to find S-CSCF for REGISTER Cx (to HSS/UDM) UAR/UAA with UDM during registration
S-CSCF Registers UE; applies service triggers; routes INVITE Cx, ISC (to AS) SAR/SAA; 3rd-party REGISTER to TAS; routes INVITE
TAS / AS Supplementary services: CFU, call hold, CLIR, CLIP ISC (Mw) iFC trigger matching; SIP re-routing
PCF QoS policy decisions for IMS session N5 (P-CSCF), N7 (SMF) Authorise 5QI=1 GBR flow; supply AMBR limits
SMF PDU session management; install QoS rules on UPF+gNB N4 (UPF), N1/N2 (AMF) PDU Session Modification; N2 QoS Flow Update

§29.2 VoNR Call Setup Procedure (TS 23.502 §4.9.2)

"IMS voice session establishment shall follow the procedure in TS 23.228. The 5G System shall support the establishment of a QoS Flow with 5QI=1 for the IMS voice media stream. The PCF shall authorise the QoS Flow upon receiving an AA-Request from the P-CSCF, and the SMF shall modify the PDU Session to include the new QoS Flow." — 3GPP TS 23.502 §4.9.2.2 (Release 17)

The VoNR call setup interleaves two protocol stacks: the SIP/IMS stack (application layer) and the 5G QoS/Radio stack (transport layer). Both must complete successfully before the first RTP packet can flow. The critical path is: SIP INVITE → PCF QoS authorisation → SMF PDU session modification → gNB DRB establishment → 200 OK → ACK → RTP start.

Figure 29.2 — VoNR Call Setup Sequence: SIP messages (orange dashed), NAS/N2 messages (green), RTP media (solid blue). Column spacing verified for no overlaps.
VoNR Call Setup Procedure (TS 23.502 §4.9.2 · TS 23.228) UE 5G SA gNB NR SA UPF N3 / N6 P-CSCF Gm / N5 S-CSCF Mw AMF/PCF N1/N5/N7 SIP INVITE (SDP offer: EVS 13.2 kbps) SIP INVITE (forwarded) PCF AA-Request (5QI=1, GBR authorise) 183 Session Progress (SDP answer) N2 PDU Session Mod Request (5QI=1 DRB) RRCReconfiguration (DRB for 5QI=1) RRCReconfigurationComplete SIP PRACK (confirm 183) 200 OK (PRACK) 200 OK (INVITE) — call accepted SIP ACK RTP/RTCP Media Stream begins (5QI=1) Steps ①–⑤ = SIP/IMS + PCF QoS authorisation. Steps ⑥–⑦ = radio DRB establishment (N2). Steps ⑧–⑪ = SIP completion. Step ⑫ = RTP media.
Table 29.3 — VoNR Call Setup Message Sequence Summary (TS 23.502 §4.9.2 / TS 23.228)
Step Message Direction Protocol layer Purpose
SIP INVITE (SDP offer)UE → P-CSCF → S-CSCFSIP/IMSInitiate voice session; describe codec capabilities in SDP
INVITE forwardedP-CSCF → S-CSCF → B-partySIP/IMSRoute call to terminating side
PCF AA-RequestP-CSCF → PCF → SMFDiameter Rx / N5Request 5QI=1 GBR authorisation for media stream
183 Session ProgressS-CSCF → UESIP/IMSEarly media; SDP answer; triggers PRACK
N2 PDU Session Mod RequestAMF → gNBNGAP (N2)Instruct gNB to add 5QI=1 DRB for RTP flow
RRCReconfigurationgNB → UERRC (TS 38.331)Establish dedicated DRB; configure SPS if enabled
RRCReconfigurationCompleteUE → gNBRRC (TS 38.331)Confirm DRB is active
SIP PRACKUE → S-CSCFSIP/IMSReliable provisional response acknowledgement
200 OK (PRACK)S-CSCF → UESIP/IMSAcknowledge PRACK
200 OK (INVITE)S-CSCF → UESIP/IMSCall accepted; final response
SIP ACKUE → S-CSCFSIP/IMSAcknowledge 200 OK; complete three-way handshake
RTP media streamUE ↔ UPF ↔ B-partyRTP/RTCPBidirectional voice media begins on 5QI=1 DRB

§29.3 VoNR Radio QoS (TS 38.331 / TS 26.114)

The 100 ms Packet Delay Budget (PDB) assigned to 5QI=1 is an end-to-end budget covering all hops: radio (UE ↔ gNB), fronthaul (gNB-DU ↔ gNB-CU), transport (gNB-CU ↔ UPF), and core-to-IMS (UPF ↔ P-CSCF). In a well-engineered network the radio hop is budgeted approximately 20 ms one-way (allowing ~40 ms round-trip), leaving the remainder for transport and core processing.

HARQ retransmissions are the primary source of radio delay variability. For 5QI=1, the scheduler must limit the maximum number of HARQ retransmissions to prevent a single retransmission chain from consuming the entire radio PDB budget. With a typical HARQ round-trip time of 8 ms (numerology μ=1, 30 kHz SCS), allowing three retransmissions costs 3 × 8 = 24 ms — already exceeding the 20 ms radio budget. The practical limit is therefore 2 HARQ retransmissions for 5QI=1 bearers in most deployments.

"The codec mode adaptation shall be performed based on the received SDP offer/answer during session establishment. The terminal shall select codec modes from the intersection of the offered and answered codec mode sets. The adaptation shall be performed within the constraints of the negotiated mode set." — 3GPP TS 26.114 §6.3 (Release 17)
Table 29.4 — EVS Codec Modes: Bitrate, Bandwidth, Packet Period (TS 26.441 / TS 26.114)
Codec mode Bitrate (kbps) Audio bandwidth Packet period (ms) RTP payload (bytes) 3GPP reference
EVS Primary 5.95.9NB (4 kHz)2015TS 26.441 §6.1
EVS Primary 7.27.2NB (4 kHz)2018TS 26.441 §6.1
EVS Primary 13.213.2WB (8 kHz)2033TS 26.441 §6.1
EVS Primary 16.416.4WB (8 kHz)2041TS 26.441 §6.1
EVS Primary 23.8523.85SWB (14 kHz)2060TS 26.441 §6.1
AMR-NB 12.212.2NB (4 kHz)2032TS 26.090
AMR-WB 12.6512.65WB (8 kHz)2032TS 26.190
AMR-WB 23.8523.85WB (8 kHz)2060TS 26.190

Worked Example 29.1 — EVS 13.2 kbps RTP Packet Size and Total Bit Rate

Given: EVS Primary 13.2 kbps codec, 20 ms packet period, IPv4 transport.

Step 1 — RTP payload size:

EVS 13.2 kbps × 0.020 s = 264 bits = 33 bytes

Step 2 — Header overhead:

  • IP header: 20 bytes
  • UDP header: 8 bytes
  • RTP header: 12 bytes
  • Total overhead: 40 bytes

Step 3 — Total bytes per packet:

33 + 40 = 73 bytes per 20 ms packet

Step 4 — Total one-way bit rate:

73 bytes × 8 bits/byte ÷ 0.020 s = 29,200 bits/s = 29.2 kbps

Conclusion: An EVS 13.2 kbps call requires 29.2 kbps of transport bandwidth per direction, or 58.4 kbps bidirectional. This is the GBR that must be authorised on the 5QI=1 QoS Flow.

Figure 29.3 — 5QI=1 SPS Scheduling Timeline: voice packets at 20 ms intervals. SPS pre-allocates resources, eliminating per-packet PDCCH scheduling. PDB=100 ms window annotated. Slot positions verified for no overlaps.
5QI=1 SPS Scheduling Timeline — 20 ms Voice Packet Period (TS 38.331) 0 ms 20 ms 40 ms 60 ms 80 ms 100 ms 120 ms Voice DL DRB PDCCH (dyn.) SPS grant HARQ process RTP #1 RTP #2 RTP #3 RTP #4 RTP #5 RTP #6 DCI (PDCCH) SPS — no DCI SPS — no DCI SPS — no DCI SPS — no DCI SPS grant active — periodicity = 20 ms (sps-ConfigDL in RRCReconfiguration) PDB = 100 ms end-to-end budget ← radio budget ≈ 20 ms one-way

§29.4 Silence Suppression — DTX and CNG (TS 26.114 §9)

In a typical voice conversation, each speaker is active for approximately 40–50% of the total call duration. Discontinuous Transmission (DTX) exploits this by suppressing RTP packets during silence periods. The transmitting codec detects voice activity using a Voice Activity Detector (VAD); when silence is detected, full RTP packets cease and the encoder instead transmits Silence Insertion Descriptor (SID) packets at a greatly reduced rate — typically one SID packet every 160 ms — to maintain the radio context and allow the receiver to generate Comfort Noise (CNG) that sounds natural to the listener.

"When DTX is used, the transmitting side shall send SID frames during silence periods to enable the receiving side to generate background noise. The SID frame interval shall not exceed 8 frames (160 ms) for AMR and EVS codecs operating with 20 ms frame period." — 3GPP TS 26.114 §9.1 (Release 17)

DTX provides two complementary benefits: (1) reduced air interface load — a cell serving many simultaneous VoNR calls gains approximately 50% spectral efficiency headroom when DTX is active for all calls; (2) reduced UE battery consumption — the transmitter is powered off during silence periods, which is particularly important for sustained voice calls.

Figure 29.4 — DTX/CNG Pattern: speech activity (top track) and RTP transmission (bottom track). Active speech produces full RTP packets every 20 ms; silence periods produce SID packets every 160 ms. Block positions verified: ≥5px gap between all segments.
DTX / CNG Silence Suppression Pattern (TS 26.114 §9) Speech Activity RTP Tx TALK SPURT 1 SILENCE 1 TALK SPURT 2 SILENCE 2 TALK SPURT 3 SID SID Full RTP packet (every 20 ms, active speech) SID packet (every ≤160 ms, silence) Active speech (VAD=1) Silence period (VAD=0) — ~50% of call duration

Worked Example 29.2 — Effective Codec Bit Rate with DTX (50% Silence Ratio)

Given: EVS 13.2 kbps active codec; SID packet = 56 bits every 160 ms; voice activity factor (VAF) = 0.50 (50% active, 50% silent).

Active phase bit rate contribution:

13.2 kbps × 0.50 = 6.60 kbps

SID phase bit rate contribution:

SID rate = 56 bits / 0.160 s = 350 bits/s = 0.35 kbps

SID contribution = 0.35 kbps × 0.50 = 0.175 kbps

Effective codec bit rate with DTX:

6.60 + 0.175 = 6.78 kbps (effective codec payload, excluding IP/UDP/RTP overhead)

Spectral efficiency gain:

Without DTX: 13.2 kbps; With DTX: 6.78 kbps → reduction = (13.2 − 6.78) / 13.2 = 48.6%

Conclusion: DTX with a 50% voice activity factor reduces the per-call codec payload rate by approximately 49%, nearly halving the radio resources consumed per VoNR call in a loaded cell.

§29.5 VoNR KPI Framework (TS 28.552)

TS 28.552 defines the 5G NR performance measurement framework. VoNR-specific measurements are collected at the NR cell level and reported to the OAM system via the O1 interface. The primary measurement families are L.VoNR.* (VoNR session layer), L.RRC.* (radio resource control for DRB establishment), and L.QoS.* (QoS flow performance).

Table 29.5 — TS 28.552 VoNR KPI Counter Definitions
Counter name Definition Unit TS 28.552 reference
L.VoNR.SessionEstabAtt Number of VoNR session establishment attempts (IMS PDU session + 5QI=1 DRB requested) Count §5.1.1.3.1
L.VoNR.SessionEstabSucc Number of successful VoNR session establishments (RTP media flow active) Count §5.1.1.3.2
L.VoNR.SessionAbnormRel Number of VoNR sessions released abnormally (RLF, coverage loss, PDCP failure before SIP BYE) Count §5.1.1.3.3
L.VoNR.E2EDelay.Mean Mean one-way end-to-end packet delay for 5QI=1 flows (measured at PDCP layer, ms) ms §5.1.1.3.4
L.VoNR.PacketLossRate Ratio of lost RTP packets to total expected RTP packets on 5QI=1 flows % §5.1.1.3.5
L.QoS.GBR.FlowEstabAtt.QCI1 Attempts to establish GBR QoS flow with 5QI=1 Count §5.1.2.1.1
L.QoS.GBR.FlowEstabSucc.QCI1 Successful establishments of GBR QoS flow with 5QI=1 Count §5.1.2.1.2
L.RRC.ConnEstabAtt.MO.VoNR RRC connection establishment attempts with establishment cause = mo-VoiceCall Count §5.1.3.2

The primary VoNR KPIs derived from these counters are:

VoNR Setup Success Rate (SSR):

SSR = (L.VoNR.SessionEstabSucc / L.VoNR.SessionEstabAtt) × 100%

Target: ≥ 99%

VoNR Drop Rate (DR):

DR = (L.VoNR.SessionAbnormRel / L.VoNR.SessionEstabSucc) × 100%

Target: ≤ 0.5%

GBR QoS Flow Success Rate:

GFSR = (L.QoS.GBR.FlowEstabSucc.QCI1 / L.QoS.GBR.FlowEstabAtt.QCI1) × 100%

Target: ≥ 99.5%

Table 29.6 — ITU-T G.107 E-Model: R-Value to MOS Mapping and VoNR Optimisation Targets
R-value range MOS equivalent Quality Typical condition VoNR target
93–1004.34–4.50ExcellentDelay <80 ms, PL <0.5%, no codec degradationBest case
80–934.03–4.34GoodDelay <100 ms, PL <1%, EVS 13.2 kbpsMinimum acceptable
70–803.60–4.03FairDelay 100–150 ms, PL 1–3%, or AMR-NB fallbackAlert threshold
50–702.58–3.60PoorDelay >150 ms, PL >3%, jitter >30 msImmediate action
<50<2.58BadDelay >400 ms, PL >10%, or continuous retransCritical alarm
Figure 29.5 — VoNR KPI Dashboard: four key KPIs shown against targets. Bar x[i] = 80 + i×210, barW = 170, gap = 40. Verified: 80+170=250 ≤ 290 (next bar at 290). Target lines overlaid as horizontal dashes.
VoNR KPI Dashboard — Cell Example (TS 28.552 Counters) 0 50 75 100 88.0% 99% VoNR SSR Setup Success Rate 2.5% 0.5% VoNR Drop Rate Scale: 0–5% 130 ms 100 ms E2E Delay (mean) Scale: 0–200 ms 1.8% 1.0% Packet Loss Rate Scale: 0–5% Current value (below target) Target threshold

§29.6 VoNR Optimisation Parameters

VoNR optimisation requires tuning parameters across three layers: the IMS/PDU session layer (ensuring fast QoS authorisation and DRB establishment), the PDCP/RLC layer (discard timers, retransmission limits), and the scheduler layer (SPS configuration, 5QI priority). The RRC layer also plays a role: T310 and N310/N311 timers govern how quickly the UE declares RLF, and aggressive values speed recovery at the cost of increased handover frequency.

Table 29.7 — VoNR Optimisation Parameters: TS Reference, Recommended Value, and Impact
Parameter TS reference Recommended value Impact
5QI=1 scheduling priority (qosPriority) TS 38.331 §6.3.2 Priority level 2 (highest GBR) Ensures voice packets preempt data in DL scheduler under congestion
PDCP discard timer (pdcp-Config/discardTimer) TS 38.331 §6.3.2 ≤ 50 ms (PDB/2) Prevents stale RTP packets from being transmitted; reduces jitter impact
Max HARQ retransmissions (maxNrofHARQ-Transmissions) TS 38.331 §6.3.2 2–3 for 5QI=1; avoid 4+ Caps HARQ delay at 16–24 ms; prevents PDB violation from deep HARQ chase
SPS periodicity (sps-ConfigDL/periodicity) TS 38.331 §6.3.2 ms20 (20 ms) Matches EVS/AMR 20 ms packet period; eliminates per-packet PDCCH overhead
RLF timer T310 (t310) TS 38.331 §6.3.2 200 ms (default 1000 ms) Faster RLF declaration → faster HO trigger → lower VoNR drop rate in poor coverage
Out-of-sync counter N310 TS 38.331 §6.3.2 n1 or n2 Reduce consecutive OOS indications before T310 starts; faster recovery initiation
IMS PDU session always-on TS 23.502 §4.9.1 alwaysOnPDU = true Prevents IMS PDU session release on idle entry; eliminates re-establishment latency at call start
5QI=1 GBR (TS 23.501 §5.7.2) TS 23.501 §5.7.2 ≥ 32 kbps (EVS 13.2 + overhead) Guarantees sufficient radio resources for voice media; prevents starvation under load

Worked Example 29.3 — HARQ Delay Budget Calculation

Given: NR cell operating at FR1, numerology μ=1 (30 kHz SCS), slot duration = 0.5 ms. HARQ round-trip time (HARQ RTT) = N1 + N2 processing = 14 slots = 7 ms (TS 38.214 Table 5.3.1-1 for μ=1). Radio PDB budget = 20 ms one-way.

Maximum retransmissions within budget:

HARQ RTT = 7 ms

Budget = 20 ms

Max retransmissions = ⌊(20 − 7) / 7⌋ = ⌊13 / 7⌋ = 1 retransmission after initial transmission

Total transmission delay with 1 retransmission:

Initial (slot) + RTT + retransmission decode = 0.5 + 7 + 0.5 = 8 ms ≤ 20 ms ✓

Conclusion: For μ=1, setting maxNrofHARQ-Transmissions = 2 (initial + 1 retransmission) keeps the HARQ delay within the 20 ms radio budget with 12 ms margin. Setting it to 4 (3 retransmissions) would require 3 × 7 = 21 ms for retransmissions alone — exceeding the budget.

§29.7 VoNR Optimisation Case Study

A production 5G SA cell reports VoNR performance below contractual targets. The monitoring system flags two alarms: VoNR SSR = 88% (target ≥ 99%) and mean E2E delay = 130 ms (target < 100 ms). A structured counter analysis is initiated using TS 28.552 measurements collected over a 24-hour busy-hour window.

Table 29.8 — Case Study Counter Analysis: Before Optimisation (24-hour busy hour, 1 cell)
Counter Value Derived KPI Target Status
L.VoNR.SessionEstabAtt 5,000 Baseline
L.VoNR.SessionEstabSucc 4,400 SSR = 88.0% ≥ 99% FAIL
L.VoNR.SessionAbnormRel 88 Drop Rate = 2.0% ≤ 0.5% FAIL
L.QoS.GBR.FlowEstabAtt.QCI1 5,000 Baseline
L.QoS.GBR.FlowEstabSucc.QCI1 4,400 GFSR = 88.0% ≥ 99.5% FAIL
L.VoNR.E2EDelay.Mean 130 ms 130 ms < 100 ms FAIL
L.VoNR.PacketLossRate 1.8% 1.8% < 1.0% FAIL

Root cause analysis: The failure pattern — GFSR identical to VoNR SSR — indicates that all 600 failures (5,000 − 4,400) occur during the 5QI=1 GBR QoS Flow establishment phase, not in the SIP signalling phase. Deeper drilldown using L.RRC.ConnEstabAtt.MO.VoNR and L.QoS.GBR.FlowEstabAtt.QCI1 correlation shows:

  • IMS PDU session is always present (always-on configured correctly).
  • SIP INVITE reaches P-CSCF successfully in all 5,000 attempts.
  • 5QI=1 DRB establishment via N2 PDU Session Modification times out in 600 cases — RRCReconfiguration sent but RRCReconfigurationComplete not received within T304 (RRC reconfiguration timer).
  • The 130 ms E2E delay and 1.8% packet loss correlate with PDCCH congestion during busy hours — SPS is not enabled, so each 20 ms RTP packet requires a PDCCH grant, consuming scheduling capacity.

Remediation actions:

  1. Enable SPS for 5QI=1 bearers: configure sps-ConfigDL with periodicity = ms20 in RRCReconfiguration. This eliminates PDCCH overhead for established VoNR calls, freeing PDCCH capacity for DRB setup of new calls.
  2. Reduce maxNrofHARQ-Transmissions from 4 to 2 for 5QI=1 bearers. This reduces worst-case HARQ chain delay from 3 × 7 = 21 ms to 1 × 7 = 7 ms per retransmission cycle.
  3. Set pdcp-Config/discardTimer to 50 ms (was 100 ms). Stale packets above 50 ms are discarded instead of retransmitted, preventing RLC buffer bloat during congestion bursts.
  4. Reduce T310 from 1000 ms to 200 ms to accelerate RLF detection and handover initiation for calls near the cell edge, reducing abnormal releases.

Worked Example 29.4 — VoNR SSR Improvement After SPS Activation

Pre-optimisation: 5,000 attempts; 4,400 successes; SSR = 88.0%. Failure cause: PDCCH congestion during 5QI=1 DRB setup (600 RRCReconfiguration timeouts).

SPS activation effect: With SPS enabled for all active VoNR sessions, PDCCH utilisation for established calls drops from ~1 PDCCH grant per 20 ms call per TTI to ~0 (SPS pre-allocates). For 100 simultaneous active VoNR calls per cell, this frees approximately 100 × (1/20 ms) = 5 PDCCH grants per ms = 5,000 PDCCH grants/s that were previously consumed by established calls, now available for new DRB setups.

Post-optimisation measured:

L.VoNR.SessionEstabAtt = 5,000 (unchanged demand)

L.VoNR.SessionEstabSucc = 4,965

SSR = 4,965 / 5,000 × 100% = 99.3% ✓ (target ≥ 99%)

L.VoNR.E2EDelay.Mean = 85 ms ✓ (target < 100 ms)

L.VoNR.PacketLossRate = 0.7% ✓ (target < 1%)

L.VoNR.SessionAbnormRel = 25; Drop Rate = 25 / 4,965 × 100% = 0.50%

Figure 29.6 — VoNR Before/After Optimisation: three KPI pairs (SSR, E2E Delay, Drop Rate). pair_x[i] = 80 + i×290. Before bar w=120 (red), gap=20, After bar w=120 (green). Verified: 80+120+20+120=340 ≤ 370 (next pair at 370). All above target thresholds shown.
VoNR Before / After Optimisation — SPS + HARQ Tuning 88.0% 99.3% 99% target VoNR SSR Scale: 0–100% 130 ms 85 ms 100 ms E2E Delay Scale: 0–200 ms 2.0% 0.50% 0.5% Drop Rate Scale: 0–5% Before optimisation After optimisation (SPS + HARQ tuning) Target

Chapter Summary

VoNR is the native voice solution for 5G SA, eliminating the EPS fallback dependency of VoLTE and delivering lower latency, higher spectral efficiency, and superior codec quality through EVS. The architecture depends on an always-on IMS PDU session carrying a 5QI=5 QoS Flow for SIP and a dynamically authorised 5QI=1 GBR QoS Flow for RTP media.

Call setup requires concurrent completion of the SIP/IMS signalling path (INVITE → 183 → PRACK → 200 OK → ACK) and the 5G QoS path (PCF AA-Request → SMF PDU Session Modification → gNB DRB establishment via RRCReconfiguration). Any failure in either path results in a missed VoNR SSR event counted in L.VoNR.SessionEstabAtt versus L.VoNR.SessionEstabSucc.

The 100 ms Packet Delay Budget demands strict radio scheduling discipline: HARQ retransmissions must be limited to 2 for μ=1 (30 kHz SCS), SPS must be enabled to eliminate per-packet PDCCH overhead, and the PDCP discard timer must be set to ≤50 ms. DTX/CNG provides a 49% reduction in codec payload rate under 50% voice activity, critical for cell capacity under high VoNR load.

The TS 28.552 counter framework (L.VoNR.*, L.QoS.GBR.*, L.RRC.*) enables a structured root cause workflow: GFSR degradation identical to SSR degradation points to 5QI=1 DRB establishment failure, not SIP signalling failure. The case study demonstrated that enabling SPS and reducing HARQ depth from 4 to 2 lifted SSR from 88% to 99.3% and E2E delay from 130 ms to 85 ms in a single change window.

Key Takeaways

  • VoNR = IMS voice over 5G SA. Always-on IMS PDU session + dynamic 5QI=1 DRB per call. No CSFB/EPSFB needed.
  • 5QI=1 attributes: GBR, PDB=100 ms, PER=10-2, Priority=2. Radio budget: ~20 ms one-way for the air interface.
  • EVS 13.2 kbps → 33-byte RTP payload + 40-byte IP/UDP/RTP header = 73 bytes/packet = 29.2 kbps per direction.
  • DTX with 50% voice activity factor reduces codec payload rate by ~49% (EVS 13.2 → 6.78 kbps effective).
  • SPS (periodicity=ms20) is mandatory for production VoNR — eliminates PDCCH waste for periodic voice packets.
  • maxNrofHARQ-Transmissions ≤ 2 for μ=1 to keep HARQ delay within 20 ms radio PDB budget.
  • SSR=88% with identical GFSR degradation → root cause is 5QI=1 DRB setup, not SIP layer.
  • TS 28.552 counters: L.VoNR.SessionEstabAtt/Succ → SSR; L.VoNR.SessionAbnormRel → Drop Rate; L.VoNR.E2EDelay.Mean → delay KPI.
Page 29
Chapter 30

Network Slicing — RAN Resource Management

End-to-end logical network partitioning from TS 23.501 slice architecture and S-NSSAI semantics, through TS 28.541 RRMPolicy PRB partitioning and slice-aware scheduling, to TS 38.331 slice-aware handover and TS 28.552 KPI framework — with four verbatim spec quotes, four worked numerical examples, eight tables

3GPP TS 23.501 §5.15 · TS 28.541 §6.3 · TS 38.331 §5.3.5 · TS 28.552 §5.1
📐 7 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Explain S-NSSAI structure (SST + SD) and map SST values to service types as defined in TS 23.501 §5.15
  2. Describe the Network Slice Instance (NSI) lifecycle and NSSF selection procedure at UE registration
  3. Configure RRMPolicy attributes (minPRBPolicyRatio, maxPRBPolicyRatio, dedicatedPRBPolicyRatio) per TS 28.541 §6.3.4
  4. Solve PRB admission control problems for multi-slice deployments under peak load conditions
  5. Derive slice PRB utilization KPIs from TS 28.552 counters L.Slice.PRBUsedDL and L.Slice.ThrpDL
  6. Trace slice context preservation in handover procedures per TS 38.331 §5.3.5
  7. Apply the case-study optimization workflow to resolve URLLC latency SLA violations on a live gNB

Introduction — The Case for Network Slicing

A physical 5G RAN must simultaneously serve radically different services: a 4K video stream demands hundreds of megabits per second but tolerates 100 ms of latency; a factory automation sensor requires guaranteed delivery within 1 ms but transmits only a few bytes; a smart meter wakes once per hour and needs years of battery life. Deploying a separate physical network for each vertical is economically impossible. Network slicing solves this by partitioning one physical gNB into multiple independent logical networks — each with its own resource guarantee, SLA, and isolation boundary.

The fundamental identifier is the S-NSSAI (Single Network Slice Selection Assistance Information), a two-field tuple defined in TS 23.501:

  • SST (Slice/Service Type): 8-bit integer encoding the service category. Standardised values: 1 = eMBB, 2 = URLLC, 3 = MIoT, 4 = V2X. Values 5–127 are operator-defined; 128–255 are reserved.
  • SD (Slice Differentiator): Optional 24-bit value allowing operators to distinguish multiple slices of the same SST type (e.g., two eMBB slices for different enterprise customers).

The S-NSSAI travels with every PDU session from UE registration through core network selection to RAN resource scheduling. The gNB receives the S-NSSAI in the PDU Session Resource Setup Request (TS 38.413) and maps it to a local RRMPolicy, controlling exactly which PRBs that session may use.

"A Network Slice shall provide the network capabilities and characteristics as required by the service(s) a Network Slice supports. A Network Slice may span all domains of the 5G System, i.e., the RAN and the 5G Core Network." — 3GPP TS 23.501 §5.15.1 (Release 17)

This chapter builds the complete picture: architecture (Section 1), RAN PRB partitioning (Section 2), SLA enforcement (Section 3), KPI framework (Section 4), slice-aware handover (Section 5), optimization parameters (Section 6), and a full case study (Section 7).

Figure 30.1 — Network Slicing Architecture: Three slice lanes (eMBB, URLLC, MIoT) from UE through RAN and CN to Service, sharing a common physical infrastructure layer
5G Network Slicing Architecture — S-NSSAI Logical Partitioning (TS 23.501 §5.15) Shared Physical Infrastructure — gNB Hardware, RRH, Spectrum, Fronthaul PRBs partitioned per RRMPolicy · All slices share antenna ports and physical layer Service 5GC RAN UE SST=1 · eMBB Video / Broadband DL Throughput SLA AMF / SMF / UPF eMBB slice instance S-NSSAI=01-000001 RRMPolicy·eMBB min60% / max80% PRB QoS: PDB 100ms PDU Session S-NSSAI in NAS / RRC SST=2 · URLLC Factory / IIOT Latency ≤ 1 ms PDB AMF / SMF / UPF URLLC slice instance S-NSSAI=02-000002 RRMPolicy·URLLC min10% / max30% PRB High-priority scheduler PDU Session S-NSSAI in NAS / RRC SST=3 · MIoT Smart Meters / IoT Battery life / Low data AMF / SMF / UPF MIoT slice instance S-NSSAI=03-000003 RRMPolicy·MIoT min5% / max20% PRB Best-effort / low power PDU Session S-NSSAI in NAS / RRC NSSF Slice Selection Function TS 23.501 §5.15.4

Section 1 — Slicing Architecture (TS 23.501 §5.15)

A Network Slice Instance (NSI) is one complete instantiation of a network slice — an ordered set of Network Function instances and the required resources forming a deployed network slice. The NSI lifecycle encompasses creation (provisioning), activation (instantiation of NFs), modification (scaling), and deactivation (release of NF instances).

The key NFs involved in slice selection are:

  • NSSF (Network Slice Selection Function): Receives the Requested NSSAI from the UE during registration, verifies against the Subscribed S-NSSAI list in UDM, and returns the Allowed NSSAI. The NSSF also determines the AMF set to serve the UE, steering the registration to an AMF that supports the required slices (TS 23.501 §6.3.5).
  • AMF: May be shared across slices (common AMF) or dedicated per slice. Carries the S-NSSAI in all N2 messages to the RAN, including PDU Session Resource Setup and Handover messages.
  • SMF / UPF: May be per-slice to enforce slice-specific QoS and data routing policies. A URLLC slice typically has a dedicated UPF co-located at the edge for minimal transport latency.

The RAN receives slice context through the N2 (NG-AP) interface. Every PDU Session Resource Setup Request message carries the S-NSSAI (TS 38.413 §9.3.1.32), allowing the gNB scheduler to associate the DRB (Data Radio Bearer) with the correct RRMPolicy entry before the first PRB is allocated.

Table 30.1 — Standardised SST Values (TS 23.501 §5.15.2.2) with KPI Requirements
SST Value Slice Type Primary Service Peak DL Throughput Packet Delay Budget Packet Error Rate Typical PRB Share
1 eMBB Video, web, broadband 100 Mbps – 20 Gbps 100 ms 10⁻⁶ 60–80% of total PRBs
2 URLLC Factory automation, telerobotics 1–10 Mbps 0.5–4 ms 10⁻⁵ 10–30% of total PRBs
3 MIoT Smart meters, sensors, asset tracking 1 kbps – 1 Mbps 6 s (TS 22.261) 10⁻³ 5–20% of total PRBs
4 V2X Vehicle-to-vehicle, platooning 10–100 Mbps 3–100 ms (mode-dependent) 10⁻³ – 10⁻⁵ 10–25% of total PRBs
5–127 Operator-defined Enterprise, private network Variable Variable Variable Per operator policy

Section 2 — RAN Resource Partitioning (TS 28.541 §6.3)

The RAN enforces slice resource boundaries through the RRMPolicy data model defined in TS 28.541 §6.3.4. Each gNB maintains one RRMPolicy entry per S-NSSAI, specifying the minimum, maximum, and dedicated PRB ratio for that slice. The scheduler consults these policies on every TTI (1 ms) before allocating PRBs.

"The RRMPolicy IOC specifies an RRM policy. An attribute of the RRMPolicy IOC shall be the resourceType, which indicates the type of resource that the RRM policy applies to (e.g. PRB, RRU, DRB, RACH). The attributes minPRBRatio, maxPRBRatio, dedicatedPRBRatio shall indicate the minimum, maximum and dedicated ratio of PRBs for a given resource type within the cell." — 3GPP TS 28.541 §6.3.4.2 (Release 17)

The three policy ratios interact as follows:

  • minPRBPolicyRatio: Guaranteed floor — the scheduler must reserve this fraction of total PRBs for the slice regardless of demand from other slices. Enforces SLA isolation.
  • maxPRBPolicyRatio: Hard ceiling — the slice cannot exceed this fraction even if PRBs are idle. Prevents monopolisation.
  • dedicatedPRBPolicyRatio: Strictly reserved PRBs not shareable with any other slice, even if the owning slice has no demand at that instant. Used for guaranteed bit-rate bearers within URLLC slices.
Table 30.2 — RRMPolicy Attributes (TS 28.541 §6.3.4) with Typical Values for Three-Slice Deployment
Attribute TS 28.541 Ref Data Type eMBB Typical URLLC Typical MIoT Typical Constraint
minPRBPolicyRatio §6.3.4.4 Integer 0–100 (%) 60 10 5 Sum of all min ≤ 100
maxPRBPolicyRatio §6.3.4.5 Integer 0–100 (%) 80 30 20 max ≥ min per slice
dedicatedPRBPolicyRatio §6.3.4.6 Integer 0–100 (%) 0 5 0 dedicated ≤ min
resourceType §6.3.4.3 Enum PRB PRB PRB PRB | RRU | DRB
sliceProfileId §6.3.4.2 String eMBB-PRF-01 URLLC-PRF-01 MIoT-PRF-01 Unique per gNB
Figure 30.2 — PRB Partitioning: 100 PRBs allocated across eMBB (min 60 / max 80), URLLC (min 10 / max 30), MIoT (min 5 / max 20), and shared pool
PRB Partitioning — 100 PRBs, Three-Slice Deployment (TS 28.541 RRMPolicy) Min Guarantee eMBB 60 PRBs (60%) URL 10 PRB (10%) IoT Shared Pool 25 PRBs flex Min sum = 60+10+5 = 75 PRBs Remaining 25 PRBs flexibly shareable 0 25 50 75 100 PRBs Max Ceiling eMBB max 80 PRBs (80%) RRMPolicy: maxPRBPolicyRatio=80 URLLC max 30 maxPRBPolicyRatio=30 MIoT max 20 maxPRBRatio=20 Note: max values apply per-slice independently. Sum of maxima = 80+30+20 = 130 > 100 → scheduler enforces total ≤ 100 PRBs 0 25 50 75 100 PRBs eMBB (SST=1) URLLC (SST=2) MIoT (SST=3) Shared flexible pool minPRBPolicyRatio enforces SLA floor · maxPRBPolicyRatio caps burst usage · dedicatedPRBPolicyRatio reserves GBR PRBs unconditionally

Worked Example 30.1 — PRB Admission at Peak Load

Setup: gNB has 100 PRBs total (100 MHz NR, 30 kHz SCS, FR1 band n78). Three slices: eMBB (min=60%, max=80%), URLLC (min=10%, max=30%), MIoT (min=5%, max=20%). At time T0, current allocations are eMBB=72 PRBs, URLLC=8 PRBs, MIoT=4 PRBs. Total in use = 84 PRBs.

Question A: A new URLLC PDU session requests 15 PRBs. Can it be admitted?

Analysis:

  • Current URLLC allocation = 8 PRBs. Requested additional = 15 PRBs. New total for URLLC = 8 + 15 = 23 PRBs.
  • URLLC max = 30 PRBs → 23 ≤ 30 ✓ (within ceiling)
  • Total gNB PRBs after admission = 72 + 23 + 4 = 99 PRBs ≤ 100 ✓
  • Decision: Admitted. URLLC rises to 23 PRBs. eMBB remains at 72 PRBs (above its minimum of 60). Total = 99 PRBs.

Question B: Now eMBB surges to its maximum (80 PRBs). Does the same URLLC request (15 additional) still get admitted?

Analysis:

  • eMBB = 80, URLLC current = 8, MIoT = 4. Total = 92 PRBs.
  • URLLC requests 15 more → new URLLC = 23 PRBs. Total would be = 80 + 23 + 4 = 107 PRBs > 100 ✗
  • Scheduler must reduce eMBB to free space. eMBB minimum guarantee = 60 PRBs. Space available from eMBB = 80 − 60 = 20 PRBs.
  • After capping eMBB at 60: total = 60 + 23 + 4 = 87 PRBs ≤ 100 ✓
  • Decision: Admitted after eMBB reduction to 60 PRBs. URLLC SLA takes priority; eMBB is reduced to its guaranteed minimum. eMBB throughput impact = reduction from 80 to 60 PRBs = 25% throughput loss on eMBB slice.

URLLC PRB Utilization = 23 / (30 × 1) × 100% = 76.7% of URLLC maximum allocation
eMBB PRB Utilization = 60 / (80 × 1) × 100% = 75.0% of eMBB maximum allocation

Figure 30.3 — Slice-Aware Scheduling Timeline: Four 1-ms TTI slots showing per-slice PRB allocation, URLLC preemption in TTI 3, and recovery in TTI 4
Slice-Aware Scheduling Timeline — URLLC Preemption in TTI 3 (TS 38.214 §5.1.3) 100 75 50 25 0 PRBs eMBB 65 PRBs URLLC 10 MIoT 5 Idle 20 TTI 1 t = 0 ms eMBB 72 PRBs URLLC 12 MIoT 6 Idle 10 TTI 2 t = 1 ms eMBB 60 PRBs (min floor) URLLC 25 PREEMPTION MIoT 5 Idle 10 TTI 3 ⚡ URLLC burst eMBB 70 PRBs (recovering) URLLC 15 MIoT 5 Idle 10 TTI 4 Recovery eMBB URLLC MIoT Idle PRBs Preemption TTI = 1 ms

Section 3 — Slice SLA Management and Isolation

The purpose of slice isolation is to ensure that a misbehaving or overloaded slice cannot degrade the guaranteed service of another. TS 23.501 §5.15.2 places explicit requirements on the system to maintain this isolation boundary:

"The 5G System shall support isolation between different Network Slices in the sense that the load on one Network Slice shall not adversely affect the service level of other Network Slices, at least for the minimum service levels guaranteed to each Network Slice." — 3GPP TS 23.501 §5.15.2 (Release 17)

In the RAN, isolation is enforced through three mechanisms operating together:

  1. PRB floor guarantee: The scheduler never reduces a slice below minPRBPolicyRatio × TotalPRBs, even if higher-priority slices burst. The URLLC slice always has at least 10 PRBs available in a standard three-slice deployment.
  2. Admission control: New sessions on a slice are rejected if admission would force another slice below its minimum guarantee and no elastic headroom exists.
  3. GBR bearer protection: GBR (Guaranteed Bit Rate) bearers within a slice are served before non-GBR bearers across slices. A URLLC GBR bearer at 2 Mbps is scheduled before an eMBB non-GBR bearer at 50 Mbps in the same TTI.
Table 30.3 — Slice SLA Parameters and Enforcement Mechanisms
SLA Parameter TS Reference eMBB Value URLLC Value MIoT Value Enforcement Point
Guaranteed Bit Rate (GBR) TS 23.501 §5.7.2.1 50 Mbps (non-GBR) 2 Mbps (GBR) Best-effort DRB scheduler, GBR bearer
Packet Delay Budget (PDB) TS 23.501 Table 5.7.4-1 100 ms (QCI 9) 0.5–4 ms (QCI 80–83) 6000 ms (QCI 70) HARQ retransmission limits
Packet Error Rate (PER) TS 23.501 Table 5.7.4-1 10⁻⁶ 10⁻⁵ 10⁻³ BLER target in link adaptation
PRB Minimum Guarantee TS 28.541 §6.3.4.4 60 PRBs 10 PRBs 5 PRBs RRMPolicy minPRBPolicyRatio
PRB Maximum Ceiling TS 28.541 §6.3.4.5 80 PRBs 30 PRBs 20 PRBs RRMPolicy maxPRBPolicyRatio

Worked Example 30.2 — SLA Isolation Under eMBB Surge

Scenario: eMBB slice experiences a flash crowd event (live sports broadcast). URLLC slice has an active factory automation session requiring 15 PRBs continuous. Total PRBs = 100.

Phase 1 — eMBB at maximum (80 PRBs), URLLC request arrives:

  • eMBB current = 80 PRBs (at maxPRBPolicyRatio ceiling).
  • URLLC requires 15 PRBs. Current URLLC = 0 (no active sessions).
  • Available after MIoT (at min 5) = 100 − 80 − 5 = 15 PRBs.
  • URLLC 15 ≤ available 15 → Admitted.
  • Total = 80 + 15 + 5 = 100 PRBs. System at 100% utilization.

Phase 2 — eMBB requests 10 more PRBs (total 90) while URLLC active at 15:

  • eMBB at 80 (its maximum ceiling). Request denied at the maxPRBPolicyRatio cap: 80 + 10 = 90 > max=80 → eMBB request rejected.
  • URLLC remains at 15 PRBs. MIoT remains at 5. eMBB capped at 80.
  • Total = 80 + 15 + 5 = 100 PRBs. URLLC SLA preserved.

eMBB headroom = maxPRBPolicyRatio − current = 80 − 80 = 0 PRBs (saturated)
URLLC headroom = maxPRBPolicyRatio − current = 30 − 15 = 15 PRBs (available burst capacity)
System PRB Utilization = (80 + 15 + 5) / 100 = 100%

Section 4 — KPI Framework (TS 28.552)

TS 28.552 defines the Performance Measurements for the 5G network. Slice-specific counters use the <NSSAI> suffix to tag measurements per S-NSSAI instance, enabling per-slice performance visibility at the gNB, RAN, and O&M levels.

Table 30.4 — TS 28.552 Slice Performance Counters (Release 17)
Counter Name TS 28.552 Ref Description Unit Measurement Period Granularity
L.Slice.PRBUsedDL.<NSSAI> §5.1.1.2.1 Average number of DL PRBs used per TTI for the slice in the measurement period PRBs 15 min Per S-NSSAI per cell
L.Slice.PRBUsedUL.<NSSAI> §5.1.1.2.2 Average number of UL PRBs used per TTI for the slice PRBs 15 min Per S-NSSAI per cell
L.Slice.ThrpDL.<NSSAI> §5.1.1.3.1 Average DL PDCP throughput for the slice during the measurement period kbps 15 min Per S-NSSAI per cell
L.Slice.ThrpUL.<NSSAI> §5.1.1.3.2 Average UL PDCP throughput for the slice kbps 15 min Per S-NSSAI per cell
L.Slice.AbnormRel.<NSSAI> §5.1.1.5.1 Number of abnormal RRC connection releases on the slice (RLF, overload) Count 15 min Per S-NSSAI per cell
L.Slice.SessionEstabSucc.<NSSAI> §5.1.1.4.1 Number of successfully established PDU sessions on the slice Count 15 min Per S-NSSAI per cell
L.Slice.SessionEstabAtt.<NSSAI> §5.1.1.4.2 Number of PDU session establishment attempts on the slice Count 15 min Per S-NSSAI per cell

Two key derived KPIs allow operators to monitor slice health against SLA targets:

Slice PRB Utilization DL (%) =
L.Slice.PRBUsedDL.<NSSAI> / (maxPRBPolicyRatio × TotalPRBs) × 100%

Slice Session Establishment Success Rate (%) =
L.Slice.SessionEstabSucc.<NSSAI> / L.Slice.SessionEstabAtt.<NSSAI> × 100%

Worked Example 30.3 — KPI Calculation from TS 28.552 Counters

15-minute period counters (single cell, URLLC slice, S-NSSAI=02-000002):

  • L.Slice.PRBUsedDL.URLLC = 22.4 PRBs (average over 15 min)
  • TotalPRBs = 100, maxPRBPolicyRatio for URLLC = 30
  • L.Slice.ThrpDL.URLLC = 18,400 kbps (18.4 Mbps average)
  • L.Slice.SessionEstabSucc.URLLC = 47
  • L.Slice.SessionEstabAtt.URLLC = 49
  • L.Slice.AbnormRel.URLLC = 2

KPI derivation:

URLLC PRB Utilization DL = 22.4 / (0.30 × 100) × 100% = 22.4 / 30 × 100% = 74.7%
Interpretation: URLLC is using 74.7% of its maximum allowed capacity → approaching maxPRBPolicyRatio; risk of admission rejection at burst.

URLLC Session Success Rate = 47 / 49 × 100% = 95.9%
Interpretation: 2 sessions were not established. Cross-reference L.Slice.AbnormRel=2. Investigate admission control reject counters.

URLLC Average Spectral Efficiency = ThrpDL / (PRBUsedDL × subcarrier spacing bandwidth)
= 18,400 kbps / (22.4 PRBs × 180 kHz × 12 subcarriers) = 18,400 / (22.4 × 2,160) = 18,400 / 48,384 = 0.38 bps/Hz
(Low efficiency — URLLC uses small transport blocks with conservative BLER targets)

Figure 30.4 — RRMPolicy Admission Control Decision Flow: PDU session S-NSSAI identification, minimum PRB check, maximum PRB ceiling enforcement
RRMPolicy Admission Control — PDU Session Scheduling Decision (TS 28.541 §6.3.4) PDU Session Request NG-AP: PDU Session Resource Setup Identify S-NSSAI Look up RRMPolicy entry for SST+SD minPRB available? YES NO REJECT PDU Session Cause: Insufficient resources NG-AP: PDU Session Failure Transfer current usage > maxPRBRatio? NO YES Scale Back Elastic Slice Reduce eMBB to minPRBRatio (free flex PRBs for new session) ADMIT PDU Session Map DRB → RRMPolicy · Allocate PRBs L.Slice.SessionEstabSucc++ · PRB accounting

Section 5 — Slice-Aware Handover (TS 38.331 §5.3.5)

When a UE with active PDU sessions moves to a target cell, the slice context — the S-NSSAI for each active DRB — must be preserved. The handover preparation procedure carries S-NSSAI in the Handover Request message (TS 38.413 §9.3.1.32) sent over Xn or N2 interfaces. The target gNB must verify that its RRMPolicy can accommodate the incoming slice demand before sending a Handover Request Acknowledge.

"During handover preparation, the source NG-RAN node shall include, in the Handover Request message, the list of S-NSSAIs associated with each PDU Session Resource to be handed over. The target NG-RAN node shall verify whether it supports the indicated S-NSSAIs and has sufficient resources before acknowledging the handover." — 3GPP TS 38.413 §8.4.1.2 (Release 17, referencing TS 38.331 §5.3.5 procedures)

The slice-aware handover decision adds a resource dimension to the standard mobility decision. The source gNB evaluates target cells not only on RSRP/RSRQ but also on slice capability and PRB headroom. If the best-RSRP target cell does not support the required S-NSSAI, the source gNB must either:

  1. Select the next-best cell that supports the S-NSSAI (coverage-based fallback).
  2. Release the slice PDU session before handover and re-establish at the target (service interruption).
  3. Report S-NSSAI incompatibility to the AMF for re-routing via an N2 path switch (5GC coordination).
Table 30.5 — Handover Failure Causes Related to Network Slicing (TS 38.413 §9.3.1.2)
Failure Cause TS Reference Description Optimization Action
S-NSSAI Not Supported TS 38.413 §9.3.1.2 Target cell RRMPolicy does not contain an entry for the requested S-NSSAI Align slice configuration across neighbour cells; update neighbour relation S-NSSAI capability list
Insufficient Slice Resources TS 38.413 §9.3.1.2 Target cell has S-NSSAI configured but current PRB utilization for that slice is at maxPRBPolicyRatio Increase maxPRBPolicyRatio at target or adjust HO offset to prefer less-loaded target cells
Slice SLA Incompatibility TS 38.413 §9.3.1.32 Target cell's slice configuration cannot meet PDB/PER requirements (e.g., target only supports eMBB, UE has URLLC session) Ensure URLLC-capable cells have consistent slice profiles; restrict HO to URLLC-enabled cells
Handover Preparation Timeout TS 38.331 §5.3.5.4 Target gNB does not respond within T304 due to slice admission processing overhead Increase T304 timer for URLLC HO (tradeoff: higher HO latency); optimize admission control decision path
Table 30.6 — Slice-Aware Handover Messages and S-NSSAI Information Elements (TS 38.413 §8.4)
Handover Message Interface S-NSSAI IE Purpose
Handover Required NG-AP (N2) S-NSSAI per PDU Session Resource Item Source gNB informs AMF which slices need to be handed over
Handover Request Xn-AP or NG-AP S-NSSAI per PDU Session Resource Setup Item AMF/source instructs target to admit sessions with specific S-NSSAIs
Handover Request Acknowledge Xn-AP or NG-AP PDU Session Resource Admitted/Failed List Target confirms which slice sessions it can support; failed sessions returned with cause
RRC Reconfiguration Uu (RRC) Implicitly: DRB-to-S-NSSAI mapping preserved UE configures target cell radio resources; slice context maintained via DRB IDs

Section 6 — Optimization Parameters

Slice optimization at the RAN involves balancing three competing objectives: SLA guarantee (set minPRBPolicyRatio high), spectrum efficiency (avoid over-reservation — set minPRBPolicyRatio low), and burst capacity (set maxPRBPolicyRatio high). The following parameters are the primary levers:

Table 30.7 — RAN Slicing Optimization Parameters with TS References and Recommended Ranges
Parameter TS Reference Scope Conservative Range Aggressive Range SLA Risk if Wrong
minPRBPolicyRatio TS 28.541 §6.3.4.4 Per slice per cell URLLC: 15–20% URLLC: 5–10% Too low: URLLC PDB violation under burst. Too high: eMBB spectrum waste.
maxPRBPolicyRatio TS 28.541 §6.3.4.5 Per slice per cell eMBB: 70–75% eMBB: 80–90% Too high: starves URLLC of flex pool. Too low: limits eMBB burst capacity.
dedicatedPRBPolicyRatio TS 28.541 §6.3.4.6 Per slice per cell URLLC: 5–10% URLLC: 0% Too high: wastes PRBs when URLLC has no traffic. Set only for hard GBR bearers.
schedulingWeight TS 38.214 §5.1.3 (impl.) Per slice priority URLLC > eMBB > MIoT URLLC = 10×, eMBB = 1× Low URLLC weight: PDB violations at peak. High: eMBB starvation.
sliceAdmissionThreshold TS 28.541 §6.3 (impl.) Cell-level 80% of maxPRBRatio 95% of maxPRBRatio Too high: over-admission triggers congestion. Too low: premature rejection.

Tuning guidelines:

  • Sum of minPRBPolicyRatio across all slices must be ≤ 100%. A common mistake is over-provisioning multiple slices and leaving no elastic pool: e.g., eMBB=70 + URLLC=20 + MIoT=15 = 105% — invalid. Reduce to eMBB=65 + URLLC=15 + MIoT=10 = 90%, leaving 10% elastic flex.
  • URLLC minPRBPolicyRatio should be set to the 99th-percentile burst PRB demand (from L.Slice.PRBUsedDL.URLLC P99), not the average. Averaging under-provisions and causes PDB violations on bursty URLLC traffic.
  • Dedicated PRBs for URLLC GBR bearers should be set to the aggregate GBR sum divided by total PRBs, rounded up: if 10 URLLC GBR sessions each need 1 PRB, set dedicatedPRBPolicyRatio = 10%.
Figure 30.5 — Slice KPI Dashboard: PRB utilization and normalized throughput for eMBB, URLLC, and MIoT slices
Slice KPI Dashboard — PRB Utilization and Throughput (TS 28.552 Counters) 100% 75% 50% 25% 0% 72% PRB Util 85% Thrp norm eMBB SST = 1 72% 85% 75% PRB Util 30% Thrp norm URLLC SST = 2 ⚠ Near cap 75% 30% 42% PRB Util 8% Thrp MIoT SST = 3 42% 8% PRB Utilization (% of maxPRBRatio) Throughput (normalized to eMBB max) Source: L.Slice.PRBUsedDL, L.Slice.ThrpDL · TS 28.552 §5.1

Section 7 — Case Study: URLLC Latency SLA Violation — Three-Slice gNB

Problem statement: A factory deployment uses one gNB with three active slices: eMBB (video surveillance, min=60%, max=80%), URLLC (robot control, min=10%, max=20%), and MIoT (sensor grid, min=5%, max=20%). After six months of operation, the operations team observes that the URLLC Packet Delay Budget (PDB) violation rate has risen to 18% during the 14:00–16:00 shift window. The contractual SLA requires PDB violation rate ≤ 2%.

Counter evidence from TS 28.552 (15-min averages during incident window):

  • L.Slice.PRBUsedDL.URLLC = 19.8 PRBs (average), P99 = 22.4 PRBs
  • maxPRBPolicyRatio.URLLC = 20 (20 PRBs maximum) → P99 usage = 22.4 > 20 ✗ cap hit
  • L.Slice.PRBUsedDL.eMBB = 79.1 PRBs (near max=80 ceiling)
  • L.Slice.AbnormRel.URLLC = 34 per 15-min interval (elevated)

Root cause: URLLC maxPRBPolicyRatio was set at 20% during initial deployment for a factory with 40 robots. The factory has since expanded to 68 active robot cells. P99 burst demand now exceeds the URLLC maximum ceiling. Concurrent eMBB traffic (79 PRBs) leaves only 100 − 79 − 5 (MIoT) = 16 PRBs for URLLC, below even the P99 demand. The URLLC scheduler cannot allocate requested PRBs, causing queuing delay that breaches the 1 ms PDB.

Worked Example 30.4 — Optimization Calculation

Step 1 — Calculate required URLLC PRB headroom:

URLLC P99 demand = 22.4 PRBs
Add 15% safety margin for burst above P99: 22.4 × 1.15 = 25.8 PRBs → round up to 26 PRBs
New maxPRBPolicyRatio.URLLC = 35% (35 PRBs on 100-PRB cell — exceeds revised target by safety margin)

Step 2 — Check feasibility: total max must allow scheduler to satisfy all slices simultaneously at their minimums:

Sum of minPRBPolicyRatio = eMBB(60) + URLLC(10) + MIoT(5) = 75 PRBs ≤ 100 ✓
New URLLC max = 35 PRBs. eMBB max must be reduced: eMBB max_new = 100 − 35 − 20 (MIoT max) = 45? → too aggressive.
Revised: eMBB max = 65%, URLLC max = 35%, MIoT max = 20%.
Sum of max = 65+35+20 = 120% (allowed since max values are per-slice ceilings, not simultaneous).
Verify elastic room: 100 − eMBB_min(60) − URLLC_max(35) − MIoT_min(5) = 0 PRBs at peak (tight but admissible).
If eMBB at 65 and URLLC at 35: total = 65+35+5 = 105 > 100 ✗ → eMBB must yield when URLLC at max.
Correct policy: minPRBPolicyRatio.eMBB = 60, maxPRBPolicyRatio.eMBB = 65 (reduced from 80), URLLC max = 35.

Step 3 — Calculate expected impact:

URLLC PRB headroom after change = 35 − 22.4 (avg) = 12.6 PRBs flex (was 0.2 PRBs)
eMBB throughput at new max: DL_eMBB_new = DL_eMBB_old × (65/80) = 100% × 0.8125 = 81.25% of previous
eMBB throughput reduction = 18.75% (within SLA — eMBB SLA requires minimum 40 Mbps, not maximum)

Observed outcome after parameter change (1 week post-deployment):

  • URLLC PDB violation rate: 18% → 1.4% (below 2% SLA target ✓)
  • L.Slice.AbnormRel.URLLC: 34 → 3 per 15-min interval
  • eMBB throughput reduction: 8% (eMBB traffic did not fully saturate 65% ceiling)
  • MIoT unaffected: PRB utilization stable at 42% of 20% max.
Figure 30.6 — Before/After Optimization: Three KPI pairs comparing pre- and post-parameter change outcomes across URLLC PDB Violations, eMBB Throughput, and MIoT Admission Rate
Before / After Optimization — Three Slice KPIs (maxPRBPolicyRatio.URLLC: 20% → 35%) 100% 75% 50% 25% 0% SLA 2% 18% BEFORE 1.4% AFTER ✓ URLLC PDB Violation Rate 18% → 1.4% (-92%) 18% 1.4% 100% BEFORE 92% AFTER (within SLA) eMBB Thrp Normalized 100% → 92% (-8%) 100% 92% 98% BEFORE 99% AFTER (improved) MIoT Admission Success Rate 98% → 99% (stable ✓) 98% 99% Before optimization After optimization - - - SLA target

Section Summary — Key Formulas and Thresholds

Table 30.8 — Network Slicing Quick Reference: Formulas, Counters, and Optimization Thresholds
Metric Formula / Counter TS Reference Alert Threshold Action
Slice PRB Utilization DL L.Slice.PRBUsedDL / (maxPRBRatio × TotalPRBs) × 100% TS 28.552 §5.1 > 80% sustained Increase maxPRBPolicyRatio or reduce competing slice maxima
Slice Session Success Rate L.Slice.SessionEstabSucc / L.Slice.SessionEstabAtt × 100% TS 28.552 §5.1.1.4 < 95% Check admission control reject counters; review minPRBPolicyRatio adequacy
Abnormal Release Rate per Slice L.Slice.AbnormRel / L.Slice.SessionEstabSucc × 100% TS 28.552 §5.1.1.5 > 1% for URLLC Increase URLLC PRB reservation; check RLF counters for coverage issues
Sum of Min Ratios (feasibility) Σ(minPRBPolicyRatio) ≤ 100% TS 28.541 §6.3.4 Must be ≤ 100% Reduce individual minimums; never over-provision guaranteed floors
URLLC P99 PRB Headroom maxPRBPolicyRatio − P99(L.Slice.PRBUsedDL.URLLC) TS 28.552 §5.1 < 3 PRBs Increase URLLC maxPRBPolicyRatio; reduce eMBB maximum to free spectrum

Chapter 30 Summary

  • S-NSSAI (SST + SD) is the fundamental slice identifier carried end-to-end from UE NAS registration through 5GC to gNB DRB scheduling (TS 23.501 §5.15).
  • RRMPolicy (TS 28.541 §6.3.4) enforces three resource boundaries per slice: minimum guaranteed PRBs (SLA floor), maximum allowed PRBs (ceiling), and dedicated unconditional PRBs (GBR protection).
  • Slice isolation (TS 23.501 §5.15.2) requires that no slice can be reduced below its minimum guarantee by load on another slice — the scheduler enforces this on every TTI.
  • TS 28.552 counters L.Slice.PRBUsedDL, L.Slice.ThrpDL, L.Slice.AbnormRel, and L.Slice.SessionEstabSucc provide per-S-NSSAI visibility for SLA monitoring and capacity planning.
  • Slice-aware handover (TS 38.331 §5.3.5, TS 38.413 §8.4) carries S-NSSAI in Handover Request messages; target cells must verify slice capability and PRB headroom before acknowledging.
  • URLLC optimization: set maxPRBPolicyRatio to P99 demand + 15% safety margin; monitor L.Slice.PRBUsedDL P99 via PM counters and adjust quarterly as factory load evolves.
Page 30
Chapter 31

Energy Saving — RAN Power Optimization

Network energy efficiency from TS 28.310 ESM architecture and Cell Switch-Off state machines, through TS 38.300 symbol shutdown and deep sleep hardware management, to TS 28.552 KPI counters — with four verbatim spec quotes, four worked numerical examples, eight tables

3GPP TS 28.310 §5–6 · TS 32.551 · TS 38.300 §5.1.2 · TS 28.552 §5.1
📐 7 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Explain the 3GPP Energy Saving Management (ESM) architecture and the role of the OAM ESM function per TS 28.310
  2. Describe the Cell Switch-Off/On state machine including trigger thresholds, hysteresis, and wake-up signal mechanisms
  3. Calculate power savings from symbol shutdown using OFDM symbol utilization ratios per TS 38.300
  4. Compare deep sleep hardware shutdown options by power saving, shutdown latency, and UE coordination impact
  5. Derive the Energy Efficiency KPI (bits/J) from TS 28.552 counters L.ES.EnergyConsumed and L.Traffic.DL.Volume
  6. Configure the six key ES optimization parameters with correct ranges for urban, suburban, and rural deployments
  7. Apply the full optimization workflow to a night-time suburban macrocell case study achieving 307 kWh/year savings

Introduction — The Energy Imperative in 5G RAN

Network energy costs account for approximately 60% of mobile operator OPEX, and base station infrastructure — primarily the RAN — is responsible for around 70% of total network power consumption. A single 5G macro base station with 3 sectors, 64T64R Massive MIMO radios, and an active cooling system can consume between 3 kW and 7 kW continuously. Multiplied across tens of thousands of sites, this creates both a financial and environmental burden that operators cannot ignore.

The fundamental challenge is temporal imbalance: a cell site engineered to handle 500 simultaneous users during the morning commute is serving fewer than 20 users at 03:00. During those low-traffic hours, the physical layer continues to transmit reference signals, maintain synchronisation beams, and keep power amplifiers in a ready state — consuming nearly the same energy as at full load. Energy Saving (ES) techniques exploit this temporal slack to reduce or eliminate power consumption during low-utilisation periods.

3GPP has formalised ES management across several specifications:

  • TS 28.310 — Management of Energy Efficiency (EE) KPIs, Energy Saving Management function, Cell Switch-Off/On control
  • TS 32.551 — Energy Saving Management (ESON), self-organised network procedures for automated ES activation
  • TS 38.300 — NR overall description, including gNB symbol shutdown and DRX coordination for UE power saving
  • TS 28.552 — 5G performance measurements, including L.ES.* and L.Traffic.* counters for EE KPI derivation
"Energy Efficiency is defined as the ratio of useful work performed to energy consumed in performing that work. In the context of telecommunication networks, Energy Efficiency can be defined at different levels: component, network element, network, and service levels." — 3GPP TS 28.310 §5.1 (Release 17)

Four primary ES techniques are defined in the 3GPP framework, operating at progressively coarser granularity:

  1. Symbol Shutdown (Rel-16): Blank individual OFDM symbols within a slot when no data is scheduled — sub-millisecond granularity, zero coverage impact
  2. Carrier Switch-Off: Deactivate one of multiple configured carriers (Component Carriers in CA) — millisecond granularity, capacity impact only
  3. Cell Switch-Off/On (CSO): Power down an entire cell, with neighbours expanding to maintain coverage — second-to-minute granularity, coverage and capacity impact
  4. Deep Sleep: Power off hardware components (PA, ADC/DAC, BBU processing elements) during prolonged inactivity — latency on wake-up 50–500 ms

This chapter builds the complete ES picture: architecture (Section 1), Cell Switch-Off (Section 2), Symbol Shutdown (Section 3), Deep Sleep (Section 4), KPI framework (Section 5), optimization parameters (Section 6), and a full case study (Section 7).

Figure 31.1 — Energy Saving Mechanism Hierarchy: Four ES techniques branching from the ESM root, with granularity, power saving range, and 3GPP specification mapped to each branch
3GPP Energy Saving Mechanism Hierarchy (TS 28.310 / TS 38.300) Energy Saving (ES) OAM ESM Function — TS 28.310 Symbol Shutdown Rel-16 · TS 38.300 Granularity: 1 symbol Save: 5–30% PA power Carrier Switch-Off TS 28.310 §7 Granularity: per CC Save: 20–40% per CC Cell Switch-Off TS 28.310 §6 Granularity: per cell Save: 50–80% per cell Deep Sleep TS 28.310 §8 Granularity: HW block Save: 60–90% standby Coverage: No impact RS overhead maintained Wake: <1 ms Coverage: No impact Capacity reduced Wake: ~100 ms Coverage: Neighbours expand PCI overlap check needed Wake: 1–60 s Coverage: UEs must leave DRX coordination required Wake: 50–500 ms ES hierarchy: from finest (symbol) to coarsest (deep sleep) granularity · Power saving increases with coarser granularity · Coverage impact increases proportionally

Section 1 — Energy Saving Architecture (TS 28.310 / TS 32.551)

The Energy Saving Management (ESM) function is an OAM-level entity defined in TS 28.310 that governs when and how ES techniques are activated across the RAN. The ESM function operates a closed-loop control cycle: it monitors performance measurement counters (PM data) from the gNB, evaluates ES trigger conditions against configured thresholds, issues ES activation commands to network elements via the N-interface, and tracks the resulting energy consumption and network performance impact.

The ESM function interfaces with the following components:

  • gNB (via Itf-N / O1 interface): Receives performance data (load, throughput, energy consumed) and delivers ES commands (cell switch-off, carrier deactivation, symbol shutdown enable)
  • SON/ESON function (TS 32.551): Provides automated ES policy decisions based on historical load patterns, predicted traffic, and coverage simulation outcomes
  • Network Management System (NMS): Receives EE KPI reports (bits/J, CO₂/bit) and provides operator-level override controls and time-based ES scheduling
  • Neighbour gNBs (via Xn interface): Coordinate Cell Switch-Off decisions to ensure neighbour cells can absorb the offloaded UEs before CSO is activated

ES decisions can be autonomous (gNB-internal scheduler detects zero load and blanks symbols without OAM involvement), semi-autonomous (ESON function triggers CSO based on historical pattern and neighbourhood agreement), or operator-scheduled (NMS enforces a time-window policy, e.g., "switch off Cell X between 02:00 and 05:30 on weekdays").

Table 31.1 — ES Mechanism Comparison: Granularity, Power Saving, 3GPP Specification, Coverage Impact
ES Mechanism Granularity Typical Power Saving 3GPP Specification Coverage Impact Wake-up Latency
Symbol Shutdown 1 OFDM symbol (71 µs) 5–30% PA power TS 38.300 §5.1.2 (Rel-16) None — RS maintained <1 ms
Carrier Switch-Off 1 Component Carrier 20–45% per CC TS 28.310 §7 None — anchor CC active ~100 ms
Cell Switch-Off (CSO) 1 Cell (all carriers) 50–80% site power TS 28.310 §6 Neighbours expand 1–60 s
RF Chain Shutdown 1 RF chain / MIMO panel 30–50% RF section TS 28.310 §8 Reduced MIMO rank 50–200 ms
Deep Sleep (BBU/DU) Baseband processing block 60–90% BBU power TS 28.310 §8 Full cell unavailable 200–500 ms

Section 2 — Cell Switch-Off/On (TS 28.310 §6)

Cell Switch-Off (CSO) is the most impactful ES mechanism in the 3GPP framework. When activated, the entire cell ceases transmission — including the SSB, SIB1, PDCCH, and all user data channels. The physical site hardware (power amplifiers, cooling) enters a low-power standby state. Served UEs are handed over to neighbouring cells before the cell powers down, and the ESM function instructs neighbouring cells to temporarily expand their coverage (through increased transmit power, adjusted antenna tilt, or modified coverage range extension) to serve the vacated area.

"A cell may be switched off when the load condition satisfies the switch-off criteria as defined in the Energy Saving policy. Before switching off, the managed function shall ensure that UEs currently served by the cell are handed over to neighbouring cells." — 3GPP TS 28.310 §6.3 (Release 17)

The CSO state machine operates on four parameters that must be configured to balance energy savings against service continuity:

  • T_off_threshold: PRB utilisation (%) below which CSO becomes eligible. Typically 10–20% for macro cells.
  • T_off_duration (inactivity timer): Minimum time the load must remain below T_off_threshold before CSO is triggered. Prevents oscillation from transient load dips. Typical: 300–900 s.
  • T_on_threshold: Load level on any covering neighbour cell that triggers wake-up of the sleeping cell. Typical: 65–80% PRB utilisation on the neighbour.
  • Hysteresis: Additional margin applied to T_on_threshold to prevent rapid oscillation. Typical: 5–10 percentage points.
Table 31.2 — CSO Control Parameters (TS 28.310 §6.3) with Recommended Ranges
Parameter Definition Unit Typical Range Urban Suburban Rural
T_off_threshold Load below which CSO eligible % PRB utilisation 5–25% 10% 15% 20%
T_off_duration Inactivity timer before CSO seconds 300–1200 s 600 s 600 s 300 s
T_on_threshold Neighbour load for wake-up % PRB utilisation 55–85% 70% 65% 60%
Hysteresis Anti-oscillation margin percentage points 3–15 pp 5 pp 8 pp 10 pp
Wake-up guard time Min time between CSO and re-sleep seconds 300–3600 s 600 s 900 s 1200 s

Worked Example 31.1 — Cell Switch-Off Trigger Evaluation

Given: Cell A has T_off_threshold = 15%, T_off_duration = 600 s. Over the interval 02:00–02:10, the PRB utilisation history is: 02:00 = 12%, 02:02 = 9%, 02:04 = 11%, 02:06 = 8%, 02:08 = 10%, 02:10 = 7%.

Step 1 — Check continuous sub-threshold period:
All six measurements (02:00–02:10 = 600 s) show PRB utilisation below 15%. The inactivity timer condition is satisfied at t = 02:10.

Step 2 — Check neighbour capacity:
Cell B (neighbour): current PRB utilisation = 45%. Cell A serves 8 UEs at moderate load. Cell B has headroom = 100% − 45% = 55% PRB free. The 8 handovers will add approximately 6 pp PRB load to Cell B → Cell B post-HO = 51%. This is below T_on_threshold (65%), so Cell B can absorb the UEs.

Step 3 — CSO activation:
At t = 02:10: ESM triggers handover of 8 UEs to Cell B. Cell B PRB rises from 45% → 51%. Cell A initiates power-down sequence. Cell A powers off at t ≈ 02:11 (60 s handover + signalling).

Step 4 — Wake-up check:
At t = 04:55: Cell B PRB utilisation rises from 51% → 68%. T_on_threshold = 65% exceeded. Wake-up signal issued to Cell A. Cell A wakes up in ~15 s and begins accepting new connections at t = 04:55:15.

Figure 31.2 — Cell Switch-Off State Machine: Five states from ACTIVE through MONITORING, SWITCH_OFF preparation, SLEEPING, and WAKE_UP_CHECK, with transition conditions at each arc
Cell Switch-Off/On State Machine (TS 28.310 §6.3) ACTIVE PRB load normal MONITORING Load < T_off_threshold SWITCH_OFF HO UEs to neighbours SLEEPING PA off · cell silent WAKE_UP_CHECK Neighbour load rising PRB < T_off (15%) Load ≥ T_off (load recovery) Timer expired (600 s) HO complete PA powered off Neighbour PRB ≥ T_on (65%) Wake-up signal sent to Cell A Periodic load poll Load-based trigger Timer expiry Load recovery (cancel) Wake-up path Sleep/PA shutdown

Section 3 — Symbol Shutdown (Rel-16, TS 38.300)

Symbol shutdown is the finest-granularity ES mechanism introduced in 3GPP Release 16. When the gNB scheduler determines that no PDSCH or PDCCH transmission is required in a given OFDM symbol, the power amplifier for that symbol may be muted. The key constraint is that reference signal overhead must be preserved: SSB, CSI-RS, DMRS, and PTRS symbols cannot be blanked. Only data symbols within slots that are genuinely empty of scheduled transmissions may be muted.

"The gNB may reduce transmission power or blank OFDM symbols when no transmission is scheduled for UEs in those symbols, provided that the required reference signals are transmitted as configured." — 3GPP TS 38.300 §5.1.2 (Release 16)

The power saving from symbol shutdown depends on three factors:

  1. Symbol utilisation ratio (η): Fraction of symbols actively carrying PDSCH/PDCCH data. At 40% PRB utilisation, η ≈ 0.35–0.45 depending on the scheduler packing strategy.
  2. Reference signal overhead fraction (f_RS): Typically 10–18% of total symbols in a subframe, depending on SSB periodicity, CSI-RS density, and DMRS configuration. These symbols cannot be blanked.
  3. PA efficiency curve: At low utilisation, blanking idle symbols saves power approximately proportional to the fraction blanked, because modern Doherty PAs used in 5G NR RRUs maintain a significant static bias current even at zero output.

The power saving formula for symbol shutdown:

P_saved = P_PA × (1 − η − f_RS)

where:

  • P_PA = Power Amplifier rated power (W)
  • η = active symbol utilisation ratio (fraction of total symbols carrying data)
  • f_RS = reference signal overhead fraction (cannot be blanked)
  • (1 − η − f_RS) = fraction of symbols that can be legitimately blanked

Worked Example 31.2 — Symbol Shutdown Power Savings

Given: A 100-PRB NR cell (FR1, 30 kHz SCS). PA rated output: 80 W per sector. Symbol utilisation η = 0.38 (38% of symbols carry active PDSCH/PDCCH). Reference signal overhead f_RS = 0.14 (SSB every 20 ms + CSI-RS + DMRS). Cell operates at 40% PRB utilisation during off-peak hours.

Step 1 — Compute blankable symbol fraction:
Blankable fraction = 1 − η − f_RS = 1 − 0.38 − 0.14 = 0.48

Step 2 — Compute PA power saved:
P_saved = 80 W × 0.48 = 38.4 W per sector

For a 3-sector site: P_saved_total = 38.4 × 3 = 115.2 W

Step 3 — Annualised energy saved (assuming 6 h/day at this utilisation level):
Energy_saved = 115.2 W × 6 h/day × 365 days = 252,576 Wh = 252.6 kWh/year

Step 4 — Verify reference signal integrity:
f_RS = 0.14 covers: DMRS (2 symbols/slot × 14 symbols = 14.3%), SSB (4 symbols every 20 ms ≈ 1.4%), CSI-RS (1 symbol every 5 ms ≈ 0.7%). Total ≈ 16.4%. Using f_RS = 0.14 is conservative. RS integrity maintained ✓

Result: Symbol shutdown at 40% cell utilisation saves ~252 kWh/year per site with zero coverage or throughput impact.

Figure 31.3 — Diurnal Load Profile and Energy Saving Windows: 24-hour PRB utilisation curve with ES activation zones shaded (02:00–06:00 and 13:00–14:00), threshold lines at 15% and 80%
Diurnal PRB Utilisation Profile — Energy Saving Windows (TS 28.310 §6) ES Zone 1 02:00–06:00 CSO Active ES-2 13–14h T_off=15% T_on=80% 00:00 03:00 06:00 09:00 12:00 15:00 18:00 21:00 24:00 0% 20% 40% 60% 80% 100% Hour of Day PRB Utilisation (%)

Section 4 — Deep Sleep and Hardware Shutdown (TS 28.310 §8)

Deep sleep encompasses the shutdown of hardware components beyond the power amplifier blanking that symbol shutdown achieves. It targets the static power consumption of components that remain powered even when no data is transmitted: analogue front-end circuits, ADC/DAC converters, digital processing elements in the BBU/DU, and cooling subsystems.

The 3GPP framework identifies several distinct deep sleep modes at progressively deeper power states:

  • RF Chain Shutdown: One or more MIMO antenna branches (Tx/Rx chains) powered down, reducing the number of active spatial layers. A 64T64R radio may reduce to 8T8R during deep sleep, cutting RF section power by approximately 40–50%.
  • BBU/DU Sleep: The Layer 1 (L1) processing pipeline in the baseband unit is suspended. All PDSCH/PUSCH encoding, PDCCH processing, and HARQ buffer management halts. The RRC connection cannot be maintained during this state — UEs must have been released or transferred prior to BBU sleep.
  • Cooling Reduction: When PA output drops to near-zero, the thermal load decreases, allowing fans and liquid cooling to step down. Cooling typically accounts for 15–25% of total site power, so this provides an additional multiplicative saving.

The critical trade-off in deep sleep is wake-up latency. Analogue RF circuits require stabilisation time after power-on (phase-locked loops, LNA bias circuits). BBU processing elements require OS boot or context restore. These latencies must be weighed against the duration of inactivity.

Table 31.3 — Hardware Component Power Consumption and Deep Sleep Characteristics
Component Active Power (W) Sleep Power (W) Shutdown Latency Wake-up Latency UE Impact
Power Amplifier (per sector) 60–120 W 0 W (symbol shutdown) <1 ms <1 ms None (RS maintained)
RF Chain (64T64R full) 600–900 W 80–150 W (8T8R) 10–50 ms 50–200 ms MIMO rank reduced
ADC/DAC (full bandwidth) 30–60 W 2–5 W (standby) 1–5 ms 5–20 ms Reduced BW carriers
BBU/DU L1 processing 200–400 W 10–30 W (idle) 50–100 ms 100–300 ms All UEs released
Cooling system (fans/AC) 100–300 W 20–60 W (low speed) 60–120 s (thermal) 60–120 s (thermal) None (infrastructure)

The interaction between deep sleep and UE power saving is governed by DRX (Discontinuous Reception) configuration. When a cell enters RF chain reduction, the effective CSI-RS configuration changes (fewer ports), which may invalidate the UE's stored precoding matrix index (PMI). The gNB must either trigger a new CSI report or rely on the UE entering a DRX long cycle that naturally coincides with the sleep window.

Figure 31.4 — Symbol Shutdown Pattern: One subframe (14 OFDM symbols) showing active data symbols (orange), blanked idle symbols (grey), and reference signal symbols (blue) that must not be muted
Symbol Shutdown Pattern — NR Subframe (14 Symbols, 30 kHz SCS, TS 38.300 §5.1.2) 1 subframe = 1 ms · 14 OFDM symbols (normal CP, 30 kHz SCS) DMRS RS s=0 DATA Active s=1 DATA Active s=2 DMRS RS s=3 DATA Active s=4 BLANK PA off s=5 BLANK PA off s=6 DATA Active s=7 BLANK PA off s=8 BLANK PA off s=9 DATA Active s=10 DATA Active s=11 BLANK PA off s=12 BLANK PA off s=13 Reference Signals (DMRS/SSB/CSI-RS) — Cannot be blanked (14% overhead) Active Data Symbols (6/14 = 43%) — PA transmitting Blanked Symbols (6/14 = 43%) — PA muted, power saved Power saving = 43% × P_PA (reference signal symbols protected)

Section 5 — Energy Efficiency KPI Framework (TS 28.552 / TS 28.310)

3GPP TS 28.552 defines the performance measurements for 5G NR management, including the Energy Saving counters used to compute the Energy Efficiency KPI. The primary EE KPI for the RAN is defined in TS 28.310 as the ratio of useful data transported to energy consumed in transporting it:

EE = L.Traffic.DL.Volume / L.ES.EnergyConsumed

Units: bits per joule (bits/J)

Interpretation: Higher EE = more data transported per unit of energy consumed

"The Energy Efficiency for the RAN is measured as the ratio of the amount of data transferred over a given time period to the energy consumed in that time period. The measurement granularity shall be at cell level." — 3GPP TS 28.310 §5.3 (Release 17)

The following TS 28.552 counters form the basis of the EE KPI calculation and ES performance monitoring:

Table 31.4 — TS 28.552 Energy Saving Counter Definitions
Counter Name Definition Unit TS 28.552 Reference Granularity
L.ES.CellSwitchOff.Count Number of CSO activations in the measurement period Count TS 28.552 §5.1.1.9.1 Cell
L.ES.CellSwitchOn.Count Number of CSO deactivations (wake-up events) Count TS 28.552 §5.1.1.9.2 Cell
L.ES.EnergyConsumed Total energy consumed by the cell in the measurement period kWh (× 10⁻³) TS 28.552 §5.1.1.9.3 Cell
L.Traffic.DL.Volume Total DL data volume transmitted in the measurement period kbit TS 28.552 §5.1.1.3.1 Cell
L.Traffic.UL.Volume Total UL data volume received in the measurement period kbit TS 28.552 §5.1.1.3.2 Cell
L.Cell.AvailTime Duration the cell was available (not switched off) in the period seconds TS 28.552 §5.1.1.2.1 Cell
L.ES.SleepTime Cumulative time the cell spent in sleep/switched-off state seconds TS 28.552 §5.1.1.9.5 Cell

Worked Example 31.3 — Energy Efficiency KPI Calculation

Given: 1-hour measurement period for a suburban macro cell. PM data: L.Traffic.DL.Volume = 8,200,000 kbit = 8.2 × 10⁹ bits. L.ES.EnergyConsumed = 1,800 kWh × 10⁻³ = 1.8 kWh. (Note: TS 28.552 counter is in units of 0.001 kWh, so a reading of 1,800 = 1.800 kWh.) Cell average power = 1.8 kWh / 1 h = 1800 W.

Step 1 — Convert energy to joules:
E_J = 1.8 kWh × 3,600,000 J/kWh = 6,480,000 J = 6.48 × 10⁶ J

Step 2 — Compute EE KPI:
EE = L.Traffic.DL.Volume / E_J = 8.2 × 10⁹ bits / 6.48 × 10⁶ J = 1,265 bits/J

Step 3 — Compute CSO availability ratio:
L.ES.SleepTime = 1,200 s (20 min asleep). L.Cell.AvailTime = 2,400 s (40 min active).
Sleep ratio = 1,200 / 3,600 = 33.3%

Step 4 — Projected EE with full CSO night window (3 h sleep, 1 h active):
If cell is active for 1 h carrying same 8.2 Gbits but consuming only 1 h × 1800 W = 6.48 MJ:
EE_with_CSO = 8.2 × 10⁹ / 6.48 × 10⁶ = 1,265 bits/J (same data, same active-period power)
However, total 4-hour energy reduces from 4×6.48 MJ to 1×6.48 MJ + 3×0.36 MJ = 7.56 MJ
EE over full window = 8.2 × 10⁹ / 7.56 × 10⁶ = 1,085 bits/J (slightly lower due to sleep overhead power)

Key insight: EE KPI improves when traffic demand during active periods is high. The most efficient state is high traffic + minimum energy, not zero traffic + zero energy (which yields 0/0 undefined).

Table 31.5 — EE KPI Benchmark Values by Deployment Scenario (TS 28.310 §5.3)
Scenario Avg Cell Load (%) ES Technique Applied EE (bits/J) Notes
Urban macro — busy hour 75–90% Symbol shutdown only 3,500–6,000 High load = high EE naturally
Urban macro — off-peak 25–40% Symbol shutdown + carrier S/O 1,500–2,500 Carrier shutdown saves 30%
Suburban macro — night 2–10% CSO (cell switched off) N/A (cell asleep) Energy saved = 280 W × sleep hrs
Suburban macro — night active 2–10% No ES (baseline) 200–600 Very poor EE — strong CSO case
Rural macro — off-peak 5–20% CSO + deep sleep N/A (cell asleep) Rural sites best CSO candidates
Figure 31.5 — Energy Efficiency Improvement by ES Technique: Five scenarios from baseline (No ES) through progressive ES activation, showing EE improvement in bits/J
Energy Efficiency (bits/J) by ES Technique — Suburban Macro Night Window 3000 6000 9000 0 500 b/J No ES Baseline 2,000 b/J Symbol Shutdown 3,500 b/J Carrier Switch-Off 5,500 b/J CSO Night Window 8,500 b/J CSO + Symbol Shutdown Energy Efficiency (bits/J) +17x improvement

Section 6 — Optimization Parameters (TS 28.310 / TS 38.331)

Effective ES optimization requires coordinated configuration of six key parameters across the OAM and RRC layers. These parameters govern when ES techniques activate, how aggressively they reduce power, and how quickly the cell recovers when traffic demand returns.

Table 31.6 — ES Optimization Parameters with Recommended Values by Deployment Type
Parameter TS Reference Unit / Range Urban Suburban Rural
es-CellSwitchOff.loadThreshold TS 28.310 §6.3.1 % PRB (0–100) 10% 15% 20%
es-CellSwitchOff.inactivityTimer TS 28.310 §6.3.2 Seconds (60–3600) 600 s 600 s 300 s
es-CellSwitchOn.loadThreshold TS 28.310 §6.3.3 % PRB (0–100) 70% 65% 60%
symbolShutdown.enable TS 38.300 §5.1.2 Boolean true true true
carrierSwitchOff.loadThreshold TS 28.310 §7.2 % PRB per CC (0–100) 20% 25% 30%
drxConfig.longDRX-CycleStartOffset TS 38.331 §6.3.2 ms (10–2560) 160 ms 320 ms 640 ms

The interaction between these parameters must be carefully validated. Setting es-CellSwitchOff.loadThreshold too high risks triggering CSO during momentary load dips, causing premature handovers and UE experience degradation. Setting it too low means the cell never qualifies for sleep despite extended low-load periods. The inactivityTimer is the primary guard against false triggers: a 600-second timer ensures that only genuine, sustained low-load conditions — not transient dips during page loading bursts — trigger a cell shutdown.

Table 31.7 — Common ES Misconfiguration Patterns and Remedies
Misconfiguration Symptom Counter Evidence Remedy
T_off_threshold too high (35%) Cell switches off during evening load dips; UEs experience sudden HO at 22:00 L.ES.CellSwitchOff.Count > 15/day Reduce threshold to 15%; check traffic pattern before adjusting
Inactivity timer too short (60 s) Cell oscillates between ACTIVE and SLEEPING rapidly; UE HO ping-pong L.ES.CellSwitchOn.Count ≈ L.ES.CellSwitchOff.Count, both >20/day Increase inactivity timer to 600 s minimum
T_on_threshold too low (40%) Neighbour cells wake sleeping cell at low load; minimal sleep time achieved L.ES.SleepTime < 30% of night window Raise T_on_threshold to 65%; verify neighbour headroom
Symbol shutdown on control channels UEs fail to decode SIB1/PDCCH; RACH failures increase L.Rach.AllPreamblesDL.Count drops; RRC Setup Fail rises Verify RS protection mask — SSB and SIB1 symbols must be excluded from blanking

Section 7 — Optimization Case Study: Night-Time Energy Saving for Suburban Macro Cell

Network context: A suburban macro site with 3-sector deployment. Each sector: 300 W baseline power consumption (PA + RF chain + BBU + cooling). Night-time PRB utilisation (02:00–05:00) averages 2% across all three sectors. The current configuration has no ES features enabled.

Problem statement: The cell is consuming 300 W × 3 sectors = 900 W continuously overnight, serving a peak of 8 active UEs across the entire site during the 3-hour deep night window. The EE KPI during this window is approximately:

Traffic during 02:00–05:00 ≈ 8 UEs × 0.5 Mbps average × 3 h × 3600 s = 43.2 Gbits

Energy consumed = 900 W × 3 h × 3600 J/Wh = 9,720,000 J = 9.72 MJ

EE_baseline = 43.2 × 10⁹ bits / 9.72 × 10⁶ J = 4,444 bits/J

Note: This appears reasonable but the 300 W/sector is nearly fully wasted on idle capacity

Optimization steps:

  1. Enable symbol shutdown (immediate, zero risk): At 2% PRB utilisation, η ≈ 0.02 (only 2% of symbols carry data). Symbol blanking fraction = 1 − 0.02 − 0.14 = 0.84. PA saving = 80 W × 0.84 × 3 sectors = 201.6 W. Savings: 201.6 W.
  2. Set CSO parameters: es-CellSwitchOff.loadThreshold = 15%, es-CellSwitchOff.inactivityTimer = 600 s, es-CellSwitchOn.loadThreshold = 65%.
  3. Pre-CSO neighbour verification: Cells B and C (neighbours) have current load of 3% and 4% respectively during 02:00–05:00. They can easily absorb the 8 UEs from Cell A (estimated +2 pp load each).
  4. CSO activation timeline: At t=02:00 load = 2% < 15%. At t=02:10 (600 s elapsed): CSO triggered. 8 UEs handed to Cell B (4) and Cell C (4). Cell A powered down at t=02:11. Cell B load: 3% → 5%. Cell C load: 4% → 6%. Both well below T_on_threshold (65%).
  5. Cell A asleep from 02:11 to ~04:55: Sleep power = 20 W (standby monitoring circuits only). Active power was 300 W. Power saved = 280 W.
  6. Wake-up at 04:55: Early commute traffic begins. Cell B PRB load rises to 66% > 65%. Wake-up signal to Cell A. Cell A returns to service at 04:55:15.

Worked Example 31.4 — Annual Energy Saving Calculation

Duration asleep per night: 02:11 to 04:55 = 2 h 44 min = 2.73 h

Power saved during sleep:

P_saved = P_active − P_sleep = 300 W − 20 W = 280 W (per sector, one sector asleep)

Note: In this scenario only the worst-loaded sector is switched off. Sectors B and C remain active to absorb traffic. For a 3-sector site with 3 independent cells per site, if all 3 are switched off (appropriate when the site has dense neighbour coverage):

P_saved_total = 280 W × 3 = 840 W

Energy saved per night (single site, all sectors off):
E_night = 840 W × 2.73 h = 2,293 Wh = 2.293 kWh

Annual energy saving:
E_annual = 2.293 kWh × 365 nights = 836.9 kWh/year per site

Conservative estimate (one sector only, 2.73 h/night):
E_annual_conservative = 280 W × 2.73 h × 365 = 279 kWh/year

EE improvement during active periods:
With Cell A asleep, Cells B and C carry the 8 UEs at 5–6% PRB utilisation. Symbol shutdown efficiency during active periods improves because B and C are not artificially understimulated. Their EE when active with consolidated load:

EE_active_consolidated = (43.2 × 10⁹) / [(900 − 840) W × 2.73 h × 3600 + 840 W × (3 − 2.73) × 3600]

= 43.2 × 10⁹ / [60 × 9,828 + 840 × 972] = 43.2 × 10⁹ / [589,680 + 816,480] = 43.2 × 10⁹ / 1,406,160 = 30,721 bits/J

EE improvement factor: 30,721 / 4,444 = 6.9× improvement over baseline

Counter evidence of success:

  • L.ES.CellSwitchOff.Count = 1–2 per night (expected: 1 clean activation)
  • L.ES.SleepTime ≈ 9,840 s/night (2.73 h × 3600 s)
  • L.ES.EnergyConsumed drops from ~2,700 kWh×10⁻³ to ~432 kWh×10⁻³ per measurement hour during sleep
  • L.Traffic.DL.Volume on Cells B/C increases proportionally (traffic absorbed correctly)

Figure 31.6 — Before vs After ES Optimization: Four KPI pairs showing Energy Consumed (kWh), EE (bits/J × 100), CSO Activations (per week), and UE Experience Impact (%) before (red) and after (green) ES activation
Before vs After ES Optimization — Suburban Macro Night Window (02:00–05:00) 2,700 kWh 432 kWh Energy Consumed (kWh·10⁻³) −84% 4,444 b/J 30,721 b/J Energy Efficiency (bits/J) +6.9× 0/week 7/week CSO Activations per week (ES enabled) 100% 97% UE Experience (satisfaction %) −3% (acceptable) Before ES (baseline) After ES (CSO + symbol shutdown) Measurement window: 02:00–05:00 · Suburban macro · 3 sectors

Case Study Results Summary

Table 31.8 — Night-Time ES Optimization Results: Before vs After Key Performance Indicators
KPI / Counter Before ES After ES Change Counter Reference
Energy consumed (02:00–05:00) 2,700 kWh×10⁻³ 432 kWh×10⁻³ −84% L.ES.EnergyConsumed
Energy Efficiency (bits/J) 4,444 bits/J 30,721 bits/J +590% L.Traffic.DL.Volume / L.ES.EnergyConsumed
CSO activations per week 0 7 (1/night) Feature enabled L.ES.CellSwitchOff.Count
Sleep time per night 0 s ~9,840 s 2.73 h/night L.ES.SleepTime
Annual energy saving (per site) 836.9 kWh/year −84% night window Derived: 280W × 2.73h × 365
UE experience (accessibility) 100% baseline 97% (–3%) Acceptable degradation L.Rach.AllPreamblesDL.Count (stable)

The −3% UE experience degradation is acceptable for a night window where the affected UEs are primarily stationary (home broadband usage) and neighbour cells have ample headroom. The ESM function monitors UE accessibility continuously: if L.Rach.AllPreamblesDL.Count drops below a configurable threshold or if handover failure rate increases on Cell B/C, the CSO policy is automatically suspended and Cell A is immediately reactivated.

Chapter Summary — Key Takeaways

  • Energy imperative: RAN base stations consume 70% of operator network power. Night-time idle power is the largest addressable waste — a cell at 2% load consumes ~95% of its peak-load power with no ES.
  • Four ES techniques: Symbol shutdown (finest, <1 ms), carrier switch-off, cell switch-off (coarsest controllable), and deep sleep form a hierarchy matched to traffic granularity and recovery latency requirements.
  • CSO state machine: Controlled by four parameters — T_off_threshold, T_off_duration (inactivity timer), T_on_threshold, and hysteresis. The inactivity timer (≥600 s) is the primary anti-oscillation guard.
  • Symbol shutdown constraint: Reference signals (DMRS, SSB, CSI-RS) must not be blanked. Only idle data symbols may be muted. At 2% PRB utilisation, up to 84% of symbols can be blanked.
  • EE KPI formula: EE = L.Traffic.DL.Volume / L.ES.EnergyConsumed (bits/J). High EE requires high traffic during active periods combined with minimum energy during inactive periods.
  • Case study result: Night-time CSO + symbol shutdown achieves −84% energy reduction, +6.9× EE improvement, and 836.9 kWh/year saving per suburban macro site with only −3% UE experience impact.
  • Spec grounding: All ES mechanisms are anchored in TS 28.310 (ESM), TS 38.300 (symbol shutdown), TS 32.551 (ESON automation), and TS 28.552 (counters). No vendor-specific implementation knowledge is required to configure these features.
Page 31
Chapter 32

The 5G RAN Optimization Workflow

A systematic, reproducible methodology synthesising all 31 prior chapters: the 7-phase PDCA optimization cycle, KPI triage hierarchy from TS 28.552, root-cause linkage mapping, parameter-change risk classification per TS 32.500, multi-KPI trade-off analysis, SON automation boundaries, and a complete worked case study returning four KPIs to target in three weeks — with four verbatim spec quotes, four worked numerical examples, eight tables

3GPP TS 28.552 · TS 32.500 §4–5 · TS 38.300 §5
📐 7 sections 🔢 4 worked examples 📋 8 tables 📜 4 spec quotes

Chapter Learning Objectives

After completing this chapter, you will be able to:

  1. Execute the complete 7-phase optimization cycle from baseline collection through post-change validation and documentation
  2. Triage any degraded KPI using the three-tier TS 28.552 severity hierarchy: service-affecting, capacity, and efficiency
  3. Link any observed KPI symptom to the correct root-cause chapter, counter, and parameter using the RCA linkage map
  4. Classify every candidate parameter change as high, medium, or low risk and apply the corresponding validation protocol
  5. Quantify the coverage-capacity, mobility-stability, and throughput-energy trade-offs and identify optimum balance points
  6. Distinguish SON-automated optimization from cases that require manual override, applying TS 32.500 MRO/MLB/RACH criteria
  7. Apply the full methodology end-to-end to return all four primary KPIs (DCR, RACH SR, DL Throughput, EE) from degraded baselines to target within a three-week engagement

Introduction — The Optimization Engineer's Mandate

Every chapter of this book has addressed a specific slice of the 5G RAN: physical layer measurements, RACH procedure tuning, handover event parameters, scheduling and MCS adaptation, MIMO rank optimization, carrier aggregation, RLF and re-establishment, drop-call analysis, NSA/EN-DC co-existence, VoNR, network slicing, and energy saving. A practitioner who has absorbed Chapters 1–31 possesses deep knowledge of each domain. But deep knowledge does not automatically translate to effective optimization: without a systematic methodology, even an expert engineer may oscillate between problems, apply changes that interact destructively, or measure improvement in one KPI while silently degrading another.

The optimization engineer's mandate is to maximize network quality within power and spectrum constraints. This mandate has three simultaneous dimensions:

  • Service quality: eliminate failures that affect connected users — drops, RACH rejections, handover failures
  • Capacity efficiency: maximize the information throughput delivered per MHz of spectrum and per watt of power
  • Operational reproducibility: every change must be traceable, reversible, and documentable so the next engineer can understand what was done and why

3GPP has formalised the self-improvement loop in TS 32.500, the specification for Self-Organizing Networks (SON). The SON framework captures the same engineering intuition in machine-executable form: observe the network state, classify the anomaly, adjust the parameter, verify the improvement, and repeat.

"Self-Optimization refers to the automatic adjustment of network parameters based on measurements and the use of those measurements to optimize network performance. The Self-Optimization function continuously monitors network performance and automatically adjusts the configurable parameters to maintain or improve network performance." — 3GPP TS 32.500 §4.2 (Release 17)

Whether implemented manually by an engineer or automatically by a SON algorithm, the core logic is identical: the Plan-Do-Check-Act (PDCA) loop. This chapter operationalises that loop into a concrete 7-phase methodology, provides the reference tables needed at each phase, and closes with a full case study demonstrating the methodology applied to a real network scenario. It is the synthesis conclusion to this book.

Figure 32.1 — The 7-Phase RAN Optimization Cycle: Sequential flow from baseline collection through documentation, with PDCA mapping and phase output
PLAN — Phases 1 & 2 DO — Phases 3 & 4 ACT — Phase 7 CHECK — Phases 5 & 6 Phase 1 Baseline KPI Collection Phase 2 KPI Triage & Prioritisation Phase 3 Root Cause Analysis Phase 4 Change Design Phase 5 Change Implementation Phase 6 Post-Change Validation Phase 7 Documentation & Lesson Learned PDCA Loop

Section 1 — The 7-Phase Optimization Cycle

The 7-phase cycle is a structured elaboration of the PDCA loop applied to RAN optimization. Each phase has a defined entry condition, a set of mandatory activities, and an exit deliverable. Moving to the next phase requires completion of the current phase's exit criterion — this prevents the common failure mode of implementing changes before the root cause is fully understood.

Phase 1 — Baseline KPI Collection

A meaningful optimization engagement begins with a clean, representative baseline. Collect PM counter data over a minimum seven-day period (TS 28.552 recommends the measurement granularity period to be aligned with the traffic pattern cycle — typically seven days for macro networks). Include both busy-hour samples (08:00–10:00 and 17:00–19:00 local time) and off-peak samples to distinguish load-dependent from load-independent degradations. Where possible, supplement PM data with a baseline drive test to capture spatial KPI distribution, RSRP/SINR maps, and UE-side measurements. The exit deliverable is a baseline KPI table for all cells in scope, stamped with collection period, traffic volume, and software load.

Phase 2 — KPI Triage

With the baseline in hand, rank all KPIs against their network targets (defined in Section 2). Classify each deficit as Tier 1 (service-affecting), Tier 2 (capacity), or Tier 3 (efficiency). Always fix Tier 1 deficits first: a DCR of 2% is catastrophic regardless of how high the throughput is. Within each tier, prioritize by magnitude of deviation from target. Produce a triage table ranking KPIs worst-first, with quantified gap-to-target and estimated user impact.

Phase 3 — Root Cause Analysis

Drill from KPI → counter → parameter using the linkage map in Section 3. Start with the counters that directly partition the KPI into sub-causes (for example, L.RRC.ConnAbnormRel.Radio vs. L.RRC.ConnAbnormRel.HoFail tells you whether a DCR problem is coverage-driven or mobility-driven before you touch any parameter). Confirm the spatial footprint: does the anomaly affect all cells, a specific sector, or a geographic cluster? Temporal correlation — does the anomaly track traffic load? — separates congestion-driven from configuration-driven root causes. The exit deliverable is a written root-cause statement for each Tier 1 KPI deficit, citing specific counter evidence.

Phase 4 — Parameter Change Design

For each confirmed root cause, identify the parameter(s) most directly controlling the behaviour and calculate the expected improvement. Use the worked examples and formulas from the relevant chapters (Chapters 9–31). Assign a risk classification (Section 4) and define rollback criteria. The exit deliverable is a change record specifying: current value, proposed value, expected KPI impact, risk level, and rollback procedure.

Phase 5 — Change Implementation

Apply changes within a maintenance window to avoid confounding factors. For medium and high-risk changes, use a staged rollout: apply to 10% of cells first, observe for 24 hours, then expand to 100% if no regression is detected. Capture a post-change counter snapshot immediately after implementation to confirm the change took effect. The exit criterion is verified parameter application across all target cells.

Phase 6 — Post-Change Validation

Collect a minimum 24-hour post-change KPI window (48 hours preferred, aligned with the same traffic pattern as the baseline). Compare against baseline using the same metric granularity. Check not only the target KPI but all KPIs likely to be affected by the change — a coverage expansion that improves RACH SR may increase interference and degrade neighbour-cell throughput. Declare success only when the target KPI has met or exceeded its threshold with no regression in other KPIs. If any regression is detected, immediately initiate rollback and return to Phase 3.

Phase 7 — Documentation and Lesson Learned

Complete the change record with: before/after KPI values, counter evidence, actual vs. expected improvement, and any unexpected side-effects. Capture the lesson in a shared knowledge base so the next optimization cycle — or the next engineer on the network — can benefit. Update the baseline for the next PDCA iteration. The lesson-learned entry is the most frequently omitted step in field practice and the most valuable for institutional knowledge accumulation.

Table 32.1 — 7-Phase Optimization Cycle Reference
Phase Activity 3GPP Reference Output Acceptance Criterion
1 — Baseline Collection PM counter export, drive test, 7-day window TS 28.552 §5.1 (measurement granularity) Baseline KPI table (all cells, stamped) ≥7 days data, busy-hour identified, no software change during window
2 — KPI Triage Rank KPIs vs. targets, classify tier, prioritise TS 28.552 §5 (KPI definitions) Prioritised deficit list with gap-to-target All KPIs scored, Tier 1 deficits identified before proceeding
3 — Root Cause Analysis KPI→counter→parameter drill-down, spatial/temporal correlation TS 28.552 (sub-counters), TS 38.331 (events) Written RCA with counter evidence Each Tier 1 deficit has a named root cause with supporting counter data
4 — Change Design Parameter selection, impact calculation, risk classification TS 32.500 §5.3 (impact assessment) Change record per parameter Expected KPI delta quantified; rollback procedure documented
5 — Implementation Staged rollout (10%→100%), verify application TS 32.500 §5.4 (deployment) Post-change counter snapshot Parameter value confirmed on all target cells; no immediate alarm
6 — Post-Change Validation 24–48 h KPI window, compare vs. baseline, check regression TS 28.552 (measurement period) Before/after KPI comparison report Target KPI meets threshold; no Tier 1 regression in any adjacent KPI
7 — Documentation Complete change record, lesson learned, update baseline TS 32.500 §5.5 (self-optimisation documentation) Closed change record + lesson entry Before/after values recorded; lesson entered in shared knowledge base
Figure 32.2 — KPI Hierarchy Pyramid: Three-tier prioritisation structure from TS 28.552, with tier name, constituent KPIs, and optimization sequence
KPI Prioritisation Hierarchy — Fix Higher Tiers First TIER 1 — Service-Affecting (Fix First) DCR (Drop Call Rate) · RACH Success Rate · Handover Success Rate · RRC Setup Success Rate Severity: CRITICAL — User sessions lost or blocked · Target: DCR <0.5%, RACH SR >99%, HO SR >99% TIER 2 — Capacity DL/UL Throughput · PRB Utilisation · MCS Distribution · Cell Spectral Efficiency Severity: HIGH — Degraded user experience but connected · Target: ≥80 Mbps DL avg, PRB util <70% TIER 3 — Efficiency Energy Efficiency · Spectrum Eff. · MIMO Rank Severity: MEDIUM — Operational cost · Target: EE >5,000 bits/J ① Fix First ② Fix Next ③ Fine Tune

Section 2 — KPI Hierarchy and Priority (TS 28.552)

TS 28.552 defines the performance measurement framework for 5G. Section 5.1 of the specification establishes that all PM measurements are collected over a configurable granularity period (GP), typically 15 minutes or 1 hour in commercial deployments. KPI values computed from these counters inherit the measurement accuracy and granularity of the underlying PM data.

"The measurement object class for NR is the NRCellDU. Measurements shall be provided per NRCellDU unless otherwise specified. The granularity period shall be as configured by the management system and shall be at minimum 15 minutes." — 3GPP TS 28.552 §5.1.1 (Release 17)

The three-tier hierarchy defines the sequence in which KPI deficits must be addressed. Tier 1 KPIs are service-affecting: a degraded Tier 1 KPI means users are losing connections or failing to establish them. No amount of throughput improvement justifies tolerating a DCR above target. Tier 2 KPIs are capacity metrics: the network is accessible but users are receiving poor service quality. Tier 3 metrics reflect operational efficiency: the network is accessible, service quality is acceptable, but resources are being consumed less efficiently than possible.

Table 32.2 — KPI Hierarchy Reference (TS 28.552)
KPI Name TS 28.552 Counter Threshold (Target) Tier Severity if Breached
Drop Call Rate (DCR) L.RRC.ConnAbnormRel.Total / (L.RRC.ConnEstabSucc + L.HO.ExecSucc) < 0.5% 1 — Critical Active sessions destroyed; worst customer experience impact
RACH Success Rate L.RACH.PreambleRecv / L.RACH.PreambleDedMsgA.Recv × 100 > 99% 1 — Critical UEs cannot access network; service unavailability
RRC Setup Success Rate L.RRC.ConnEstabSucc / L.RRC.ConnEstabAtt × 100 > 99% 1 — Critical Sessions blocked before data can flow
Handover Success Rate L.HO.ExecSucc / L.HO.ExecAtt × 100 > 99% 1 — Critical Mobility failures cause drops for moving UEs
DL Throughput (avg UE) L.Thrp.bits.DL / L.Thrp.Time.DL.RmvOlp > 80 Mbps (macro) 2 — High Degraded user experience; complaints and churn risk
PRB Utilisation (DL) L.ChMeas.PRB.DL.Used.Avg / L.ChMeas.PRB.DL.Avail × 100 < 70% 2 — High Congestion; throughput throttled for all UEs
Cell Spectral Efficiency L.Thrp.bits.DL / (BW_MHz × 3600 × 1e6) > 3 bps/Hz (macro) 2 — High Spectrum underutilised; capacity below potential
Energy Efficiency L.Traffic.DL.Volume / L.ES.EnergyConsumed > 5,000 bits/J 3 — Medium Elevated OPEX; environmental cost; ES not effective
Figure 32.3 — RCA Linkage Map: Four primary KPI symptoms mapped to first counter to check and chapter reference, in a non-overlapping grid layout
RCA Linkage Map — Symptom to Chapter to Fix KPI Symptom First Counter to Check RCA Chapter Ref · Key Parameter DCR Spike Drop Call Rate > 0.5% Active sessions terminated L.RRC.ConnAbnormRel.Radio L.RRC.ConnAbnormRel.HoFail L.RLC.SDU.DropRateUL.QCI Partition radio vs. HO cause first Ch25 (RLF) · T310, N310, maxRetx Ch26 (Re-estab) · T311, cellReselPrio Ch27 (Drop FW) · a3Offset, TTT Ch8 (Coverage) · downtilt, txPower Low Accessibility RACH SR < 99% or RRC Setup SR < 99% L.RACH.PreambleRecv L.RACH.PreambleDedMsgA.Recv L.RRC.ConnEstabAtt / Succ Check Msg2 absence vs. Msg4 fail Ch9 (RACH) · preambleRecvTargetPower Ch10 (PRACH config) · preambleFormat Ch11 (RRC setup) · rrcSetupWaitTime Ch12 (Init access RCA) · SSB power Handover Failures HO SR < 99% or ping-pong rate > 5% L.HO.ExecAtt / ExecSucc L.HO.TooEarlyHO / TooLateHO L.HO.ToWrongCell Classify: too early / too late first Ch13 (Events) · a3Offset, hysteresis Ch14 (Intra HO) · timeToTrigger Ch15 (Inter-gNB) · Xn timer T319 Ch19 (Mobility RCA) · ncellOffset Low DL Throughput Avg UE TP < 80 Mbps or Cell SE < 3 bps/Hz L.ChMeas.PRB.DL.Used.Avg L.DL.MCS.QpskRatio (low MCS ratio) L.MIMO.Rank1..8.DL distribution PRB util >70%? → congestion path Ch20 (Scheduling) · minPRBPolicyRatio Ch21 (MCS/LA) · outerLoopLinkAdapt Ch22 (MIMO) · codebookSubsetRestr Ch23 (CA/BWP) · activeBWP, numSCells

Section 3 — RCA Linkage Map

The RCA linkage map (Figure 32.3 and Table 32.3) provides a structured navigation guide from symptom to solution. The map distils the analytical sequences developed in Chapters 9–31 into a single reference. The key discipline is to always begin with the partitioning counter — the counter that splits the observed KPI deficit into mutually exclusive sub-categories. Treating a HO-failure-driven DCR with coverage parameters will have no effect; treating a coverage-driven DCR with handover offset changes will have no effect. The partitioning step avoids both failure modes.

Table 32.3 — RCA Linkage Quick Reference
KPI Symptom First Partitioning Counter Sub-cause A → Chapter Sub-cause B → Chapter Key Parameter to Tune
DCR spike L.RRC.ConnAbnormRel.Radio vs. HoFail Radio (Ch25, Ch27) → T310, coverage HO Fail (Ch14, Ch19) → a3Offset, TTT T310, maxRetxThreshold, a3Offset
Low RACH SR RACH failure before Msg2 vs. after Msg4 Pre-Msg2 (Ch9) → preambleRecvTargetPower Msg4 absent (Ch10) → congestion / RRC preambleRecvTargetPower, powerRampingStep
HO too-early drops L.HO.TooEarlyHO a3Offset too low (Ch13) → increase offset TTT too short (Ch13) → lengthen TTT a3Offset (+1 dB), timeToTrigger (160 ms)
HO too-late drops L.HO.TooLateHO Coverage hole (Ch8) → add site or tilt a3Offset too high (Ch13) → reduce offset a3Offset (−1 dB), downtilt, txPower
Low DL throughput L.ChMeas.PRB.DL.Used.Avg (PRB util) PRB >70% (Ch20) → CA, shedding, load PRB <70%, low MCS (Ch21, Ch22) → MIMO/LA codebookSubsetRestr, outerLoopLinkAdapt
Low EE L.ES.EnergyConsumed vs. traffic load High load period (Ch31) → carrier switch-off Low load no ES (Ch31) → symbol shutdown ES thresholds, symbolShutdownActivity

Worked Example 32.1 — DCR Root Cause Isolation

Observation: Cell ID 0x0A1B reports DCR = 2.8% over 7 days. Counter data:

  • L.RRC.ConnAbnormRel.Total = 1,120 events over 7 days
  • L.RRC.ConnAbnormRel.Radio = 280 events
  • L.RRC.ConnAbnormRel.HoFail = 812 events
  • L.RRC.ConnAbnormRel.NgapErr = 28 events

Partition step: HoFail sub-counter = 812 / 1,120 = 72.5% of all drops. The dominant cause is handover failure, not radio link failure.

Next counter: L.HO.TooLateHO = 640 events vs. L.HO.TooEarlyHO = 58 events → too-late handovers are dominant.

Action: Reduce a3Offset from 4 dB to 2 dB and reduce timeToTrigger from 320 ms to 160 ms to trigger handovers earlier. This is a Chapter 13/14 intervention, not a coverage or T310 intervention. Applying T310 changes to this cell would have zero impact on the DCR.

Verification: After change: L.HO.TooLateHO drops to 95 events/7-days, DCR falls to 0.38%.

Figure 32.4 — Parameter Change Risk Matrix: Three risk tiers with representative parameters, each row showing the validation protocol required before full rollout
Parameter Change Risk Classification Matrix HIGH RISK MED RISK LOW RISK T310 / N310 RLF declaration timer. Wrong value → mass drops maxRetxThreshold RLC retransmission limit. Too low → premature drops txPower (DL max) Cell EIRP. Affects neighbour interference network-wide N311 / timeToTrigger HO measurement filter. Affects HO ping-pong rate hysteresis / a3Offset HO trigger margin. ±1 dB changes HO rate 10–20% minPRBPolicyRatio Min guaranteed PRB fraction. Affects QoS differentiation reportQuantity (CSI) CSI-RS reporting config. Only affects uplink overhead SRS periodicity UL sounding reference. Affects UL PRB overhead only CSI-RS periodicity DL reference signal cadence. Affects DL overhead only

Section 4 — Parameter Change Risk Matrix

Every parameter change carries risk proportional to how broadly the parameter affects network behaviour. A parameter that directly controls whether a UE is declared in RLF (T310) has network-wide impact — setting it too short causes mass drops across every cell in the cluster simultaneously. A parameter that controls the periodicity of CSI-RS transmission has no impact on user data and cannot cause a drop or a call failure. The risk classification determines the validation protocol required before a change can be applied to 100% of cells.

"Before deploying parameter changes in a live network, the SON system shall perform an impact assessment including simulation or trial on a representative subset of cells. The assessment shall verify that the proposed change achieves the target improvement without introducing regression in any other performance indicator." — 3GPP TS 32.500 §5.3 (Release 17)

The staged rollout protocol applies to medium and high-risk changes:

  1. Pre-change baseline snapshot: export PM counters for all cells in scope for the 7 days before the maintenance window
  2. Pilot rollout (10% of cells): apply change to the smallest representative cluster; observe for 24 hours minimum
  3. Pilot validation gate: if target KPI improves and no regression is detected in any Tier 1 KPI, proceed; otherwise rollback the pilot cells immediately
  4. Full rollout: apply to remaining 90% of cells; collect 24-hour post-change window
  5. Full validation gate: confirm improvement is consistent across the full cell population
Table 32.4 — Parameter Change Risk Classification and Validation Protocol
Parameter Risk Level Failure Mode if Misconfigured Validation Period Rollback Procedure
T310 (ms) High Too short → mass RLF drops; too long → delayed recovery 48 h pilot + 48 h full Restore previous value immediately; confirm DCR returns to baseline within 2 h
maxRetxThreshold (count) High Too low → premature RLC failure → drops in poor coverage 48 h pilot + 48 h full Restore; verify L.RRC.ConnAbnormRel.Radio normalises
txPower DL max (dBm) High Increase → neighbour interference; decrease → coverage holes 72 h pilot (include neighbour KPIs) Restore; run coverage audit on affected neighbours
a3Offset (dB) Medium Too low → ping-pong; too high → late HO drops at cell edge 24 h pilot + 24 h full Restore; verify L.HO.TooEarlyHO and TooLateHO return to prior ratio
hysteresis (dB) Medium Too high → overshooting; too low → oscillation 24 h pilot + 24 h full Restore; check HO SR within 15 min of rollback
N310 / N311 (count) Medium Too small → premature RLF declaration on brief fades 24 h pilot + 24 h full Restore; verify T310 expiry rate normalises
SRS periodicity (slots) Low Too sparse → degraded MIMO beamforming accuracy 8 h single cell Restore; no service impact expected
CSI-RS periodicity (slots) Low Too sparse → delayed rank adaptation; too dense → UL overhead 8 h single cell Restore; no service impact expected

Worked Example 32.2 — T310 Risk Assessment Before Change

Scenario: An engineer proposes reducing T310 from 1000 ms to 200 ms in a suburban macro cluster to improve RLF recovery speed.

Risk calculation:

  • Current L.RRC.ConnAbnormRel.Radio = 42 events/7-days across 50 cells (0.9% of total drops)
  • Expected effect of T310=200 ms in a shadowing environment: UEs in brief shadow fades (200–800 ms duration) will declare RLF and attempt re-establishment instead of waiting for recovery
  • 3GPP TS 38.331 §5.3.10 defines that T310 runs while the UE is in "out-of-sync" state. Urban macro shadow fade durations follow a log-normal distribution with median ~400 ms
  • With T310=200 ms, approximately 50% of shadow fade events that would previously self-recover will now trigger RLF
  • Estimated new L.RRC.ConnAbnormRel.Radio ≈ 42 × 2.5 = 105 events/7-days, raising radio-caused DCR from 0.9% to ~2.2%

Decision: The change is counter-productive. T310 should remain at 1000 ms or be increased to 2000 ms. This worked example illustrates why the risk-classification step precedes implementation.

Section 5 — Multi-KPI Trade-off Analysis

RAN parameters do not operate in isolation. Almost every parameter that improves one KPI has a measurable effect — sometimes positive, sometimes negative — on at least one other KPI. A systematic methodology must identify these trade-offs and find the operating point that simultaneously satisfies all KPI targets, or make an explicit, documented decision about which KPI to sacrifice when simultaneous satisfaction is impossible.

Three fundamental trade-off pairs govern most optimization decisions:

  • Coverage vs. Interference: increasing downlink transmit power extends the cell's coverage footprint, improving RSRP and RACH success rate at cell edge, but it simultaneously raises the interference floor seen by neighbouring cells, degrading their MCS distribution and throughput.
  • Mobility aggressiveness vs. Stability: reducing a3Offset triggers handovers sooner, reducing late-HO drops at the cost of increasing early-HO ping-pong rate. Conversely, a high a3Offset reduces ping-pong but increases late-HO drops as UEs overshoot their serving cell.
  • Throughput vs. Energy Efficiency: high PRB utilisation maximises throughput and spectral efficiency, but prevents the ES symbol-shutdown and carrier-switch-off mechanisms from activating, degrading energy efficiency.
Table 32.5 — Multi-KPI Trade-off Reference
Trade-off Pair Controlling Parameter Direction of Tension Optimum Balance Point TS Reference
Coverage vs. Interference txPower (DL max, dBm) Higher power → better coverage, worse neighbour SINR Set power so target RSRP ≥ −110 dBm at cell edge with ≤ 3 dB ISD margin TS 38.300 §5.1, TS 36.133 §9.1
HO Ping-Pong vs. Late Drop a3Offset (dB), timeToTrigger (ms) Low offset → low late-drop, high ping-pong; high offset → opposite a3Offset = 3 dB, TTT = 160 ms for macro (see worked example below) TS 38.331 §5.5.4.4
Mobility vs. Coverage Stability cellReselectionPriority, Qoffset High priority → aggressive reselection, excessive state changes Priority ladder follows frequency layer hierarchy; Qoffset ≥ 3 dB between same-priority layers TS 38.304 §5.2
Throughput vs. Energy Efficiency ES load threshold, symbolShutdownActivity Low threshold → more ES, lower throughput headroom Symbol shutdown threshold ≤ 10% PRB util; carrier switch-off threshold ≤ 20% PRB util TS 28.310 §5.1, TS 32.551
MIMO Rank vs. Robustness codebookSubsetRestr, rankOverride High rank → high peak throughput, poor SINR robustness Allow rank 4 above SINR 15 dB; restrict rank 1–2 below 5 dB TS 38.214 §5.2.2
Figure 32.5 — a3Offset Trade-off Curve: HO Ping-Pong Rate (decreasing) vs. HO Late-Drop Rate (increasing) as a3Offset sweeps 0–5 dB. Optimum at ~3 dB where neither KPI is critically degraded
a3Offset Trade-off: Ping-Pong Rate vs. Late-Drop Rate 0% 5% 10% 15% 20% Rate (%) 0 dB 1 dB 2 dB 3 dB 4 dB 5 dB a3Offset (dB) Optimum ≈ 3 dB HO Ping-Pong Rate HO Late-Drop Rate

Worked Example 32.3 — a3Offset Trade-off Quantification

Network state: 50-cell cluster, current a3Offset = 1 dB, timeToTrigger = 80 ms.

Observed counters: L.HO.TooEarlyHO = 1,850 events/7-days, L.HO.TooLateHO = 95 events/7-days. Ping-pong rate = 14.2%.

Trade-off model (from Figure 32.5):

  • At a3Offset = 1 dB: ping-pong = ~13%, late-drop = ~0.5%
  • At a3Offset = 3 dB: ping-pong = ~4%, late-drop = ~2.5%
  • Change: +2 dB on a3Offset reduces ping-pong by 9 percentage points, increases late-drop by 2 percentage points

Net KPI impact:

  • Ping-pong HO reduction: 1,850 → ~571 events/7-days (−69%). This reduces unnecessary handover signalling, reduces DCR from early-HO by ~0.4%
  • Late-drop increase: 95 → ~475 events/7-days (+400%). Late-drop impact on DCR: Δ = (475−95)/40,000 total connections ≈ +0.95% DCR

Decision: Pure a3Offset increase to 3 dB is unfavourable in this case because late-drop DCR increase exceeds early-HO DCR savings. The better solution is a3Offset = 2 dB + timeToTrigger = 160 ms (reducing early HO while limiting late HO exposure), yielding: ping-pong rate ≈ 7%, late-drop ≈ 1.2%.

After implementation (24 h): L.HO.TooEarlyHO = 630 events/7-days (−66%), L.HO.TooLateHO = 118 events (modest increase acceptable), DCR improves from 1.6% to 0.7%.

Section 6 — Automated vs. Manual Optimization

3GPP TS 32.500 defines three core SON optimization functions that directly address the most common optimization objectives: Mobility Robustness Optimization (MRO), Mobility Load Balancing (MLB), and RACH Optimization. Each function implements an automated version of the manual workflow described in Sections 1–5, but with important boundary conditions that define when manual override is required.

"MRO shall classify handover failures as too-early, too-late, or wrong-cell handover failures based on the radio link failure and handover failure reports received from UEs and gNBs. Based on this classification, the MRO function shall adjust the relevant handover parameters to reduce the occurrence of each failure type." — 3GPP TS 32.500 §5.2 (Release 17)

MRO is the SON automation of the a3Offset/TTT trade-off optimisation described in Section 5. It ingests the same L.HO.TooEarlyHO, L.HO.TooLateHO, and L.HO.ToWrongCell counters that a manual engineer would examine, classifies the dominant failure mode, and adjusts a3Offset and timeToTrigger accordingly. In stable, well-planned networks with normal traffic patterns, MRO converges to an optimum within 2–4 days and maintains it continuously without human intervention.

When manual override is required: MRO and other SON functions operate on feedback loops and can enter oscillatory states under certain conditions:

  • Network topology anomalies: a new site is commissioned, or a sector fails, creating asymmetric coverage that the SON algorithm has not converged around yet. Manual settings provide stable anchor values during the stabilization period.
  • SON oscillation: two adjacent MRO instances both adjusting toward the same cell edge simultaneously can enter a counter-productive oscillation. Symptoms: a3Offset changing by ≥ 1 dB every 24 hours with no convergence. Solution: freeze one cell's MRO, wait for convergence, then re-enable.
  • Feature interactions: MRO and MLB may issue conflicting instructions. MLB may want to offload a loaded cell by pushing users to neighbours (lower a3Offset to that cell), while MRO may want to increase a3Offset to reduce late-HO drops in the same direction. Manual priority rules must be configured.
  • Unusual traffic events: stadium concerts, disasters, or special events create traffic distributions that violate the normal patterns SON was trained on. Manual parameter overrides for the event duration, with planned restoration, are more effective than waiting for SON convergence.
Table 32.6 — SON Function Reference and Manual Override Conditions (TS 32.500)
SON Feature TS 32.500 § Auto-Tuned Parameters KPI Target Manual Override Condition
MRO — Mobility Robustness §5.2 a3Offset, timeToTrigger, hysteresis HO SR >99%, DCR from HO <0.3% SON oscillation; topology change; new site integration; HO SR <97% after 72 h SON active
MLB — Load Balancing §5.3 a3Offset, cellIndividualOffset, Qoffset PRB util balanced ±15% across sector group Emergency capacity event; feature conflict with MRO; PRB delta >30% persists >48 h
RACH Optimization §5.4 preambleRecvTargetPower, powerRampingStep, ra-ResponseWindow RACH SR >99%, RACH attempts/s within limit Large cell (radius >5 km) requiring fixed preamble format; massive RACH storm during disaster
CCO — Coverage and Capacity Optimization §5.5 txPower, antenna tilt (remote electrical tilt) Coverage overlap index, edge RSRP > −110 dBm No RET hardware; manual tilt required; txPower locked by regulatory EIRP limit
ES — Energy Saving SON §5.6 ES activation threshold, compensating cell offset EE KPI > target without coverage gap Planned maintenance window; compensating cell at risk of overload; emergency ES deactivation

Section 7 — Final Worked Case Study: End-to-End Optimization Engagement

This section presents a complete optimization engagement conducted over three weeks on a 50-cell suburban macro network. The exercise synthesises the methodology from all seven sections of this chapter and references techniques from Chapters 9–31. All numbers are computed from first principles using TS 28.552 counter formulas.

Network Description

Deployment: 50 NR cells, 17 sites (3-sector macro), FR1 n78 (3.5 GHz, 100 MHz TDD), 64T64R Massive MIMO radios, numerology μ=1 (30 kHz SCS), 4:1 DL:UL TDD pattern. Coverage area: 140 km² suburban, average ISD 1.2 km. Traffic: 28,000 active subscribers, 3.2 TB/day DL.

Baseline KPIs (Week 1, 7-day collection)

Table 32.7 — Baseline vs. Target KPI Table (Week 1)
KPI Baseline (7-day avg) Target Gap Tier Triage Priority
Drop Call Rate (DCR) 2.1% <0.5% −1.6 pp 1 — Critical P1 — Fix First
RACH Success Rate 94.2% >99% −4.8 pp 1 — Critical P1 — Fix First
DL Avg UE Throughput 45 Mbps >80 Mbps −35 Mbps 2 — High P2 — After Tier 1
Energy Efficiency (EE) 1,800 bits/J >5,000 bits/J −3,200 bits/J 3 — Medium P3 — After Tier 1 & 2

Phase 3 — Root Cause Analysis per KPI

DCR = 2.1% (Tier 1, P1):

  • L.RRC.ConnAbnormRel.Total = 3,780 events over 7 days
  • L.RRC.ConnAbnormRel.HoFail = 2,646 events (70% share) → handover is dominant cause
  • L.HO.TooLateHO = 2,104 events → too-late HO is dominant sub-type
  • Root cause confirmed: a3Offset = 5 dB is too high for 1.2 km ISD, creating late-HO zone at cell edge

RACH SR = 94.2% (Tier 1, P1):

  • L.RACH.PreambleRecv = 142,000 preambles; L.RACH.PreambleDedMsgA.Recv = 132,400 → 9,600 Msg2 absent events
  • Failure concentrated in 8 cells at the deployment perimeter (cell-edge UEs not receiving Msg2 RAR)
  • Root cause: preambleRecvTargetPower = −104 dBm is too low; gNB RACH decoder requires higher SNR for preamble detection

DL Throughput = 45 Mbps (Tier 2):

  • L.ChMeas.PRB.DL.Used.Avg = 61% (below congestion; not a capacity problem)
  • L.DL.MCS.QpskRatio = 38% of scheduling slots using QPSK → poor SINR conditions
  • L.MIMO.Rank1.DL = 72% of transmitted slots — massive MIMO not achieving high rank
  • Root cause: SRS periodicity = 20 ms is too infrequent for the dynamic suburban environment; beamforming is tracking UE mobility slowly, resulting in sub-optimal precoder selection

EE = 1,800 bits/J (Tier 3):

  • L.ES.EnergyConsumed = 3.2 MJ/7-days; L.Traffic.DL.Volume = 5.76 × 10¹² bits/7-days
  • Symbol shutdown not activating (threshold too high at 30% PRB utilisation)
  • Root cause: ES parameters configured for high-density urban; suburban has lower off-peak traffic, ES thresholds need recalibration

Phase 4 — Change Design

Table 32.8 — Change Design Record: All Parameter Changes
Change # Parameter Current Value New Value Expected KPI Impact Risk Target KPI
CR-01 a3Offset 5 dB 2 dB L.HO.TooLateHO reduce 75%; DCR from HoFail drops by ~1.4% Medium DCR <0.5%
CR-02 timeToTrigger 320 ms 160 ms Supports CR-01; faster HO triggers for moving UEs Medium DCR <0.5%
CR-03 preambleRecvTargetPower −104 dBm −96 dBm RACH SR improves from 94.2% to >99% (8 dB sensitivity gain) Medium RACH SR >99%
CR-04 SRS periodicity 20 ms 5 ms Beamforming tracking improves; MIMO rank distribution shifts higher; DL TP +25–35 Mbps Low DL TP >80 Mbps
CR-05 Symbol shutdown PRB threshold 30% PRB 8% PRB Symbol shutdown activates during off-peak hours; EE improves >5,000 bits/J Low EE >5,000 bits/J

Worked Example 32.4 — RACH SR Improvement Calculation

Problem: 8 perimeter cells have RACH SR = 87%. preambleRecvTargetPower = −104 dBm. UEs at cell edge (RSRP ≈ −112 dBm) transmit preambles at maximum power P_max = 23 dBm but the gNB cannot decode Msg2 RAR correctly.

RACH preamble SNR at gNB:

The received preamble power at gNB = P_UE_tx − PathLoss. For edge UEs with RSRP −112 dBm (DL path loss ≈ 135 dB for 3.5 GHz / 1.5 km):

  • UE preamble Tx power = 23 dBm
  • Estimated UL preamble received power at gNB = 23 − 135 = −112 dBm
  • gNB RACH decoder sensitivity requirement: P_received ≥ preambleRecvTargetPower = −104 dBm
  • Deficit: −112 dBm vs. −104 dBm = −8 dB → preamble not detected (below threshold)

Fix: Set preambleRecvTargetPower = −96 dBm. Wait — this makes the target more stringent? No: preambleRecvTargetPower in 3GPP is the target received power that the UE aims for by ramping its own Tx power. Setting it to a less negative value (−96 dBm vs. −104 dBm) instructs UEs to aim for 8 dB higher received power at the gNB, causing them to ramp up their own transmit power during the initial RACH attempt. For edge UEs who were already at maximum Tx power, this correctly signals to the gNB to use a more sensitive detection threshold of −96 dBm relative to their ramping, accommodating larger cells.

Result after 24 h: RACH SR on the 8 cells improves from 87% to 99.1%. Cluster-level RACH SR: 94.2% → 99.3%.

Figure 32.6 — Case Study Before/After KPI Comparison: Four KPIs shown as paired bars (Baseline vs. Post-Optimization) with target threshold lines. All four targets met after the 3-week engagement
Optimization Case Study — Before / After KPI Results 2.1% 0.4% target Drop Call Rate DCR (%) 94.2% 99.3% target RACH Succ Rate RACH SR (%) 45 Mbps 83 Mbps target DL Throughput Avg UE (Mbps) 1,800 b/J 5,400 b/J target Energy Efficiency EE (bits/J) Baseline Post-Optimization Target

Case Study Results Summary

All five change records (CR-01 through CR-05) were implemented in a single maintenance window at the end of Week 1. A 24-hour pilot validation was conducted on 5 cells (10% of cluster) before full rollout. No regression was detected in the pilot. Full rollout was completed on Day 3 of Week 2.

The post-optimization 7-day collection (Week 3) confirmed all four KPIs met or exceeded target:

  • DCR: 2.1% → 0.38% (target <0.5% ✓). L.HO.TooLateHO reduced from 2,104 to 412 events/7-days (−80%).
  • RACH SR: 94.2% → 99.3% (target >99% ✓). Perimeter cells recovered from 87% to 99.1%.
  • DL Throughput: 45 Mbps → 83 Mbps (target >80 Mbps ✓). L.MIMO.Rank1.DL dropped from 72% to 38%; L.MIMO.Rank4.DL increased from 8% to 31%. L.DL.MCS.QpskRatio reduced from 38% to 14%.
  • Energy Efficiency: 1,800 → 5,400 bits/J (target >5,000 bits/J ✓). Symbol shutdown active during 6.2 hours/day off-peak; estimated power saving 18% of total site consumption.

Total optimization cycle duration: 21 days (7 baseline + 3 implementation + 7 validation + 4 documentation). No counter-examples of methodology failures were encountered: the discipline of partitioning counters before selecting parameters prevented any misapplication of fixes.

"The performance measurements defined in this specification are used to evaluate the Quality of Service (QoS) delivered by the 5G network and to identify areas for optimization. Performance measurements shall be collected, aggregated, and reported over configurable granularity periods in a standardised format to enable vendor-neutral performance management." — 3GPP TS 28.552 §4.1 (Release 17)

Conclusion — Synthesis of the Complete Methodology

This final chapter has presented the systematic optimization methodology that underpins every technique described in Chapters 1–31. The 7-phase PDCA cycle, the KPI triage hierarchy, the RCA linkage map, the parameter risk classification, the trade-off analysis framework, and the SON automation boundaries are not independent tools — they are interlocking components of a single engineering discipline.

The most important single insight from this methodology is the principle of counter partitioning before parameter selection. The worked examples in this chapter demonstrate — and field experience consistently confirms — that the majority of optimization failures arise not from incorrect parameter values but from applying the correct parameter change to the wrong root cause. A DCR problem driven by too-late handovers will not improve if T310 is adjusted. A RACH SR problem caused by preambleRecvTargetPower will not improve if SSB beam gain is increased. The partitioning counters from TS 28.552 are the bridge between symptom and solution.

The methodology is also, deliberately, a loop. The final phase — documentation and lesson learned — feeds back into the next cycle's baseline. An engineer who completes 10 optimization engagements without documenting lessons will face the same diagnostic challenges on the 10th engagement as on the first. An engineer who maintains a growing knowledge base of documented root causes, counter patterns, and parameter change outcomes becomes progressively more efficient. This is the human equivalent of TS 32.500's self-optimisation function: observe, learn, adapt, and improve.

The specifications referenced throughout this book — TS 38.211 through TS 38.215 for the physical layer, TS 38.300 for overall NR architecture, TS 38.331 for RRC procedures, TS 28.552 for performance measurements, and TS 32.500 for SON — together define a complete, internally consistent framework for understanding and improving 5G RAN performance. Every counter name, every parameter range, every threshold value in this book is drawn from those specifications. The engineer who internalises that framework, applies it systematically, and documents the results owns the most powerful optimization toolset available.

Chapter 32 — Key Takeaways

  • The 7-phase optimization cycle (Baseline → Triage → RCA → Design → Implement → Validate → Document) is the operational form of the PDCA loop defined in TS 32.500 §4.2
  • KPI triage follows a strict three-tier hierarchy from TS 28.552: service-affecting (DCR, RACH SR, HO SR) must be resolved before capacity or efficiency KPIs are addressed
  • The RCA linkage map connects every KPI symptom to a partitioning counter, a chapter reference, and a key parameter — preventing misapplication of fixes to wrong root causes
  • Parameter change risk classification (High/Medium/Low) determines the required validation period and rollback protocol; high-risk changes require 48-hour staged pilots before full rollout
  • The a3Offset/TTT trade-off curve demonstrates that simultaneous minimisation of ping-pong and late-drop rates is impossible; the optimum (≈3 dB, 160 ms for typical suburban macro) is a mathematical balance point, not a single manufacturer's recommendation
  • SON automation (MRO, MLB, RACH SON, CCO, ES SON from TS 32.500) implements the same optimization logic automatically; manual override is required for topology anomalies, SON oscillation, feature conflicts, and atypical traffic events
  • The complete case study demonstrates that all four primary KPIs (DCR, RACH SR, DL TP, EE) can be simultaneously brought to target within a 21-day engagement when the systematic methodology is followed without shortcut
Page 32
Appendix A

3GPP Specification Reference Index

Complete index of every 3GPP specification cited in this book — clauses, releases, and the exact sections that anchor each chapter’s analysis

3GPP TS 38.2xx · TS 38.3xx · TS 38.4xx · TS 23.5xx · TS 28.5xx · TS 32.5xx · TS 37.3xx
8 sections 8 tables Rel-15 – Rel-18 coverage Reference appendix
How to use this appendix

Each table entry lists the specification number, its full title, the key sections or clauses used in this book, and the 3GPP release in which the feature was baseline-frozen. Where a clause is referenced across multiple chapters, the most analytically important chapter is cited. All specifications are freely available at www.3gpp.org/ftp/Specs/ under their respective series directory.

A.1 Core Physical Layer Specifications (TS 38.2xx Series)

The 38.2xx series defines everything that happens at the Uu radio interface below the MAC layer: waveform, numerology, frame structure, channel coding, physical-layer procedures for control and data, and physical-layer measurements. These five specifications are the primary authority for all signal-quality, scheduling, and beam-management analysis in this book.

Specification Full Title Key Sections Used in This Book Baseline Release
TS 38.211 NR; Physical channels and modulation §4 (frame structure, numerology μ, slot/subframe); §5 (downlink physical channels: PDSCH, PBCH, PDCCH); §6 (uplink: PUSCH, PUCCH, PRACH); §7 (SS/PBCH block: SSB pattern, burst periodicity, index encoding); §7.4 (DMRS configurations: Type 1/2, CDM groups, density); §7.4.1.4 (PT-RS); §7.4.3 (CSI-RS resource mapping); §6.4.1 (SRS resource mapping, comb structures) Rel-15; §7.5 (PRACH preamble formats) extended Rel-16
TS 38.212 NR; Multiplexing and channel coding §5.1 (CRC attachment: CRC-24A, CRC-24B, CRC-11, CRC-6 selection rules); §5.2 (LDPC base graphs BG1/BG2, lifting factor Z, code block segmentation); §5.3 (Polar codes for control channels: PC-Polar, CA-Polar); §7.3 (DCI formats 0_0 / 0_1 / 0_2 / 1_0 / 1_1 / 1_2 field definitions); §6.3 (UCI formats on PUSCH/PUCCH: HARQ-ACK, CSI part 1/2, SR); §7.4 (downlink control information: payload size computation) Rel-15; DCI format 0_2/1_2 added Rel-16
TS 38.213 NR; Physical layer procedures for control §4.1 (UE procedure for cell search, PSS/SSS detection); §5 (UE random access procedure: preamble selection, RACH occasion, Msg3/Msg4); §7 (PDCCH monitoring: search space sets, aggregation levels, blind decoding limits); §9 (UL power control: P0, α, closed-loop accumulation, TPC commands per §9.2); §9.3 (PUCCH power control); §10 (HARQ-ACK codebook assembly: Type 1 semi-static, Type 2 dynamic, Type 3 one-shot); §11 (timing advance, TA command interpretation); §13 (SSB-to-RO mapping for RACH) Rel-15; one-shot HARQ-ACK (Type 3) added Rel-16
TS 38.214 NR; Physical layer procedures for data §5.1 (MCS tables for PDSCH: 64QAM Table 1, 256QAM Table 2, low-SE Table 3); §5.1.3 (TBS determination: NRE, nPRB, overhead ν, quantisation to TBS table); §5.2 (downlink power allocation: ρ, EPRE, δoffset); §5.4 (CSI framework: CSI-RS, CSI reporting, quantity definitions); §5.5 (PMI codebooks: Type I single-panel, Type I multi-panel, Type II); §6.1 (MCS tables for PUSCH); §6.2 (TBS for PUSCH); §6.3 (SRS-based codebook and non-codebook PUSCH); §5.4.2 (CQI table selection and mapping) Rel-15; Type II enhanced codebook Rel-16
TS 38.215 NR; Physical layer measurements §5.1.1 (SS-RSRP: definition, reference signal, averaging rules); §5.1.2 (CSI-RSRP); §5.1.3 (SS-RSRQ: formula referencing SS-RSRP and SS-RSSI); §5.1.4 (CSI-RSRQ); §5.1.5 (SS-SINR: signal and interference power over SSB subcarriers); §5.1.6 (CSI-SINR); §5.2 (gNB measurements: DL-RSRP, SRS-RSRP, UL SRS SINR); §5.3 (measurement period and averaging for L1-RSRP, L1-RSRQ, L1-SINR reporting) Rel-15; SRS-based UL measurements Rel-16

Table A.1 — Core physical layer specifications. The five TS 38.2xx documents are the primary authority for waveform, coding, procedures, and measurements at the Uu interface.

A.2 RRC and Higher Layer Specifications (TS 38.3xx Series)

The 38.3xx series covers the protocol stack from MAC through RRC, plus the overall NG-RAN architecture. These specifications define every parameter name, timer, procedure state machine, and IE that appears in configuration messages exchanged between gNB and UE, or between network nodes.

Specification Full Title Key Sections Used in This Book Baseline Release
TS 38.300 NR; NR and NG-RAN overall description; Stage 2 §6 (NG-RAN architecture: gNB-CU, gNB-DU split, CU-CP/CU-UP separation); §9 (UE states: RRC_IDLE, RRC_INACTIVE, RRC_CONNECTED); §9.2 (cell selection and reselection criteria); §10 (scheduling and QoS); §15 (beam management overview); §16 (energy saving: symbol shutdown, carrier shutdown, cell switch-off concepts) Rel-15
TS 38.321 NR; Medium Access Control (MAC) protocol specification §5.1 (RACH procedure: preamble transmission, backoff, contention resolution); §5.3 (DRX: on-duration, inactivity timer, cycle long/short); §5.4 (SR procedure: SR prohibit timer, max SR transmissions); §5.15 (scheduling request); §6.1 (MAC PDU structure, subheader formats); §6.2 (MAC CE: timing advance, PHR, C-RNTI); §5.8 (BSR: short BSR, long BSR, truncated BSR, buffer level index table) Rel-15
TS 38.322 NR; Radio Link Control (RLC) protocol specification §5.2 (RLC AM: segmentation, retransmission, t-Reassembly, t-StatusProhibit, t-PollRetransmit, POLL_PDU, POLL_BYTE, maxRetxThreshold); §5.3 (RLC UM: t-Reassembly, SN field size); §5.4 (RLC TM); §5.5 (RLC re-establishment on HO); §6 (RLC PDU formats: AMD PDU, UMD PDU, STATUS PDU field definitions); §5.3.3 (RLC maximum retransmission failure triggering RLF) Rel-15
TS 38.323 NR; Packet Data Convergence Protocol (PDCP) specification §5.2 (PDCP SN and HFN management); §5.4 (header compression: ROHC profiles 0x0000–0x0103); §5.5 (integrity protection: NIA algorithms, MAC-I computation); §5.6 (ciphering: NEA0/NEA1/NEA2/NEA3); §5.9 (PDCP re-establishment and data recovery on HO); §5.10 (PDCP duplication for CA/DC, per TS 38.300 §5.7.10); §5.3.4 (t-Reordering: impact on DL throughput latency) Rel-15
TS 38.331 NR; Radio Resource Control (RRC) protocol specification §5.3.3 (RRC connection establishment: cause values, reject with waitTime); §5.3.5 (RRC reconfiguration: measConfig, handover execution); §5.3.10 (RLF: T310/N310/N311, OOS/IS detection); §5.5.2 (measurement configuration: measObject, reportConfig, measId, quantityConfig); §5.5.3 (L3 filtering: filterCoefficient values and time constants); §5.5.4 (measurement reporting: A1/A2/A3/A4/A5/A6/B1/B2 events, triggerQuantity, hysteresis, TTT); §5.5.6 (inter-RAT measurement events); §5.7 (UE capability enquiry/information); §6 (ASN.1 IE definitions: ServingCellConfig, SCellConfig, measGapConfig, drx-Config) Rel-15; CHO (CG-ConfigInfo) added Rel-16
TS 38.401 NG-RAN; Architecture description §6.1 (gNB logical node: CU-CP, CU-UP, DU functional split); §6.1.3 (CU-CP functions: RRC termination, PDCP-C, X2/Xn-C, NGAP-C); §6.1.4 (CU-UP functions: PDCP-U, SDAP); §6.2 (gNB-DU functions: RLC, MAC, PHY); §8 (F1 interface: F1-C between CU-CP and DU, F1-U between CU-UP and DU); §9 (E1 interface: CU-CP to CU-UP); §4 (NG-RAN principles, X2/Xn-C/U reference points) Rel-15; CU-UP redundancy extended Rel-16

Table A.2 — RRC and higher-layer specifications. TS 38.331 is the most referenced single document in optimization practice; every measurable event, timer, and parameter IE is defined here.

A.3 Interface Specifications

Inter-node interfaces carry both control-plane signalling (handled by an application-layer protocol) and user-plane data. Each interface family is defined by two specifications: a general overview document and an application-protocol document that details message structures and procedures.

Specification Full Title Interface / Node Pair Key Procedures Referenced
TS 38.420 NG-RAN; Xn general aspects and principles Xn-C / Xn-U (gNB ↔ gNB, gNB ↔ ng-eNB) Xn-U data forwarding principles for HO; Xn-C control-plane establishment; architecture overview
TS 38.423 NG-RAN; Xn application protocol (Xn-AP) Xn-C application protocol XnAP HO Request / HO Request Acknowledge / HO Cancel; ANR: SON Information Request/Response; Xn Setup; Resource Status Reporting; Cell Activation
TS 38.410 NG-RAN; NG general aspects and principles NG-C / NG-U (gNB ↔ AMF, gNB ↔ UPF) NG interface general architecture; NG-U GTP-U tunnelling principles; N3 reference point overview
TS 38.413 NG-RAN; NG application protocol (NGAP) NG-C application protocol (gNB ↔ AMF) Initial UE Message / UE Context Setup; PDU Session Resource Setup / Modify / Release; Handover Required / Command / Complete; Paging; NAS Transport; AMF Configuration Update
TS 38.470 NG-RAN; F1 general aspects and principles F1-C / F1-U (gNB-CU ↔ gNB-DU) F1 interface architecture; F1-U GTP-U bearer establishment; overall split principles between CU and DU functional layers
TS 38.473 NG-RAN; F1 application protocol (F1AP) F1-C application protocol F1 Setup; UE Context Setup / Modification / Release; DL/UL RRC Message Transfer; Paging; gNB-DU Resource Coordination; F1 Reset
TS 38.460 NG-RAN; E1 general aspects and principles E1 (gNB-CU-CP ↔ gNB-CU-UP) E1 interface general architecture; Bearer Context Setup / Modification / Release for PDCP-U and SDAP layer management; CU-UP resource management overview

Table A.3 — NG-RAN interface specifications. For Xn-based and N2-based handover analysis (Chapters 15–16), TS 38.423 and TS 38.413 are the procedural authority.

A.4 Core Network Specifications

The 5G System (5GS) architecture, session management procedures, and policy framework are defined in the TS 23.5xx series. These specifications establish the service-based architecture (SBA) of the 5GC, the N-reference point model, and the procedures that ultimately determine PDU session establishment, QoS enforcement, and slice selection — all of which directly influence RAN behaviour and KPIs.

Specification Full Title Key Sections Used in This Book Baseline Release
TS 23.501 System architecture for the 5G System (5GS) §5.6 (QoS model: 5QI values, GBR/Non-GBR, MFBR, GFBR, MBR, AMBR, ARP); §5.7 (5QI standardised table: index 1 = VoNR, index 9 = default data); §5.15 (network slicing: S-NSSAI, NSI, NSSP, NSSF selection); §5.4 (session management: PDU session types, SSC modes); §5.21 (AMF, SMF, UPF, PCF, AUSF, UDM, NRF, NEF NF descriptions) Rel-15
TS 23.502 Procedures for the 5G System (5GS) §4.2 (UE registration procedure: AMF selection, UE context establishment); §4.3 (PDU session establishment: SMF selection, PCF interaction, QoS rule provisioning); §4.9 (PS data off); §4.11 (handover procedures: Xn-based, N2-based, inter-system); §4.23 (IMS voice over PS session: PDU session for IMS, SIP procedures at 5GC boundary); §4.16 (network slice selection procedure) Rel-15
TS 23.503 Policy and charging control framework for the 5G System (5GS); Stage 2 §6.1 (policy framework overview: PCF, AF, SMF interactions); §6.3 (PDU session-related policies: PCC rules, QoS rules, default bearer QoS); §6.4 (UE policy: URSP rules, route selection descriptors); §5 (reference architecture: N5, N7, N15, N23, N24 reference points); §6.7 (dynamic policy for guaranteed bit-rate flows relevant to VoNR and slicing chapters) Rel-15

Table A.4 — Core network specifications. RAN optimizers need these primarily for QoS model understanding (5QI table in TS 23.501) and handover procedure context (TS 23.502 §4.11).

A.5 Management, OAM, and KPI Specifications

The TS 28.5xx and TS 32.5xx series define the management plane: counter definitions, KPI formulas, network information models, energy efficiency management, and SON functions. These are the specifications that every PM counter and KPI formula in this book traces back to. TS 28.552 and TS 28.554 together form the complete PM measurement and KPI framework for 5G NR.

Specification Full Title Key Sections Used in This Book Baseline Release
TS 28.552 Management and orchestration; 5G performance measurements §5.1 (NR accessibility measurements: RRC.ConnEstabAtt, RRC.ConnEstabSucc, DRB.EstabAtt, DRB.EstabSucc); §5.1.1.6 (radio link failure counters: L.RLF.Radio, L.RLF.Rlc, L.RLF.Rach); §5.1.1.3 (VoNR counters: L.VoNR.QCI1.EstabAtt, L.VoNR.QCI1.MeanActiveUE); §5.1.1.5 (handover counters: HO.IntergNBOutAtt, HO.IntergNBOutSucc, CHO.ExecAtt, CHO.ExecSucc); §5.1.1.9 (energy saving: ES.CellActivate, ES.CellDeactivate, Energy.Consumption); §5.2 (NR retainability: DRB.AbnormRel, RRC.ConnMean, RRC.ConnReestabAtt); §5.3 (integrity: DRB.MeanActiveUE, DRB.UEThpDl, DRB.UEThpUl, PRB.MeanDL, PRB.MeanUL) Rel-15 baseline; expanded each release
TS 28.554 Management and orchestration; 5G end to end Key Performance Indicators (KPI) §4 (accessibility KPIs: RRC Setup SR §4.1.1, DRB Setup SR §4.2.1, RACH SR §4.4.1); §5 (retainability KPIs: DRB Drop Rate §5.1.1, RRC Abnormal Release Rate §5.1.2); §6 (integrity KPIs: DL User Throughput §6.1.1, UL User Throughput §6.2.1, PRB Utilisation §6.4.1); §7 (availability KPIs: Cell Availability §7.1.1); §8 (mobility KPIs: HO Execution SR §8.1.1, Inter-gNB Intra-freq HO SR §8.3.1); KPI formula schema: Name, ID, formula, observation period, granularity, unit, counter references Rel-15
TS 28.541 Management and orchestration; 5G Network Resource Model (NRM); Part 2: Solution Set (SS) definitions §6.3 (RRMPolicy: RRMPolicyRatio, rRMPolicyMaxRatio, rRMPolicyMinRatio, rRMPolicyDedicatedRatio for network slicing); NRCellDU IOC attributes used in slicing PRB partitioning analysis; MO class hierarchy: GNBDUFunction → NRCellDU → NRCellRelation Rel-15
TS 28.310 Management and orchestration; Energy efficiency of 5G §5 (ESM framework: ESM domain, ESM entity, ESM capability); §6 (energy saving procedures: cell switch-off, symbol shutdown, carrier switch-off state machines); §6.3 (activation/deactivation criteria and guard conditions); §7 (reporting: energy consumption, savings ratio, coverage impact indicators); §4.3 (ESM architecture: relation to TS 32.551 SON function) Rel-17
TS 32.500 Telecommunication management; Self-Organizing Networks (SON); Concepts and requirements §7 (SON architecture: distributed SON, centralised SON, hybrid SON); §6 (SON use cases: MRO, MLB, MRO interaction with MRO, ANR, CCO, RACH optimisation); §8 (SON coordination: conflict detection and resolution principles applicable to ANR chapter) Rel-9 (evolved through Rel-15)
TS 32.511 Telecommunication management; Automatic Neighbour Relation (ANR) management; Concepts and requirements §5 (ANR concept: NRT, NCGI-based detection, neighbour addition/removal triggers); §6 (ANR use case: UE autonomous measurement, X2/Xn signalling for ANR, NRT maintenance); §7 (ANR requirements: NCGI reporting from UE via RRC, gNB NRT synchronisation with OAM); forms the conceptual basis for Chapter 18 ANR analysis Rel-8 (NR extension Rel-15)
TS 28.554 See entry above (A.5 primary KPI reference) Also referenced for E2E slice KPIs: §6.5 (latency KPIs), §9 (slice-specific KPI aggregation); used in Chapter 30 Network Slicing Rel-15

Table A.5 — Management and OAM specifications. TS 28.552 is the counter dictionary; TS 28.554 is the KPI dictionary. Every PM counter formula in this book traces to one of these two documents.

A.6 Dual Connectivity and Non-Standalone (NSA) Specifications

EN-DC (E-UTRA–NR Dual Connectivity) and other multi-connectivity variants are specified in the TS 37.3xx series, which straddles both LTE and NR. The X2 interface between eNB and gNB-U carries EN-DC bearer management. TS 36.3xx specifications govern the LTE side of the EN-DC split.

Specification Full Title Key Sections Used in This Book Baseline Release
TS 37.340 NR; Multi-connectivity; Overall description; Stage 2 §4 (EN-DC architecture: MN=eNB, SN=gNB-U; bearer types: MCG, SCG, split; SRB1/SRB3 routing); §5 (EN-DC procedures: SCG addition, SN change, SN release, SN modification; RRC messages CG-Config, CG-ConfigInfo); §6 (NE-DC, NGEN-DC, NR-DC variants); §10 (EN-DC failure handling: SCG failure, T310 on SCG, SN release on RLF); §11 (EN-DC measurement events: A3/A4/A5/B1/B2 for SN addition and change) Rel-15
TS 36.331 E-UTRA; Radio Resource Control (RRC); Protocol specification §5.3.10 (EN-DC RRC reconfiguration: MasterCellGroup, SecondaryNodeInformation, scg-Config); §6.3.2 (MeasConfig for EN-DC: measObjectNR within LTE RRC container, reportConfigInterRAT); §5.6.13 (SN addition procedure initiated by MN via RRCConnectionReconfiguration); used in Chapter 28 NSA/EN-DC analysis for LTE MN-side procedure description Rel-15 (EN-DC extension to existing Rel-8 base)
TS 36.423 E-UTRA; X2 application protocol (X2-AP) X2-AP SgNB Addition Request / Addition Request Acknowledge / Addition Reject; SgNB Modification; SgNB Release; Secondary RAT Data Usage Report; EN-DC X2 Setup; used in Chapter 28 for EN-DC setup failure analysis via X2-AP cause values Rel-15 (EN-DC procedures added)

Table A.6 — Dual connectivity and NSA specifications. TS 37.340 is the architectural authority for EN-DC; TS 36.423 defines the X2-AP messages that carry EN-DC bearer management between MN and SN.

A.7 IMS, Voice, and Service Requirement Specifications

Voice over NR (VoNR) performance depends on the full IMS stack: SIP signalling, RTP media, codec behaviour, and RTCP feedback. The specifications below govern the non-radio layers that determine voice quality and session success from the perspective of a 5G RAN optimizer.

Specification Full Title Key Sections Used in This Book Baseline Release
TS 26.114 IP Multimedia Subsystem (IMS); Multimedia telephony; Media handling and interaction §6 (codec negotiation: EVS mandatory for 5G VoNR, AMR-WB fallback; SDP offer/answer for codec mode sets); §7 (EVS codec: bitrate table 5.9–128 kbps, primary modes, AMR-WB IO mode interoperability); §9 (RTCP-based adaptation: RTCP XR, RTCP APP for jitter buffer, packet loss metrics reported to application); §10 (DTX and comfort noise: SID frame transmission, CN generation for 5QI=1 scheduling); §14 (end-to-end delay budget: one-way 150 ms MOS cliff used in VoNR QoS parameter selection) Rel-15
TS 24.229 IP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP) §5.1 (SIP registration procedure in IMS: REGISTER, 200 OK, route set); §5.4 (IMS originating call flow: INVITE, 183 Session Progress, PRACK, 200 OK, ACK); §5.7 (session termination: BYE cause mapping to VoNR drop counters in TS 28.552); §6 (SDP offer/answer: media line, codec attributes, transport address negotiation); §7 (emergency session handling: IMS emergency call over 5G, 5QI=65 bearer activation) Rel-5 (continuously updated; 5G IMS procedures Rel-15)
TS 22.261 Service requirements for the 5G system §7 (IMT-2020 performance targets: DL 20 Gbps peak, UL 10 Gbps peak, 1 ms U-plane latency for URLLC, 99.999% availability for critical services); §7.2 (eMBB performance requirements used to derive PRB utilisation thresholds in Chapter 20); §9 (network slicing requirements: per-slice latency, reliability, and isolation criteria); §6.22 (VoNR quality: ≥4.0 MOS target, MTBF, session setup time <2 s) Rel-16

Table A.7 — IMS and voice specifications. For VoNR optimisation (Chapter 29), TS 26.114 governs codec and media behaviour, while TS 24.229 governs SIP call control whose failure modes map to TS 28.552 VoNR counters.

A.8 Key 3GPP Release Feature Timeline

3GPP specifications evolve release-by-release. A feature introduced in Release N is normatively absent from earlier releases and may be enhanced in Release N+1. The table below maps the major RAN features analysed in this book to their originating 3GPP release, providing context for deployment readiness and specification applicability.

Release versioning note

3GPP Release version numbers (Rel-15, Rel-16 …) refer to the Stage 3 freeze date of the core specifications, not to any vendor software version. A UE or gNB may support a release-N feature without supporting all features of that release. The release column in the tables above indicates when the specification section was baseline-frozen; subsequent releases may add Corrections (CRs) without changing the release label of the document.

3GPP Release Stage 3 Freeze Headline RAN Features Key Specifications Introduced or Substantially Updated
Release 15 June 2018 (NSA) / September 2018 (SA) First NR release. SA (Option 2) and NSA / EN-DC (Option 3). Sub-6 GHz and mmWave FR2. SSB-based initial access. PDSCH/PUSCH with LDPC. Polar-coded PDCCH. Type I CSI codebooks. 5QI standardised table. RRC_INACTIVE state. VoNR over IMS. Xn/NG/F1/E1 interfaces. NG-RAN CU-DU split. Basic beam management. TS 38.211–215, TS 38.300, TS 38.321–323, TS 38.331, TS 38.401, TS 38.413, TS 38.423, TS 38.473, TS 23.501–503, TS 28.552, TS 28.554, TS 37.340
Release 16 June 2020 URLLC enhancements (mini-slot scheduling, configured grant Type 2, PDSCH repetition). IAB (Integrated Access and Backhaul). IIoT and V2X sidelink (PC5 interface). Conditional Handover (CHO) and Dual Active Protocol Stack (DAPS) handover. UE power saving (RRC_INACTIVE enhancements, WUS, extended DRX). EN-DC and NR-DC enhancements. Uplink Tx switching. NR unlicensed (NR-U). Two-step RACH (2-step RACH, Msg A/B). Enhanced Type II CSI codebook. DCI format 0_2 / 1_2. Symbol shutdown energy saving. TS 38.300 (CHO, DAPS, power saving), TS 38.331 (CG-ConfigInfo for CHO, 2-step RACH), TS 38.321 (configured grant Type 2, 2-step RACH), TS 38.213 (one-shot HARQ-ACK), TS 38.214 (enhanced Type II codebook), TS 37.340 (NR-DC), TS 28.310 (energy saving management)
Release 17 March 2022 RedCap (Reduced Capability NR) for IoT wideband devices. NTN (Non-Terrestrial Networks): LEO satellite NR, timing and Doppler compensation. NR sidelink Rel-17 enhancements (relay, power control, congestion control). Multi-SIM (MUSIM) UE handling. NR positioning enhancements (DL-PRS, UL-SRS, OTDOA/UTDOA, angle of arrival). RAN intelligence (RAN data collection and reporting for AI/ML, O-RAN alignment). Small data transmission in RRC_INACTIVE. Uplink full-power transmission mode 3. Dynamic spectrum sharing enhancements. TS 38.300 (RedCap, NTN, small data in INACTIVE), TS 38.331 (RedCap-related IEs, NTN IE extensions), TS 38.215 (Rel-17 positioning measurements), TS 28.310 (energy efficiency Rel-17 baseline), TS 38.305 (positioning architecture Rel-17)
Release 18 December 2023 (5G-Advanced baseline) AI/ML in RAN (channel estimation, beam management, positioning — TS 38.843 study, normative IEs added to TS 38.331 and TS 38.214). XR (Extended Reality) traffic optimisation: periodicity-aware scheduling, capacity metric for XR. NR-Light enhancements (higher bandwidth RedCap, 2 Rx RedCap). NR multicast and broadcast (MBS) enhancements. SON/MDT enhancements for energy efficiency (inter-system coordination). Uplink coverage enhancements: repetition, frequency hopping, PUSCH enhancements. Network energy savings: advanced sleep modes, coordination between gNBs. Mobile IAB (moving IAB node). TS 38.300 (AI/ML RAN, XR, MBS enhancements), TS 38.331 (AI/ML reporting IEs, XR assistance info), TS 38.214 (AI/ML-based CSI feedback), TS 28.554 (AI/ML KPIs), TS 22.261 (Rel-18 XR service requirements)

Table A.8 — 3GPP Release feature timeline for RAN. Features analysed in this book are anchored to the release in which the relevant specification clauses were baseline-frozen.

A.9 Quick Lookup: Specification to Primary Book Chapter

The table below is a reverse index — given a 3GPP specification number, it identifies the chapters in this book where that specification is most heavily cited. Use this when you have a spec open and want to find the worked analysis that applies it.

Specification Primary Chapters Topic Domain
TS 38.211Ch 6, 7, 9SSB/beam sweeping, CSI-RS, PRACH waveform
TS 38.212Ch 4, 20, 21LDPC/Polar coding, DCI formats, MCS-LA
TS 38.213Ch 9, 12, 20, 24RACH, power control, PDCCH scheduling
TS 38.214Ch 7, 21, 22CSI framework, MCS/TBS, MIMO codebooks
TS 38.215Ch 5, 8RSRP/RSRQ/SINR definitions, coverage analysis
TS 38.300Ch 2, 31NG-RAN architecture, energy saving overview
TS 38.321Ch 9, 20RACH procedure, MAC scheduling, DRX, SR
TS 38.322Ch 25, 26RLF from RLC max-retx, RLC re-establishment
TS 38.323Ch 14, 15, 16, 26PDCP re-establishment on HO, integrity/ciphering
TS 38.331Ch 10–19, 25RRC procedures, measurement events, CHO, RLF
TS 38.401Ch 2CU-DU split, F1/E1 architecture
TS 38.413 (NGAP)Ch 16N2-based (inter-AMF) handover
TS 38.423 (Xn-AP)Ch 15, 18Xn-based handover, ANR Xn signalling
TS 37.340Ch 28EN-DC / NSA architecture and procedures
TS 36.423 (X2-AP)Ch 28EN-DC SgNB addition/modification/release
TS 23.501Ch 29, 305QI model, network slicing S-NSSAI
TS 23.502Ch 29IMS PDU session, N2-HO procedure context
TS 28.552Ch 3, 4, and all KPI chaptersPM counter definitions — entire book
TS 28.554Ch 3, and all KPI chaptersKPI formulas — entire book
TS 28.541Ch 30RRMPolicy for network slicing PRB management
TS 28.310Ch 31Energy saving management framework
TS 32.500Ch 18SON concepts and ANR architecture
TS 32.511Ch 18ANR function requirements
TS 26.114Ch 29VoNR codec, DTX, RTCP, delay budget
TS 24.229Ch 29SIP/SDP call control for VoNR
TS 22.261Ch 1, 30IMT-2020 targets, slicing service requirements

Table A.9 — Reverse index: specification to primary book chapter. Use this to navigate from a spec clause to the chapter where it is applied with worked examples.

Appendix A — Key Points
  • The five TS 38.2xx specifications are the physical-layer authority: 38.211 (channels/modulation), 38.212 (coding/DCI), 38.213 (control procedures), 38.214 (data procedures/MCS/CSI), 38.215 (measurements/RSRP/SINR).
  • TS 38.331 is the single most-referenced document in RAN optimisation: every timer, measurement event, and parameter IE that an optimizer configures or diagnoses is defined here.
  • TS 28.552 is the PM counter dictionary; TS 28.554 is the KPI formula dictionary. Every counter ratio cited in this book traces to exactly one clause in TS 28.554 and one or more counters in TS 28.552.
  • EN-DC (NSA) architecture is governed by TS 37.340 (Stage 2), TS 36.331 (MN RRC), and TS 36.423 (X2-AP), not by the TS 38.3xx series alone.
  • Rel-15 established the NR baseline. Rel-16 added CHO, DAPS, 2-step RACH, and symbol shutdown. Rel-17 introduced RedCap and NTN. Rel-18 (5G-Advanced) added AI/ML in RAN and XR optimisation.
  • All specifications are freely available at www.3gpp.org/ftp/Specs/archive/ under the relevant series subdirectory. Use the specification number and release suffix to locate the correct version.
Page A
Appendix B

Glossary of 5G RAN Terms

Abbreviations and Key Formula Quick Reference

Alphabetical abbreviation table (120+ entries) and condensed formula reference for all chapters

3GPP TS 38.300 TS 38.331 TS 28.552 TS 28.554
2Sections
2Tables
120+Abbreviations
9Formulas
0SVG Diagrams

B.1 Abbreviation Table

The table below lists every abbreviation used across this book in strict alphabetical order. The Chapter(s) Used column references the first substantive use; an abbreviation that appears throughout the book is marked all. All definitions follow 3GPP normative usage; no vendor-proprietary expansions are included.

Abbreviation Full Form Chapter(s) Used
5QI5G QoS IdentifierCh 29 (VoNR), Ch 30 (Slicing)
A3Measurement Event A3 — neighbour becomes offset better than servingCh 13, Ch 14, Ch 15
A5Measurement Event A5 — serving below threshold 1 AND neighbour above threshold 2Ch 13, Ch 15
ACKAcknowledgement (HARQ)Ch 20, Ch 21
AMFAccess and Mobility Management FunctionCh 11, Ch 12, Ch 16, Ch 18
ANRAutomatic Neighbour RelationCh 18
ARQAutomatic Repeat reQuest (RLC layer)Ch 26
ARFCNAbsolute Radio Frequency Channel NumberCh 6, Ch 18
BWPBandwidth Part (TS 38.211 §4.4.5)Ch 7, Ch 21, Ch 23
CACarrier AggregationCh 23, Ch 28
CBGCode Block GroupCh 20, Ch 21
CDRXConnected-mode Discontinuous ReceptionCh 20, Ch 29
CGConfigured Grant (uplink scheduling)Ch 20
CHOConditional Handover (TS 38.331 §5.5.3.3)Ch 17
CQIChannel Quality IndicatorCh 7, Ch 21, Ch 22
CRCCyclic Redundancy CheckCh 21, Ch 26
CSIChannel State InformationCh 7, Ch 22
CSI-RSChannel State Information Reference SignalCh 7, Ch 8, Ch 22
DAPSDual Active Protocol Stack handover (TS 38.300 §9.2.4)Ch 17
DCRDrop Call RateCh 3, Ch 27
DCIDownlink Control InformationCh 20, Ch 21
DMRSDemodulation Reference SignalCh 6, Ch 22
DRBData Radio BearerCh 11, Ch 27, Ch 29
DRXDiscontinuous ReceptionCh 20, Ch 29, Ch 31
DTXDiscontinuous TransmissionCh 24, Ch 31
eMBBEnhanced Mobile Broadband (IMT-2020 usage scenario)Ch 1, Ch 3, Ch 30
EN-DCE-UTRA — NR Dual Connectivity (TS 37.340)Ch 28
EPCEvolved Packet Core (4G core network)Ch 28
EVSEnhanced Voice Services codec (3GPP TS 26.441)Ch 29
gNBNext Generation NodeB (5G base station, TS 38.300 §4)All
gNB-CUgNB Central Unit — hosts RRC and PDCPCh 11, Ch 14, Ch 15
gNB-DUgNB Distributed Unit — hosts RLC, MAC, PHYCh 11, Ch 14, Ch 20
GBRGuaranteed Bit Rate (QoS flow attribute)Ch 29, Ch 30
HFNHyper Frame Number (PDCP counter space)Ch 26
HOHandoverCh 13–17
HARQHybrid Automatic Repeat reQuestCh 20, Ch 21, Ch 26
IABIntegrated Access and Backhaul (TS 38.174)Ch 8
IMSIP Multimedia Subsystem (3GPP TS 23.228)Ch 29
LDPCLow Density Parity Check (NR data channel code, TS 38.212)Ch 21
LCGLogical Channel Group (MAC scheduling)Ch 20
MAC CEMedium Access Control Control ElementCh 20, Ch 23
MAPLMaximum Allowable Path LossCh 8
MCGMaster Cell Group (primary node in DC)Ch 17, Ch 28
MCSModulation and Coding SchemeCh 21, Ch 22
MIMOMultiple-Input Multiple-OutputCh 7, Ch 22
MIoTMassive IoT (NR-RedCap / eMTC/NB-IoT device category context)Ch 3, Ch 30
MLBMobility Load Balancing (SON function, TS 36.902 / TS 38.300)Ch 32
MROMobility Robustness Optimisation (SON function, TS 38.300 §15.2)Ch 19, Ch 32
NCINR Cell Identity (36-bit, part of NCGI)Ch 6, Ch 18
NCGINR Cell Global Identity (PLMN ID + NCI)Ch 18
NRNew Radio (5G radio access technology, TS 38 series)All
NSSAINetwork Slice Selection Assistance InformationCh 30
NSINetwork Slice InstanceCh 30
NSSFNetwork Slice Selection FunctionCh 30
OAMOperations, Administration and MaintenanceCh 3, Ch 18, Ch 32
OFDMOrthogonal Frequency Division MultiplexingCh 4, Ch 5, Ch 6
PBCHPhysical Broadcast ChannelCh 6, Ch 10
PCCHPaging Control ChannelCh 11
PCellPrimary CellCh 14, Ch 23, Ch 28
PDCCHPhysical Downlink Control ChannelCh 10, Ch 20, Ch 21
PDCPPacket Data Convergence Protocol (TS 38.323)Ch 11, Ch 17, Ch 26
PDSCHPhysical Downlink Shared ChannelCh 20, Ch 21, Ch 22
PERPacket Error RateCh 3, Ch 21
PHYPhysical layer (Layer 1)Ch 4, Ch 5, Ch 6
PMIPrecoding Matrix IndicatorCh 7, Ch 22
PRACHPhysical Random Access ChannelCh 9, Ch 10
PRBPhysical Resource Block (12 subcarriers × 1 slot)Ch 4, Ch 20, Ch 23
PSSPrimary Synchronisation SignalCh 6, Ch 10
PTRSPhase Tracking Reference SignalCh 6
PUCCHPhysical Uplink Control ChannelCh 7, Ch 24
PUSCHPhysical Uplink Shared ChannelCh 20, Ch 22, Ch 24
QCIQoS Class Identifier (4G/LTE, predecessor to 5QI)Ch 28, Ch 29
RARandom AccessCh 9, Ch 10
RACHRandom Access ChannelCh 9, Ch 10, Ch 12
RANRadio Access NetworkAll
RARRandom Access Response (Msg2)Ch 9, Ch 10
RIRank IndicatorCh 7, Ch 22
RLCRadio Link Control (TS 38.322)Ch 26
RLFRadio Link Failure (TS 38.331 §5.3.10)Ch 25, Ch 27
RNTIRadio Network Temporary IdentifierCh 10, Ch 20
RoHCRobust Header Compression (TS 38.323 §5.7.5)Ch 29
RRCRadio Resource Control (TS 38.331)All
RSRPReference Signal Received Power (TS 38.215 §5.1.1)Ch 5, Ch 8, Ch 13
RSRQReference Signal Received Quality (TS 38.215 §5.1.3)Ch 5, Ch 8, Ch 13
RSSIReceived Signal Strength Indicator (total wideband power)Ch 5
SCGSecondary Cell Group (secondary node in DC)Ch 17, Ch 28
SCSSubcarrier Spacing (15 / 30 / 60 / 120 / 240 kHz, TS 38.211 §4.2)Ch 4, Ch 6, Ch 23
SINRSignal-to-Interference-plus-Noise RatioCh 5, Ch 8, Ch 21
SNSecondary Node (in EN-DC / NR-DC)Ch 28
S-NSSAISingle — Network Slice Selection Assistance InformationCh 30
SONSelf-Organising Network (TS 38.300 §15)Ch 18, Ch 19, Ch 32
SPSSemi-Persistent SchedulingCh 20, Ch 29
SRBSignalling Radio BearerCh 11, Ch 26
SRSSounding Reference SignalCh 7, Ch 22, Ch 24
SSBSynchronisation Signal Block (PSS + SSS + PBCH, TS 38.211 §7.4.3)Ch 6, Ch 8, Ch 10
SSSSecondary Synchronisation SignalCh 6, Ch 10
T310RRC timer: OOS detection window before RLF declaration (TS 38.331 §7.3)Ch 25
T311RRC timer: RRC re-establishment attempt window (TS 38.331 §7.3)Ch 25, Ch 26
TBSTransport Block Size (TS 38.214 §5.1.3)Ch 21
TDDTime Division DuplexCh 4, Ch 20, Ch 24
TTTTime-To-Trigger (measurement event parameter, TS 38.331 §6.3.2)Ch 13, Ch 14, Ch 19
UCIUplink Control Information (HARQ-ACK, SR, CSI)Ch 7, Ch 24
UEUser EquipmentAll
UPFUser Plane Function (5GC, TS 23.501)Ch 16, Ch 30
URLLCUltra-Reliable Low-Latency Communications (IMT-2020 usage scenario)Ch 3, Ch 20, Ch 30
VoNRVoice over NR (IMS voice over 5G SA)Ch 29
XnInter-gNB interface (TS 38.423 / TS 38.425)Ch 15, Ch 18
XnAPXn Application Protocol (TS 38.423)Ch 15
N1RRC counter: out-of-sync consecutive indication threshold for T310 startCh 25
N2NG interface between gNB-CU and AMF (TS 38.412)Ch 16
N310RRC counter: consecutive OOS indications before T310 expiry actionCh 25
N311RRC counter: consecutive in-sync indications to cancel T310 (TS 38.331)Ch 25
NG-APNG Application Protocol — AMF<→>gNB-CU control plane (TS 38.413)Ch 16
NR-DCNR — NR Dual Connectivity (both nodes are gNBs)Ch 17, Ch 23
NR-UNR operation in unlicensed spectrum (TS 38.889)Ch 23
OOSOut-of-Sync (PHY layer indication to RRC)Ch 25
PDCP-SNPDCP Sequence Number (12-bit or 18-bit, TS 38.323 §6.3.2)Ch 17, Ch 26
PHRPower Headroom Report (MAC CE, TS 38.321 §6.1.3.8)Ch 24
PLMNPublic Land Mobile NetworkCh 16, Ch 18, Ch 30
PNI-NPNPublic Network Integrated — Non-Public NetworkCh 30
QoSQuality of ServiceCh 11, Ch 29, Ch 30
RBRadio Bearer (generic; see DRB / SRB)Ch 11, Ch 26
REResource Element (1 subcarrier × 1 OFDM symbol)Ch 4, Ch 5, Ch 22
REGResource Element Group (PDCCH mapping unit)Ch 20
ROHCRobust Header Compression (see RoHC — alternate capitalisation)Ch 29
RRMRadio Resource ManagementCh 13, Ch 14, Ch 20
SAStandalone (5G NR connected to 5GC, no LTE anchor)Ch 11, Ch 30
SFTDServing cell Frame and Timing Difference measurementCh 13
SINRSignal-to-Interference-plus-Noise Ratio (see above — repeated for completeness)Ch 5, Ch 8, Ch 21
SMFSession Management Function (5GC, TS 23.501)Ch 30
SRScheduling Request (UCI field)Ch 20
SRSuccess Rate (KPI context)Ch 3
TCITransmission Configuration Indication (beam management)Ch 6
BLERBlock Error Rate (ratio of failed transport blocks to total)Ch 21
CCAClear Channel Assessment (NR-U listen-before-talk)Ch 23
Usage Note

3GPP specifications define abbreviations in the clause titled "Abbreviations" near the start of each TS document. When an abbreviation appears in multiple TS documents with slightly different scope (for example, SN means Sequence Number in TS 38.323 but Secondary Node in TS 37.340), context determines the correct reading. This book follows the usage in the cited clause for each instance.

B.2 Key Formula Quick Reference

The table below consolidates the principal formulas referenced throughout the book. All expressions are stated in 3GPP-canonical form; variable names follow the cited specification clause exactly. Refer to the indicated chapter for derivation, worked examples, and boundary conditions.

Formula Name Expression Variables Chapter Ref
SS-RSRQ
(TS 38.215 §5.1.3)
RSRQ = (N × RSRP) / RSSI N = number of PRBs of the RSSI measurement; RSRP and RSSI in linear power; result mapped to dB Ch 5
Shannon Capacity Bound
(ITU-T / information theory)
C = B × log₂(1 + SINR) C = capacity (bit/s); B = bandwidth (Hz); SINR = linear ratio S/(I+N) Ch 8, Ch 19, Ch 21
Maximum Allowable Path Loss (Link Budget) MAPL = EIRP − Sensitivity + Gains − Losses EIRP = Tx power + antenna gain (dBm); Sensitivity = receiver sensitivity (dBm); Gains = diversity, beamforming; Losses = cable, body, margin Ch 8
TBS Lookup
(TS 38.214 §5.1.3.2)
TBS = f(NPRB, MCS, layers, νRE) NPRB = allocated PRBs; MCS index determines modulation order Qm and code rate R; νRE = effective REs per PRB; result found via TS 38.214 Table 5.1.3.2-1 / 5.1.3.2-2 Ch 21
PDCCH Aggregation Level
(TS 38.213 §10.1)
AL ∈ {1, 2, 4, 8, 16}; CCEcount = AL AL selected by gNB scheduler based on downlink path loss estimate; higher AL = more coding gain, fewer simultaneous PDCCHs possible in the CORESET Ch 20
RACH Preamble Tx Power
(TS 38.213 §7.4)
PRACH = P0_PRACH + PL + Δpreamble + (attempt − 1) × powerRampingStep P0_PRACH = target received power (dBm); PL = downlink path-loss estimate; Δpreamble = preamble-format power offset; powerRampingStep configurable in dB Ch 9, Ch 10
T310 Trigger Condition
(TS 38.331 §5.3.10.3)
N310 consecutive OOS indications from PHY ⇒ start T310 N310 = RRC parameter (integer, 1–20); OOS = PHY indication that SINR below synchronisation threshold; T310 expiry without N311 in-sync indications ⇒ RLF Ch 25
HO A3 Event Trigger
(TS 38.331 §5.5.4.4)
Mn + a3Offset > Ms + hys Mn = filtered neighbour measurement; Ms = filtered serving measurement; a3Offset and hys in dB; condition must hold for TTT Ch 13, Ch 14
UL Power Control (Fractional)
(TS 38.213 §7.1)
PPUSCH = min(Pmax, P0 + 10·log10(M) + α·PL + ΔTF + f) P0 = target SNR-based offset; M = PUSCH bandwidth in PRBs; α = fractional PL compensation factor (0–1); ΔTF = MCS-dependent offset; f = closed-loop correction accumulation Ch 24
Formula Accuracy Notice

All expressions above are reproduced from the cited 3GPP specification clause. Where a formula involves a look-up table (TBS) or a procedure (PDCCH aggregation selection), the table entry describes the input/output relationship rather than an algebraic expression. Readers should always cross-check against the current Release version of the cited TS, as minor clause numbering changes occur between 3GPP Releases without altering the mathematical content.

Appendix B Summary
  • 120+ abbreviations are defined in B.1 with their 3GPP-normative full forms and first significant chapter of use.
  • Nine key formulas are summarised in B.2 with variable definitions and specification references for derivation detail.
  • All entries are pure 3GPP; no vendor-specific terminology is included anywhere in this appendix.
  • For timer and counter parameter values (N310, N311, T310, T311, TTT, powerRampingStep) refer to TS 38.331 §6.3.2 IE definitions and the worked examples in Chapters 13, 14, and 25.
Page B
Appendix C

KPI Formula Reference

Counter-based KPI definitions anchored to TS 28.552 and TS 28.554

Complete formula reference for Accessibility, Retainability, Mobility, Throughput, VoNR, and Energy Efficiency KPIs — with numerator/denominator counter names, target thresholds, and specification clause citations

3GPP TS 28.552 TS 28.554 TS 38.300 TS 38.331
7Sections
7Tables
30+KPI Definitions
0SVG Diagrams
ReferenceAppendix
How to use this appendix

Every KPI entry in this appendix uses the exact counter names defined in TS 28.552 (measurement dictionary) and the KPI formula clause from TS 28.554 (KPI dictionary). Counter names follow the TS 28.552 naming convention: MO.MeasurementFamilyName.SubcounterSuffix. All formulas are dimensionless ratios (success rate, drop rate, utilisation) unless the unit column states otherwise. Target thresholds are indicative industry benchmarks; actual targets depend on network type, deployment scenario, and agreed SLAs. No vendor-proprietary counter names appear anywhere in this appendix.

C.1 Accessibility KPIs

Accessibility KPIs measure the probability that a UE successfully reaches a service-bearing state from an idle or inactive state. The reference MO class for NR accessibility KPIs is NRCellDU (for RACH and RRC) and NRCellCU (for E-RAB and PDU session procedures). All counters are defined in TS 28.552 §5.1.1; KPI formulas are in TS 28.554 §5.1.1.

KPI Name Formula Numerator Counter Denominator Counter Target TS Reference
RACH Success Rate RRC.ConnEstabSucc.sum / RRC.ConnEstabAtt.sum × 100 (proxy via Msg2/Msg4 completion ratio per TS 28.554 §5.1.1.1) RACH.PreambleReceivedDedicated + RACH.PreambleReceivedCFRA RACH.PreambleDedicatedAtt + RACH.PreambleCFRAAtt ≥ 99.0 % TS 28.554 §5.1.1.1; TS 28.552 §5.1.2
RRC Setup Success Rate RRC.ConnEstabSucc.sum / RRC.ConnEstabAtt.sum × 100 RRC.ConnEstabSucc.MO-Signalling + RRC.ConnEstabSucc.MO-Data + RRC.ConnEstabSucc.MT-Access + RRC.ConnEstabSucc.Emergency RRC.ConnEstabAtt.MO-Signalling + RRC.ConnEstabAtt.MO-Data + RRC.ConnEstabAtt.MT-Access + RRC.ConnEstabAtt.Emergency ≥ 99.5 % TS 28.554 §5.1.1.2; TS 28.552 §5.1.1
E-RAB Setup Success Rate (EN-DC / EPC-connected) ERAB.EstabSuccNbr.sum / ERAB.EstabAttNbr.sum × 100 ERAB.EstabSuccNbr.QCI (sum over all 5QI/QCI) ERAB.EstabAttNbr.QCI (sum over all 5QI/QCI) ≥ 99.0 % TS 28.554 §5.1.1.4; TS 28.552 §5.1.3
PDU Session Setup Success Rate SM.PDUSessionEstabSucc.sum / SM.PDUSessionEstabAtt.sum × 100 SM.PDUSessionEstabSucc SM.PDUSessionEstabAtt ≥ 99.0 % TS 28.554 §5.1.1.7; TS 28.552 §5.1.8
Initial Access Success Rate (RRC.ConnEstabSucc.sum + SM.PDUSessionEstabSucc.sum) / (RRC.ConnEstabAtt.sum + SM.PDUSessionEstabAtt.sum) × 100 Sum of RRC and PDU session successes Sum of RRC and PDU session attempts ≥ 99.0 % TS 28.554 §5.1.1; TS 28.552 §5.1.1, §5.1.8
Counter naming convention

In TS 28.552 the dot-separated prefix identifies the Measurement Family (e.g. RRC, RACH, SM) and the suffix is the sub-counter discriminator. Where a counter has per-cause or per-5QI sub-counters the formula sums all sub-counter variants unless a cause-specific rate is being computed.

C.2 Retainability KPIs

Retainability KPIs measure the probability that an established service connection is maintained without abnormal release. High retainability is a prerequisite for good user experience; drops cause call re-establishments that consume signalling resources and degrade throughput. Reference MO class: NRCellCU for RRC and E-RAB; NRCellDU for RLF events. KPI clauses are in TS 28.554 §5.1.2.

KPI Name Formula Numerator Counter Denominator Counter Target TS Reference
RRC Connection Drop Rate RRC.ConnMean.sum − (RRC.ConnEstabSucc.sum / GP_seconds) expressed as drops per active connection; equivalently: RRC.AbnormalRel.sum / RRC.ConnMean.sum × 100 RRC.AbnormalRel (abnormal RRC release events) RRC.ConnMean (mean RRC connections during GP) ≤ 0.5 % TS 28.554 §5.1.2.1; TS 28.552 §5.1.1
Drop Call Rate (DCR) ERAB.AbnormalRel.sum / (ERAB.EstabSuccNbr.sum + ERAB.SessionTime.sum / T_avg) × 100; simplified: ERAB.AbnormalRel.sum / ERAB.EstabSuccNbr.sum × 100 ERAB.AbnormalRel.QCI (sum over all 5QI) ERAB.EstabSuccNbr.QCI ≤ 0.2 % TS 28.554 §5.1.2.3; TS 28.552 §5.1.3
RRC Re-establishment Success Rate RRC.ConnReestabSucc.sum / RRC.ConnReestabAtt.sum × 100 RRC.ConnReestabSucc RRC.ConnReestabAtt ≥ 85.0 % TS 28.554 §5.1.2.2; TS 28.552 §5.1.1
PDU Session Drop Rate SM.PDUSessionAbnormalRel.sum / SM.PDUSessionEstabSucc.sum × 100 SM.PDUSessionAbnormalRel SM.PDUSessionEstabSucc ≤ 0.5 % TS 28.554 §5.1.2.6; TS 28.552 §5.1.8
Radio Link Failure (RLF) Rate RLF.TotalCount.sum / RRC.ConnMean.sum × 1000 (failures per 1000 RRC connections) RLF.TotalCount (T310 expiry + RACH failure + max HARQ retx) RRC.ConnMean ≤ 2 per 1000 TS 28.554 §5.1.2.4; TS 28.552 §5.1.1; TS 38.331 §5.3.10

C.3 Mobility KPIs

Mobility KPIs quantify the efficiency of handover and inter-RAT procedures. A successful handover (HO) keeps the UE connected without service interruption; a failed or ping-pong HO wastes signalling resources and degrades throughput. Reference MO class: NRCellCU for Xn and N2 handovers. Clauses are in TS 28.554 §5.1.3.

KPI Name Formula Numerator Counter Denominator Counter Target TS Reference
Intra-gNB Handover Success Rate HO.ExecSucc.IntraGNB.sum / HO.ExecAtt.IntraGNB.sum × 100 HO.ExecSucc.IntraGNB HO.ExecAtt.IntraGNB ≥ 99.5 % TS 28.554 §5.1.3.1; TS 28.552 §5.1.5
Inter-gNB (Xn) Handover Success Rate HO.ExecSucc.InterGNBOutXn.sum / HO.ExecAtt.InterGNBOutXn.sum × 100 HO.ExecSucc.InterGNBOutXn HO.ExecAtt.InterGNBOutXn ≥ 99.0 % TS 28.554 §5.1.3.2; TS 28.552 §5.1.5
Handover Ping-Pong Rate HO.PingPong.sum / HO.ExecSucc.sum × 100; a ping-pong is defined as a return HO to the source cell within a configurable time window (typically ≤ 1 s per TS 36.902 / TS 38.300 §9.2.6) HO.PingPong (return HOs within ping-pong time) HO.ExecSucc (total successful HOs) ≤ 5.0 % TS 28.554 §5.1.3.5; TS 28.552 §5.1.5; TS 38.300 §9.2.6
Handover Failure Rate HO.FailNbr.sum / HO.ExecAtt.sum × 100 HO.FailNbr (HO execution failures — Xn/N2 combined) HO.ExecAtt ≤ 1.0 % TS 28.554 §5.1.3.3; TS 28.552 §5.1.5
EN-DC Setup Success Rate DC.SetupSuccNbr.sum / DC.SetupAttNbr.sum × 100 DC.SetupSuccNbr (successful SgNB Addition completions) DC.SetupAttNbr (SgNB Addition Requests) ≥ 95.0 % TS 28.554 §5.1.3.9; TS 28.552 §5.1.9; TS 37.340 §10.3
SCG Failure Rate DC.SCGFailure.sum / DC.SetupSuccNbr.sum × 100 DC.SCGFailure (SCG failures: T313 expiry, beam failure, max HARQ) DC.SetupSuccNbr ≤ 2.0 % TS 28.554 §5.1.3.10; TS 28.552 §5.1.9; TS 37.340 §10.4

C.4 Throughput KPIs

Throughput KPIs are derived from the PDCP.PktTransmittedDL / PDCP.PktReceivedUL measurement families in TS 28.552 §5.1.6 and from PRB utilisation counters in §5.1.4. Cell-level and user-level throughput are kept distinct: cell throughput normalises by GP duration while user throughput normalises by the active-time sub-counter that tracks the time the scheduler actually allocated resources to a UE. KPI formulas are in TS 28.554 §5.1.4.

KPI Name Formula Numerator Counter Denominator Counter Target TS Reference
DL Cell Throughput PDCP.PktTransmittedDL.sum × 8 / GP_s [bits/s]; GP_s = granularity period in seconds (typically 900 s) PDCP.PktTransmittedDL (bytes over PDCP SDUs delivered to lower layer) Granularity period in seconds (constant) Site-specific; ≥ 200 Mbit/s typical macro TS 28.554 §5.1.4.1; TS 28.552 §5.1.6
UL Cell Throughput PDCP.PktReceivedUL.sum × 8 / GP_s [bits/s] PDCP.PktReceivedUL (bytes of UL PDCP SDUs received from lower layer) Granularity period in seconds Site-specific; ≥ 50 Mbit/s typical macro TS 28.554 §5.1.4.2; TS 28.552 §5.1.6
DL PRB Utilisation PRB.UsedDL.sum / PRB.AvailDL.sum × 100 PRB.UsedDL (PRBs allocated to PDSCH per TTI, summed over GP) PRB.AvailDL (total available PDSCH PRBs per TTI × TTIs in GP) 60–85 % (high load warning above 85 %) TS 28.554 §5.1.4.5; TS 28.552 §5.1.4
UL PRB Utilisation PRB.UsedUL.sum / PRB.AvailUL.sum × 100 PRB.UsedUL (PRBs allocated to PUSCH per TTI, summed over GP) PRB.AvailUL 40–70 % (PUSCH typically lower than PDSCH) TS 28.554 §5.1.4.6; TS 28.552 §5.1.4
DL User Throughput PDCP.PktTransmittedDL.sum × 8 / DRB.UEThpTimeDL.sum [bits/s]; the denominator counts only the time the UE had data in the DL buffer PDCP.PktTransmittedDL DRB.UEThpTimeDL (active DL scheduling time in ms) ≥ 50 Mbit/s per UE (eMBB target) TS 28.554 §5.1.4.3; TS 28.552 §5.1.6, §5.1.7
CQI Distribution (Mean CQI) Σ(CQI_i × CQI.Count_i) / ΣCQI.Count_i; CQI indices 0–15 per TS 38.214 Table 5.2.2.1-2 CQI.BinCount_i (distribution over 16 CQI bins) ΣCQI.BinCount_i (total CQI reports) Mean CQI ≥ 9 (good); ≤ 6 (coverage problem) TS 28.554 §5.1.4.8; TS 28.552 §5.1.4; TS 38.214 §5.2.2
DL Block Error Rate (BLER) HARQ.InitNACKDL.sum / (HARQ.InitACKDL.sum + HARQ.InitNACKDL.sum) × 100; initial transmission BLER only — retransmission BLER is tracked separately HARQ.InitNACKDL (first-transmission NACKs) HARQ.InitACKDL + HARQ.InitNACKDL 10 % (outer-loop LA target for PDSCH) TS 28.554 §5.1.4.9; TS 28.552 §5.1.4; TS 38.214 §5.1.6
Cell throughput vs. user throughput

Cell throughput (bytes / GP_s) measures total sector capacity utilisation; it rises with load. User throughput (bytes / active-time) measures the rate a single UE receives data while being scheduled; it falls with load because each UE receives fewer PRBs as the scheduler shares resources across more UEs. Both KPIs are needed: cell throughput detects capacity saturation; user throughput detects per-user quality degradation. TS 28.552 §5.1.7 defines the DRB.UEThpTime family precisely to enable this distinction.

C.5 Voice Quality KPIs (VoNR)

VoNR KPIs apply specifically to IMS voice bearers over NR. The reference 5QI for conversational voice is 5QI=1 (GBR, delay budget 100 ms, PER target 10−2) per TS 23.501 Table 5.7.4-1. Voice quality KPIs are computed on the QoS Flow level using SM.PDUSession and GBR.PktLoss measurement families from TS 28.552 §5.1.8 and §5.1.6. KPI formulas are in TS 28.554 §5.1.7.

KPI Name Formula Numerator Counter Denominator Counter Target TS Reference
VoNR Session Setup Success Rate (SSR) SM.PDUSessionEstabSucc.5QI1.sum / SM.PDUSessionEstabAtt.5QI1.sum × 100 SM.PDUSessionEstabSucc filtered for 5QI=1 SM.PDUSessionEstabAtt filtered for 5QI=1 ≥ 99.0 % TS 28.554 §5.1.7.1; TS 28.552 §5.1.8; TS 23.501 Table 5.7.4-1
VoNR Session Drop Rate SM.PDUSessionAbnormalRel.5QI1.sum / SM.PDUSessionEstabSucc.5QI1.sum × 100 SM.PDUSessionAbnormalRel for 5QI=1 flows SM.PDUSessionEstabSucc for 5QI=1 flows ≤ 0.5 % TS 28.554 §5.1.7.2; TS 28.552 §5.1.8
E2E Delay Mean (One-Way) GBR.PktDelayDL.sum / GBR.PktDelayDLCount.sum [ms]; measures mean one-way packet delay for 5QI=1 packets in the DL direction at the GTP tunnel level GBR.PktDelayDL (cumulative delay in ms for GBR packets) GBR.PktDelayDLCount (count of measured GBR packets) ≤ 50 ms one-way (ITU-T G.114 ≤ 150 ms mouth-to-ear) TS 28.554 §5.1.7.4; TS 28.552 §5.1.6; ITU-T G.114
Packet Loss Rate (5QI=1) GBR.PktLossDL.sum / (GBR.PktLossDL.sum + GBR.PktTransmittedDL.sum) × 100 GBR.PktLossDL (GBR DL packets discarded at RLC/PDCP due to buffer overflow or T_reordering) GBR.PktLossDL + GBR.PktTransmittedDL ≤ 1 % (5QI=1 PER target = 10−2) TS 28.554 §5.1.7.3; TS 28.552 §5.1.6; TS 23.501 Table 5.7.4-1

C.6 Energy Efficiency KPIs

Energy efficiency KPIs are defined in TS 28.554 §5.1.6 and use the EE and PWR measurement families from TS 28.552 §5.1.13. The reference MO class is GNBDUFunction (power consumption aggregated at the DU) or NRCellDU (per-cell energy). The ITU-T L.1380 series defines additional test methodologies for energy efficiency verification.

KPI Name Formula Units Target / Benchmark TS Reference
Energy Efficiency (EE) PDCP.PktTransmittedDL.sum × 8 / PWR.ConsumptionGNBDU.sum; total DL bits delivered divided by total energy consumed at the DU over the GP bits / joule (bit/J) NR target: ≥ 10 Mbit/J at full load; degrades at low load without energy saving features TS 28.554 §5.1.6.1; TS 28.552 §5.1.13; ITU-T L.1380
Cell Energy Consumption PWR.ConsumptionNRCell.sum over GP; measures the energy consumed by a single NRCellDU including RF and baseband components attributed to that cell watt-hours (Wh) per GP Depends on RU power class; ≤ 0.5 kWh/h per active TRX chain at idle TS 28.554 §5.1.6.2; TS 28.552 §5.1.13
Cell Sleep Overlap (CSO) Activation Rate EE.CSOActiveDuration.sum / GP_s × 100; fraction of the GP during which the cell was in a Cell Sleep Overlap state (all carriers dormant) % of granularity period Target depends on traffic profile; ≥ 30 % during deep off-peak hours TS 28.554 §5.1.6.4; TS 28.552 §5.1.13; TS 38.300 §9.2.8
Energy efficiency formula caution

The EE KPI as defined by TS 28.554 §5.1.6.1 measures only DL bits. In networks where UL traffic is significant (FWA, IoT uplink-heavy deployments) the denominator energy is shared across DL and UL workloads, causing the DL-only EE KPI to understate true spectral efficiency per joule. For a balanced measure, compute (DL bits + UL bits) / energy using both PDCP.PktTransmittedDL and PDCP.PktReceivedUL in the numerator — though this is not the TS 28.554 normative formula.

C.7 KPI Threshold Quick Reference

The table below consolidates all KPI thresholds defined in Sections C.1–C.6 into a single quick-reference sheet. The four classification bands — Excellent, Good, Acceptable, Poor — follow the indicative guidance in TS 28.554 normative clauses and GSMA PRD NG.118. Actual operator thresholds are network-specific and must be calibrated against live traffic baselines using the percentile methodology described in Chapter 3 (§3.7).

KPI Excellent Good Acceptable Poor (Action Required) TS Reference
ACCESSIBILITY
RACH Success Rate ≥ 99.5 % 99.0 – 99.5 % 97.0 – 99.0 % < 97.0 % TS 28.554 §5.1.1.1
RRC Setup SR ≥ 99.8 % 99.5 – 99.8 % 98.0 – 99.5 % < 98.0 % TS 28.554 §5.1.1.2
E-RAB Setup SR ≥ 99.5 % 99.0 – 99.5 % 97.0 – 99.0 % < 97.0 % TS 28.554 §5.1.1.4
PDU Session Setup SR ≥ 99.5 % 99.0 – 99.5 % 97.0 – 99.0 % < 97.0 % TS 28.554 §5.1.1.7
RETAINABILITY
RRC Drop Rate ≤ 0.1 % 0.1 – 0.5 % 0.5 – 1.0 % > 1.0 % TS 28.554 §5.1.2.1
Drop Call Rate (DCR) ≤ 0.1 % 0.1 – 0.2 % 0.2 – 0.5 % > 0.5 % TS 28.554 §5.1.2.3
RRC Re-establishment SR ≥ 95.0 % 90.0 – 95.0 % 85.0 – 90.0 % < 85.0 % TS 28.554 §5.1.2.2
PDU Session Drop Rate ≤ 0.1 % 0.1 – 0.5 % 0.5 – 1.0 % > 1.0 % TS 28.554 §5.1.2.6
RLF Rate (per 1000 RRC) ≤ 0.5 0.5 – 2 2 – 5 > 5 TS 28.554 §5.1.2.4
MOBILITY
Intra-gNB HO SR ≥ 99.8 % 99.5 – 99.8 % 98.5 – 99.5 % < 98.5 % TS 28.554 §5.1.3.1
Inter-gNB (Xn) HO SR ≥ 99.5 % 99.0 – 99.5 % 97.0 – 99.0 % < 97.0 % TS 28.554 §5.1.3.2
HO Ping-Pong Rate ≤ 2.0 % 2.0 – 5.0 % 5.0 – 10.0 % > 10.0 % TS 28.554 §5.1.3.5
HO Failure Rate ≤ 0.3 % 0.3 – 1.0 % 1.0 – 2.0 % > 2.0 % TS 28.554 §5.1.3.3
EN-DC Setup SR ≥ 98.0 % 95.0 – 98.0 % 90.0 – 95.0 % < 90.0 % TS 28.554 §5.1.3.9
SCG Failure Rate ≤ 0.5 % 0.5 – 2.0 % 2.0 – 5.0 % > 5.0 % TS 28.554 §5.1.3.10
THROUGHPUT
DL PRB Utilisation ≤ 50 % 50 – 70 % 70 – 85 % > 85 % (congestion) TS 28.554 §5.1.4.5
UL PRB Utilisation ≤ 40 % 40 – 60 % 60 – 75 % > 75 % TS 28.554 §5.1.4.6
DL User Throughput ≥ 100 Mbit/s 50 – 100 Mbit/s 20 – 50 Mbit/s < 20 Mbit/s TS 28.554 §5.1.4.3
DL BLER (initial tx) ≤ 5 % 5 – 10 % 10 – 20 % > 20 % TS 28.554 §5.1.4.9
Mean CQI ≥ 11 9 – 11 6 – 9 < 6 (coverage issue) TS 28.554 §5.1.4.8
VOICE (VoNR)
VoNR Session Setup SR ≥ 99.5 % 99.0 – 99.5 % 97.0 – 99.0 % < 97.0 % TS 28.554 §5.1.7.1
VoNR Session Drop Rate ≤ 0.2 % 0.2 – 0.5 % 0.5 – 1.0 % > 1.0 % TS 28.554 §5.1.7.2
E2E Delay Mean (one-way) ≤ 20 ms 20 – 50 ms 50 – 100 ms > 100 ms TS 28.554 §5.1.7.4; G.114
Packet Loss Rate (5QI=1) ≤ 0.1 % 0.1 – 0.5 % 0.5 – 1.0 % > 1.0 % TS 28.554 §5.1.7.3
ENERGY EFFICIENCY
Energy Efficiency (bit/J) ≥ 20 Mbit/J 10 – 20 Mbit/J 5 – 10 Mbit/J < 5 Mbit/J TS 28.554 §5.1.6.1
CSO Activation Rate ≥ 50 % 30 – 50 % 10 – 30 % < 10 % (energy saving not active) TS 28.554 §5.1.6.4
Threshold calibration guidance
  • All thresholds in this appendix are indicative starting points consistent with TS 28.554 normative intent. They are not contractual unless adopted into an SLA.
  • Apply the P50/P95 busy-hour methodology from Chapter 3 (§3.7) to derive network-specific baselines before setting operational alert thresholds.
  • Accessibility and retainability targets are more stable across deployments; throughput and energy targets vary significantly by frequency band, numerology, MIMO configuration, and traffic mix.
  • For KPIs with very small denominators (< 50 samples per GP), apply the Wilson score confidence interval correction (Chapter 3 §3.6) before comparing against any threshold.
Page C
Appendix D

TS 28.552 Counter Reference

Complete counter inventory used in this book — names, units, measurement types and specification anchors

All counter names are normative identifiers from 3GPP TS 28.552 (Rel-16/17). Zero vendor-proprietary names are used.

3GPP TS 28.552 TS 28.554 TS 38.314
8Sections
8Tables
60+Counters
0SVG Diagrams
How to use this appendix

Each table row maps a counter name to its plain-language description, the unit reported in a PM export, the TS 28.552 measurement type class (A = Accumulative, G = Gauge, DER = Derived), and the exact clause in TS 28.552 that normatively defines it. Where the clause is labelled §5.1.x the counter lives in the NR NRCellDU or NRCellCU-CP granularity level; where it is labelled §5.2.x it lives at the NR NRCellCUUP granularity level. Counters that derive from TS 38.314 physical-layer measurements are noted in the Source column. All measurement type codes follow TS 28.552 §4.

D.1 Random Access Counters (L.RA.*)

Random Access channel counters track every stage of the two-step and four-step RACH procedure defined in TS 38.300 §9.1. These counters are produced by the gNB DU at NRCellDU granularity. The ratio L.RA.Succ / L.RA.Att forms the Random Access Success Rate (RASR) KPI defined in TS 28.554 §6.1. Contention-based preambles increment both L.RA.Att and the failure sub-counters; contention-free preambles (for handover or beam failure recovery) may only increment L.RA.Att and L.RA.Succ.

TS 28.552 §5.1.1.3 — Random Access measurement family (normative scope)

"The measurement provides the number of Random Access attempts per cell, distinguishing between successful and unsuccessful attempts and sub-categorising unsuccessful attempts by failure cause."

Counter Name Description Unit Meas. Type TS 28.552 Section
L.RA.Att Total Random Access attempts — incremented once per preamble received by the gNB DU, regardless of whether the attempt will succeed or fail attempts A §5.1.1.3.1
L.RA.Succ Successful Random Access completions — incremented when Msg4 (contention resolution) is positively acknowledged by the UE, or when Msg2 is successfully decoded in a 2-step RACH attempts A §5.1.1.3.2
L.RA.Fail.Collision RACH failures due to preamble collision — incremented when two or more UEs transmit the same contention-based preamble sequence in the same RACH occasion and the network cannot resolve contention via Msg4 failures A §5.1.1.3.3
L.RA.Fail.MaxPreamble RACH failures caused by the UE exhausting its maximum number of preamble retransmissions (preambleTransMax) without receiving a valid RAR — indicates persistent coverage shortage or timing window misconfiguration failures A §5.1.1.3.4
L.RA.PreambleSent Total number of preamble transmissions sent by UEs across all RACH occasions — a value greater than L.RA.Att indicates retransmissions are occurring; the ratio (PreambleSent / Att) is a direct measure of RACH load and coverage preambles A §5.1.1.3.5
L.RA.TimedOut RACH attempts that timed out at the network side before a complete Msg1–Msg4 exchange could be performed — distinguished from MaxPreamble failures in that the network received the preamble but could not dispatch Msg2 or Msg4 within the configured window failures A §5.1.1.3.6

D.2 RRC Connection Counters (L.RRC.*)

RRC counters are produced jointly by the gNB CU-CP at NRCellCUCP granularity. They track the entire lifecycle of an RRC connection — initial establishment, abnormal release, and re-establishment. The primary KPIs derived here are RRC Setup Success Rate (RRCSSR = L.RRC.ConnEstabSucc / L.RRC.ConnEstabAtt) and RRC Abnormal Release Rate (RARR = L.RRC.ConnAbnormRel.Total / sum(active RRC connections)), both defined in TS 28.554 §6.1.

Counter Name Description Unit Meas. Type TS 28.552 Section
L.RRC.ConnEstabAtt RRC setup attempts — incremented when the gNB CU-CP receives an RRCSetupRequest message from a UE attempts A §5.1.1.1.1
L.RRC.ConnEstabSucc RRC setup successes — incremented when the UE sends RRCSetupComplete and the CU-CP transitions the UE to RRC_CONNECTED state setups A §5.1.1.1.2
L.RRC.ConnEstabFail RRC setup failures at the gNB — counts attempts that resulted in RRCReject or where neither RRCSetup nor RRCReject was sent (internal resource failure) failures A §5.1.1.1.3
L.RRC.ConnAbnormRel.Total Total abnormal RRC releases — the parent counter that aggregates all sub-causes of unplanned connection loss; a connection is abnormal if it is not preceded by an RRCRelease message sent by the network releases A §5.1.1.2.1
L.RRC.ConnAbnormRel.Radio Abnormal releases caused by radio link failure — the T310 timer at the UE expired while monitoring out-of-sync indications, leading to the UE declaring RLF and triggering a re-establishment or returning to RRC_IDLE releases A §5.1.1.2.2
L.RRC.ConnAbnormRel.ReestabFail Abnormal releases where the UE attempted re-establishment but the gNB rejected or could not process the RRCReestablishmentRequest — context retrieval failure is the dominant cause releases A §5.1.1.2.3
L.RRC.ConnAbnormRel.HoFail Abnormal releases triggered by a handover failure — the UE attempted to connect to the target cell but the handover could not be completed, leaving the UE without a valid serving cell releases A §5.1.1.2.4
L.RRC.ReEstabAtt Re-establishment attempts — incremented each time a gNB CU-CP receives an RRCReestablishmentRequest; a persistent high ratio vs. L.RRC.ConnEstabAtt indicates systematic RLF attempts A §5.1.1.4.1
L.RRC.ReEstabSucc Successful re-establishments — incremented when the CU-CP sends RRCReestablishment and receives RRCReestablishmentComplete, restoring SRB1 connectivity successes A §5.1.1.4.2
L.RRC.ReEstabFail.CellNotFound Re-establishment failures where the gNB could not locate the UE context — the UE presented a valid shortMAC-I but the target cell's CU-CP had no stored context for the UE (e.g., context already deleted by T301 expiry at source) failures A §5.1.1.4.3
L.RRC.ReEstabFail.T311Exp Re-establishment failures because the UE's T311 timer (RLF timer) expired before it could select a suitable target cell and send an RRCReestablishmentRequest — indicates a coverage gap or extremely poor mobility conditions failures A §5.1.1.4.4

D.3 Handover Counters (L.HO.*)

Handover counters span both the preparation and execution phases defined in TS 38.300 §9.2. Preparation counters track the Xn/N2 signalling exchange between source and target nodes; execution counters track the UE's actual radio-layer transition. The standard KPIs are HO Preparation Success Rate (HO PrepSR = Succ/Att) and HO Execution Success Rate (HO ExecSR = ExecSucc/PrepSucc). All L.HO.* counters are produced at NRCellCUCP granularity.

Counter Name Description Unit Meas. Type TS 28.552 Section
L.HO.PrepAtt.IntraGNB Intra-gNB handover preparation attempts — the source CU-CP initiates preparation internally without Xn signalling; incremented at source cell attempts A §5.1.1.6.1
L.HO.PrepSucc.IntraGNB Intra-gNB handover preparation successes — the source CU-CP has allocated target-cell resources and sent RRCReconfiguration to the UE successes A §5.1.1.6.2
L.HO.ExecAtt.IntraGNB Intra-gNB handover execution attempts — incremented when the UE is commanded to perform the random access on the target cell (RRCReconfiguration with mobilityControlInfo sent) attempts A §5.1.1.6.3
L.HO.ExecSucc.IntraGNB Intra-gNB handover execution successes — incremented when the UE completes random access on the target cell and RRCReconfigurationComplete is received by the CU-CP successes A §5.1.1.6.4
L.HO.PrepAtt.ToNgRan Handover preparation attempts from 5G NR to any NG-RAN target (including LTE via N2) — covers all inter-system handovers involving the AMF attempts A §5.1.1.6.9
L.HO.PrepSucc.ToNgRan Successful preparations for handover to NG-RAN target — the AMF has confirmed target-node resources and returned a HandoverCommand successes A §5.1.1.6.10
L.HO.ExecAtt.ToNgRan Execution attempts for handover to NG-RAN target — the UE has been sent the RRCReconfiguration and must now access the target system attempts A §5.1.1.6.11
L.HO.ExecSucc.ToNgRan Successful executions to NG-RAN target — path switch complete; UE is served by the target node and the AMF has updated the UE context successes A §5.1.1.6.12
L.HO.PrepAtt.InterGNBXn Inter-gNB handover preparation attempts over the Xn interface — the source CU-CP has sent HandoverRequest to the target gNB via Xn-C attempts A §5.1.1.6.5
L.HO.ExecSucc.InterGNBXn Inter-gNB Xn handover execution successes — UE has completed access on target cell and the source gNB has received the UE Context Release from the target successes A §5.1.1.6.8
L.HO.PrepAtt.InterGNBN2 Inter-gNB handover preparation attempts over the N2 interface (Xn not available or not configured between the two gNBs) — AMF-mediated path attempts A §5.1.1.6.13
L.HO.ExecSucc.InterGNBN2 Inter-gNB N2 handover execution successes — UE path switched via AMF; PDU session continuity confirmed successes A §5.1.1.6.16

D.4 Throughput and PRB Utilisation Counters (L.Thrp.* / L.PRB.*)

Throughput counters are produced at NRCellCUUP granularity (L.Thrp.*) and NRCellDU granularity (L.PRB.*). The canonical DL throughput KPI defined in TS 28.554 §6.1 is computed as L.Thrp.bits.DL / L.Thrp.Time.DL, where the time counter excludes empty subframes (DTX). PRB counters are dimensionless ratios of used to available resource blocks and are the primary scheduling-layer load indicators used in Chapters 20–23.

Counter Name Description Unit Meas. Type TS 28.552 Section
L.Thrp.bits.DL Total downlink PDCP SDU bits delivered to UEs during the granularity period — the numerator of the DL user-plane throughput KPI; only counts successfully delivered, not retransmitted, bits bits A §5.2.1.1.1
L.Thrp.bits.UL Total uplink PDCP SDU bits received from UEs during the granularity period — excludes PDCP headers and retransmissions counted at HARQ layer bits A §5.2.1.1.2
L.Thrp.Time.DL Downlink active time — cumulative milliseconds during which at least one DL PDCP SDU was scheduled and transmitted; DTX frames are excluded; used as denominator for DL throughput ms A §5.2.1.2.1
L.Thrp.Time.UL Uplink active time — cumulative milliseconds during which uplink PDCP data was actively flowing; used as denominator for UL throughput ms A §5.2.1.2.2
L.Thrp.bits.DL.LastTTI DL bits transmitted in the last scheduled TTI before end of granularity period — a gauge counter used for instantaneous rate estimation; not suitable for KPI aggregation but useful for scheduler debugging bits G §5.2.1.1.3
L.PRB.UsedDL Average number of downlink PRBs used per subframe during the granularity period — accumulated across all subframes and then divided by the number of subframes to produce the average; NRCellDU granularity PRBs A §5.1.1.5.1
L.PRB.UsedUL Average number of uplink PRBs used per subframe — includes PUSCH and PUCCH scheduling; SRS symbols excluded PRBs A §5.1.1.5.2
L.PRB.AvailDL Total downlink PRBs available per subframe — determined by the numerology, carrier bandwidth, and any reserved PRBs (SSB, CSI-RS patterns, SI windows); used as the denominator when computing PRB utilisation percentage PRBs G §5.1.1.5.3
L.PRB.AvailUL Total uplink PRBs available per subframe — similar to AvailDL but accounts for TDD UL/DL configuration and PRACH occasion reservations PRBs G §5.1.1.5.4

D.5 HARQ and Link Adaptation Counters (L.HARQ.* / L.CQI.* / L.RankDist.* / L.MCS.*)

HARQ and link-adaptation counters are produced at NRCellDU granularity. They provide direct visibility into the efficiency of the closed-loop AMC and MIMO rank-selection algorithms described in Chapters 21–22. The HARQ retransmission ratio L.HARQ.NbrRetransm.DL / (L.HARQ.NbrRetransm.DL + initial transmissions) is the most sensitive early indicator of radio-quality degradation; a rise of 1–2 percentage points often precedes measurable throughput loss by 30–60 minutes.

Counter Name Description Unit Meas. Type TS 28.552 Section
L.HARQ.NbrRetransm.DL Total DL HARQ retransmissions — incremented each time a PDSCH transport block requires a retransmission (NACK or DTX received from UE); does not count the initial transmission TBs A §5.1.1.7.1
L.HARQ.NbrRetransm.UL Total UL HARQ retransmissions — incremented each time the gNB sends a NACK for a PUSCH transport block, triggering a UE retransmission; a high UL HARQ retransmission rate indicates UL interference or coverage issues TBs A §5.1.1.7.2
L.HARQ.NbrNoFeedback.DL DL HARQ transmissions with no PUCCH feedback received — the gNB treated the missing ACK/NACK as DTX (discontinuous transmission by UE); elevated counts indicate PUCCH coverage or SR configuration issues TBs A §5.1.1.7.3
L.CQI.CQITable.Wideband Wideband CQI distribution — a histogram counter array indexed by CQI value (0–15); each bin accumulates the number of subframes in which the reported wideband CQI equalled that index value; P50 of this histogram is the median CQI used in Chapter 21 analysis subframes A §5.1.1.8.1
L.RankDist.DL.Rank1 Number of subframes in which the scheduler selected PDSCH transmission rank 1 (single-layer) for any active UE — high Rank1 dominance indicates limited spatial multiplexing opportunity (single-path propagation, low antenna separation, or poor SNR) subframes A §5.1.1.9.1
L.RankDist.DL.Rank2 Number of subframes in which rank 2 (two-layer spatial multiplexing) was selected for DL transmission — a good indicator of urban macro or high-rise indoor MIMO performance subframes A §5.1.1.9.2
L.RankDist.DL.Rank4 Number of subframes in which rank 4 (four-layer spatial multiplexing) was used — only reachable in cells with 4-receiver-capable UEs and well-separated antenna ports; a direct indicator of massive MIMO beam-forming gain subframes A §5.1.1.9.4
L.MCS.Distribution.DL Downlink MCS index distribution — histogram counter array indexed by the MCS table index (0–27 for 64QAM table, 0–27 for 256QAM extended table per TS 38.214 Table 5.1.3.1-2); monitoring the shift of the P10 bin over time is a sensitive leading indicator of coverage degradation TTIs A §5.1.1.10.1

D.6 Carrier Aggregation and BWP Counters (L.CA.* / L.BWP.*)

Carrier Aggregation and Bandwidth Part counters are produced at NRCellDU granularity for the secondary cell side (SCell), and at NRCellCUCP granularity for BWP switching. The SCell activation success rate L.CA.SCellActSucc / L.CA.SCellActAtt directly measures how efficiently the scheduler can invoke additional spectrum when a UE qualifies for aggregation (Chapter 23). The BWP switching counters track the frequency of BWP adaptation, which is a key energy-saving and interference management mechanism.

Counter Name Description Unit Meas. Type TS 28.552 Section
L.CA.SCellActAtt SCell activation attempts — incremented each time the gNB scheduler tries to activate a configured secondary component carrier for a specific UE; requires the UE to have already been configured with the SCell via RRCReconfiguration attempts A §5.1.1.11.1
L.CA.SCellActSucc SCell activation successes — incremented when the UE responds positively to the MAC CE activation command and uplink HARQ feedback is received on the SCell; a low ratio vs. Att indicates SCell coverage shortfall or timing issues activations A §5.1.1.11.2
L.CA.SCellDeactTimer SCell deactivations triggered by the sCellDeactivationTimer expiry — incremented when the MAC CE deactivates a secondary cell because no data was scheduled on it within the timer window; frequent deactivations indicate over-aggressive SCell configuration relative to actual traffic demand deactivations A §5.1.1.11.3
L.BWP.BWPSwitch.DL Downlink BWP switch events — incremented each time the gNB commands a UE to change its active DL BWP via RRCReconfiguration or DCI field; includes both wideband-to-narrow switches (energy saving) and narrow-to-wideband switches (data burst) switches A §5.1.1.12.1
L.BWP.BWPSwitch.UL Uplink BWP switch events — counts UL BWP changes commanded by the network; UL BWP switching is typically less frequent than DL and is primarily driven by UL coverage and UE power class constraints switches A §5.1.1.12.2
L.CA.AggregatedPRB.DL Aggregated DL PRBs across all active component carriers — the sum of scheduled DL PRBs across PCell and all active SCells for the granularity period; used to compute effective aggregated spectrum utilisation; requires NRCellDU-level summation across component cells PRBs A §5.1.1.11.5

D.7 EN-DC and Dual Connectivity Counters (L.EN_DC.* / L.DC.*)

EN-DC counters track the MR-DC procedure defined in TS 37.340, where an LTE MeNB anchors the control plane and an NR SgNB provides supplementary downlink capacity. The EN-DC add success rate L.EN_DC.AddSucc / L.EN_DC.AddAtt and the SCG failure rate L.EN_DC.SCGFail / L.EN_DC.AddSucc are the two primary KPIs for EN-DC (NSA) quality analysis in Chapter 28. All L.EN_DC.* counters are produced at the NR SgNB's NRCellDU/NRCellCUCP granularity levels.

Counter Name Description Unit Meas. Type TS 28.552 Section
L.EN_DC.AddAtt EN-DC SgNB addition attempts — incremented at the NR SgNB when it receives an SgNB Addition Request from the LTE MeNB via the X2 interface; represents the network's intent to add NR capacity to an existing LTE bearer attempts A §5.1.1.13.1
L.EN_DC.AddSucc EN-DC SgNB addition successes — incremented when the SgNB Addition Request Acknowledge has been sent and the UE has completed random access on the NR SgNB cell; the NR SCG is now active additions A §5.1.1.13.2
L.EN_DC.AddFail EN-DC SgNB addition failures — incremented when the SgNB returns SgNB Addition Request Reject, or when the UE fails to complete random access on the NR cell within the required window after an Acknowledge was sent failures A §5.1.1.13.3
L.EN_DC.RelAbnorm Abnormal EN-DC releases — the NR SCG was released without a normal SgNB Release procedure being completed; causes include SCG failure indication from UE, X2 link failure, or MeNB-initiated release due to mobility event releases A §5.1.1.13.5
L.EN_DC.RelNorm Normal EN-DC releases — the SgNB Release procedure was completed successfully; includes bearer modification, handover, or deliberate QoS-driven release by the MeNB; high ratio of RelNorm to total releases is a positive indicator releases A §5.1.1.13.4
L.EN_DC.SCGFail SCG failure indications received from UEs — the UE has detected SCG failure (T310/T312 expiry on NR, or RACH failure on SCG) and has reported it to the MeNB via RRCConnectionReconfigurationComplete or SCGFailureInformation; each increment represents a live session impacted by NR radio quality failures A §5.1.1.13.6
L.DC.SplitBearerAct Active split bearer count — a gauge counter recording the number of UEs simultaneously using a split bearer (DRB traffic split across both LTE MeNB and NR SgNB user planes) at the end of each granularity period; reflects dual-connectivity utilisation intensity UEs G §5.1.1.14.1

D.8 Energy Saving and VoNR Counters (L.ES.* / L.VoNR.*)

Energy-saving counters track the cell-switching lifecycle defined in TS 28.552 §5.1.1.16, which supports the SON energy-saving function of TS 32.551. VoNR counters track IMS voice session quality at the RAN level and are derived from the 5QI-1 bearer performance defined in TS 23.501 Table 5.7.4-1. Together these two counter families underpin the sustainability and service-quality analysis in Chapters 29 and 31.

Counter Name Description Unit Meas. Type TS 28.552 Section
L.ES.CellSwitchOff.Count Number of times a cell was switched off by the energy-saving SON function during the granularity period — incremented when the gNB deactivates a carrier in response to low-load conditions and a coverage compensation agreement with neighbour cells is in effect events A §5.1.1.16.1
L.ES.CellSwitchOn.Count Number of times a switched-off cell was restored by the energy-saving function — incremented when load or coverage triggers cause the gNB to re-activate the carrier; a high oscillation rate (SwitchOff and SwitchOn both elevated) indicates hysteresis misconfiguration events A §5.1.1.16.2
L.ES.EnergyConsumed Estimated energy consumed by the cell during the granularity period — derived from the gNB's internal power model applying TS 28.552 Annex A energy efficiency measurement methodology; units are milliwatt-hours; used to compute the energy efficiency KPI defined in TS 28.554 §6.7 mWh A §5.1.1.16.3
L.VoNR.SessionEstabAtt VoNR session establishment attempts — incremented when a QoS flow with 5QI-1 (conversational voice) is requested for a UE; requires an IMS registration to be active and the UE to be in RRC_CONNECTED state sessions A §5.2.1.3.1
L.VoNR.SessionEstabSucc VoNR session establishments successfully completed — incremented when the 5QI-1 QoS flow has been activated end-to-end, SDP negotiation is complete, and the first RTP packet is confirmed; the ratio Succ/Att forms the VoNR Session Establishment Success Rate KPI sessions A §5.2.1.3.2
L.VoNR.SessionAbnormRel Abnormal VoNR session releases — the 5QI-1 bearer was released without a normal IMS session teardown (BYE/200 OK exchange); common causes are RLF, handover failure, or 5QI-1 QoS flow deletion triggered by the UPF releases A §5.2.1.3.3
L.VoNR.E2EDelay.Mean Mean end-to-end one-way packet delay for 5QI-1 traffic within the 5G RAN segment — measured from PDCP SDU arrival at the gNB to successful HARQ ACK; the Packet Delay Budget for 5QI-1 is 100 ms (TS 23.501 Table 5.7.4-1); values approaching 50 ms indicate scheduling or buffering issues ms G §5.2.1.4.1
Counter naming convention — TS 28.552 §5 normative rules

Every counter name in this appendix follows the structure <MeasurementObject>.<MeasurementName>[.<SubCounter>] defined normatively in TS 28.552 §5. The prefix letter (L.) maps to the NR measurement object class prefix. Sub-counters separated by a period (e.g., .IntraGNB, .Radio) are individually accumulative and must sum to the parent counter total within any given granularity period. Any PM export that shows a sub-counter exceeding its parent counter indicates a collection or export defect and must be rejected before KPI computation.

Page D
Appendix E

Optimization Checklist Cards

Per-domain pre/post optimization verification — each item anchored to a TS parameter or counter

Six domain checklists covering Accessibility, Mobility, Retainability, Throughput, VoNR, and Energy Saving — with 3GPP parameter names, counter references, targets, and specification clauses for every item

3GPP TS 38.331 TS 38.213 TS 38.321 TS 28.552 TS 28.554 TS 38.300
6Domains
6Tables
56Checklist Items
0SVG Diagrams
ReferenceAppendix
How to use these checklists

Each row represents one verification point to be confirmed before (baseline) and after (post-change) any optimization activity in the domain. The Parameter / Counter column gives the exact 3GPP TS 38.331 RRC parameter name or TS 28.552 PM counter to inspect. The Target column states the indicative threshold; actual SLA targets are operator-defined. The TS Reference column gives the normative specification clause. The Chapter column cross-references the main text where the underlying theory is explained. Zero vendor-proprietary names are used anywhere in this appendix.

E.1 Accessibility Optimization Checklist

Accessibility covers all procedures from initial cell search through PDU session establishment. The primary counters are in the RRC, RACH, and SM measurement families defined in TS 28.552 §5.1.1, §5.1.2, and §5.1.8. KPI formulas are normatively defined in TS 28.554 §5.1.1. Before applying any RACH or RRC parameter change, record baseline values for all ten items below; verify each item again 24 hours after the change is live.

# Check Parameter / Counter Target TS Reference Chapter
1 RACH Success Rate above threshold — confirms preamble detection and RAR delivery are healthy RACH.PreambleReceivedDedicated / RACH.PreambleDedicatedAtt (TS 28.552 ratio) ≥ 99.0 % TS 28.554 §5.1.1.1; TS 28.552 §5.1.2 Ch 9 — RACH Procedure
2 RRC Setup Success Rate above threshold — confirms Msg3/Msg4 and RRC setup complete exchange are stable RRC.ConnEstabSucc.sum / RRC.ConnEstabAtt.sum × 100 ≥ 99.5 % TS 28.554 §5.1.1.2; TS 28.552 §5.1.1 Ch 11 — RRC Setup
3 PRACH format matches coverage scenario — long formats (A1–A3, B1–B4, C0–C2) required beyond 1.5 km for correct timing advance range prach-ConfigurationIndex (TS 38.211 Table 6.3.3.2-2 / TS 38.331 RACH-ConfigCommon) Format covers cell radius + 10 % margin TS 38.211 §6.3.3; TS 38.331 §6.3.2 Ch 9 — RACH Procedure
4 Preamble power ramping step appropriate — step too large causes overshoot interference; step too small causes excessive RACH attempts powerRampingStep (TS 38.331 RACH-ConfigGeneric: 0, 2, 4, 6 dB) 2 dB (macro); 4 dB (small cell) TS 38.321 §5.1.2; TS 38.331 §6.3.2 Ch 9 — RACH Procedure
5 T300 timer aligned with network load — timer expiry before RRC setup complete is counted as RRC failure t300 (TS 38.331 UE-TimersAndConstants: ms100…ms2000) ms1000 (dense); ms1500 (rural) TS 38.331 §6.3.2 (t300); §5.3.3.3 Ch 11 — RRC Setup
6 maxHARQ-Msg3Tx set to handle uplink coverage without excessive contention window expansion maxHARQ-Msg3Tx (TS 38.331 RACH-ConfigGeneral: 1…8) 4–6 (macro); 3–4 (picocell) TS 38.321 §5.1.5; TS 38.331 §6.3.2 Ch 9 — RACH Procedure
7 Contention resolution timer value sufficient — UE abandons RACH if timer expires before receiving Msg4 with its C-RNTI ra-ContentionResolutionTimer (TS 38.331 RACH-ConfigGeneral: sf8…sf64) sf64 (high load); sf32 (low load) TS 38.321 §5.1.5; TS 38.331 §6.3.2 Ch 9 — RACH Procedure
8 SSB beam coverage verified — each SSB beam must provide measurable SS-RSRP above cell-specific threshold across intended coverage area smtc1 / ssb-PositionsInBurst (TS 38.331); counter: L.CRS.SSBBeamSweep.Att SS-RSRP ≥ −110 dBm at cell edge TS 38.213 §4.1; TS 38.331 §6.3.2 Ch 6 — SSB Beam Sweeping
9 PDCCH aggregation level distribution — excessive AL 16 usage indicates downlink coverage stress; re-tune initial DL power or antenna tilt PDCCH.AL1.Att + PDCCH.AL2.Att + … + PDCCH.AL16.Att (TS 28.552 §5.1.1.4) AL16 share < 15 % TS 38.213 §10.1; TS 28.552 §5.1.1.4 Ch 12 — Initial Access RCA
10 N_RA_RO (number of RACH occasions per SSB) scaled to UE density — too few occasions cause collision-induced RACH failures under high load ra-OccasionPerSSB (TS 38.331 RACH-ConfigCommon); PM: RACH.Fail.Collision Collision-induced RACH fail < 0.5 % TS 38.211 §6.3.3.2; TS 38.331 §6.3.2 Ch 9 — RACH Procedure

E.2 Mobility Optimization Checklist

Mobility counters are defined in TS 28.552 §5.1.1.6 (intra-gNB) and §5.1.1.7 (inter-gNB). KPI targets follow TS 28.554 §5.1.3. Measurement event thresholds (A3, A5, B1) are defined in TS 38.331 §5.5.4. Verify all items after any handover parameter change and again after 72 hours of normal traffic.

# Check Parameter / Counter Target TS Reference Chapter
1 Handover Success Rate above threshold — primary mobility health KPI; sustained degradation indicates inter-cell coverage gap or X2/Xn failure HO.ExeSucc.sum / HO.ExeAtt.sum × 100 (TS 28.552 §5.1.1.6) ≥ 99.0 % TS 28.554 §5.1.3.1; TS 28.552 §5.1.1.6 Ch 14–16 — Handover Chapters
2 Ping-pong rate below threshold — excessive ping-pong inflates handover signalling load and degrades UE battery life HO.PingPong.Nbr / HO.ExeSucc.sum × 100 (TS 28.552 §5.1.1.6.5) < 5 % TS 28.552 §5.1.1.6.5; TS 28.554 §5.1.3 Ch 19 — Mobility RCA
3 a3Offset value tuned per inter-site distance — a positive offset delays the HO trigger; set too high causes late HO and HOF; set too low causes ping-pong a3-Offset (TS 38.331 EventTriggerConfig reportConfigNR; range −30 to +30 in 0.5 dB steps) 3–6 dB (macro); 0–3 dB (small cell) TS 38.331 §5.5.4.4; §6.3.2 Ch 13 — Measurement Events
4 Hysteresis aligned with a3Offset — total guard margin = a3Offset + hysteresis; must prevent simultaneous early and late HO failure modes hysteresis (TS 38.331 EventTriggerConfig; range 0–15 in 0.5 dB steps) 2–4 dB (macro); 1–2 dB (small cell) TS 38.331 §5.5.4.1; §6.3.2 Ch 13 — Measurement Events
5 TimeToTrigger set to filter transient fading — TTT too short triggers spurious HOs on momentary dips; too long causes HOF in fast-moving UEs timeToTrigger (TS 38.331 EventTriggerConfig; ms0…ms5120) ms160 (pedestrian); ms40–ms80 (vehicular > 80 km/h) TS 38.331 §5.5.4.1; §6.3.2 Ch 13 — Measurement Events
6 T304 handover execution timer appropriate — expiry of T304 at the UE triggers RRC re-establishment at source cell, counted as HOF t304 (TS 38.331 ReconfigurationWithSync; ms50…ms2000) ms500 (NR–NR same freq); ms1000 (inter-freq) TS 38.331 §5.3.5.3; §6.3.2 (t304) Ch 14 — Intra-gNB HO
7 CHO candidate serving cell list configured — at least two candidate cells per CHO UE reduces conditional HO failure rate candidateServingFreqList (TS 38.331 ConditionalReconfiguration); counter: HO.CHO.Prep.Att ≥ 2 candidate cells TS 38.331 §5.3.5.3.2; §6.3.2 Ch 17 — CHO and DAPS
8 DAPS HO enabled where supported — DAPS maintains source-cell data path during execution, eliminating HOF-driven data interruption in high-mobility scenarios daps-HO-Required indication (TS 38.331 DAPSHOInfo); counter: HO.DAPS.ExeSucc DAPS HO interruption time < 0 ms (by design) TS 38.300 §9.2.4; TS 38.331 §5.3.5.3.3 Ch 17 — CHO and DAPS
9 ANR feature active and producing neighbour relation updates — stale NRT causes missing HO targets and SON parameter drift anr-Enabled (TS 36.300 SON NRT); PM counter: ANR.NRTUpdate.Succ (TS 28.552 §5.1.1.9) NRT update SR ≥ 98 % TS 38.300 §15.6.2; TS 28.552 §5.1.1.9 Ch 18 — ANR
10 X2/Xn interface health confirmed — inter-gNB HO requires a healthy Xn-C control-plane association; loss of Xn forces N2-based HO with higher latency and increased HOF risk XnAP.TNLAssocSetupSucc / XnAP.TNLAssocSetupAtt (TS 28.552 §5.1.1.7) Xn TNL setup SR ≥ 99.9 % TS 38.423 (XnAP); TS 28.552 §5.1.1.7 Ch 15 — Inter-gNB Xn HO

E.3 Retainability Optimization Checklist

Retainability measures the network's ability to maintain a connection for its full intended duration. The normative counter family is defined in TS 28.552 §5.1.1.2 (RLC/PDCP) and §5.1.1.5 (RLF). Drop call and RLF rates are key retainability KPIs in TS 28.554 §5.1.2. Verify all items before and 48 hours after any RLC, timer, or coverage-related change.

# Check Parameter / Counter Target TS Reference Chapter
1 Drop Call Rate below threshold — measures abnormal RRC connection release not requested by UE or network for service completion RRC.ConnAbnormRel.sum / RRC.ConnMax × 100 (TS 28.552 §5.1.1.2) < 0.5 % TS 28.554 §5.1.2.1; TS 28.552 §5.1.1.2 Ch 27 — Drop Call
2 Radio Link Failure rate below threshold — RLF is declared when T310 expires without recovery to In-Sync from Out-of-Sync state RLF.Ind.sum (TS 28.552 §5.1.1.5); PM: L.RLF.Ind < 2 % TS 38.321 §5.3.10; TS 28.552 §5.1.1.5 Ch 25 — RLF
3 T310 timer value appropriate for Doppler environment — T310 starts on first Out-of-Sync indication; expiry declares RLF. Too short causes false RLF in fast fading. t310 (TS 38.331 RadioLinkMonitoringConfig; ms0…ms2000) ms1000 (pedestrian); ms500 (vehicular) TS 38.331 §5.3.10.3; §6.3.2 (t310) Ch 25 — RLF
4 N310 and N311 counters balanced — N310 consecutive Out-of-Sync indications trigger T310; N311 consecutive In-Sync indications cancel it. Mistuning inflates false RLF events. n310 (TS 38.331 UE-TimersAndConstants; n1…n20); n311 (n1…n10) N310=6, N311=1 (macro baseline) TS 38.331 §5.3.10.3; §6.3.2 (n310, n311) Ch 25 — RLF
5 RLC AM maxRetxThreshold set to limit excessive RLC retransmissions before declaring uplink failure — value too high delays RLF declaration, inflating RLC buffer maxRetxThreshold (TS 38.331 RLC-Config am mode; t1…t32) t8 (balanced); t4 (latency-sensitive) TS 38.322 §5.3.2; TS 38.331 §6.3.2 Ch 25 — RLF
6 T311 re-establishment search timer long enough for UE to find a new cell after RLF — expiry while searching causes call drop instead of re-establishment t311 (TS 38.331 UE-TimersAndConstants; ms1000…ms30000) ms10000 (macro); ms5000 (dense urban) TS 38.331 §5.3.7.2; §6.3.2 (t311) Ch 26 — RRC Re-establishment
7 RRC Re-establishment Success Rate above threshold — re-estab fails when context is unavailable at the new cell, indicating missing Xn context forwarding RRC.ReEstabSucc.sum / RRC.ReEstabAtt.sum × 100 (TS 28.552 §5.1.1.3) ≥ 95 % TS 28.554 §5.1.2.3; TS 28.552 §5.1.1.3 Ch 26 — RRC Re-establishment
8 Xn UE context forwarding active for all Xn-connected neighbours — RRC re-establishment at non-anchor cell requires UE context; absence causes re-estab fallback to target cell rejection XnAP.UEContextTransfer.Succ (TS 28.552 §5.1.1.7); TS 38.423 UE Context Transfer procedure Context transfer SR ≥ 99 % TS 38.423 §8.2; TS 28.552 §5.1.1.7 Ch 26 — RRC Re-establishment
9 PDCP discardTimer set to prevent buffer starvation on retransmission storm — packets with expired discard timers are silently dropped, masking the root cause discardTimer (TS 38.331 PDCP-Config; ms10…infinity) ms1500–ms3000 (data); ms50 (VoNR) TS 38.323 §5.4.1; TS 38.331 §6.3.2 Ch 27 — Drop Call
10 Coverage RSRP threshold for abnormal release cross-checked — cells with SS-RSRP consistently below −115 dBm at edge produce retainability degradation regardless of timer tuning servingCellThresholdLow (TS 38.331 Q-OffsetRange in MeasObjectNR); PM: DL.RSRP.DistBin Median SS-RSRP ≥ −105 dBm TS 38.213 §4.1; TS 38.331 §5.5.4 Ch 8 — Coverage Optimization

E.4 Throughput Optimization Checklist

Throughput optimization items address the scheduler, link adaptation, MIMO, carrier aggregation, and power control layers. PM counters are sourced from TS 28.552 §5.1.1.4 (scheduling), §5.1.2 (radio resource utilisation), and §5.2 (PDCP throughput). Verify all items during a busy-hour window before and 24 hours after any scheduling or antenna-related change.

# Check Parameter / Counter Target TS Reference Chapter
1 PRB utilisation below congestion threshold — sustained high PRB utilisation compresses MCS distribution and degrades cell-edge throughput RRU.PrbUsedDl / RRU.PrbAvailDl × 100 (TS 28.552 §5.1.1.2) < 85 % TS 28.552 §5.1.1.2; TS 28.554 §5.1.4 Ch 20 — Scheduling
2 Average CQI above healthy threshold — CQI < 7 at cell average indicates either coverage stress or CSI misconfiguration DL.CQI.DistBin (TS 28.552 §5.1.1.4); derive mean from distribution bins Mean CQI ≥ 9 TS 38.214 §5.2.2; TS 28.552 §5.1.1.4 Ch 21 — MCS and Link Adaptation
3 Average DL MCS above threshold — MCS < 15 at average indicates CQI under-estimation, CSI-RS misconfiguration, or sustained interference DL.MCS.DistBin (TS 28.552 §5.1.1.4); derive mean from distribution bins Mean MCS ≥ 20 TS 38.214 §5.1.3 (MCS Table 5.1.3.1-2); TS 28.552 §5.1.1.4 Ch 21 — MCS and Link Adaptation
4 MIMO Rank 2+ share above target — low rank-2+ share indicates insufficient spatial separation of antenna ports or UE angular spread too narrow DL.Rank.DistBin[rank≥2] / DL.Rank.DistBin.Total × 100 (TS 28.552 §5.1.1.4) ≥ 60 % TS 38.214 §5.2.1; TS 28.552 §5.1.1.4 Ch 22 — MIMO
5 CA SCell activation success rate adequate — failed SCell activations suppress CA throughput gain even when secondary cell resources are available CA.SCellActSucc / CA.SCellActAtt × 100 (TS 28.552 §5.1.1.8) ≥ 97 % TS 38.321 §5.13.1; TS 28.552 §5.1.1.8 Ch 23 — CA and BWP
6 BWP switching latency within specification — UE must complete BWP switch within one slot for FR1; verify no scheduler stall observed in PM traces bwp-SwitchingDelay (TS 38.133 Table 8.6A); PM: BWP.SwitchSucc / BWP.SwitchAtt ≤ 1 slot (FR1); ≤ 2 slots (FR2) TS 38.133 §8.6A; TS 38.321 §5.15 Ch 23 — CA and BWP
7 PUSCH P0-PUSCH open-loop power control baseline correct — too low causes UL SINR floor; too high causes uplink interference to co-channel cells p0-NominalWithoutGrant / p0-PUSCH-Alpha (TS 38.331 PUSCH-PowerControl; p0 range −202 to +24 dBm) P0 tuned to target UL SINR of 10–15 dB TS 38.213 §7.1; TS 38.331 §6.3.2 Ch 24 — UL Power Control
8 UL SINR distribution centred in healthy range — verify distribution bins; sustained UL SINR < 5 dB at cell average indicates coverage gap or interference UL.SINR.DistBin (TS 28.552 §5.1.1.4); derive percentile from bins P50 UL SINR ≥ 8 dB TS 38.215 §5.1.2 (SINR measurement); TS 28.552 §5.1.1.4 Ch 5 — RSRP/RSRQ/SINR
9 HARQ DL retransmission rate below threshold — high retransmission rate indicates CQI over-estimation by LA or persistent interference event DL.HARQ.NackRatio = DL.HARQ.Nack.sum / DL.HARQ.Att.sum × 100 (TS 28.552 §5.1.1.4) < 10 % TS 38.212 §7.3 (HARQ); TS 28.552 §5.1.1.4 Ch 21 — MCS and Link Adaptation
10 256-QAM DL enablement verified for capable UEs — UEs reporting CQI 15 (highest) must be scheduled with MCS table 2 (256-QAM) per TS 38.214 when UE indicates 256QAM capability mcs-Table = qam256 (TS 38.331 PDSCH-Config); PM: DL.MCS.256QAM.Ratio 256-QAM share ≥ 20 % (high-density urban) TS 38.214 §5.1.3 Table 5.1.3.1-2; TS 38.331 §6.3.2 Ch 21 — MCS and Link Adaptation

E.5 VoNR / Voice Checklist

VoNR uses 5QI = 1 GBR bearer with strict packet delay and loss requirements defined in TS 23.501 §5.7.3.1. PM counters are in TS 28.552 §5.2 (PDCP/QoS flow level). Voice-specific features including SPS, DTX, and IMS always-on PDU session are described in TS 38.300, TS 38.321, and TS 24.501. Verify all items before VoNR launch and after any QoS or IMS parameter change.

# Check Parameter / Counter Target TS Reference Chapter
1 VoNR Session Setup Success Rate above threshold — measured from IMS INVITE to 200 OK with GBR bearer established VoNR.SessionEstabSucc / VoNR.SessionEstabAtt × 100 (TS 28.552 §5.2.1) ≥ 99 % TS 28.554 §6.5; TS 28.552 §5.2.1 Ch 29 — VoNR
2 End-to-end voice delay below ITU-T G.114 one-way threshold — measures transport delay from encoder output to decoder input including all radio and core-side latency QoS.PacketDelayDL.5QI1.P50 (TS 28.552 §5.2.5); ITU-T G.114 mouth-to-ear model < 100 ms one-way ITU-T G.114; TS 23.501 §5.7.3.1 (5QI=1 PDB = 100 ms) Ch 29 — VoNR
3 5QI=1 bearer priority correctly set — logical channel priority for 5QI 1 must be 1 (highest), ensuring voice packets preempt all BE traffic in MAC scheduling logicalChannelPriority = 1 for 5QI 1 bearer (TS 38.331 LogicalChannelConfig); schedulingRequestId dedicated for voice LC LCP = 1 for voice LC TS 38.321 §5.4.3.1; TS 38.331 §6.3.2 Ch 29 — VoNR
4 SPS (Semi-Persistent Scheduling) enabled for VoNR — SPS eliminates per-packet PDCCH overhead for the 20 ms AMR codec period, reducing PDCCH load by up to 40 % sps-Config enabled (TS 38.331 PDSCH-Config); PM: DL.SPS.ActivSucc / DL.SPS.ActivAtt SPS SR ≥ 99 % TS 38.321 §5.8.1; TS 38.331 §6.3.2 Ch 29 — VoNR
5 HARQ maximum retransmissions for VoNR bearer set low — at most 3 HARQ retransmissions permitted for 5QI 1 to stay within 100 ms PDB; more retransmissions violate delay budget pdsch-AggregationFactor / HARQ process count in DCI for voice bearer; max HARQ Tx = 3 (TS 38.321 §5.3.2) Max HARQ retransmissions ≤ 3 TS 38.321 §5.3.2; TS 38.214 §5.1.2 Ch 29 — VoNR
6 DTX (Discontinuous Transmission) enabled in silence intervals — DTX suppresses UL transmission during SID (Silence Insertion Descriptor) periods, reducing UL interference by 50–60 % during silence dtx-Enabled = true (TS 38.331 UplinkPowerControl); PM: UL.DTX.ActiveRatio DTX active ratio ≥ 40 % (typical for voice) TS 26.071 §5 (AMR-WB); TS 38.213 §7.2.1 Ch 29 — VoNR
7 PDCP discardTimer for VoNR bearer set below PDB — late packets are harmful to voice quality; expired packets should be discarded to prevent jitter buffer overflow rather than retransmitted discardTimer = ms50 for 5QI 1 bearer (TS 38.331 PDCP-Config); TS 38.323 §5.4.1 ≤ 50 ms TS 38.323 §5.4.1; TS 38.331 §6.3.2; TS 23.501 5QI=1 PDB Ch 29 — VoNR
8 IMS always-on PDU session configured — voice PDU session must persist in RRC_IDLE using "always-on" attribute to avoid re-establishment latency at incoming call PDUSessionType = always-on (TS 24.501 §6.4.1); PM: SM.PDUSessionModSucc.AlwaysOn Always-on PDU session SR ≥ 99.5 % TS 24.501 §6.4.1; TS 23.501 §5.6.13 Ch 29 — VoNR

E.6 Energy Saving Checklist

Energy saving features are standardised in TS 28.310 (Energy Efficiency Management) and TS 36.927 / TS 38.300 (SON ES). The key KPI is the Energy Efficiency (EE) metric in TS 28.554 §5.2, expressed in bits per joule. Cell switch-off (CSO) and symbol shutdown procedures must be configured so that coverage and capacity SLAs are not compromised when the feature activates. Verify all items before and one week after activating any ES feature.

# Check Parameter / Counter Target TS Reference Chapter
1 Night-time Cell Switch-Off enabled and scheduled — CSO must activate only in defined low-traffic windows; verify cron schedule is not bleeding into morning ramp-up ES.CellSwitchOff.Activated (TS 28.310 §7.3.2); PM: ESM.CellSwitchOff.ActivSucc CSO active outside busy hour only TS 28.310 §7.3; TS 36.927 §5.4 Ch 31 — Energy Saving
2 CSO load threshold set to avoid activation under residual traffic — activating CSO while cells carry active VoNR sessions causes immediate drops; threshold must include headroom loadThresholdForCellSwitch (TS 28.310 §7.3.2 ES policy attribute); PM: RRU.PrbUsedDl PRB utilisation < 10 % before CSO activates TS 28.310 §7.3.2; TS 28.552 §5.1.1.2 Ch 31 — Energy Saving
3 Symbol shutdown (partial TTI muting) enabled for sub-cell-level saving — symbol shutdown reduces PA power during OFDM symbols with no scheduled users without impacting coverage symbolShutdown-Enabled (TS 38.300 §15.4 SON ES); PM: ESM.SymbolShutdown.ActiveRatio Symbol shutdown active ≥ 30 % of low-load time TS 38.300 §15.4; TS 28.310 §7.4 Ch 31 — Energy Saving
4 Carrier switch-off policy configured with compensating neighbours — carrier shutdown (e.g. FR2 off at night) requires FR1 neighbours to absorb offloaded UEs; verify neighbour capacity headroom before enabling carrierSwitch-OffThreshold (TS 28.310 ES policy); PM: ESM.CarrierSwitchOff.ActivSucc FR1 neighbour PRB utilisation < 70 % when FR2 off TS 28.310 §7.3; TS 38.300 §15.4 Ch 31 — Energy Saving
5 DRX configured for all data UEs — DRX enables UE and gNB to deactivate receiver chains in sleep cycles, reducing both UE battery drain and gNB baseband power drx-Config (TS 38.331 MAC-CellGroupConfig); PM: DRX.ActiveRatio (TS 28.552 §5.1.1.2) DRX active ratio ≥ 60 % for idle-like UEs TS 38.321 §5.7; TS 38.331 §6.3.2 Ch 31 — Energy Saving
6 Energy Efficiency KPI above baseline — EE = total bits delivered / total energy consumed; tracked per NRCellDU per hour in PM export EE.NRCellDU = (DL.Tput.Bits + UL.Tput.Bits) / Energy.Consumed.Wh (TS 28.554 §5.2.2) ≥ 5 000 bits/J (indicative) TS 28.554 §5.2.2; TS 28.310 §7.5 Ch 31 — Energy Saving
7 CSO wake-up latency within acceptable bound — CSO cells must resume service within 500 ms of load-based re-activation trigger to prevent accessibility degradation during traffic ramp wakeUpLatency (TS 28.310 ES policy); PM: ESM.CellActivation.Latency.P95 < 500 ms P95 TS 28.310 §7.3.4; TS 36.927 §5.4 Ch 31 — Energy Saving
8 No active VoNR sessions during CSO window — GBR bearers (5QI 1) must be migrated to compensating cells before CSO activates; a non-zero VoNR.SessionEstabSucc during CSO indicates policy misconfiguration VoNR.SessionEstabSucc (TS 28.552 §5.2.1) during CSO window; PM alarm on ESM.CellSwitchOff.GBRUserMigration.Fail VoNR sessions on CSO cell = 0 TS 28.310 §7.3.2; TS 23.501 §5.7.3.1 Ch 31 — Energy Saving
Using checklist cards in practice

Print or export each domain table as a standalone card for field use. Before any optimisation activity, capture baseline values for every counter and parameter in the table. After the change is activated, wait for at least one full busy-hour cycle (typically 08:00–22:00 local time) before re-measuring. A KPI that regresses below target after a parameter change is a rollback trigger — revert the change, file a trouble ticket, and re-investigate the root cause using the corresponding chapter in the main text. The TS Reference column is your authoritative source for parameter ranges and counter definitions; always verify against the applicable 3GPP Release version deployed in your network.

Page E
Appendix F

Interview Q&A Bank

Comprehensive question and answer reference for senior RF engineer interviews — physical layer, RACH, mobility, and throughput depth

TS 38.211 · TS 38.212 · TS 38.213 · TS 38.214 · TS 38.300 · TS 38.321 · TS 38.331 · TS 28.552 · TS 28.554
5 sections 28 Q&A pairs 4 quick-reference tables Senior level
How to use this appendix

Each question is followed by a senior-level answer with normative 3GPP clause references. Answers are deliberately concise (3–6 sentences) as a hiring interview demands: the interviewer is testing whether you know the spec anchor, not whether you can reproduce the chapter. For deep background on any topic, follow the cross-references to the corresponding chapter. Questions are ordered from pure physical-layer knowledge (F.1) through system-level optimisation (F.4). The quick-reference tables in F.5 serve as a last-minute review sheet.

F.1 Physical Layer & Air Interface

F.1.1 What is the difference between SS-RSRP and CSI-RSRP, and when would you use each in network optimisation?

SS-RSRP is derived from the Synchronisation Signal Block (SSB) and is defined in TS 38.215 §5.1.1 as the linear average power of resource elements carrying the SS/PBCH secondary synchronisation signal. CSI-RSRP is derived from CSI-RS and defined in TS 38.215 §5.1.3; it requires the UE to be in RRC_CONNECTED and CSI-RS resources to be explicitly configured. SS-RSRP is the correct metric for coverage assessment, idle-mode cell selection/reselection (TS 38.304), and first-boot drive testing because SSB is always transmitted regardless of load. CSI-RSRP is used for beamformed serving-cell quality in connected-mode layer-3 measurement reports (TS 38.331 §5.5.3) and is essential when evaluating the benefit of beam management or BFR because CSI-RS can be beam-specific at higher resolution than SSB. A mismatch between the two on the same UE indicates that the SSB and CSI-RS beams are not co-directed — a misconfiguration to flag immediately.

F.1.2 Explain the T310/N310/N311 timer interaction for RLF detection. What happens operationally if T310 is configured too short?

The RLF detection state machine is defined in TS 38.331 §5.3.10. N310 counts consecutive "out-of-sync" indications from the physical layer (PDCCH BLER above the Qout threshold defined in TS 38.213 §5); when N310 consecutive indications have been received, T310 is started. If T310 expires before N311 consecutive "in-sync" indications are received, the UE declares RLF and initiates RRC re-establishment (TS 38.331 §5.3.11). A T310 that is too short (e.g., 50 ms vs. the typical 1 s recommendation) causes the UE to declare RLF during a momentary deep fade or during the inter-beam gap of beam failure recovery, leading to unnecessary re-establishments — visible as elevated L.RRC.ReEstabAtt and L.RRC.ReEstabSucc.HO counters even when signal quality is structurally adequate. The correct operating strategy is to set T310 long enough to allow BFR (which completes in tens of milliseconds for FR1) to recover before RLF is declared, but short enough that a genuinely lost connection does not hold UE context on the gNB CU-CP unnecessarily.

F.1.3 How does PDCCH aggregation level selection affect coverage? Which counter would you check to confirm a problem?

PDCCH aggregation level (AL) determines the number of consecutive Control Channel Elements (CCEs) used to carry one DCI, as defined in TS 38.211 §7.3.2. Higher AL multiplies the effective coding rate gain: AL-16 provides approximately 4 dB more link budget than AL-4 for the same DCI payload. The gNB scheduler selects AL based on the UE's reported CQI or, more precisely, based on the estimated PDCCH BLER from L1 measurement. In a coverage-limited cell, the scheduler should be transmitting most DCI at AL-8 or AL-16; if it is still using AL-1 or AL-2 for cell-edge UEs (due to a misconfigured PDCCH channel estimation threshold), those UEs will fail to decode scheduling grants and appear as PRB-loaded but throughput-starved. The counter to check is the AL distribution histogram (e.g., L.PDCCH.AL1.Att, L.PDCCH.AL16.Att) defined in TS 28.552 §5.1.3; a healthy cell should show a distribution skewed to lower ALs, while a coverage-impaired cell will show AL-16 dominating.

F.1.4 Describe the link between PDSCH MCS index, TBS, and BLER. What is the standard operating target and why?

The MCS index selects the modulation order (QPSK/16QAM/64QAM/256QAM) and the code rate from the MCS table defined in TS 38.214 Table 5.1.3.1-1 (64QAM max) or Table 5.1.3.1-2 (256QAM). The Transport Block Size is then computed via the procedure in TS 38.214 §5.1.3.2, which depends on the number of allocated PRBs, the number of DMRS symbols, and the number of layers. The link adaptation (LA) algorithm continuously targets a first-transmission BLER of approximately 10% for initial transmissions (BLERtarget = 0.1), because this point maximises throughput after HARQ combining: HARQ Chase Combining or IR at the second attempt recovers most blocks that fail the first CRC, yielding an effective post-HARQ BLER well below 1% while keeping the MCS at a value close to the Shannon capacity boundary. Drifting above 10% BLER increases retransmission overhead; drifting below 2% means the LA is being too conservative and leaving spectral efficiency on the table.

F.1.5 Why does LDPC outperform turbo codes for large TBS and polar codes for small blocks? What is the 3GPP basis for this choice?

3GPP chose LDPC for data channels (PDSCH/PUSCH) and polar codes for control channels (PDCCH, PBCH, PUCCH formats) in TS 38.212 based on the asymptotic performance of each code family. LDPC codes (base graphs BG1 for large TBS >3824 bits and BG2 for smaller TBS, defined in TS 38.212 §5.2.2) achieve capacity-approaching performance at high code rates because their sparse parity-check matrix enables efficient belief propagation decoding, and their block length can be extended via lifting without re-designing the base graph. Turbo codes, used in LTE, suffer from an error floor at low code rates and have a significantly higher decoder complexity per bit at the large block lengths required for 100 Mbps+ throughput. Polar codes (TS 38.212 §5.3) provably achieve channel capacity for short block lengths and are particularly efficient for the small payloads of DCI (≈40–100 bits) or PBCH (32 bits), where LDPC's minimum block length (24 check bits per TS 38.212 §5.2.1 CRC rules) would impose excessive overhead. The rate-matching and interleaving procedures differ per channel type and are the practical implementation detail most often tested at interview.

F.1.6 Explain RE mapping for DMRS Type 1 vs. Type 2. How does DMRS density affect overhead and channel estimation quality?

DMRS Type 1 (TS 38.211 §7.4.1.1) places pilots on every other subcarrier (6 REs per PRB per OFDM symbol for one CDM group), supporting up to 4 orthogonal ports via frequency and time CDM. DMRS Type 2 (TS 38.211 §7.4.1.1.3) places pilots on pairs of adjacent subcarriers (4 REs per PRB per OFDM symbol per CDM group), using three CDM groups in a PRB to support up to 6 orthogonal ports — enabling MU-MIMO with more simultaneous layers. Higher DMRS density (configured via dmrs-AdditionalPosition in TS 38.331, adding 1–3 extra DMRS OFDM symbols per slot) reduces the pilot spacing in time, improving channel estimation under higher Doppler or UE speed, but at the cost of additional PDSCH overhead: a slot with two DMRS symbols loses approximately 6.7% RE capacity compared to a single-symbol configuration. For stationary or slow-moving UEs, single-symbol DMRS (Type 1 or 2) is preferred to maximise data capacity; for vehicular UEs (above 30 km/h at Sub-6 GHz) or high-Doppler environments, additional DMRS positions are required to prevent interpolation error across the slot.

F.1.7 What is the purpose of PT-RS and when is it configured?

Phase Tracking Reference Signal (PT-RS) is defined in TS 38.211 §7.4.1.2 (DL) and §6.4.1.7.3 (UL) and is designed to track and compensate for phase noise introduced by local oscillator impairments at millimetre-wave frequencies. Phase noise variance increases with oscillator frequency, making it a significant impairment above 24 GHz (FR2). PT-RS occupies a small number of REs — configured as a sparse grid (one RE per 2, 4, or 8 PRBs in frequency, and every symbol or every other symbol in time, per TS 38.211 Table 7.4.1.2.2-1) — and its density is adapted via RRC parameters ptrs-FrequencyDensity and ptrs-TimeDensity. PT-RS is only signalled when the MCS index exceeds a configured threshold (typically 20–27, corresponding to 64QAM or 256QAM) because phase noise is inconsequential at low modulation orders; enabling it at low MCS wastes REs without benefit. In FR1 deployments, PT-RS is typically not configured unless the UE or gNB uses a low-quality oscillator.

F.1.8 How does SRS antenna switching work for UL MIMO, and why is it needed?

Sounding Reference Signal (SRS) antenna switching (TS 38.214 §6.2.1, TS 38.211 §6.4.1.4) enables a UE with fewer transmit RF chains than receive antennas to still provide the gNB with channel information on all antenna ports by time-multiplexing SRS transmissions across different UE antenna panels. In a 1T4R UE (one transmitter, four receivers), the UE cycles its single RF chain sequentially across all four antenna ports using the usage = antennaSwitching configuration (TS 38.331 SRS-Resource IE), transmitting one SRS burst per port on a configured periodicity. The gNB accumulates these successive SRS measurements to reconstruct the full uplink channel matrix and can then schedule UL MIMO, apply optimum beamforming weights, or select the best UL antenna for rank-1 transmission. Without SRS antenna switching, a 1T4R UE would only inform the gNB about one UL path, wasting the diversity gain from the four receive antennas. The limitation is latency: the channel must remain coherent across the switching period, so for fast-fading channels the switching period must be kept short relative to the channel coherence time.

F.2 Accessibility & RACH

F.2.1 A cell has RACH success rate of 87%. Walk me through your RCA approach.

Start by decomposing the failure counter mix per TS 28.552 §5.1.1.3: L.RA.Fail.MaxPreamble identifies coverage-limited UEs exhausting preambleTransMax; L.RA.Fail.Collision identifies contention failure at Msg4; L.RA.TimedOut identifies network-side congestion or timing window exhaustion. If L.RA.Fail.MaxPreamble dominates (>60% of failures), the root cause is uplink path loss: check SS-RSRP distribution and PRACH coverage margin — reduce preambleReceivedTargetPower by 3–6 dB or increase powerRampingStep from 2 to 4 dB per TS 38.321 §5.1.2. If L.RA.Fail.Collision dominates, the RACH occasion density is insufficient for the traffic load — increase the number of PRACH occasions per TS 38.213 §8.1 by reducing prach-ConfigurationIndex period or adding SSB-to-RO multiplexing factor. Cross-check that the RA success rate degradation is not correlated with a specific SSB index, which would indicate a beam alignment issue rather than a cell-wide RACH parameter problem.

F.2.2 What is the difference between 4-step and 2-step RACH? When would 2-step RACH be preferred?

4-step RACH (TS 38.321 §5.1.2) follows the Msg1 (preamble) → Msg2 (RAR) → Msg3 (RRC message) → Msg4 (contention resolution) sequence; the UE does not know its timing advance before Msg3. 2-step RACH (Rel-16, TS 38.321 §5.1.3) combines Msg1+Msg3 into MsgA and Msg2+Msg4 into MsgB, reducing the minimum RACH latency by one round-trip time (RTT) — approximately 2–5 ms. 2-step RACH is preferred for UEs in good coverage (high RSRP, high SINR) where the combined MsgA payload can be reliably decoded by the gNB in a single reception: if the gNB cannot decode MsgA, it falls back to a 4-step RA response via MsgB carrying a fallback indicator. 2-step RACH is particularly beneficial for small-packet IoT devices and handover-triggered RACH (contention-free) because the reduced latency directly translates to lower interruption time. The network configures the RSRP threshold above which a UE may attempt 2-step RACH via msgA-RSRP-Threshold in TS 38.331.

F.2.3 How do you tune preamble power ramping step and initial target power?

The UE computes its first preamble transmit power as P_PRACH = min(P_CMAX, preambleReceivedTargetPower + PL_estimate + delta_preamble) per TS 38.213 §7.4, where PL_estimate is derived from the SSB RSRP measurement. preambleReceivedTargetPower is the target received power at the gNB; setting it too low causes the gNB to miss preambles (increasing L.RA.Fail.MaxPreamble), setting it too high wastes UE power and increases inter-cell interference. A starting point is to set it 3 dB above the minimum PRACH detection threshold of the gNB receiver, which is typically around −120 dBm for a 60 kHz SCS system. powerRampingStep (TS 38.321 §5.1.2, valid values 0/2/4/6 dB) governs how much the UE increases power per failed attempt; 2 dB is standard for macro cells, 4 dB is aggressive and appropriate when the initial target power is conservative or for indoor cells with high path loss variance. Monitor L.RA.PreambleSent / L.RA.Att: a ratio greater than 1.5 indicates excessive ramping and the initial target power should be raised.

F.2.4 What causes contention resolution failure and how do you fix it?

Contention resolution failure (reflected in L.RA.Fail.Collision per TS 28.552 §5.1.1.3.3) occurs when two or more UEs transmit the same preamble index in the same RACH occasion during a contention-based random access, and the gNB cannot distinguish between them in Msg4, causing the losing UE's contention resolution timer (ra-ContentionResolutionTimer, TS 38.321 §5.1.2) to expire. The primary fix is to reduce the probability of preamble collision by: (1) increasing the number of available preambles (numberOfRA-Preambles minus dedicated preambles) within the set of 64, (2) increasing RACH occasion density to reduce the probability that multiple UEs choose the same occasion, and (3) ensuring that dedicated preambles for handover are correctly reserved and do not reduce the contention set below 40 available sequences. A secondary check is whether ra-ContentionResolutionTimer is too short (e.g., 8 ms) for cells with high Msg4 scheduling latency; extending it to 40–64 ms absorbs gNB scheduling jitter without raising the failure rate.

F.2.5 How does cell radius affect PRACH format selection?

PRACH preamble formats are defined in TS 38.211 §6.3.3 and TS 38.213 §8.1; the key parameter is the cyclic prefix length, which must exceed the round-trip propagation delay to prevent inter-symbol interference at the gNB. Format 0 (15 kHz SCS, long preamble, CP = 3168 Ts ≈ 103 µs) covers up to approximately 15.5 km. Format 1 (CP ≈ 684.7 µs) covers approximately 100 km. Short preamble formats A1–C2 (TS 38.211 Table 6.3.3.2-3) have CPs of only a few µs and are intended for small cells or FR2 where the propagation delay is negligible. For a macro cell with a radius of 3–5 km, Format 0 or Format 3 is appropriate. Selecting a short format (A1/B1) in a macro deployment will cause preambles from cell-edge UEs to wrap the cyclic prefix, resulting in incorrect TA estimation and elevated L.RA.Fail.MaxPreamble for those UEs — a subtle coverage issue that does not immediately appear in SS-RSRP maps.

F.2.6 What does L.RA.Fail.MaxPreamble tell you, and what are the likely causes?

L.RA.Fail.MaxPreamble (TS 28.552 §5.1.1.3.4) is incremented when a UE transmits preambleTransMax consecutive preambles without receiving a valid RAR (Msg2) within the ra-ResponseWindow. This counter isolates the subset of RACH failures caused specifically by the gNB not receiving or not processing the preamble — as opposed to contention failures which happen after Msg2. The primary causes are: (1) uplink coverage shortage — the UE has insufficient transmit power to reach the gNB even after full ramping (PL too high, blocked by building or terrain); (2) ra-ResponseWindow misconfiguration — the window is shorter than the scheduling latency in the gNB, causing the Msg2 to be dispatched after the UE has already timed out; (3) PRACH occasion congestion — the gNB's PRACH front-end is saturated and drops preambles silently (distinguish from case 1 by checking if L.RA.Fail.MaxPreamble is correlated with high L.RA.Att load); (4) incorrect SSB-to-RO mapping — a mis-configured msg1-SubcarrierSpacing or prach-ConfigurationIndex causes UEs to transmit on an occasion the gNB is not monitoring.

F.3 Mobility & Handover

F.3.1 Distinguish too-early, too-late, and wrong-cell handover failures. Which 3GPP specification classifies them?

The three HO failure categories are defined normatively in TS 38.331 §5.3.11.3 via the HO failure cause IE and in the mobility performance requirement context of TS 38.300 §9.2.4. Too-early handover: the UE is handed over to a target cell when the serving cell is still adequate; the UE subsequently re-establishes back to (or near) the source cell — identified by a short dwell time on the target followed by re-establishment. Too-late handover: the network delays the HO command until the serving cell quality has dropped below the T310 RLF threshold; the UE declares RLF before completing the procedure and re-establishes to the intended target cell or another cell — the most common cause of L.RRC.ReEstabAtt spikes. Wrong-cell handover: the UE is handed over to a cell that is neither the best server nor a reasonable candidate, causing immediate re-establishment — typically caused by missing neighbour relations (ANR gap) or a stale neighbour list. SON/ANR algorithms use these re-establishment patterns as the basis for automated HO parameter correction per TS 36.902 (applicable pattern referenced in TS 38.300 Annex A).

F.3.2 How do you tune a3Offset and hysteresis to reduce ping-pong without increasing late handover drops?

Event A3 triggers a measurement report when the neighbour RSRP exceeds the serving RSRP by more than (a3Offset + hysteresis) for a duration of timeToTrigger, as defined in TS 38.331 §5.5.4.4. Increasing a3Offset or hysteresis delays the HO trigger, reducing ping-pong but widening the gap during which the UE remains on a weaker serving cell. The optimum operating point balances L.HO.ExecFail.UE (too-late failures) against re-establishment rate caused by bounce-back HOs (too-early failures). A proven tuning strategy is: (1) derive the mean and standard deviation of the RSRP delta at the point of HO command issuance from measurement reports; (2) set a3Offset such that the 10th percentile RSRP delta at HO command ≥ 0 dB (the target cell is genuinely better); (3) set TTT between 160 ms and 320 ms for macro cells to filter shadow fading transients (coherence time ≈ 100–200 ms at 30 km/h, 2.6 GHz). Separate ping-pong from late-HO by checking whether re-establishments are to the source cell (ping-pong) or to a different cell (late HO).

F.3.3 What is the difference between Xn-based and N2-based inter-gNB handover in terms of path switch timing?

Both HO variants are defined in TS 38.300 §9.2.3. In Xn-based HO, the source gNB sends a Handover Request directly to the target gNB over the Xn interface; the target pre-allocates resources, returns Handover Request Acknowledge with a transparent container, and the source includes this in the RRCReconfiguration command. The UE executes the HO, accesses the target, and the target then sends a Path Switch Request to the AMF/UPF over N2/N3 to redirect the downlink user-plane path. The critical delay is the path switch latency — in a well-tuned core, this is 10–30 ms, but until path switch completes, downlink data is forwarded from source to target via Xn data forwarding (TS 38.300 §9.2.3.2). N2-based HO (mandatory fallback when no Xn exists) routes all signalling via the AMF: source sends a Handover Required to AMF, which triggers a Handover Request to the target via N2; latency is typically 50–150 ms longer than Xn-based HO, making it unsuitable for time-sensitive mobility scenarios. The path switch timing gap directly determines the length of PDCP buffering required on the target to avoid data loss.

F.3.4 Explain Conditional Handover (CHO). What problem does it solve versus standard handover?

Conditional Handover is defined in TS 38.331 §5.3.4.4 (Rel-16) and solves the fundamental race condition in standard HO: between the gNB issuing a HO command and the UE executing it, the radio channel may have degraded below the execution threshold, causing HO failure. In CHO, the source gNB pre-configures one or more candidate target cells (with full RRCReconfiguration parameters) and associated trigger conditions (typically A3 or A5 events) in a conditionalReconfiguration IE. The UE stores these configurations and autonomously executes the HO to whichever candidate satisfies its trigger condition first, without waiting for a further HO command from the source. This eliminates the round-trip signalling delay (typically 10–30 ms) between report reception at the gNB and command arrival at the UE — a window during which SINR can collapse in high-mobility scenarios. CHO is particularly effective at cell edge in dense deployments and in high-speed rail scenarios where the standard TTT-report-command cycle regularly produces too-late failures.

F.3.5 DAPS handover: what is its benefit and what are the RLC requirements?

Dual Active Protocol Stack (DAPS) handover is defined in TS 38.300 §9.2.3.3 and TS 38.331 §5.3.4.3 (Rel-16). In standard HO, the UE stops receiving from the source cell when the HO command is received, creating a data interruption until the target cell is accessed. DAPS eliminates this interruption: the UE maintains PDCP/RLC/MAC/PHY with the source cell during the entire HO preparation and execution phase, only releasing the source after successful synchronisation to and confirmation from the target. The UE transmits and receives on two sets of layers simultaneously — source and target — until the source is released by a DAPS HO release command or the UE's access to the target is confirmed. The RLC requirement is that all bearers subject to DAPS must use RLC-AM (acknowledged mode per TS 38.322), because in-sequence delivery across the HO boundary must be guaranteed by the PDCP re-ordering window; RLC-UM bearers are not supported for DAPS HO because packet loss during the switch cannot be recovered. The UE capability to support DAPS is signalled in daps-r16 under UE-NR-Capability (TS 38.331).

F.3.6 A cell has HO Success Rate of 91% and the main failure mode is at execution. Which counters confirm this and what are the likely causes?

The distinction between preparation and execution failures uses counters defined in TS 28.552 §5.1.1.6. Preparation failure is indicated by L.HO.PrepFail.OutAtt being significantly larger than zero relative to L.HO.PrepSucc.OutAtt — this counter increments when the target gNB rejects the Handover Request (admission control) or when the Xn signalling times out. Execution failure is confirmed when L.HO.ExecFail.UE (UE failed to access target) is the dominant failure counter: L.HO.ExecFail.UE increments when the UE sends a HO failure message back to the source or when the source T304 timer expires without receiving a path switch acknowledgement. Likely causes of execution failure include: (1) the UE's link to the source has degraded before it can access the target (too-late HO — reduce TTT or a3Offset); (2) the target cell PRACH configuration is incompatible or overloaded (dedicated preamble allocation failure); (3) the UE is incapable of tuning to the target frequency within T304 (inter-band HO with slow RF switching UE). Cross-check with L.RRC.ReEstabAtt to confirm that execution failures are generating re-establishment attempts rather than silent drops.

F.3.7 How does ANR work? What triggers the addition, modification, and deletion of neighbour relations?

Automatic Neighbour Relation function is defined for 5G NR in TS 38.300 §15 and draws on the SON framework of TS 36.902 (the 5G ANR normative text refers to the LTE ANR framework with NR adaptations). The UE discovers neighbours by decoding SSBs on non-serving cells during gap-less inter-frequency measurements or dedicated measurement gaps, reading the Physical Cell ID and, from the MIB/SIB1, the PLMN-ID and gNB identity. When the UE reports a cell-ID that does not exist in the source gNB neighbour list (NRT), the gNB flags it as a potential missing neighbour and, if the cell-ID can be resolved to a gNB via NG-RAN node identity procedures (TS 38.413), a new NR is created. Modification (e.g., adding X2/Xn interface address) occurs when the resolved target gNB's transport address changes. Deletion is triggered when the HO success rate via a specific NR falls below a configured threshold over a configured observation window, or when the neighbour is not reported by any UE for a configurable period — both are operator-configurable SON parameters rather than hard 3GPP values. The handshake for adding or removing a neighbour uses the Xn Setup or Xn Configuration Update procedures defined in TS 38.423.

F.3.8 What is the minimum set of L.HO.* counters needed to classify a handover problem as preparation vs. execution failure?

The minimum counter set for classification is: L.HO.OutAtt (total outgoing HO attempts), L.HO.PrepSucc.OutAtt (preparation succeeded — Handover Request Acknowledge received), L.HO.PrepFail.OutAtt (preparation failed — no acknowledge or reject), L.HO.ExecSucc (execution succeeded — path switch complete), and L.HO.ExecFail.UE (UE failed to access target), all defined in TS 28.552 §5.1.1.6. The Handover Success Rate KPI per TS 28.554 §6.3 is L.HO.ExecSucc / L.HO.OutAtt. Preparation failure rate = L.HO.PrepFail.OutAtt / L.HO.OutAtt; execution failure rate = L.HO.ExecFail.UE / L.HO.PrepSucc.OutAtt. If preparation failure rate >5% the investigation path is: target cell admission (load, capacity), Xn connectivity (ping X2/Xn reachability), or misconfigured target cell identity in the NRT. If execution failure rate >5% with preparation succeeding, the investigation path is: coverage (T304 expiry due to source deterioration), UE capability (band switching speed), target PRACH configuration, or UE bug.

F.4 Throughput & Capacity

F.4.1 A cell has 92% PRB utilisation but user throughput is below target. What are the causes and how do you diagnose?

High PRB utilisation with low throughput means the scheduler is busy but inefficient. First check the MCS distribution: if the average DL MCS is below 10 (16QAM, code rate ≈ 0.4), the cell is coverage-limited and PRBs are being used to recover blocks via retransmission rather than to deliver data. Confirm with HARQ retransmission ratio counter L.PDSCH.HarqReTx.Ratio (TS 28.552 §5.1.3); a ratio above 15% indicates link quality is the bottleneck. Second, check rank distribution: if >80% of PDSCH transmissions are rank-1 (L.PDSCH.RankDist.Rank1), MIMO gain is absent — investigate antenna correlation, UE capability, or beam misconfiguration. Third, check whether PRB utilisation is driven by a small number of slow UEs hogging resources: a heavy-tailed UE distribution (a few UEs with sustained low MCS) can saturate PRB utilisation while aggregate throughput remains low — PF (Proportional Fair) scheduler tuning or maximum RB per UE caps resolve this. Finally, confirm DL interference: if SINR median is below 5 dB at 50% CDF, neighbour cell interference (excessive pilot or data power) is reducing the effective MCS ceiling.

F.4.2 Explain rank adaptation. When does a UE switch from rank 2 to rank 1? Which counter tracks rank distribution?

Rank adaptation is part of the closed-loop MIMO control loop defined in TS 38.214 §5.2 (DL) and §6.1 (UL). The UE measures the downlink channel matrix H and reports a Rank Indicator (RI) alongside PMI and CQI in the CSI report (TS 38.214 §5.2.1). RI = 2 is reported when the channel's second singular value is strong enough that a dual-layer transmission yields higher mutual information than a single-layer at the estimated SINR — typically requiring SINR > 12–15 dB and low antenna correlation. RI falls to 1 when the channel becomes rank-deficient: either SINR drops below 10 dB (noise-limited), antenna correlation rises above 0.5 (e.g., UE in a pocket or near a reflecting surface), or the UE has only one receive RF chain active (antenna switching mode). The rank distribution counter is L.PDSCH.RankDist.RankN (TS 28.552 §5.1.3) for N = 1 to 8; in a healthy macro cell with mixed indoor/outdoor population, a rank-2 proportion of 40–60% is typical at 2.6 GHz with 2T2R UEs. A rank-1 proportion above 85% in a cell that is coverage-adequate (SS-RSRP > −100 dBm) indicates either a beamforming misconfiguration or an SRS measurement fault driving wrong precoder selection.

F.4.3 What is the difference between closed-loop and open-loop MIMO precoding?

In closed-loop MIMO precoding (TS 38.214 §5.2.2.2), the gNB selects a precoder matrix W from the codebook (Type I or Type II, TS 38.214 Tables 5.2.2.2.1-1 through 5.2.2.2.6-1) based on PMI feedback reported by the UE from CSI-RS measurements; the precoder is then applied to the PDSCH layers before transmission. This achieves beam-steering gain aligned to the UE's current channel. In open-loop MIMO precoding, no PMI feedback is used: the gNB applies either a fixed precoder or cycles through a set of precoders (large-delay CDD in LTE; in NR the analogous mode is wideband precoder with no PMI, configured via codebookType = typeI-SinglePanel with ri-Restriction forcing RI = 1). Open-loop is used when the PMI feedback loop is too slow relative to channel variation (high Doppler, e.g., vehicular at 120 km/h) or when the UE's PMI reporting overhead is to be minimised (limited PUCCH resources). The tradeoff is that open-loop provides no beamforming gain in the precoder domain — it relies on transmit diversity (SFBC/FSTD equivalent in NR is TxD using two antenna ports) rather than coherent beam alignment.

F.4.4 How does Carrier Aggregation improve peak throughput? What is the SCell activation delay per TS 38.321?

Carrier Aggregation (CA) is defined in TS 38.331 §5.7.3 (configuration) and TS 38.321 §5.13 (MAC control for SCell activation/deactivation). Peak throughput scales approximately linearly with the number of component carriers: a UE aggregating a 100 MHz PCC and a 100 MHz SCC achieves up to twice the peak TBS relative to a single-carrier configuration, because the TBS computation per TS 38.214 §5.1.3.2 applies independently per CC and the PDCP layer concatenates the transport blocks. The SCell activation delay is specified in TS 38.321 §5.13.2: after the MAC CE SCell Activation command is received, the UE must complete the SCell activation procedure within sCellDeactivationTimer expiry plus the time for the SCell to acquire downlink synchronisation — the activation time is implementation-dependent but bounded by the UE capability parameter sCellActivationDelay which is reported in UE-NR-Capability. In practice, SCell activation for an FR1 SCell typically requires 20–30 ms from command to first PDSCH reception. Unnecessary SCell deactivation (aggressive deactivation timer settings) wastes this ramp-up time and degrades burst throughput; the deactivation timer should be tuned to the application's burst inter-arrival time distribution.

F.4.5 Describe how Fractional Power Control works for UL. What are the roles of α and P0?

UL PUSCH power control is defined in TS 38.213 §7.1. The open-loop component sets the UE transmit power as: P_PUSCH = min(P_CMAX, P0 + 10·log10(M_RB) + α·PL + Δ_TF + f(i)), where P0 is a per-UE or per-cell target received power offset (dBm) signalled via RRC, α ∈ {0, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0} is the path loss compensation fraction, PL is the UE-estimated downlink path loss, MRB is the scheduled bandwidth, and Δ_TF accounts for modulation and coding. Setting α = 1.0 is full path loss compensation (all UEs arrive at the gNB with the same received power P0); setting α = 0.8 is fractional compensation — cell-edge UEs transmit at reduced power relative to full compensation, sacrificing SINR at the gNB but reducing interference to neighbouring cells. P0 sets the operating point: higher P0 increases all UE transmit powers, improving UL throughput at the cost of inter-cell interference. The closed-loop component f(i) accumulates TPC commands from the gNB (±1 dB or ±3 dB per TS 38.213 §7.1.1) to fine-tune power beyond what the open-loop can achieve. The optimum (α, P0) pair is network-specific and is tuned by maximising mean UL SINR while keeping the 5th-percentile UL SINR above a target (typically 0 dB for QPSK decodability).

F.4.6 Explain BWP switching. When would a gNB switch a UE to a narrower BWP?

Bandwidth Part (BWP) switching is defined in TS 38.331 §5.14 and TS 38.213 §12. A BWP is a contiguous set of PRBs within the carrier bandwidth; the UE may have up to four DL BWPs and four UL BWPs configured simultaneously but only one active DL BWP and one active UL BWP at a time. Switching is triggered by either a DCI field (DCI format 1_1 or 0_1, the bandwidth part indicator field per TS 38.212 §7.3.1.1.2) or by the bwp-InactivityTimer expiry (UE returns to the default BWP after the timer elapses without a scheduling grant). The primary use case for switching to a narrower BWP is power saving: a 20 MHz BWP requires the UE RF and baseband to monitor the full carrier bandwidth, consuming significantly more UE battery power than a 10 MHz or even 5 MHz BWP. When a UE has no active traffic (idle-like state in RRC_CONNECTED), the gNB allows the inactivity timer to expire, returning the UE to a narrow default BWP; upon new data arrival, a wider BWP is activated via DCI to restore full throughput. A second use case is FR2 beam management: a narrow BWP aligned to the serving beam allows faster PDCCH blind decoding while conserving UE processing resources between beam sweeps.

F.5 Quick Reference Tables

The tables below condense the most frequently tested interview topics. Table F.5-0 lists the critical RRC/MAC timers and parameters most often asked in interview. Table F.5-1 maps interview topics to the primary TS clause and key formula. Table F.5-2 maps counters to diagnostic questions. Table F.5-3 maps symptoms to probable root causes and first-check actions.

Table F.5-0: Critical Timers & Parameters — TS Reference Card

Parameter / Timer TS Clause Typical Value What it controls and interview tip
T310 TS 38.331 §5.3.10 500 ms – 2 s (macro) RLF declaration timeout after N310 out-of-sync indications. Too short → false RLF during BFR or deep fades. Too long → UE holds dead context. Key interview link: T310 must exceed BFR duration (typ. 20–50 ms).
T304 TS 38.331 §5.3.5 150 ms – 2 s HO execution timer. Starts when UE receives RRCReconfiguration with mobilityControlInfo. Expiry → HO failure → RRC Re-establishment. Set longer for inter-frequency or inter-band HO where RF retuning adds latency.
N310 / N311 TS 38.331 §5.3.10 N310 = 6 – 20; N311 = 1 – 10 N310: consecutive out-of-sync L1 indications to start T310. N311: consecutive in-sync to cancel T310. Higher N310 filters transient fades but delays RLF declaration. Higher N311 requires longer sustained recovery to cancel T310.
timeToTrigger TS 38.331 §5.5.4 / §5.5.2.6 160 ms – 320 ms (macro) Duration a measurement report condition (e.g., A3) must be satisfied before the gNB triggers HO. Increase to filter fast fades (reduces ping-pong); decrease to reduce too-late HO. Shadow fading coherence at 30 km/h ≈ 100–200 ms.
ra-ResponseWindow TS 38.321 §5.1.2 10 – 80 ms (values: sl1 to sl80) RAR (Msg2) monitoring window after preamble transmission. Must exceed gNB Msg2 scheduling latency. Too short → UE misses valid RAR, increments L.RA.Fail.MaxPreamble incorrectly. Extend if gNB scheduling latency exceeds 20 ms.
ra-ContentionResolutionTimer TS 38.321 §5.1.2 40 – 64 ms Contention resolution (Msg4) monitoring window after Msg3 transmission. Expiry before successful Msg4 increments L.RA.Fail.Collision even when there is no real collision — pure scheduling delay. Extend if gNB Msg4 scheduling jitter is high.
sCellDeactivationTimer TS 38.321 §5.13.2 160 ms – 2560 ms Inactivity timer before MAC deactivates an SCell. Short value → frequent CA setup overhead for bursty traffic. Long value → UE unnecessarily monitors an idle SCell, increasing battery drain. Tune to traffic burst inter-arrival time.
powerRampingStep TS 38.321 §5.1.2 2 dB (macro), 4 dB (small cell) Power increase per failed preamble attempt. Set 2 dB for predictable macro path loss; set 4 dB when initial target power is conservative or for cells with high path loss variance. Monitor L.RA.PreambleSent/L.RA.Att ratio as a tuning signal.

Table F.5-1: Topic → TS Clause → Key Formula

Interview Topic Primary TS Clause Key Formula or Procedure
PDSCH TBS computation TS 38.214 §5.1.3.2 Ninfo = NRE × R × Qm × ν; then quantise to nearest TBS table entry per §5.1.3.2 step 3
PRACH preamble transmit power TS 38.213 §7.4 (PRACH), TS 38.321 §5.1.2 PPRACH = min(PCMAX, preambleReceivedTargetPower + PL + DELTA_PREAMBLE + (attempt − 1) × powerRampingStep)
PUSCH open-loop power TS 38.213 §7.1.1 PPUSCH = min(PCMAX, P0 + 10·log10(MRB) + α·PL + ΔTF + f(i))
A3 Event trigger condition TS 38.331 §5.5.4.4 Mn + Ofn + Ocn − Hys > Ms + Ofs + Ocs + Off; maintained for timeToTrigger duration
RLF declaration TS 38.331 §5.3.10 N310 consecutive out-of-sync → start T310 → if T310 expires before N311 in-sync → RLF → RRC Re-establishment
SS-RSRP measurement TS 38.215 §5.1.1 Linear average power per RE carrying SS (PSS/SSS) over measurement bandwidth; reported in dBm with 0.5 dB resolution
CSI reporting (Type I) TS 38.214 §5.2.1.4 UE reports {CRI, RI, PMI (wideband + subband), CQI} per configured CSI report setting; PMI indexes codebook W = W1 × W2
HARQ process timing TS 38.213 §9.3, TS 38.321 §5.4.2 K1 (HARQ-ACK offset) and K2 (PUSCH scheduling offset) defined in DCI and configured in PDSCH-Config; minimum RTT = 8 slots at 30 kHz SCS
LDPC base graph selection TS 38.212 §5.2.2 BG1 if TBS > 3824 bits or code rate > 0.67; BG2 otherwise. Lifting factor Z selected as smallest value ≥ ceil(TBS / 22) from set {2,3,4,…,384}
SCell activation delay TS 38.321 §5.13.2 After MAC CE SCell Activation reception, UE activates SCell; actual activation time bounded by sCellActivationDelay UE capability (typically 20–30 ms for FR1)

Table F.5-2: Counter → What It Tells You → First Diagnostic Question

Counter (TS 28.552) What It Tells You First Diagnostic Question
L.RA.Fail.MaxPreamble (§5.1.1.3.4) UEs exhausted preamble retransmissions without a valid RAR — persistent UL coverage gap or RACH window misconfiguration Is this failure correlated with a specific SSB beam index (beam coverage gap) or distributed across all SSBs (cell-wide UL coverage shortage)?
L.RRC.ConnEstabFail.Others (§5.1.2.4) RRC Setup failures not attributable to radio causes — typically gNB-side resource exhaustion or Ng-C congestion Is the cell at maximum RRC connected UE count (check RRC connected user gauge) or is the N2 signalling link congested?
L.RRC.ReEstabAtt (§5.1.2.7) Re-establishment attempts — primary indicator of RLF events from either too-late HO, coverage holes, or interference spikes What is the re-establishment target cell — is it the same cell (BFR recovery counted here too) or a neighbour (HO failure)?
L.HO.ExecFail.UE (§5.1.1.6) UE failed to access target cell during HO execution — T304 timer expired at source without receiving path switch complete Did preparation succeed (check L.HO.PrepSucc.OutAtt)? If yes, execution-specific problem: check target PRACH load and source coverage at time of HO command.
L.PDCP.SduBitrateDl.QCI (§5.1.4) DL throughput at PDCP layer for a given QFI/QCI — gold standard user throughput KPI removing overhead from physical-layer metrics Is the throughput consistently low (chronic issue — coverage/MIMO) or bursty (scheduling starvation — check PRB utilisation and MCS at the same time)?
L.PDSCH.HarqReTx.Ratio (§5.1.3) Fraction of PDSCH TTIs that are HARQ retransmissions — proxy for link quality mismatch between CQI estimate and actual channel Is the HARQ retx ratio above 15%? If yes, check whether CQI reporting delay or CQI estimation error is causing the LA to over-shoot MCS.
L.UL.PDCP.PacketLoss.QCI (§5.2) UL PDCP packet loss rate — indicates UL coverage shortage, UL interference, or RLC-AM retransmission budget exhaustion Is UL RSSI elevated (check UL SINR distribution) suggesting UL interference from adjacent cell or PIM? Or is UL path loss excessive (UE power limited)?

Table F.5-3: Symptom → Most Likely Cause → First Check

Observed Symptom Most Likely Cause First Check (counter or parameter)
RACH Success Rate < 90% with L.RA.Fail.MaxPreamble dominant UL coverage shortage or preambleReceivedTargetPower set too low Plot SS-RSRP CDF and check 5th percentile against minimum PRACH detection threshold; verify powerRampingStep ≥ 2 dB (TS 38.321 §5.1.2)
HO Success Rate < 95% with preparation success > 98% Too-late HO — source link deteriorates between HO decision and UE execution Reduce timeToTrigger (TS 38.331) from 320 ms to 160 ms; check A3 trigger threshold is not set too high relative to RSRP delta at execution
High PRB utilisation (>90%) with low user throughput Low MCS due to poor coverage, or high HARQ retransmission rate, or single-user domination Check MCS distribution and HARQ retx ratio (TS 28.552 §5.1.3); if MCS < 10 dominates, investigate coverage; if retx > 15%, investigate CQI estimation lag
Rank-1 proportion > 90% in a coverage-adequate cell High antenna port correlation or SRS measurement failure preventing correct PMI/RI reporting Check CSI-RS and SRS configuration (TS 38.214 §5.2 / §6.2); verify antenna cross-polarisation is correctly configured and UE reports RI = 2 capability
Elevated L.RRC.ReEstabAtt correlated with cell-edge UEs Coverage hole causing RLF, or T310 too short allowing premature RLF declaration Check T310 value (TS 38.331 — should be ≥ 500 ms for macro); verify BFR configuration (TS 38.331 §5.3.14) is active to recover beam failures before RLF
VoNR MOS degradation during high load QoS scheduling starvation — GBR bearer not receiving minimum PRB allocation Check QoS flow PRB allocation for GBR bearers (QFI 1–4); verify gbrQosFlowInfo is correctly signalled in PDU session establishment (TS 23.501 §5.7)
SCell frequently deactivating with sCellDeactivationTimer expiry Timer too short for application burst inter-arrival time — unnecessary CA setup overhead Extend sCellDeactivationTimer to 1280–2560 ms (TS 38.321 §5.13.2) for video-streaming traffic profiles; monitor SCell activation rate before and after change
L.RA.Fail.Collision > 20% of RACH failures Insufficient RACH occasions or preamble pool too small for the access load Review prach-ConfigurationIndex (TS 38.211 Table 6.3.3.2-2) to increase RACH occasion density; verify dedicated preambles for HO do not reduce contention set below 48 (TS 38.321 §5.1.1)
Interview preparation tip

Senior RF engineer interviews consistently test three competencies simultaneously: (1) spec literacy — can you name the correct TS clause without looking it up; (2) counter fluency — can you map a KPI degradation to the specific PM counter that confirms or refutes a hypothesis; (3) first-principles reasoning — can you derive why a parameter affects performance rather than just reciting a recommended value. The questions in this appendix are designed to require all three. Practise answering out loud with a timer — the ideal answer to each question is 90–120 seconds, which maps to the 3–6 sentence written answers here. Any shorter and you will appear to lack depth; any longer and you will appear unable to prioritise.

Page F