FR1 and FR2, live — computed while you read
computed at page load The working half of FR1 and FR2. That page is the explanation; this one is what the simulator can compute about it, kept apart so the written note stays a document rather than a control panel.
In one line. Every number below is produced by
5G Simulation/src/nrsim/while this page renders, from the same code its tests run against — so nothing here can drift from what the written note says.
Two ranges, two tables
What each document covers, counted live from the tables themselves rather than quoted — so this line cannot disagree with them.
Every operating band
All 78, parsed from TS 38.101-1 and TS 38.101-2 Table 5.2-1. The union of each range's bands reproduces that table's own range definition to the megahertz, which is the check that the parse is right.
Any FR1 carrier
All 41 combinations of TS 38.101-1 Table 5.3.2-1.
Any FR2 carrier
All 14 of TS 38.101-2 Table 5.3.2-1. The one cell the two tables share, they disagree on: 60 kHz at 50 and 100 MHz gives 65 and 135 blocks in FR1, 66 and 132 in FR2. Same width, same spacing, decided twice under different filter and emission compromises — which is why a carrier must say which range it is in, and why these are two pickers rather than one.
The FR1 channel, drawn to scale
Guard, occupied, guard — nothing exaggerated.
The FR2 channel, drawn to scale
The same drawing at mmWave widths. A 400 MHz channel wastes proportionally more on guard band than a 100 MHz one, and the picture is honest about it.
The arithmetic that holds in both
The guard asymmetry and the point A closure are identities, not coincidences — one formula reproduces all 55 published guard bands across both documents.
Where this comes from
Computed, not transcribed. ../widgets/sim_show.py imports the simulator's specification and
parameter tiers inside the engine process. Those tiers are stdlib-only precisely so this is
possible — the engine's own environment has no NumPy, which is also why anything from the physical
layer (LDPC, HARQ, the waveform) cannot appear here and is offered as a nrsim show command on the
written note instead.
This page is generated by tools/make_live_pages.py from LIVE_FOR in that widget. To change
what appears, edit the declaration, not this file.