Sharing insights on technology and innovation
5G NR Throughput Calculation — Complete Logic, Explanation & Formulas (3GPP‑Aligned)
This section explains the theory, assumptions, 3GPP references, formulas and logic used inside the 5G NR Throughput Calculator.
The throughput in 5G NR fundamentally depends on:
These relationships come from 3GPP:
5G NR uses flexible numerology μ, where each step doubles the subcarrier spacing and halves slot duration.
According to 3GPP NR numerology rules:
Reference: 14 symbols/slot for Normal CP and slot duration scaling appear in 3GPP numerology descriptions.
| μ | SCS (kHz) | Slot Duration (ms) | Slots/sec |
|---|---|---|---|
| 0 | 15 | 1.0 | 1000 |
| 1 | 30 | 0.5 | 2000 |
| 2 | 60 | 0.25 | 4000 |
| 3 | 120 | 0.125 | 8000 |
| 4 | 240 | 0.0625 | 16000 |
Used in calculator formula:
SlotsPerSecond = 1000 × 2^μ
The calculator implements MCS Tables 1, 2, and 3 from:
3GPP TS 38.214, Table 5.1.3.1‑1, 5.1.3.1‑2, 5.1.3.1‑3.
Each entry gives:
Example (from Table 1):
MCS 18 → Qm = 6, R = 466/1024
The plugin loads these values exactly and uses them in throughput formulas.
Each PRB has 12 subcarriers × (# data symbols).
Since every slot has 14 OFDM symbols (Normal CP) (3GPP NR numerology):
N_RE' = 12 × (DataSymbolsPerSlot)
But DM‑RS and overhead must be removed. Using 38.214 logic:
N_RE = min(156, N_RE' – DMRS – Overhead)
The calculator uses the cap 156 RE/PRB, documented in open TBS calculations based on 3GPP rules.
The transport block size (TBS) is based on the total number of REs across all PRBs:
N_RE_total = N_RE × N_PRB
Information bits:
Ninfo = N_RE_total × Qm × R × ν
The TBS algorithm in 3GPP TS 38.214 splits into two cases depending on Ninfo ≤ 3824 or > 3824. The calculator uses the standard engineering rounding:
TBS = 6 × floor(Ninfo / 6)
This rounding to 6‑bit multiples is also described in TBS computation workflows.
Once TBS/slot is known, the reachable throughput for one component carrier is:
Throughput_per_CC (bps) = TBS × SlotsPerSecond × DL_DutyCycle
DL duty cycle is applied only for TDD mode. Duty cycle logic comes from standard understanding of TDD dynamic DL/UL allocation.
Output shown in Mbps:
Throughput_Mbps = (TBS × SlotsPerSecond × DL_DutyCycle) / 1e6
3GPP TS 38.306 defines a UE maximum data rate depending on:
Engineers often summarize the relationship as:
BitsPerSlot = (PRB × (12 × DataSymbols) × Qm × R × ν × (1 – OH))
Then:
Throughput_per_CC_Mbps
= BitsPerSlot × SlotsPerSecond × DL_DutyCycle / 1e6
This aligns with the peak data-rate logic found in NR UE capability explanations.
Final throughput is the sum across all carriers:
Total_Throughput = Throughput_per_CC × J
Where J = number of aggregated carriers (up to 16 as per NR CA discussions).
| Parameter | Formula |
|---|---|
| Slots per second | 1000 × 2^μ |
| RE per PRB | N_RE = min(156, 12 × DataSymbols – DMRS – OH) |
| Total RE | N_RE_total = N_RE × N_PRB |
| Information bits | Ninfo = N_RE_total × Qm × R × ν |
| TBS | TBS = 6 × floor(Ninfo / 6) |
| TBS throughput | Throughput = TBS × SlotsPerSec × Duty / 1e6 |
| Peak bits/slot | Bits/slot = N_PRB × (12 × DataSymbols) × Qm × R × ν × (1–OH) |
| Peak throughput | Peak = Bits/slot × SlotsPerSec × Duty / 1e6 |
| CA Total | Total = per_CC × J |
January 31, 2026