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.
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.”
| Term | Meaning | Typical value |
|---|---|---|
| vLayers | Number of MIMO layers (spatial streams) | 1–8 DL, 1–4 UL |
| Qm | Modulation order (bits per symbol) | 2 / 4 / 6 / 8 (QPSK…256QAM) |
| f | UE scaling factor (capability) | 1, 0.8, 0.75, 0.4 |
| Rmax | Maximum code rate | 948/1024 ≈ 0.926 |
| NPRB | Resource blocks for the bandwidth & numerology | e.g. 273 @ 100 MHz / 30 kHz |
| 12 / Ts | Resource elements per second per PRB | derived from μ |
| OH | Overhead fraction | 0.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.
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.
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 BW | 15 kHz (μ=0) | 30 kHz (μ=1) | 60 kHz (μ=2) | 120 kHz (FR2) |
|---|---|---|---|---|
| 20 MHz | 106 | 51 | 24 | — |
| 50 MHz | 270 | 133 | 65 | — |
| 100 MHz | — | 273 | 135 | 66 |
| 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.
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.
| Modulation | Qm (bits/RE) | Max code rate | Max spectral efficiency |
|---|---|---|---|
| QPSK | 2 | ~0.12–0.93 | up to ~1.9 b/RE |
| 16QAM | 4 | ~0.37–0.74 | up to ~2.9 b/RE |
| 64QAM | 6 | ~0.45–0.93 | up to ~5.6 b/RE |
| 256QAM | 8 | ~0.67–0.93 | up to 7.41 b/RE |
| 1024QAM (Rel-17, FR1 DL) | 10 | up to ~0.93 | up 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.
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 LabMIMO 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.
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.
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 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.
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.
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.
Two worked examples — peak & realistic
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.
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.
| Symptom | Collapsed term | KPI to check / action |
|---|---|---|
| Low rate everywhere | Bandwidth / PRBs | Carrier aggregation; check allocated BWP & PRB grant |
| Low rate at the edge only | MCS (low SINR) | Avg MCS / CQI distribution; coverage, interference, power |
| Configured 4×4 but low rate | Layers (low rank) | Avg RI; antenna config, channel scattering, SINR for rank |
| Good DL, poor UL | TDD slot ratio | Review UL/DL pattern; consider supplementary uplink |
| Peak fine, busy-hour poor | PRB sharing | PRB utilisation; add capacity / carriers / load balance |
| Throughput sawtooths | BLER / HARQ | BLER & 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.
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.