CHAPTER ONE

Throughput is a calculation, not a number

“How fast is 5G?” is a trick question, because the honest answer is a formula, not a figure. A 100 MHz cell can hand a single UE 2.3 Gbps in a lab and 200 Mbps on a busy street, and both numbers are correct — they are the same formula evaluated with different inputs. Every engineer who plans capacity, validates a site, sizes transport or explains a slow speed test is really doing one thing: walking the throughput equation and seeing which term collapsed. Learn the equation once and you stop guessing.

There are two layers to know. The first is the peak data-rate formula in TS 38.306 — a clean closed form the industry uses for the headline “up to” numbers and UE category limits. The second is the Transport Block Size (TBS) calculation in TS 38.214 — the exact per-slot bit count the scheduler actually uses. The peak formula tells you the ceiling; the TBS calculation tells you what a given slot really carries. This article walks both, then strips the peak down to a realistic delivered rate, factor by factor.

Where this lives in 3GPP. The peak data-rate formula and UE capability scaling are in TS 38.306 §4.1.2. The TBS determination, MCS tables and code rates are in TS 38.214 §5.1.3. The bandwidth-to-PRB mappings are in TS 38.101-1 (FR1) and 38.101-2 (FR2). The frame/slot structure that sets the TDD ratio is in TS 38.211 and configured per TS 38.213.

CHAPTER TWO

The peak data-rate formula, term by term

Here is the whole thing, straight from TS 38.306. It looks dense; it is actually just “bits per resource element × resource elements per second, summed over carriers.”

Approximate peak data rate · TS 38.306 §4.1.2 DataRate (Mbps) = 10−6 · Σj=1..J [ vLayers(j) · Qm(j) · f(j) · Rmax · (NPRBBW,μ · 12 / Tsμ) · (1 − OH(j)) ]
Tsμ = 10−3 / (14 · 2μ) is the average OFDM symbol duration. Rmax = 948/1024. The 12 is subcarriers per resource block. J = number of aggregated carriers.
TermMeaningTypical value
vLayersNumber of MIMO layers (spatial streams)1–8 DL, 1–4 UL
QmModulation order (bits per symbol)2 / 4 / 6 / 8 (QPSK…256QAM)
fUE scaling factor (capability)1, 0.8, 0.75, 0.4
RmaxMaximum code rate948/1024 ≈ 0.926
NPRBResource blocks for the bandwidth & numerologye.g. 273 @ 100 MHz / 30 kHz
12 / TsResource elements per second per PRBderived from μ
OHOverhead fraction0.14 DL FR1 · 0.18 DL FR2 · 0.08 UL FR1 · 0.10 UL FR2

The structure is the key insight: throughput is a product. Halve any factor and you halve the result; collapse any factor to a fraction and the whole rate follows. That is why a single weak link — rank-1 channel, a downlink-poor TDD pattern, a UE that only does 64QAM — caps everything regardless of how generous the others are. The rest of this article is just the seven terms, one chapter each.

CALCULATOR

Interactive throughput calculator

Try the formula yourself. Set the carrier, layers, modulation, code rate, TDD pattern and BLER, and the peak and delivered rates update live — the same maths as TS 38.306, running in your browser.

5G NR Throughput Calculator
Peak per TS 38.306 · delivered = peak × TDD DL fraction × (1 − BLER)
Peak data rate (all-DL ceiling)
Delivered (× TDD × (1−BLER))
Peak follows TS 38.306 with Rmax replaced by your chosen R. “Delivered” applies the TDD DL fraction and BLER only; real rates also depend on measured rank, average MCS and PRB scheduling (see the chapters below).
CHAPTER THREE

Bandwidth → PRBs — numerology & the RB table

Bandwidth does not enter the formula directly — the number of resource blocks does. A resource block is always 12 subcarriers, but how many fit in a channel depends on the subcarrier spacing (SCS), set by the numerology μ (SCS = 15 × 2μ kHz). Wider SCS means fewer, fatter subcarriers, so the PRB count is not simply proportional to MHz. 3GPP tabulates the exact maximums; here are the ones you will actually use.

Channel BW15 kHz (μ=0)30 kHz (μ=1)60 kHz (μ=2)120 kHz (FR2)
20 MHz1065124
50 MHz27013365
100 MHz27313566
200 MHz (FR2)132
400 MHz (FR2)264

The other half of the bandwidth term is resource elements per second. There are 12 subcarriers per PRB and, per the formula, 14 × 2μ OFDM symbols per millisecond. So a higher numerology packs more symbols per second — which exactly cancels the lower PRB count, keeping the RE-per-second-per-MHz roughly constant. Numerology is about latency and frequency range, not raw capacity.

Worked example — resource elements per second at 100 MHz
μ = 1 (30 kHz) → Ts = 10−3 / (14 × 2) = 35.71 µs
NPRB = 273 → RE/s = 273 × 12 / 35.71µs = 3276 / 35.71e−6
≈ 91.7 million resource elements per second — the raw “canvas” every other factor paints on.
CHAPTER FOUR

Modulation & MCS — Qm, code rate, spectral efficiency

Each resource element carries Qm raw bits, but not all of them are your bits — the channel code adds redundancy. The product of modulation order and code rate is the spectral efficiency: the information bits per resource element. The scheduler picks both at once through the Modulation and Coding Scheme (MCS) index, which maps to a (Qm, target code rate) pair in TS 38.214.

ModulationQm (bits/RE)Max code rateMax spectral efficiency
QPSK2~0.12–0.93up to ~1.9 b/RE
16QAM4~0.37–0.74up to ~2.9 b/RE
64QAM6~0.45–0.93up to ~5.6 b/RE
256QAM8~0.67–0.93up to 7.41 b/RE
1024QAM (Rel-17, FR1 DL)10up to ~0.93up to ~9.3 b/RE

The catch is that higher MCS needs more SINR. The scheduler runs link adaptation: it picks the highest MCS the channel can carry at the target block-error rate (typically 10% first-transmission BLER), guided by the UE's CQI reports. Near the tower you get 256QAM at a high code rate (7+ b/RE); at the edge you fall to QPSK at a low code rate (well under 1 b/RE). That single factor can swing throughput by 8× across a cell.

Spectral efficiency climbs with SINR (link adaptation) SINR → bits / RE QPSK 16QAM 64QAM 256QAM (7.41)
The scheduler walks this curve in real time — the measured MCS, not the configured maximum, sets your bits per resource element.
Premium interactive lab

Build your own throughput calculator

Set bandwidth, numerology, MCS, layers and TDD pattern and watch the peak and delivered rate update live — the same maths as this article, made interactive. Lifetime access — ₹999 / $9.99.

Open the 5G PHY Lab
CHAPTER FIVE

MIMO layers — the linear multiplier

Layers are the cleanest term in the formula: each spatial layer carries an independent data stream over the same time-frequency resource, so throughput scales almost linearly with layer count. Two layers double the rate; four quadruple it. 5G NR supports up to 8 layers in downlink and 4 in uplink per UE.

Each layer adds a parallel stream 1 layer 2 layers 4 layers + rank needed
Linear — if the channel has the spatial rank and SINR to carry the streams. In line-of-sight or low-SINR conditions the usable rank collapses.

The asterisk on “linear” matters in the field. Layers only help if the radio channel has the rank to support them — rich multipath scattering that keeps the streams separable. A clean line-of-sight link or a low-SINR cell edge may support only rank 1–2 no matter how many antenna ports the gNB has. This is why measured average layer count, reported via the rank indicator (RI), is one of the most revealing throughput KPIs: configured 4×4 with a measured rank of 1.3 explains a lot of disappointing speed tests.

CHAPTER SIX

TBS — how a slot's bits are really counted

The peak formula is an average; the scheduler needs an exact integer bit count for each transmission. That is the Transport Block Size, computed per TS 38.214 in four steps. This is the calculation that actually decides what a slot carries.

The TBS pipeline (TS 38.214 §5.1.3.2) 1 · N'RE per PRB12·Nsymb − NDMRS − Noh 2 · NRE totalmin(156, N'RE) × nPRB 3 · NinfoNRE × R × Qm × v 4 · TBSquantise Ninfo → valid TBS throughput = TBS / slot-duration × (1 − BLER)
The cap at 156 RE/PRB (12 subcarriers × 13 usable symbols) is the spec's ceiling on usable resource elements per PRB.
Worked example — TBS for one slot at 100 MHz
273 PRB, 14 symbols, 1 DMRS symbol (12 RE/PRB), Noh=0 → N'RE = 12×14 − 12 = 156
NRE = min(156,156) × 273 = 42,588 RE
256QAM (Qm=8), R=948/1024, v=4 → Ninfo = 42,588 × 0.926 × 8 × 4 ≈ 1.26 Mbit
≈ 1.26 Mbit per slot ÷ 0.5 ms slot ≈ 2.52 Gbps instantaneous — the all-downlink ceiling for this config.
CHAPTER SEVEN

The TDD pattern — the slot-ratio reality

Here is the factor that most often surprises people. Almost all mid-band 5G is TDD: downlink and uplink share the same carrier in time, so only a fraction of slots carry your direction. The TDD pattern (configured via tdd-UL-DL-ConfigurationCommon) is a repeating sequence of Downlink, Uplink and Special slots — and it directly multiplies your throughput by the fraction of slots you actually get.

TDD pattern “DDDSU” — only the D slots carry downlink DDDSU DDDSU Downlink Special Uplink DL airtime ≈ 3/5 full + part of S ≈ ~0.7 → DL throughput ≈ 0.7 × peak
Pick the pattern and you pick the DL/UL split. DDDSU favours downlink; DDDDDDDSUU even more so; symmetric patterns trade DL for UL.

So the 2.52 Gbps all-downlink ceiling from the TBS example becomes roughly 0.7 × that — about 1.75 Gbps — the instant you account for a realistic DDDSU pattern, before any other loss. Uplink, with one full U slot in five plus part of the special slot, lands far lower. The special slot's split into downlink, guard and uplink symbols (nrofDownlinkSymbols / nrofUplinkSymbols) adds a little of each direction back. The TDD pattern is, after MCS and layers, the single biggest lever on real-world rates.

CHAPTER EIGHT

Overhead, BLER & HARQ — peak to delivered

Three more subtractions stand between the slot rate and what the user sees.

Overhead

Not every resource element carries your data. DMRS (demodulation reference signals), control channels (PDCCH), reference signals (CSI-RS, SSB) and the like consume REs. The peak formula bundles this into a single OH term (0.14 DL FR1, 0.18 DL FR2, 0.08 UL FR1, 0.10 UL FR2); the TBS calculation models it explicitly via the DMRS RE count and the configured xOverhead (0, 6, 12 or 18 RE per PRB). Either way, expect to lose roughly 14–18% off the top in downlink.

BLER and HARQ

The scheduler targets ~10% block-error rate on the first transmission, so about one in ten transport blocks needs a HARQ retransmission. Those retransmissions cost airtime that could have carried new data, so delivered throughput is the slot rate times roughly (1 − residual BLER). With HARQ combining the residual error rate after retransmissions is tiny, but the retransmitted slots are still “spent,” which is why you model the first-transmission BLER as an efficiency loss, not just an error rate.

Peak vs delivered, in one sentence. Take the peak, then multiply by your TDD DL fraction, by (measured layers / max layers), by (measured spectral efficiency / max spectral efficiency), by the scheduling/PRB-sharing fraction, and by (1 − first-tx BLER). The product is what the speed test shows — usually 30–60% of the headline number.

CHAPTER NINE

Two worked examples — peak & realistic

Example A — downlink peak (lab conditions)
100 MHz, μ=1, NPRB=273, v=4, 256QAM (Qm=8), f=1, Rmax=0.926, OH=0.14
RE/s = 273 × 12 / 35.71µs = 91.7e6
rate = 4 × 8 × 1 × 0.926 × 91.7e6 × (1−0.14) × 10−6
≈ 2,337 Mbps — the headline “up to 2.3 Gbps” per 100 MHz carrier.
Example B — realistic downlink (busy cell, mid-cell UE)
Start from the 2,337 Mbps peak, then apply real-world factors:
× TDD DDDSU (DL airtime ~0.70) → 1,636 Mbps
× layers 2 instead of 4 (rank-2 channel, ×0.5) → 818 Mbps
× 64QAM @ R~0.75 instead of 256QAM @ 0.926 (SE 4.5 vs 7.41, ×0.61) → 499 Mbps
× PRB sharing with other users (~0.6) × (1−BLER ~0.9) → ~270 Mbps
≈ 250–300 Mbps delivered — exactly the range a real speed test shows on a live mid-band cell.

Both numbers came from the same formula. The peak is not a lie and the delivered figure is not a failure — they are the two ends of the same product, and now you can compute either for any configuration you are handed.

CHAPTER TEN

From numbers to the field — what limits throughput

When a cell underdelivers, the calculation tells you exactly which term to interrogate — and each maps to a measurable KPI.

SymptomCollapsed termKPI to check / action
Low rate everywhereBandwidth / PRBsCarrier aggregation; check allocated BWP & PRB grant
Low rate at the edge onlyMCS (low SINR)Avg MCS / CQI distribution; coverage, interference, power
Configured 4×4 but low rateLayers (low rank)Avg RI; antenna config, channel scattering, SINR for rank
Good DL, poor ULTDD slot ratioReview UL/DL pattern; consider supplementary uplink
Peak fine, busy-hour poorPRB sharingPRB utilisation; add capacity / carriers / load balance
Throughput sawtoothsBLER / HARQBLER & retransmission rate; link-adaptation tuning

This is the real value of knowing the formula: a slow cell is never a mystery, it is a term that went to a fraction. Find the term, check its KPI, fix the cause. Throughput is not magic — it is arithmetic with radio inputs.

CHAPTER ELEVEN

Frequently asked questions

What is the 5G NR peak data-rate formula?

DataRate = 10−6 · Σ ( v · Qm · f · Rmax · (NPRB · 12 / Ts) · (1 − OH) ) over carriers, where v is layers, Qm modulation order, f the UE scaling factor, Rmax = 948/1024, NPRB the resource blocks, Ts the OFDM symbol duration, and OH the overhead. It is the ceiling; delivered rate is lower.

How is TBS calculated?

N'RE = 12·Nsymb − NDMRS − Noh per PRB; NRE = min(156, N'RE) × nPRB; Ninfo = NRE × R × Qm × v; then Ninfo is quantised to a valid TBS. Throughput = TBS / slot-duration × (1 − BLER).

How does the TDD pattern affect throughput?

TDD time-shares the carrier, so you only get the slots in your direction. DDDSU gives ~70% downlink airtime, so DL throughput is ~0.7× the all-downlink peak and UL is much lower. The pattern is a direct DL-vs-UL trade.

How do MIMO layers scale throughput?

Almost linearly — each layer is an independent stream on the same resource, so 4 layers ≈ 4× one layer — if the channel has the rank and SINR. Measured rank (RI), not configured ports, drives real rates.

Why is real throughput far below the peak?

The peak assumes 256QAM, max layers, full bandwidth, all slots downlink and no errors. Reality subtracts the TDD ratio, PRB sharing, lower average MCS and rank, overhead and BLER — typically leaving 30–60% of the headline figure.

• • •

Throughput is the most-searched 5G number and the most misunderstood — because it is a product of seven factors masquerading as a single figure. Walk the equation, find the collapsed term, and you can predict, explain or fix any rate on any cell. For the coding that sets Rmax and the BLER behaviour, see the companion deep dive on LDPC & Polar coding.