MCS tables — modulation & code rate
The 5-bit MCS index maps to a modulation order Qm and target code rate R (given ×1024). The 256QAM table reaches higher peaks; the transform-precoding table adds π/2-BPSK (Qm=1) at the bottom for deep coverage. Indices 28–31 (64QAM) / 27–31 (256QAM) are reserved for retransmissions — modulation is implied, no new TBS. Pick a row; it feeds the engine below.
| MCS | Modulation | Qm | R×1024 | R | Spec eff |
|---|
Spectral efficiency curve
The TBS engine — all five steps
Set the resources, press Compute, and watch the procedure execute one stage at a time — each formula populating with the live numbers exactly as TS 38.214 §5.1.3.2 prescribes.
Quantisation — two branches
Step 4 splits on Ninfo. Small blocks (≤ 3824) are snapped to a fixed table (Table 5.1.3.2-1, 93 entries) so the smallest TBS ≥ N′info is chosen. Large blocks use a byte-aligned formula. The current Ninfo lights the branch it takes.
Branch ① Ninfo ≤ 3824
N′info = max(24, 2ⁿ·⌊Ninfo/2ⁿ⌋)
TBS = smallest table value ≥ N′info
| idx | TBS | idx | TBS |
|---|
Branch ② Ninfo > 3824
N′info = max(3840, 2ⁿ·round((Ninfo−24)/2ⁿ))
LDPC base graph & code-block segmentation
The transport block gets a 24-bit CRC, then — if it is bigger than the LDPC max code-block size — it is segmented into equal code blocks, each with its own 24-bit CRC. Which graph and size depend on the TBS and code rate (TS 38.212 §7.2.2 & §5.2.2).
Kcb = 8448 (BG1) / 3840 (BG2). C = ⌈B / (Kcb−L)⌉