Radio Frame, Subframe, Slot & Symbol in 5G NR
The 10 ms frame down to the OFDM symbol — subcarrier spacing, numerology μ, slots per subframe, and how it all scales.
LTE fixed one subcarrier spacing at 15 kHz and built everything on top of it. NR had to cover a 600 MHz IoT carrier and a 400 MHz millimetre-wave carrier with the same physical layer, and those two have irreconcilable requirements: the low band needs long symbols to survive multipath, the high band needs short symbols to survive phase noise and Doppler. The resolution was to make subcarrier spacing a parameter — a single exponent µ — and then to hold two things constant so that the parameter does not tear the system apart.
Contents
- 01Why the Frame Structure Is Built This Way
- 02Time Units: T_c, T_s and the Constant κ
- 03Frames, Subframes, Half-Frames and the SFN
- 04Numerology µ: the One Exponent That Scales Everything
- 05Symbols and Cyclic Prefix: Where the Extra 16κ Goes
- 06Resource Elements and Resource Blocks: CRB, PRB, VRB
- 07Point A, offsetToCarrier and the Common Resource Block Grid
- 08Carrier Bandwidth in PRBs: FR1 and FR2
- 09Bandwidth Parts
- 10The SS/PBCH Block Inside the Grid
- 11SSB Burst Sets, Candidate Positions and Periodicity
- 12GSCN and the Synchronisation Raster
- 13TDD DL/UL Patterns and the Guard Period
- 14Slot Format Indication: Who Wins
- 15Mini-Slots and Non-Slot-Based Scheduling
- 16Parameter Reference: ASN.1 and Ranges
- 17Failure Modes and Misconfigurations
- 18Illustrative Traces
- 19Release Deltas: Rel-15 to Rel-18
- 20Reading Frame Structure in Logs: A Checklist
- 21Glossary
- 22References
1. Why the Frame Structure Is Built This Way
LTE fixed one subcarrier spacing at 15 kHz and built everything on top of it. NR had to cover a 600 MHz IoT carrier and a 400 MHz millimetre-wave carrier with the same physical layer, and those two have irreconcilable requirements: the low band needs long symbols to survive multipath, the high band needs short symbols to survive phase noise and Doppler. The resolution was to make subcarrier spacing a parameter — a single exponent µ — and then to hold two things constant so that the parameter does not tear the system apart.
- The 10 ms radio frame and the 1 ms subframe never change. Whatever µ is, a subframe is 1 ms and a frame is ten of them. Numerology subdivides the subframe; it never touches the frame.
- A resource block is always 12 subcarriers. Its width in Hz scales with µ, but its width in subcarriers does not, so every allocation formula, every DCI field and every bitmap in the specification can be written in RBs without knowing µ.
Everything else — slot duration, symbol duration, cyclic prefix length, how many RBs fit in a carrier, how many slots exist per frame — follows mechanically from µ. That is why the first question to ask of any timestamp, slot number or PRB index in a log is which numerology it was counted in. A "slot 17" means 8.5 ms into the frame at 30 kHz and 2.125 ms at 120 kHz, and nothing in the number itself tells you which.
| Structure element | What it indexes | Where you meet it in a log | Companion document |
|---|---|---|---|
| SFN | The 10 ms radio frame, 0..1023 | Every PRACH occasion, paging occasion, SI window and SSB burst is anchored to it | 17 System Information, 19 Paging |
| Slot | 1 / 2 / 4 / 8 / 16 per subframe by µ | Scheduling decisions, HARQ timing (k0, k1, k2), DRX on-durations | 08 Scheduling, 05 HARQ, 11 DRX |
| Symbol | 0..13 within a slot (normal CP) | PRACH start symbol s_id, CORESET first symbol, SSB first symbol, TDD pattern boundaries | 03 Random Access, 18 MIB and SIB1 IEs |
| PRB / CRB | 12 subcarriers each, on a per-SCS grid | Frequency-domain resource allocation, msg1-FrequencyStart, CORESET frequency bitmaps | 08 Scheduling |
| BWP | Up to four configured, one active per direction | bwp-Id in every dedicated PDSCH/PUSCH configuration; BWP indicator in DCI 0_1 / 1_1 | 13 RRC Overview, 08 Scheduling |
| SSB index | 0..3, 0..7 or 0..63 within a half-frame | Every beam-level measurement, every RACH resource selection, every handover report | 12 Beam Failure Recovery, 20 Measurements |
| T_c | The 0.509 ns base time unit | Timing advance N_TA, cyclic prefix lengths, all PHY-level offsets | 04 Timing Advance |
Table 1. The frame structure is not a topic in itself so much as the coordinate system every other topic is written in.
The single most common reading error in NR logs is applying the wrong numerology to a slot or symbol index. Symbol 4 of slot 19 is a different instant at 15 kHz and at 30 kHz, and the referenceSubcarrierSpacing used to describe a TDD pattern need not equal the SCS of the BWP the UE is actually transmitting in. Establish µ before you interpret any index.
2. Time Units: T_c, T_s and the Constant κ
The specification does not define durations in seconds. It defines two time units and expresses everything as an integer multiple of one of them TS 38.211 cl. 4.1. This matters because it is why cyclic prefix lengths are the odd-looking integers they are, and why the timing advance granularity is what it is.
T_c = 1 / (Df_max * N_f) Df_max = 480 000 Hz, N_f = 4096
= 1 / 1 966 080 000 s
~ 0.509 ns the NR basic time unit
T_s = 1 / (Df_ref * N_f,ref) Df_ref = 15 000 Hz, N_f,ref = 2048
= 1 / 30 720 000 s
~ 32.552 ns the LTE basic time unit, kept for reference
kappa = T_s / T_c = 64 the constant that appears in every CP formula| Quantity | In T_c | In seconds | Why the number matters |
|---|---|---|---|
| T_c | 1 | 0.509 ns | The sampling grid of the widest numerology (480 kHz × 4096-point FFT). Every PHY offset is an integer number of these. |
| T_s | 64 | 32.552 ns | The LTE unit. Retained so that LTE-derived quantities — notably the 16·T_s timing-advance step — carry over unchanged. |
| κ | 64 (dimensionless) | -- | Appears as 144·κ·2^-µ and 16·κ in the CP formulas and as 16·64 in the timing-advance conversion. It is only a unit conversion factor. |
| Subframe | 1 966 080 | 1 ms | = Δf_max·N_f/1000 · T_c. Fixed for all µ — the anchor of the whole structure. |
| Radio frame | 19 660 800 | 10 ms | = Δf_max·N_f/100 · T_c. Ten subframes, always. |
Table 2. The four numbers behind every duration in NR. Note that T_c is defined from the largest numerology, so it is fine enough to express any symbol boundary at any µ as an integer.
The clearest place these units surface in practice is the timing advance command, converted with N_TA = T_A · 16 · 64 / 2^µ in units of T_c — where the 16 · 64 is 16 · κ, i.e. sixteen LTE samples. The step size therefore halves every time µ increments: 0.52 µs at 15 kHz, 0.26 µs at 30 kHz, 0.13 µs at 60 kHz. See the companion 04 Timing Advance document.
3. Frames, Subframes, Half-Frames and the SFN
A radio frame is 10 ms and contains ten 1 ms subframes, numbered 0 to 9. Frames are numbered by the System Frame Number, a 10-bit counter that runs 0..1023 and then wraps. Each frame is also divided into two half-frames of five subframes: half-frame 0 is subframes 0–4, half-frame 1 is subframes 5–9. The half-frame is not decoration — SSB burst sets are defined to fit inside one, and which one a given burst occupies is signalled by a single bit in the PBCH payload.
| Element | Duration | Count | How its number reaches the UE |
|---|---|---|---|
| Radio frame | 10 ms | SFN 0..1023, then wraps | 6 most-significant bits in the MIB field systemFrameNumber, 4 least-significant bits in the PBCH transport payload outside the MIB |
| Half-frame | 5 ms | 2 per frame | One bit (n_hf) in the PBCH transport payload. 0 = first half-frame |
| Subframe | 1 ms | 10 per frame | Derived — not signalled. Subframe = floor(slot / 2^µ) |
| Slot | 1 ms / 2^µ | 10·2^µ per frame | Derived from the frame timing plus µ. Numbered both within the subframe (n_s^µ) and within the frame (n_s,f^µ) |
| Symbol | see §5 | 14 per slot (12 with extended CP) | Derived. Symbol 0 of slot 0 of a frame is the frame boundary |
| Hyper-frame | 10.24 s | H-SFN 0..1023 (Rel-17 eDRX) | Broadcast in system information where extended idle-mode DRX is supported; absent otherwise |
Table 3. The time hierarchy and where each level's index actually comes from. Only the frame and half-frame numbers are transmitted; everything finer is counted.
SFN 0..1023 at 10 ms per frame wraps every 10.24 s.
1024 × 10 ms = 10 240 ms = 10.24 s
Any periodicity that does not divide 10.24 s evenly will drift relative to the SFN across a wrap. This is why every broadcast periodicity in NR — SSB (5/10/20/40/80/160 ms), SI windows, paging cycles (32..256 frames), DRX cycles — is a power-of-two multiple of 10 ms or a divisor of it. It is also why an idle-mode DRX cycle longer than 10.24 s needs a hyper-frame counter: 1024 hyper-frames × 10.24 s = 10 485.76 s, about 2.9 hours.
A gNB restart resets the SFN, and the SFN of two cells on the same site is usually but not necessarily aligned. If a paging occasion, an SMTC window or an SSB measurement seems to be landing in the wrong place after a node restart, check whether the SFN reference you are comparing against came from before the wrap or from a different cell.
4. Numerology µ: the One Exponent That Scales Everything
The subcarrier spacing is SCS = 15 · 2^µ kHz. Everything else in the time domain scales as 2^-µ and everything in the frequency domain as 2^µ. There is no independent parameter: pick µ and the rest is determined TS 38.211 Table 4.2-1.
| µ | SCS | Slot | Slots per subframe | Slots per frame | Symbols per slot | CP | Where it is used |
|---|---|---|---|---|---|---|---|
| 0 | 15 kHz | 1 ms | 1 | 10 | 14 | Normal | FR1 low band, wide-area coverage, 5–50 MHz carriers, NB/IoT-adjacent deployments. SSB Case A. |
| 1 | 30 kHz | 0.5 ms | 2 | 20 | 14 | Normal | The FR1 default. Data and SSB on n41/n77/n78/n79. SSB Case B or C. |
| 2 | 60 kHz | 0.25 ms | 4 | 40 | 14 or 12 | Normal or extended | The only numerology with extended CP. FR1 high-throughput, FR2 data, URLLC. Never used for SSB. |
| 3 | 120 kHz | 0.125 ms | 8 | 80 | 14 | Normal | FR2 default for data and control. SSB Case D. |
| 4 | 240 kHz | 62.5 µs | 16 | 160 | 14 | Normal | SS/PBCH block only — not used for PDSCH or PUSCH. SSB Case E. |
| 5 | 480 kHz | 31.25 µs | 32 | 320 | 14 | Normal | Rel-17, FR2-2 (52.6–71 GHz) only. |
| 6 | 960 kHz | 15.625 µs | 64 | 640 | 14 | Normal | Rel-17, FR2-2 only. |
Table 4. The full numerology table. µ = 5 and 6 were added in Rel-17 for the 52.6–71 GHz range; µ = 4 has always been SSB-only. Extended CP exists at 60 kHz and nowhere else.
The trade being made is the classic OFDM one. Doubling the SCS halves the useful symbol duration T_u = 1/Δf, which halves the delay spread the cyclic prefix can absorb, and doubles the tolerance to Doppler shift and oscillator phase noise. At 3.5 GHz with a few microseconds of delay spread, 30 kHz is comfortable. At 28 GHz the phase noise makes 15 kHz unusable and the short propagation paths make the shorter CP harmless, so 120 kHz is the natural choice.
µ = 4 deserves a note of its own. It appears in the numerology table but is not a data numerology — it exists so that an FR2 cell can pack 64 SSB candidate positions into a 5 ms half-frame while its PDSCH runs at 120 kHz. A UE will therefore legitimately report a 240 kHz SSB measurement on a carrier whose active BWP is 120 kHz, and that is not an inconsistency in the log.
5. Symbols and Cyclic Prefix: Where the Extra 16κ Goes
Each OFDM symbol consists of a useful part of duration T_u = 1/Δf preceded by a cyclic prefix — a copy of the end of the useful part, prepended to the front. The CP absorbs the multipath echoes of the previous symbol, so as long as the delay spread is shorter than the CP there is no inter-symbol interference and the channel stays diagonal in the frequency domain. The CP length is TS 38.211 cl. 5.3.1:
Normal CP: N_CP,l = 144 * kappa * 2^-mu + 16 * kappa if l = 0 or l = 7*2^mu
N_CP,l = 144 * kappa * 2^-mu otherwise
Extended CP: N_CP,l = 512 * kappa * 2^-mu for every l
l is the symbol index within the SUBFRAME, 0 .. 14*2^mu - 1
kappa = 64
lengths are in units of T_cThe two index values that get the extra 16·κ — l = 0 and l = 7·2^µ — are exactly the symbols that start the two 0.5 ms halves of the subframe. So every 1 ms subframe contains exactly two long-CP symbols, at 0 ms and 0.5 ms, whatever µ is. At 30 kHz that is the first symbol of every slot; at 60 kHz the first symbol of every second slot; at 120 kHz of every fourth.
Why 16κ, and why there? Half a subframe is 15 360 T_s = 983 040 T_c. In that time you must fit 7·2^µ symbols.
Useful parts: 7·2^µ × 2048·κ·2^-µ = 7 × 2048 × 64 = 917 504 T_c
Ordinary CPs: 7·2^µ × 144·κ·2^-µ = 7 × 144 × 64 = 64 512 T_c
Sum so far: 917 504 + 64 512 = 982 016 T_c
Shortfall: 983 040 − 982 016 = 1 024 T_c = 16κ
The 16·κ is precisely the leftover, and because both terms above are independent of µ, the leftover is too. One top-up per 0.5 ms, forever.
| µ | T_u = 1/Δf | Ordinary CP | Long CP (l = 0, 7·2^µ) | Symbol + ordinary CP |
|---|---|---|---|---|
| 0 (15 kHz) | 66.667 µs | 9 216 T_c = 4.688 µs | 10 240 T_c = 5.208 µs | 71.354 µs |
| 1 (30 kHz) | 33.333 µs | 4 608 T_c = 2.344 µs | 5 632 T_c = 2.865 µs | 35.677 µs |
| 2 (60 kHz), normal | 16.667 µs | 2 304 T_c = 1.172 µs | 3 328 T_c = 1.693 µs | 17.839 µs |
| 2 (60 kHz), extended | 16.667 µs | 8 192 T_c = 4.167 µs | not applicable — no top-up | 20.833 µs |
| 3 (120 kHz) | 8.333 µs | 1 152 T_c = 0.586 µs | 2 176 T_c = 1.107 µs | 8.919 µs |
| 4 (240 kHz) | 4.167 µs | 576 T_c = 0.293 µs | 1 600 T_c = 0.814 µs | 4.460 µs |
Table 5. Symbol and CP durations, computed from the clause 5.3.1 formulas. Extended CP needs no top-up because 12 symbols × (2048+512)·κ·2^-µ already fills the subframe exactly.
Extended CP at 60 kHz gives 4.167 µs of guard — roughly what 15 kHz normal CP gives — at the cost of two symbols per slot, i.e. about 14 % of the payload. It is the right answer for a large cell that needs 60 kHz for some other reason (bandwidth, or coexistence with an FR2 numerology), and the wrong answer almost everywhere else. Configuring it costs throughput silently: nothing fails, the slot just has 12 symbols instead of 14, and the peak rate drops.
The CP length is also the cell-size limit for anything that is not timing-advanced. PRACH gets its own, much longer CP precisely because the preamble is sent before any timing advance exists — see the companion 03 Random Access document, §6.1, where the preamble format's CP is what sets the maximum cell radius.
6. Resource Elements and Resource Blocks: CRB, PRB, VRB
A resource element is one subcarrier in one OFDM symbol, identified by the pair (k, l). It is the smallest addressable unit and carries one modulation symbol. A resource block is 12 consecutive subcarriers in the frequency domain TS 38.211 cl. 4.4.4 — note that the definition says nothing about time. An RB is a frequency-domain object; when people say "an RB" and mean 12 subcarriers across 14 symbols they mean an RB for the duration of a slot, which is 168 resource elements.
NR then defines three numbering schemes over resource blocks, and mixing them up is a genuine source of misread logs:
| Flavour | Numbered from | Range | Who uses it |
|---|---|---|---|
| CRB — common resource block | Point A, upward, on a per-SCS grid. CRB 0 subcarrier 0 is point A | 0 upward; a carrier may start at any CRB | The absolute frequency reference. CORESET frequency-domain bitmaps, offsetToCarrier, SSB placement, and anything that has to be unambiguous before a BWP exists |
| PRB — physical resource block | The first RB of a bandwidth part | 0 .. N_BWP^size − 1, at most 0..274 | Everything inside an active BWP. n_PRB = n_CRB − N_BWP^start. This is what a scheduling grant's frequency allocation counts in |
| VRB — virtual resource block | The same origin as PRB, but mapped to PRBs either directly or through an interleaver | 0 .. N_BWP^size − 1 | Only in DL resource allocation type 1. Non-interleaved mapping means VRB n = PRB n; interleaved mapping spreads a contiguous VRB allocation across the band for frequency diversity TS 38.211 cl. 7.3.1.6 |
Table 6. The three RB numberings. A PRB index in a log is meaningless without the BWP it belongs to, and a CRB index is meaningless without the SCS its grid was drawn at.
There is one CRB grid per subcarrier spacing, all sharing point A as their origin. CRB 10 at 15 kHz and CRB 10 at 30 kHz are different pieces of spectrum — the second is twice as far above point A. When a log prints a CRB number, the SCS is part of the value.
The ceiling on all three is maxNrofPhysicalResourceBlocks = 275 per numerology, so a BWP is at most 275 PRBs and PRB indices never exceed 274. A "PRB" index above that in a log is a CRB index, a subcarrier index, or a decoder bug.
7. Point A, offsetToCarrier and the Common Resource Block Grid
Point A is the frequency-domain origin of the whole cell. It is not required to be inside the carrier, it is not the carrier centre, and it is not where anything is transmitted. It is simply the agreed zero from which every CRB grid is counted, so that the network and the UE can talk about absolute frequency positions without either of them having to know the other's bandwidth configuration.
| IE | Where it appears | Units | Range | What it fixes |
|---|---|---|---|---|
absoluteFrequencyPointA | FrequencyInfoDL in dedicated configuration | ARFCN (NR-ARFCN, 5 kHz or 15 kHz raster by band) | 0 .. 3 279 165 | Point A directly, as an absolute frequency |
offsetToPointA | FrequencyInfoDL-SIB in SIB1 | RBs — 15 kHz RBs for FR1, 60 kHz RBs for FR2 | 0 .. 2199 | Point A indirectly: the offset from the lowest subcarrier of the lowest RB of the SSB the UE used for initial access, down to point A. A UE that has only decoded the SSB can therefore compute point A |
offsetToCarrier | SCS-SpecificCarrier | RBs of that SCS | 0 .. 2199 | How far above point A this SCS's usable carrier starts |
carrierBandwidth | SCS-SpecificCarrier | PRBs of that SCS | 1 .. 275 | How wide the usable carrier is at that SCS |
k_SSB / ssb-SubcarrierOffset | MIB (4 bits) plus one bit from the PBCH payload for FR1 | Subcarriers — 15 kHz units for FR1, SSB SCS units for FR2 | 0 .. 23 (FR1), 0 .. 11 (FR2) | The residual offset between the CRB grid and the SSB's lowest subcarrier, because the SSB sits on the synchronisation raster and the CRB grid does not |
Table 7. Everything that positions the grid. offsetToPointA and k_SSB together are what let a UE bootstrap the entire frequency coordinate system from an SSB alone.
The two-step definition of point A is deliberate. Before SIB1, a UE knows only where the SSB is, because it found it by searching the synchronisation raster. offsetToPointA in SIB1 and k_SSB in the MIB let it work downward from the SSB to point A, and from there it can build the CRB grid and interpret every frequency-domain field in every subsequent message. Get either value wrong in configuration and the symptom is characteristic: the MIB decodes, CORESET#0 is found — it is defined relative to the SSB, not to point A — and then SIB1 or the initial BWP is in the wrong place. See the companion 18 MIB and SIB1 IEs document.
offsetToCarrier RBs; three BWPs are configured and the active one changes twice across ten slots. The initial BWP here is narrower than the carrier because it is sized to CORESET#0.8. Carrier Bandwidth in PRBs: FR1 and FR2
How many RBs fit into a channel bandwidth is not calculated by the UE — it is tabulated per bandwidth and per SCS as the transmission bandwidth configuration N_RB TS 38.101-1 Table 5.3.2-1 and TS 38.101-2 Table 5.3.2-1, with the leftover spectrum becoming guard band. The numbers are what they are because the guard band has to satisfy the spectrum emission mask, not because of any clean formula.
| Channel BW | 15 kHz | 30 kHz | 60 kHz |
|---|---|---|---|
| 5 MHz | 25 | 11 | -- |
| 10 MHz | 52 | 24 | 11 |
| 15 MHz | 79 | 38 | 18 |
| 20 MHz | 106 | 51 | 24 |
| 25 MHz | 133 | 65 | 31 |
| 30 MHz | 160 | 78 | 38 |
| 35 MHz | 188 | 92 | 44 |
| 40 MHz | 216 | 106 | 51 |
| 45 MHz | 242 | 119 | 58 |
| 50 MHz | 270 | 133 | 65 |
| 60 MHz | -- | 162 | 79 |
| 70 MHz | -- | 189 | 93 |
| 80 MHz | -- | 217 | 107 |
| 90 MHz | -- | 245 | 121 |
| 100 MHz | -- | 273 | 135 |
Table 8. FR1 transmission bandwidth configuration N_RB. A dash means the combination is not defined — notably 15 kHz stops at 50 MHz, which is why a 100 MHz FR1 carrier is always 30 kHz or above.
| Channel BW | 60 kHz | 120 kHz |
|---|---|---|
| 50 MHz | 66 | 32 |
| 100 MHz | 132 | 66 |
| 200 MHz | 264 | 132 |
| 400 MHz | -- | 264 |
Table 9. FR2-1 transmission bandwidth configuration N_RB. Rel-17 FR2-2 (52.6–71 GHz) adds 480 kHz and 960 kHz columns and channel bandwidths up to 2000 MHz.
How 100 MHz becomes 273 PRBs at 30 kHz.
Occupied bandwidth = 273 RB × 12 subcarriers × 30 kHz = 98 280 kHz = 98.28 MHz
Total guard = 100 000 − 98 280 = 1 720 kHz, i.e. 860 kHz each side
Minimum guard band per TS 38.101-1 cl. 5.3.3 = (BW×1000 − N_RB·SCS·12)/2 − SCS/2 = 860 − 15 = 845 kHz
Spectral utilisation = 98.28 / 100 = 98.3 %
The − SCS/2 term is there because the carrier is offset by half a subcarrier from the channel centre. The same arithmetic at 20 MHz / 30 kHz gives 51 RB, 18.36 MHz occupied, 805 kHz minimum guard band — and at 100 MHz / 120 kHz in FR2, 66 RB, 95.04 MHz occupied, 2 420 kHz guard.
Turned into a resource count, a 273-PRB carrier at 30 kHz carries 273 × 12 × 14 = 45 864 resource elements per slot, and there are 2 000 slots per second, so the raw grid is 91.7 million REs per second. Reference signals, control, synchronisation and guard consume a substantial fraction of that — commonly 15–25 % depending on DM-RS and CSI-RS density — before any user data is placed. When a throughput figure looks impossible, recompute the RE budget before suspecting the scheduler.
9. Bandwidth Parts
A bandwidth part is a contiguous set of PRBs on a carrier, with its own subcarrier spacing and cyclic prefix, within which a UE operates. It exists for two reasons that pull in the same direction: a UE that only has to receive 20 MHz of a 100 MHz carrier spends far less power in its RF and baseband, and a network that can give different UEs different BWPs can run several numerologies on one carrier without partitioning it statically.
9.1 What is configured, and what is active
- Up to four dedicated BWPs may be configured per serving cell per direction (
maxNrofBWPs = 4), plus the initial BWP which always exists and carriesbwp-Id0. Sobwp-Idranges 0..4. - Exactly one DL BWP and one UL BWP is active at any instant on a serving cell. In TDD they must have the same centre frequency and the same SCS; in FDD they are independent.
- The initial DL BWP is what a UE uses before it has dedicated configuration. Before SIB1 it is effectively CORESET#0's bandwidth and position; SIB1's
initialDownlinkBWPthen defines it explicitly for Msg2/Msg4 and SI reception. firstActiveDownlinkBWP-Idsays which BWP to activate on applying a reconfiguration;defaultDownlinkBWP-Idsays which to fall back to whenbwp-InactivityTimerexpires. IfdefaultDownlinkBWP-Idis absent, the fallback is the initial BWP.
9.2 locationAndBandwidth is a RIV, not a pair
locationAndBandwidth is a single INTEGER (0..37949) that encodes both the start RB and the length, using the resource indicator value formula from TS 38.214 cl. 5.1.2.2.2 evaluated with a fixed N_BWP^size = 275 regardless of the actual carrier width. This is why the numbers look arbitrary in a decoded configuration.
if (L_RBs - 1) <= floor(N / 2):
RIV = N * (L_RBs - 1) + RB_start
else:
RIV = N * (N - L_RBs + 1) + (N - 1 - RB_start)
N = 275 always, for locationAndBandwidth
RB_start = start of the BWP, counted from the lowest usable PRB of the
carrier at this BWP's SCS (i.e. from offsetToCarrier)
L_RBs = number of PRBs, 1 .. 275Decoding three BWPs from the figure in §7.
Initial DL BWP, 24 PRB at carrier PRB 0:
L−1 = 23 ≤ 137 → RIV = 275 × 23 + 0 = 6 325
BWP 1, the whole 51-PRB carrier at carrier PRB 0:
L−1 = 50 ≤ 137 → RIV = 275 × 50 + 0 = 13 750
BWP 2, 11 PRB starting at carrier PRB 24 (= CRB 30 with offsetToCarrier 6):
L−1 = 10 ≤ 137 → RIV = 275 × 10 + 24 = 2 774
Going the other way, from RIV 13 750: L−1 = floor(13750/275) = 50 so L = 51, RB_start = 13750 − 275×50 = 0. The second branch of the formula only engages for L > 138, which is why most real values divide cleanly.
9.3 Switching the active BWP
| Trigger | Mechanism | Latency | When it is used |
|---|---|---|---|
| DCI | Bandwidth part indicator field in DCI format 0_1 (UL) or 1_1 (DL); 0, 1 or 2 bits depending on how many BWPs are configured | One BWP switch delay (see below) before the UE can be scheduled on the new BWP | The normal case. Widen for a burst, narrow again afterwards, without any RRC signalling |
| RRC | RRCReconfiguration carrying firstActiveDownlinkBWP-Id / firstActiveUplinkBWP-Id | RRC processing delay, tens of ms | Adding, removing or re-parameterising BWPs; initial activation on connection setup or handover |
bwp-InactivityTimer | Expires after no PDCCH/PDSCH activity on the active BWP; the UE switches to defaultDownlinkBWP-Id, or to the initial BWP if that is not configured | Immediate on expiry | Power saving. Interacts with DRX — see the companion 11 DRX document |
| Random access | Initiating RA switches the UE to the initial BWP if the active BWP has no PRACH resources | Immediate | Any RACH trigger. This is why a RACH attempt can silently change which BWP subsequent grants refer to |
Table 10. The four ways an active BWP changes. Only the first is fast enough to be used per-burst; only the third happens without the network sending anything.
| µ | Type 1 delay (slots) | Type 2 delay (slots) | Wall clock |
|---|---|---|---|
| 0 (15 kHz) | 1 | 3 | 1 ms / 3 ms |
| 1 (30 kHz) | 2 | 5 | 1 ms / 2.5 ms |
| 2 (60 kHz) | 3 | 9 | 0.75 ms / 2.25 ms |
| 3 (120 kHz) | 6 | 18 | 0.75 ms / 2.25 ms |
Table 11. BWP switch delay TS 38.133 Table 8.6.2-1. Which type applies is a UE capability. The UE is not required to transmit or receive anything during the delay, so a grant issued inside it is simply lost.
Two BWP misconfigurations that both present as coverage problems.
Scheduling inside the switch delay. A scheduler that issues a DCI with a BWP indicator and then schedules on the new BWP too early gets no HARQ feedback at all — the UE was retuning. In a log this is a clean gap: DCI sent, no ACK, no NACK, DTX. The tell is that the gap length matches the BWP switch delay for the UE's numerology and reported capability, and that it happens only immediately after switches.
`bwp-InactivityTimer` with no `defaultDownlinkBWP-Id`. On expiry the UE goes to the initial BWP, which is typically narrow, sized to CORESET#0, and may not carry the UE's dedicated PUCCH or CSI-RS resources. Symptom: throughput collapses to a fraction of nominal after every idle gap of exactly the timer value, and recovers on the next DCI-triggered switch.
10. The SS/PBCH Block Inside the Grid
The SS/PBCH block is the only thing in NR whose position in the grid a UE must be able to find with no prior information at all. It therefore has a rigid, fully specified shape: four consecutive OFDM symbols by 240 contiguous subcarriers — 20 PRBs — with PSS, SSS and PBCH at fixed positions inside that rectangle TS 38.211 cl. 7.4.3.1.
| Symbol l | Subcarriers k = 0..47 | k = 48..55 | k = 56..182 | k = 183..191 | k = 192..239 |
|---|---|---|---|---|---|
| 0 | unused (0) | unused (0) | PSS, 127 subcarriers | unused (0) | unused (0) |
| 1 | PBCH | PBCH | PBCH | PBCH | PBCH |
| 2 | PBCH | unused (0) | SSS, 127 subcarriers | unused (0) | PBCH |
| 3 | PBCH | PBCH | PBCH | PBCH | PBCH |
Table 12. TS 38.211 Table 7.4.3.1-1, laid out by subcarrier range. In symbol 0 everything outside the PSS is set to zero; in symbol 2 only the two narrow guard regions are.
The PBCH DM-RS is interleaved with the PBCH data at a density of one RE in four, on subcarriers k = 4n + ν where ν = N_ID^cell mod 4. The cell identity therefore shifts the DM-RS comb, which is what lets a UE separate two overlapping SSBs from different cells. The DM-RS sequence itself is initialised from the three least-significant bits of the SSB index, so the beam identity is carried by the reference signal rather than by the payload.
From resource elements to the PBCH code rate.
PBCH REs = 240 (symbol 1) + 96 (symbol 2) + 240 (symbol 3) = 576
DM-RS = 576 / 4 = 144 REs
Data REs = 576 − 144 = 432
QPSK → 2 bits per RE → 864 coded bits
The payload going in is 24 bits of MIB + 8 additional timing bits = 32, plus a 24-bit CRC = 56 bits, Polar-encoded and rate-matched to 864. Effective code rate ≈ 56/864 ≈ 0.065 — extraordinarily low, which is the whole point: the MIB has to decode at the cell edge with no prior channel knowledge and no HARQ. See the companion 06 Channel Mapping document for where BCH's fixed coding sits in the channel hierarchy.
| PBCH payload field | Bits | Source | What it is for |
|---|---|---|---|
systemFrameNumber | 6 | MIB | SFN bits 9..4 (most significant) |
| SFN least-significant bits | 4 | PBCH transport payload, added by L1 | SFN bits 3..0 — kept out of the MIB so that four consecutive PBCH transmissions can share one encoded MIB and differ only in scrambling |
| Half-frame bit n_hf | 1 | PBCH transport payload | Which 5 ms half of the frame this SSB burst is in |
ssb-SubcarrierOffset / k_SSB | 4 in MIB (+1 in payload for FR1) | MIB plus payload | Offset from the CRB grid to the SSB, in 15 kHz subcarriers for FR1 |
| SSB index, 3 most-significant bits | 3 | PBCH transport payload, FR2 only (L_max = 64) | Together with the 3 bits carried in the DM-RS sequence, identifies which of 64 beams this is |
Table 13. The 32-bit PBCH payload. For L_max = 4 or 8 the SSB index fits entirely in the DM-RS sequence, so the three payload bits are used differently — one carries the k_SSB most-significant bit and the rest are reserved.
An ssb-SubcarrierOffset value outside the valid k_SSB range (above 23 in FR1) is not an error — it is the encoding that says this SSB has no associated CORESET#0, so there is no SIB1 to be had here and the UE must look elsewhere. A cell search log that shows repeated MIB decodes with no SIB1 attempt is usually reading exactly that. See the companion 18 MIB and SIB1 IEs document.
11. SSB Burst Sets, Candidate Positions and Periodicity
A cell transmits its SSBs as a burst set confined to the first or second 5 ms half-frame of a frame. Within that half-frame the specification defines a set of candidate positions — fixed first-symbol indices at which an SSB may start — and the cell transmits on some subset of them, one per beam. The candidate pattern depends on the SSB subcarrier spacing and the frequency range, and the five patterns are named Case A through Case E TS 38.213 cl. 4.1.
| Case | SSB SCS | Candidate first symbols | n values | L_max | Where it applies |
|---|---|---|---|---|---|
| A | 15 kHz | {2, 8} + 14n | 0, 1 (≤ 3 GHz)
0, 1, 2, 3 (3–7.125 GHz) | 4
8 | FR1 low bands with 15 kHz SSB, e.g. n1, n3 |
| B | 30 kHz | {4, 8, 16, 20} + 28n | 0 (≤ 3 GHz)
0, 1 (3–7.125 GHz) | 4
8 | FR1 bands where the SSB is 30 kHz and packed two per slot pair |
| C | 30 kHz | {2, 8} + 14n | 0, 1 (≤ 3 GHz paired / ≤ 2.4 GHz unpaired)
0, 1, 2, 3 (above that, to 7.125 GHz) | 4
8 | The common FR1 mid-band case — n41, n77, n78, n79 |
| D | 120 kHz | {4, 8, 16, 20} + 28n | 0–3, 5–8, 10–13, 15–18 (16 values) | 64 | FR2 above 6 GHz, e.g. n257, n258, n260, n261 |
| E | 240 kHz | {8, 12, 16, 20, 32, 36, 40, 44} + 56n | 0–3, 5–8 (8 values) | 64 | FR2 above 6 GHz, where 240 kHz SSB is supported |
Table 14. SSB candidate position patterns. L_max — the maximum number of candidate positions in a half-frame — is 4 below 3 GHz, 8 from 3 to 7.125 GHz and 64 above 6 GHz, and it determines the length of the ssb-PositionsInBurst bitmap. Which case a band uses is fixed in TS 38.104 cl. 5.4.3.3.
The gaps in the Case D and Case E n sequences (no 4, 9, 14, 19 in Case D) are not arbitrary: they leave every fifth slot free so that the burst set does not consume the whole half-frame, and so that there is room for control and for the DL/UL switch in a TDD FR2 carrier.
ssb-PositionsInBurst = 1010 1010. Four of the eight candidates carry an SSB, which is what a cell with four beams looks like when it is configured for eight.| Parameter | Values | Typical | Effect |
|---|---|---|---|
ssb-periodicityServingCell | ms5, ms10, ms20, ms40, ms80, ms160 | ms20 | How often the burst set repeats. A UE performing initial access assumes 20 ms whatever this says, so anything longer slows cell search and anything shorter wastes resources on UEs that are not looking |
ssb-PositionsInBurst | shortBitmap 4 bits, mediumBitmap 8 bits, longBitmap 64 bits | matches L_max | Which candidate positions actually carry an SSB. In SIB1 the L_max = 64 form is split into groupPresence (8 bits, which groups of 8) and inOneGroup (8 bits, which positions within each present group) |
| Half-frame bit | 0 or 1 | 0 | Which half-frame the burst set occupies. Carried in the PBCH payload, not in RRC |
ssb-SubcarrierSpacing | kHz15, kHz30, kHz120, kHz240 | kHz30 (FR1) | Selects the Case, together with the band. Note there is no 60 kHz option — SSB is never 60 kHz |
Table 15. SSB burst set configuration. ssb-PositionsInBurst is the field to check first when a UE reports fewer beams than the cell is believed to have.
The 20 ms assumption is a real constraint, not a convention. TS 38.213 cl. 4.1 says a UE may assume a 20 ms SS/PBCH periodicity for the purpose of initial cell selection. Configuring ms40 or ms80 on a cell is legal and saves overhead, but a UE arriving from RRC_IDLE will search on a 20 ms assumption and simply take longer — and the resulting slow, variable initial access looks like coverage trouble in aggregate statistics.
12. GSCN and the Synchronisation Raster
A UE searching for a cell cannot try every frequency. NR therefore defines a coarse synchronisation raster of permitted SSB centre positions, each identified by a Global Synchronisation Channel Number TS 38.104 cl. 5.4.3. The raster is much sparser than the channel raster used for carrier centres, which is the whole point: fewer hypotheses to test.
| Frequency range | SSB reference frequency | N range | GSCN | Raster step |
|---|---|---|---|---|
| 0 – 3 000 MHz | N × 1200 kHz + M × 50 kHz, M ∈ {1, 3, 5} | N = 1 .. 2499 | 3N + (M−3)/2, i.e. 2 .. 7498 | 1.2 MHz, with ±50 kHz sub-positions from M |
| 3 000 – 24 250 MHz | 3 000 MHz + N × 1.44 MHz | N = 0 .. 14756 | 7499 + N, i.e. 7499 .. 22255 | 1.44 MHz — exactly 4 PRBs at 30 kHz, or 2 PRBs at 60 kHz |
| 24 250 – 100 000 MHz | 24 250.08 MHz + N × 17.28 MHz | N = 0 .. 4383 | 22256 + N, i.e. 22256 .. 26639 | 17.28 MHz — exactly 12 PRBs at 120 kHz |
Table 16. The three synchronisation raster regions. The M parameter exists only below 3 GHz, to give LTE-refarmed bands enough placement freedom; above 3 GHz the raster steps are chosen to be whole numbers of PRBs.
Reading a GSCN. A cell reports its SSB at GSCN 7947.
GSCN is above 7499, so we are in the 3–24.25 GHz region:
N = 7947 − 7499 = 448
SS_ref = 3000 MHz + 448 × 1.44 MHz = 3000 + 645.12 = 3 645.12 MHz
That is the centre of the 20-PRB SSB, so the SSB spans 3645.12 ± (120 × 30 kHz) = 3641.52 .. 3648.72 MHz at 30 kHz SCS. On a 100 MHz carrier centred at 3650 MHz, the SSB sits 4.88 MHz below carrier centre — roughly 13.5 PRBs of 30 kHz — which is exactly the kind of offset that offsetToPointA and k_SSB exist to express.
The raster step above 3 GHz being a whole number of PRBs is what keeps k_SSB small. Because 1.44 MHz = 4 × 360 kHz, an SSB placed on the raster is already nearly aligned to the 30 kHz CRB grid, so the residual misalignment k_SSB has to express is at most a few subcarriers. Below 3 GHz, where the 50 kHz M-offsets exist, the residual can be larger — which is why k_SSB is measured in 15 kHz units there and needs five bits rather than four.
13. TDD DL/UL Patterns and the Guard Period
Most NR deployments are TDD, so downlink and uplink share the frequency and are separated in time. Every OFDM symbol is therefore designated downlink (D), uplink (U) or flexible (F). The semi-static cell-wide designation comes from tdd-UL-DL-ConfigurationCommon in SIB1, which is where the phrase "TDD pattern" almost always refers to.
TDD-UL-DL-ConfigCommon ::= SEQUENCE {
referenceSubcarrierSpacing SubcarrierSpacing,
pattern1 TDD-UL-DL-Pattern,
pattern2 TDD-UL-DL-Pattern OPTIONAL,
...
}
TDD-UL-DL-Pattern ::= SEQUENCE {
dl-UL-TransmissionPeriodicity ENUMERATED {ms0p5, ms0p625, ms1,
ms1p25, ms2, ms2p5, ms5,
ms10},
nrofDownlinkSlots INTEGER (0..maxNrofSlots), -- 0..320
nrofDownlinkSymbols INTEGER (0..maxNrofSymbols-1), -- 0..13
nrofUplinkSlots INTEGER (0..maxNrofSlots),
nrofUplinkSymbols INTEGER (0..maxNrofSymbols-1),
...,
[[ dl-UL-TransmissionPeriodicity-v1530 ENUMERATED {ms3, ms4} OPTIONAL ]]
}Listing 1. Abridged from TS 38.331. ... marks extension markers. ms3 and ms4 were added in Rel-15 late-drop as an extension, which is why they sit outside the original enumeration.
13.1 How the four counters divide a period
The encoding is positional and there is no bitmap. Within each period, counting in slots of referenceSubcarrierSpacing:
1. The first nrofDownlinkSlots slots are entirely downlink.
2. In the slot immediately after those, the first nrofDownlinkSymbols symbols are downlink.
3. The last nrofUplinkSlots slots are entirely uplink.
4. In the slot immediately before those, the last nrofUplinkSymbols symbols are uplink.
5. Everything left over — necessarily in the middle, and necessarily contiguous — is flexible. That leftover is the guard period.
DDDSU decoded symbol by symbol. The 'S' slot is not a special slot type in NR the way it was in LTE — it is simply the slot in which the four counters happen to meet.Decoding DDDSU at 30 kHz, and what the guard period buys.
dl-UL-TransmissionPeriodicity = ms2p5 → 2.5 ms → 5 slots at 30 kHz
nrofDownlinkSlots = 3 → slots 0, 1, 2 all D (42 symbols)
nrofDownlinkSymbols = 10 → slot 3 symbols 0..9 are D
nrofUplinkSlots = 1 → slot 4 all U (14 symbols)
nrofUplinkSymbols = 2 → slot 3 symbols 12, 13 are U
leftover → slot 3 symbols 10, 11 are F
Symbol budget: 52 D, 2 F, 16 U out of 70 → 74.3 % DL, 22.9 % UL, 2.9 % guard
Guard period = 2 × 35.677 µs = 71.4 µs. That has to cover the round-trip propagation delay of the furthest UE plus its Tx/Rx switching time, so the geometric limit is roughly
c × 71.4 µs / 2 = 3×10^8 × 71.4×10^-6 / 2 ≈ 10.7 km
and rather less once switching time and any repeater delay is subtracted.
| Pattern | Periodicity | Counters (DL slots / DL sym / UL sym / UL slots) | DL : F : UL symbols | Where it fits |
|---|---|---|---|---|
DDDSU | ms2p5 at 30 kHz (5 slots) | 3 / 10 / 2 / 1 | 52 : 2 : 16 | The FR1 mid-band workhorse. Four periods per frame, so it is frame-aligned |
DDDDDDDSUU | ms5 at 30 kHz (10 slots) | 7 / 6 / 4 / 2 | 104 : 4 : 32 | DL-heavy eMBB with a slightly larger guard; two periods per frame |
DSUUU | ms2p5 at 30 kHz (5 slots) | 1 / 4 / 6 / 3 | 18 : 4 : 48 | Uplink-heavy: fixed wireless access, video upload, uplink-limited coverage |
DDDSU + DDSUU | ms2p5 + ms2p5 = 5 ms | pattern1 3/10/2/1, pattern2 2/10/2/2 | combined 5 ms | pattern2 exists so two unequal halves can add to a period that divides 10 ms |
DDDSU | ms0p625 at 120 kHz (5 slots) | 3 / 10 / 2 / 1 | 52 : 2 : 16 | The FR2 equivalent. Same shape, one eighth the wall-clock duration, so the guard is 8.9 µs and the cell is small |
Table 17. Common patterns. The counters are the same numbers at FR1 and FR2 — what changes is what a slot is worth in microseconds, and therefore the cell radius the guard period allows.
Two traps sit in this configuration, one loud and one silent.
Loud. The pattern must tile 20 ms without a remainder, which is why pattern2 exists: ms0p625, ms1p25 and ms2p5 do not on their own divide the frame into a whole number of pattern pairs in every configuration, and the two patterns together must sum to 5 ms or 10 ms. A configuration that violates this is rejected, and it surfaces as an RRC reconfiguration failure with no obvious cause rather than as a scheduling problem.
Silent. Neighbouring TDD cells on the same frequency must use compatible patterns and be time-synchronised, or one cell's downlink transmits into the other's uplink reception. The symptom is asymmetric: uplink SINR that degrades in step with the neighbour's downlink activity, worst at cell edge, and completely absent from downlink statistics. Cross-link interference of this kind cannot be fixed from the victim cell.
14. Slot Format Indication: Who Wins
On top of the cell-wide semi-static pattern there are two further layers that can pin down flexible symbols: a UE-specific semi-static override, and a dynamic group-common indication. The precedence rules TS 38.213 cl. 11.1 are strict and asymmetric, and getting them the wrong way round is a standard source of confusion.
14.1 The three layers
| Layer | Signalling | Scope | What it may change |
|---|---|---|---|
| Cell-wide semi-static | tdd-UL-DL-ConfigurationCommon in SIB1 | Every UE in the cell | Sets D / U / F for every symbol in the period. D and U set here are immovable |
| UE-specific semi-static | tdd-UL-DL-ConfigurationDedicated in ServingCellConfig | One UE | May turn flexible symbols into D or U, per slot, via slotSpecificConfigurationsToAddModList with allDownlink, allUplink or an explicit symbol split. May not touch symbols the common configuration fixed |
| Dynamic | Slot Format Indicator in DCI format 2_0, CRC scrambled by SFI-RNTI | A group of UEs monitoring the same search space | May designate flexible symbols as D, U or unused for the indicated slots, by pointing at a slotFormatCombinationId. May not override either semi-static layer |
Table 18. Precedence runs top to bottom and each layer may only act on what the layer above left flexible.
A slot format is an index into TS 38.213 Table 11.1.1-1, which enumerates the useful D/F/U arrangements of 14 symbols. Format 0 is all downlink, format 1 all uplink, format 2 all flexible; the remaining defined formats are the practical mixtures — leading downlink with a trailing gap, leading gap with trailing uplink, and so on. DCI 2_0 does not carry a format directly: it carries an index into a configured list of slotFormatCombinations, each of which is a sequence of formats covering the SFI monitoring periodicity, so one DCI can describe several slots at once.
Flexible symbols left flexible are not wasted — they are simply available. A UE will use a flexible symbol for whatever it is scheduled to do there: receive a PDSCH if a DCI says so, transmit a PUSCH if a grant says so, or nothing at all. The value of leaving symbols flexible is that the scheduler keeps the choice; the cost is that the UE must monitor for both possibilities and cannot micro-sleep through them.
Symbols the common configuration marked D or U are not merely prioritised over SFI — they are outside SFI's reach entirely. A common misconfiguration is to write a cell-wide pattern with very few flexible symbols and then attempt to run dynamic TDD on top; the DCI 2_0 is transmitted, the UE receives it, and nothing changes. In a log this looks like the SFI being ignored, and it is — correctly.
15. Mini-Slots and Non-Slot-Based Scheduling
A transmission does not have to occupy a slot. NR defines two PDSCH time-domain mapping types, and the second one is what "mini-slot" informally means:
| Mapping type A (slot-based) | Mapping type B (non-slot-based) | |
|---|---|---|
| Start symbol S | 0, 1, 2 or 3 only — the DM-RS is at a fixed position near the slot start | Any symbol 0..13 |
| Length L | 3..14 symbols, and S + L must not exceed the slot | 2, 4 or 7 symbols for PDSCH in Rel-15; extended in later releases |
| DM-RS position | Fixed relative to the slot boundary | Fixed relative to the allocation start, so the estimate is available immediately |
| Latency behaviour | A packet arriving mid-slot waits for the next slot boundary | A packet can be scheduled in the next available symbol |
| Where it is used | The default for eMBB — larger transport blocks, better DM-RS overhead ratio | URLLC, and any case where a slot's worth of delay matters. Also how PDSCH squeezes around an SSB or a CORESET |
Table 19. PDSCH mapping types TS 38.214 cl. 5.1.2.1. PUSCH has the analogous split, with type B allowing lengths 1..14.
The cost of mini-slots is DM-RS overhead: a 2-symbol allocation still needs at least one DM-RS symbol, so half the allocation is reference signal. That is an acceptable price for a 4-symbol URLLC transmission and an unacceptable one for bulk data, which is exactly why both mapping types exist rather than one replacing the other. See the companion 08 Scheduling document for how the time-domain resource allocation tables encode (S, L) pairs.
16. Parameter Reference: ASN.1 and Ranges
ServingCellConfigCommonSIB ::= SEQUENCE {
downlinkConfigCommon DownlinkConfigCommonSIB,
uplinkConfigCommon UplinkConfigCommonSIB OPTIONAL,
ssb-PositionsInBurst SEQUENCE {
inOneGroup BIT STRING (SIZE (8)),
groupPresence BIT STRING (SIZE (8)) OPTIONAL
},
ssb-PeriodicityServingCell ENUMERATED {ms5, ms10, ms20, ms40,
ms80, ms160},
tdd-UL-DL-ConfigurationCommon TDD-UL-DL-ConfigCommon OPTIONAL,
ss-PBCH-BlockPower INTEGER (-60..50),
...
}
FrequencyInfoDL-SIB ::= SEQUENCE {
frequencyBandList MultiFrequencyBandListNR-SIB,
offsetToPointA INTEGER (0..2199),
scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF
SCS-SpecificCarrier,
...
}
SCS-SpecificCarrier ::= SEQUENCE {
offsetToCarrier INTEGER (0..2199),
subcarrierSpacing SubcarrierSpacing,
carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks),
... -- maxNrofPhysicalResourceBlocks = 275
}
BWP ::= SEQUENCE {
locationAndBandwidth INTEGER (0..37949),
subcarrierSpacing SubcarrierSpacing,
cyclicPrefix ENUMERATED {extended} OPTIONAL
}
BWP-DownlinkDedicated ::= SEQUENCE {
pdcch-Config SetupRelease {PDCCH-Config} OPTIONAL,
pdsch-Config SetupRelease {PDSCH-Config} OPTIONAL,
...
}
-- inside ServingCellConfig:
-- downlinkBWP-ToAddModList SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink
-- firstActiveDownlinkBWP-Id BWP-Id -- BWP-Id ::= INTEGER (0..4)
-- defaultDownlinkBWP-Id BWP-Id
-- bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8,
-- ms10, ms20, ms30, ms40, ms50,
-- ms60, ms80, ms100, ms200, ms300,
-- ms500, ms750, ms1280, ms1920,
-- ms2560, spare10 ... spare1}Listing 2. Abridged from TS 38.331. Enumerations are quoted in full where they matter for reading a log and marked with ... where they are cut.
| Parameter | Range or values | Typical | Effect if changed |
|---|---|---|---|
subcarrierSpacing | kHz15, kHz30, kHz60, kHz120, kHz240 (kHz480, kHz960 in Rel-17) | kHz30 in FR1, kHz120 in FR2 | Rescales slot and symbol duration, CP length and RB width. Changes the meaning of every slot and symbol index |
cyclicPrefix | absent (normal) or extended | absent | extended is only legal at 60 kHz; it drops the slot to 12 symbols and costs about 14 % of the payload |
offsetToPointA | 0 .. 2199 RBs (15 kHz for FR1, 60 kHz for FR2) | band and carrier dependent | Shifts the whole CRB grid relative to the SSB. Wrong value: MIB decodes, SIB1 or the initial BWP is not found |
offsetToCarrier | 0 .. 2199 RBs of that SCS | 0 | Moves the usable carrier up from point A. Interacts with carrierBandwidth — the two together must stay inside the licensed block |
carrierBandwidth | 1 .. 275 PRBs | 273 for 100 MHz at 30 kHz | The count from the TS 38.101 table. A larger value than the table allows fails the emission mask |
locationAndBandwidth | 0 .. 37949 (RIV with N = 275) | carrier dependent | Start and width of a BWP in one integer. A BWP that runs past the carrier makes the configuration invalid |
bwp-Id | 0 .. 4 (0 = initial) | 0, 1 | Selects which BWP a dedicated configuration belongs to. Referenced by the DCI BWP indicator |
bwp-InactivityTimer | ms2 .. ms2560 | ms20 – ms100 | Power saving against responsiveness. Without defaultDownlinkBWP-Id the fallback is the narrow initial BWP |
referenceSubcarrierSpacing | kHz15 .. kHz120 | matches the data SCS | The SCS the TDD pattern counters are expressed in. Must be no larger than the SCS of any configured BWP |
dl-UL-TransmissionPeriodicity | ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10 (+ ms3, ms4) | ms2p5 (FR1), ms0p625 (FR2) | Sets how often the D/F/U pattern repeats and therefore the maximum uplink latency |
nrofDownlinkSymbols / nrofUplinkSymbols | 0 .. 13 each | 10 / 2 | Together with the slot counters, determines the guard period and therefore the cell radius |
ss-PBCH-BlockPower | −60 .. 50 dBm | typically 10 – 20 dBm per RE | The EPRE the UE assumes for the SSB when converting RSRP to pathloss. Wrong value biases every open-loop power calculation in the cell |
Table 20. Frame-structure parameters, their ranges, and what breaks when they are wrong. Typical values are what many vendors ship, not specification requirements.
| Quantity | Values | Expressed in | What it interacts with |
|---|---|---|---|
| SFN wrap | 10.24 s | 1024 frames | Every periodicity that is anchored to the SFN; hyper-frames extend it for Rel-17 eDRX |
ssb-periodicityServingCell | 5 .. 160 ms | milliseconds | SMTC windows, measurement periods, initial access time. See the companion 21 Measurement Gaps and SMTC document |
dl-UL-TransmissionPeriodicity | 0.5 .. 10 ms | milliseconds | Scheduling request latency, HARQ round-trip time, PRACH occasion placement |
| BWP switch delay | 1 .. 18 slots | slots of the target numerology | Scheduler blackout after a DCI-triggered switch |
bwp-InactivityTimer | 2 .. 2560 ms | milliseconds | DRX cycles — the two timers should not be set so that the BWP collapses inside an on-duration |
ra-ResponseWindow | sl1 .. sl80 | slots of the PRACH SCS | Wall-clock RAR window length changes with µ. sl10 is 10 ms at 15 kHz and 1.25 ms at 120 kHz |
Table 21. Periodicities and delays whose wall-clock value depends on the numerology. Every one of these is a slot count or a frame count somewhere in the specification, not a duration.
17. Failure Modes and Misconfigurations
| Failure | Detected by | Immediate effect | Diagnostic pointer |
|---|---|---|---|
referenceSubcarrierSpacing larger than a configured BWP's SCS | UE RRC, at configuration | Configuration treated as invalid; RRCReconfigurationFailure or reversion to the old configuration | The reference SCS must be no larger than every BWP SCS, because the pattern has to be expressible in that BWP's slots. Check the combination, not either value alone |
| Guard period shorter than the round-trip delay of the cell edge | gNB PHY (uplink) and the UE indirectly | Far UEs' uplink transmissions overlap the following downlink; their PUSCH fails while near UEs are unaffected | Correlate uplink BLER against reported timing advance. A cell where only high-N_TA UEs fail on uplink is a guard-period problem, not a coverage one. See §13 arithmetic and the companion 04 Timing Advance document |
offsetToPointA or k_SSB wrong | UE, silently — it simply looks in the wrong place | MIB decodes (it is found from the SSB), CORESET#0 is found (it is defined relative to the SSB), SIB1 and the initial BWP are not | The signature is MIB-yes / SIB1-no with good RSRP. Recompute point A from the SSB position and compare against the configured value |
| Active BWP contains no SSB | UE, at measurement time | The UE cannot measure its own serving cell for RLM or beam management while that BWP is active | Check that every dedicated BWP either contains the SSB or that measurement is arranged some other way. Symptom: RLM out-of-sync indications that track BWP activity |
bwp-InactivityTimer with no defaultDownlinkBWP-Id | Neither side — the network keeps scheduling on the old BWP | UE falls back to the narrow initial BWP; grants on the wide BWP are not received | Throughput collapse at exactly the timer interval after activity stops, recovering on the next DCI switch |
| Scheduling inside the BWP switch delay | gNB, as missing HARQ feedback | Grant lost; DTX rather than NACK | Gap length equals the switch delay for the UE's µ and capability, and occurs only after switches |
| Dynamic SFI attempting to override semi-static D or U | Nobody — the UE discards it correctly | No change in behaviour; the DCI 2_0 has no effect | Count flexible symbols in the common pattern. If there are none, dynamic TDD cannot do anything |
ssb-periodicityServingCell longer than 20 ms | Aggregate statistics only | Initial access and cell reselection slow down, variably | A UE assumes 20 ms for initial selection TS 38.213 cl. 4.1. Look for long, high-variance initial access times with normal RSRP |
| Extended CP configured outside 60 kHz | UE RRC, at configuration | Invalid configuration | Extended CP exists only at µ = 2. Anywhere else this is a template error |
| Neighbour TDD pattern or timing mismatch | Only from uplink statistics in the victim cell | Cross-link interference: neighbour downlink lands in this cell's uplink | Uplink SINR degradation correlated with neighbour downlink load, worst at cell edge, invisible in downlink metrics. Not fixable in the victim cell |
Table 22. Frame-structure failures. Note how many of them are silent on the side that causes them — the frame structure is agreed by configuration, not negotiated, so a mismatch shows up as absence rather than as an error.
Three of these — a short guard period, a wrong offsetToPointA, and a missing defaultDownlinkBWP-Id — produce symptoms that look like radio problems and are not. All three are cheap to rule out arithmetically before you go looking at coverage, and all three would otherwise cost days.
18. Illustrative Traces
Illustrative trace. Field names and encodings follow 3GPP; the values are constructed for this document and are not a capture from any deployed or lab network.
18.1 Cell search: from SSB detection to a frame number
09:41:22.104 [PHY] SSB search, GSCN 7947 (3645.12 MHz), SCS 30 kHz, Case C
PSS correlation peak N_ID2 = 1 RSRP -88.4 dBm
SSS decode N_ID1 = 143
-> N_ID_cell = 3 * 143 + 1 = 430
DM-RS sequence -> i_SSB = 2 -- 3 LSBs of SSB index
L_max = 8 (3-7.125 GHz) -> SSB index = i_SSB = 2
first symbol of block = 2 + 14*1 = 16 -> slot 1, symbol 2
09:41:22.107 [PHY] PBCH decode OK, 56 bits, Polar, E = 864
payload (non-MIB bits)
SFN LSBs (4) ......... 0b0110 = 6
half-frame bit n_hf .. 0 -- first half-frame
k_SSB MSB ............ 0
MIB
systemFrameNumber .... 0b010011 = 19 -- SFN MSBs
subCarrierSpacingCommon scs30or120
ssb-SubcarrierOffset . 6
dmrs-TypeA-Position .. pos2
pdcch-ConfigSIB1
controlResourceSetZero 9
searchSpaceZero ....... 0
cellBarred ........... notBarred
intraFreqReselection . allowed
09:41:22.107 [PHY] SFN assembled = (19 << 4) | 6 = 310
k_SSB = (0 << 4) | 6 = 6 -> 6 * 15 kHz = 90 kHz above the CRB grid
frame boundary located; slot and symbol counting can beginListing 3. The SFN is assembled from two places and the SSB index from two places. Both splits exist so that PBCH can be re-encoded rarely and still carry fine timing.
18.2 The frame structure as SIB1 describes it
SIB1
servingCellConfigCommon
downlinkConfigCommon
frequencyInfoDL
offsetToPointA ................. 86 -- in 15 kHz RBs, FR1
scs-SpecificCarrierList[0]
offsetToCarrier ............... 0
subcarrierSpacing ............. kHz30
carrierBandwidth .............. 273 -- 100 MHz at 30 kHz
initialDownlinkBWP
genericParameters
locationAndBandwidth .......... 12952 -- RIV: L=48, RB_start=27
subcarrierSpacing ............. kHz30
pdcch-ConfigCommon ............. (CORESET#0 + searchSpaceZero)
uplinkConfigCommon
frequencyInfoUL
scs-SpecificCarrierList[0]
offsetToCarrier ............... 0
subcarrierSpacing ............. kHz30
carrierBandwidth .............. 273
ssb-PositionsInBurst
inOneGroup .................... 0b10101010 -- 4 of 8 candidates used
ssb-PeriodicityServingCell ...... ms20
ss-PBCH-BlockPower .............. 18 -- dBm per RE
tdd-UL-DL-ConfigurationCommon
referenceSubcarrierSpacing ..... kHz30
pattern1
dl-UL-TransmissionPeriodicity . ms2p5
nrofDownlinkSlots ............. 3
nrofDownlinkSymbols ........... 10
nrofUplinkSlots ............... 1
nrofUplinkSymbols ............. 2
-- derived by the UE:
-- 5 slots per period, 4 periods per frame, 20 slots per frame
-- slots 0,1,2 D | slot 3 = 10D + 2F + 2U | slot 4 U (repeat x4)
-- SSB lowest RB = 86 / 2 = CRB 43 on the 30 kHz grid, so CRB 43..62
-- CORESET#0 (controlResourceSetZero 9) = 48 RB, offset 16 -> CRB 27..74
-- initial DL BWP = CRB 27 .. 74, i.e. the same 48 RB as CORESET#0
-- RIV check: 275 * (48-1) + 27 = 12925 + 27 -> 12952Listing 4. Everything a UE needs in order to start counting slots and to know which of them it may transmit in. offsetToPointA is in 15 kHz RBs even though the carrier is 30 kHz — a standing source of off-by-two errors.
18.3 A BWP switch, done correctly
10:02:17.4405 [MAC] C-RNTI 0x4A11 active DL BWP = 1 (273 PRB)
10:02:17.4405 [MAC] no PDCCH for this UE since 10:02:17.3405
10:02:17.4405 [MAC] bwp-InactivityTimer (ms100) expired
-> switch to defaultDownlinkBWP-Id = 2 (51 PRB from CRB 100)
-> UE unavailable for 2 slots (type 1 delay, mu=1) = 1.0 ms
10:02:19.1200 [MAC] DL data arrival, 1.4 MB buffered
10:02:19.1205 [PHY-DL] DCI 1_1, C-RNTI 0x4A11, on BWP 2
bandwidthPartIndicator ...... 1 -- switch to BWP 1
freqDomainResourceAssignment (interpreted on BWP 1)
timeDomainResourceAssignment k0 = 2
10:02:19.1205 [MAC] BWP switch 2 -> 1 requested
-> UE retunes; no Tx/Rx expected for 2 slots
10:02:19.1215 [PHY-DL] first PDSCH on BWP 1, 264 PRB, MCS 22
10:02:19.1225 [PHY-UL] HARQ-ACK received -- switch completed cleanly
-- note: the DCI at .1205 both commanded the switch AND scheduled data.
-- k0 = 2 places the PDSCH exactly one switch delay after the DCI, which
-- is the minimum legal value here. k0 = 1 would have been lost.Listing 5. A correct DCI-triggered switch. The scheduler's k0 has to be at least the BWP switch delay, and here it is exactly that.
18.4 A failure: uplink grant on a downlink symbol
11:37:02.0000 [RRC] tdd-UL-DL-ConfigurationCommon applied
referenceSubcarrierSpacing .. kHz15 -- (!) cell is 30 kHz
pattern1 ms2p5 / 3 DL slots / 10 DL sym / 2 UL sym / 1 UL slot
11:37:02.0000 [UE-MAC] reference SCS kHz15, active UL BWP SCS kHz30
period ms2p5 at 15 kHz = 2.5 slots -> non-integer
-> pattern cannot be expressed; configuration rejected
11:37:02.0010 [UE-RRC] RRCReconfigurationFailure, no cause IE
-> UE reverts to the previous configuration
-- second, subtler variant of the same class of fault --
11:44:18.2500 [gNB-MAC] UL grant issued, C-RNTI 0x4A11
slot 3, symbols 8..13, 6 PRB
11:44:18.2500 [UE-MAC] slot 3 symbols 0..9 are semi-static DOWNLINK
grant overlaps 8 and 9 -> UL transmission not permitted
(TS 38.213 cl. 11.1: UE does not transmit in a symbol
configured as downlink)
11:44:18.2500 [UE-MAC] grant dropped, nothing transmitted
11:44:18.2600 [gNB-MAC] PUSCH decode failed, no energy detected
11:44:18.2600 [gNB-MAC] -> HARQ retransmission scheduled, same symbols
11:44:18.2700 [gNB-MAC] PUSCH decode failed, no energy detected
... repeats to maxHARQ-Tx ...
-- the gNB sees 'no energy', which reads as coverage. It is arithmetic:
-- nrofDownlinkSymbols = 10 means symbols 0..9 of slot 3 are DL, and the
-- earliest legal UL symbol in that slot is 12.Listing 6. Two frame-structure faults with completely different signatures: one fails loudly at configuration time, the other silently as uplink that never arrives.
The second half of that trace is worth internalising. A gNB reporting "no energy detected" on a PUSCH it granted is not evidence about the radio link — a UE that is forbidden to transmit produces exactly the same observation as a UE that is out of coverage. Check the symbol allocation against the TDD pattern before you check anything else.
19. Release Deltas: Rel-15 to Rel-18
| Release | Change | Why it matters when reading frame structure |
|---|---|---|
| Rel-15 | µ = 0..4, normal and extended CP, CRB/PRB/VRB, point A, bandwidth parts, SSB Cases A–E, semi-static and dynamic TDD | The baseline. Everything in §2 to §15 except where noted is Rel-15. |
| Rel-15 late drop | ms3 and ms4 TDD periodicities as an ASN.1 extension | They appear outside the original enumeration, so an older decoder shows them as an unknown extension rather than a value. |
| Rel-16 | NR-U: 20 MHz LBT sub-bands, RB sets, and DCI 2_0 extended to carry available-RB-set and channel-occupancy-time indications | A symbol can now be unusable because the channel was busy, not because of the TDD pattern. Two different reasons for an empty symbol. |
| Rel-16 | Cross-link interference and remote interference management framework; DCI 2_4 uplink cancellation | Uplink can be pre-empted mid-slot by a higher-priority UE, so an absent PUSCH is not necessarily a failure. |
| Rel-17 | µ = 5 (480 kHz) and µ = 6 (960 kHz) for FR2-2 (52.6–71 GHz), with new SSB cases and channel bandwidths up to 2000 MHz | Slot durations down to 15.6 µs. Any tool that assumes µ ≤ 4 or 275 PRBs at 120 kHz needs checking. |
| Rel-17 | RedCap: reduced UE bandwidth, separate initialDownlinkBWP-RedCap / initialUplinkBWP-RedCap | Two UE classes can have different initial BWPs in the same cell, so "the initial BWP" is no longer a single object. |
| Rel-17 | Extended idle-mode DRX with a hyper-frame counter | Timing beyond the 10.24 s SFN wrap becomes visible in signalling for the first time. |
| Rel-17 | NTN: long propagation delays, common timing advance, UE-specific K_offset applied to all uplink timing relationships | Uplink timing relationships that were fixed offsets in slots now carry an additional configured offset. |
| Rel-18 | Network-controlled repeaters with side-control information including a beam and an on/off pattern aligned to the TDD pattern | The effective guard-period requirement now includes repeater switching, so the §13 radius arithmetic is optimistic where repeaters are deployed. |
| Rel-18 | Further FR2-2 refinement, subband non-overlapping full duplex study and specification work | The assumption that a symbol has one direction cell-wide is being relaxed in specific configurations. |
Table 23. Frame-structure changes by release. Feature presence should always be confirmed against the UE capability exchange — see the companion 26 UE Capability document.
20. Reading Frame Structure in Logs: A Checklist
1. Establish µ first, for each direction and each BWP. Every slot and symbol index in the log is relative to it. If the log prints a timestamp and a slot number, check that they agree: slot n starts at n × 1/(2^µ) ms into the frame.
2. Convert the SFN to a wall clock and check for a wrap. SFN wraps every 10.24 s. If you are comparing events across more than ten seconds, or across a node restart, the SFN alone is ambiguous.
3. Reconstruct the TDD pattern symbol by symbol from the four counters (§13). Write out the D/F/U string for one period. Almost every "unexplained uplink failure" resolves here.
4. Check `referenceSubcarrierSpacing` against every BWP's SCS. It must be no larger. A mismatch either fails at configuration time or silently shifts every boundary by a factor of two.
5. Compute the guard period in microseconds and convert it to kilometres. Compare against the largest timing advance you see in the cell. If UEs exist beyond the guard-period radius, their uplink cannot work and no amount of power will fix it.
6. Verify point A independently. From the SSB's GSCN, offsetToPointA and k_SSB, compute where CRB 0 must be, and check that CORESET#0 and the initial BWP land where the configuration says. MIB-decodes-but-SIB1-fails is the signature of getting this wrong.
7. Track the active BWP as a state variable over time. Note every DCI with a BWP indicator, every bwp-InactivityTimer expiry and every RACH trigger. A PRB index means nothing until you know which BWP was active when it was printed.
8. After any BWP switch, allow for the switch delay (§9.3) before expecting the UE to respond. A DTX gap exactly one switch delay long is not a radio event.
9. Cross-check the SSB burst. ssb-PositionsInBurst says how many beams the cell claims; the UE's measurement reports say how many it found. A persistent shortfall is either a beam that is not being transmitted or a measurement window that does not cover it — see the companion 21 Measurement Gaps and SMTC document.
10. When a symbol appears unused, enumerate the reasons in order: semi-static flexible and unscheduled; SFI marked it unused; a Rel-16 LBT failure on an unlicensed carrier; uplink cancellation by DCI 2_4; or the BWP switch delay. They look identical and have nothing in common.
21. Glossary
| Term | Expansion | Meaning in this document |
|---|---|---|
| µ | Numerology index | The exponent in SCS = 15·2^µ kHz, 0..4 in Rel-15 and 0..6 from Rel-17. Determines slot duration, CP length and RB width. |
| T_c | NR basic time unit | 1/(480 000 × 4096) s ≈ 0.509 ns. Every CP length and timing offset is an integer number of these. |
| T_s | LTE basic time unit | 1/(15 000 × 2048) s ≈ 32.552 ns. Retained only so that κ = T_s/T_c = 64 can appear in the formulas. |
| κ (kappa) | -- | The constant 64. A pure unit conversion between T_s and T_c; it carries no physical meaning of its own. |
| RE | Resource element | One subcarrier in one OFDM symbol, (k, l). Carries one modulation symbol. |
| RB | Resource block | 12 consecutive subcarriers. A frequency-domain object only — the definition says nothing about time. |
| CRB | Common resource block | An RB numbered from point A on a per-SCS grid. The absolute frequency reference (§6). |
| PRB | Physical resource block | An RB numbered from the start of a bandwidth part. What a grant's frequency allocation counts in. |
| VRB | Virtual resource block | An RB index that is mapped to a PRB either directly or through an interleaver, for frequency diversity. |
| Point A | -- | The frequency-domain origin of every CRB grid on a carrier. Not necessarily inside the carrier, and never transmitted on. |
| BWP | Bandwidth part | A contiguous PRB range with its own SCS and CP within which a UE operates. Up to four configured, one active per direction (§9). |
| RIV | Resource indicator value | The single-integer encoding of (start, length) used by locationAndBandwidth with N = 275. |
| CP | Cyclic prefix | A copy of the end of a symbol prepended to its start, absorbing multipath delay spread. Normal everywhere; extended only at 60 kHz. |
| SFN | System Frame Number | The 10-bit radio frame counter, 0..1023, wrapping every 10.24 s. Six bits from the MIB, four from the PBCH payload. |
| SSB | SS/PBCH block | 4 symbols × 20 PRB carrying PSS, SSS and PBCH. The only structure a UE can find with no prior information (§10). |
| L_max | -- | The maximum number of SSB candidate positions in a half-frame: 4, 8 or 64 depending on frequency. Sets the ssb-PositionsInBurst bitmap length. |
| GSCN | Global Synchronisation Channel Number | An index into the coarse synchronisation raster of permitted SSB positions (§12). |
| k_SSB | -- | The residual subcarrier offset between the CRB grid and the SSB's lowest subcarrier. 0..23 in FR1, in 15 kHz units. |
| SFI | Slot Format Indicator | The field in DCI format 2_0 that dynamically designates flexible symbols. Cannot override semi-static D or U (§14). |
| Guard period | -- | The flexible symbols between downlink and uplink in a TDD period. Its length is the cell's round-trip delay budget. |
| FR1 / FR2 | Frequency Range 1 / 2 | 410 MHz – 7.125 GHz and 24.25 – 52.6 GHz. Rel-17 adds FR2-2, 52.6 – 71 GHz. |
22. References
- 3GPP TS 38.211 — Physical channels and modulation. Clause 4.1 (basic time units T_c, T_s, κ), 4.2 (numerologies, Table 4.2-1), 4.3 (frames, subframes, slots, Tables 4.3.2-1 and 4.3.2-2), 4.4 (resource grid, CRB/PRB/VRB, point A), 5.3.1 (OFDM baseband generation and cyclic prefix lengths), 7.3.1.6 (VRB-to-PRB mapping), 7.4.3.1 (SS/PBCH block resource mapping, Table 7.4.3.1-1).
- 3GPP TS 38.213 — Physical layer procedures for control. Clause 4.1 (SSB candidate positions, Cases A–E, the 20 ms initial-access assumption), 11.1 (slot configuration, D/F/U determination, slot formats, Table 11.1.1-1), 12 (bandwidth part operation), 13 (CORESET#0 and searchSpaceZero, and the k_SSB no-SIB1 encoding).
- 3GPP TS 38.214 — Physical layer procedures for data. Clause 5.1.2.1 (PDSCH mapping types A and B), 5.1.2.2 (resource allocation, including the RIV formula used by
locationAndBandwidth), 6.1.2 (the PUSCH equivalents). - 3GPP TS 38.104 — Base station radio transmission and reception. Clause 5.4.2 (NR-ARFCN and the channel raster), 5.4.3 (the synchronisation raster and GSCN), 5.4.3.3 (which SSB case applies per band).
- 3GPP TS 38.101-1 / TS 38.101-2 — UE radio transmission and reception, Range 1 / Range 2. Clause 5.3.2 (transmission bandwidth configuration N_RB), 5.3.3 (minimum guard band).
- 3GPP TS 38.133 — Requirements for support of radio resource management. Clause 8.6.2 (bandwidth part switch delay, Table 8.6.2-1).
- 3GPP TS 38.331 — RRC protocol specification.
ServingCellConfigCommonandServingCellConfigCommonSIB,FrequencyInfoDLandFrequencyInfoDL-SIB,SCS-SpecificCarrier,BWP/BWP-Downlink/BWP-Uplink,BWP-Id,TDD-UL-DL-ConfigCommonandTDD-UL-DL-ConfigDedicated,MIB. - 3GPP TS 38.300 — NR overall description. Clause 5.1 (physical layer overview), 5.3 (bandwidth parts), 6 (channel structure).
Companion documents in this set
- 03 Random Access — PRACH occasions are (s_id, t_id, f_id) triples indexed into this structure; the preamble format's CP is the same cell-radius argument as §5 and §13.
- 04 Timing Advance — N_TA is expressed in T_c and its step size scales with 2^-µ (§2).
- 05 HARQ / 08 Scheduling — k0, k1 and k2 are slot offsets in the numerology of the relevant BWP.
- 06 Channel Mapping — where PBCH, PDSCH, PDCCH, PUSCH and PUCCH sit in the grid this document defines.
- 11 DRX — on-durations and cycles interact with
bwp-InactivityTimer(§9.3). - 17 System Information / 18 MIB and SIB1 IEs — the source of
offsetToPointA,k_SSB, CORESET#0 andtdd-UL-DL-ConfigurationCommon; §7, §10 and §13 all depend on them. - 19 Paging — paging frames and occasions are SFN arithmetic (§3).
- 20 Measurements and Events / 21 Measurement Gaps and SMTC — SMTC windows are placed against the SSB burst set of §11.
- 22–25 Handover documents — target-cell SSB indices and SFN offsets are what makes a handover land in the right slot.
- 26 UE Capability — which numerologies, bandwidths, BWP switch delay type and SSB cases a given UE actually supports.