Subcarrier, live — every FR1 carrier, computed while you read
computed at page load This is the working half of the subcarrier note. That page is the explanation: prose, hand-drawn figures, the proofs of orthogonality. This one is the apparatus — everything the simulator can compute for you, kept here so the written note stays a document rather than a control panel.
In one line. Pick any channel and spacing TS 38.101-1 defines; the table, the chart marker and two figures all follow, and every number names the clause, table, choice or formula it came from. Nothing here is transcribed and nothing is computed in your browser.
The guard band, for every channel
The minimum guard band at the lower edge, for every channel bandwidth and every FR1 subcarrier spacing. The red ring follows the picker below — it clears entirely for a combination Table 5.3.2-1 leaves undefined, because a marker left on the previous point would be a wrong claim rather than a missing one.
Pick a carrier
Draw it
Where the carrier starts
The figures above measure widths. This one counts a position — how many whole resource blocks sit between point A and the first subcarrier of the carrier. It has its own two controls, because what it depends on is the numerology and the offset, not the channel bandwidth.
This page's carrier, and where each number comes from
The written note works throughout with one carrier: 100 MHz at 30 kHz, point A at 3300 MHz,
offsetToCarrier 12. Every figure there is drawn from it. Here it is recomputed, with the
provenance of each quantity — reproduce any of it with nrsim show subcarrier or
nrsim carrier --bw 100 --scs 30 --point-a 3300 --offset 12.
The identities, proved
Nothing above is asserted on trust. Every row names a clause, a table, a choice or the formula it came from, and the three that are identities rather than arithmetic are proved here — each with the test that checks it holds for every bandwidth and numerology, not only this one.
FR1 and FR2
The written note's numerology table has seven rows; the picker above offers three spacings. Both are right — the picker is FR1, and FR1 is not all of NR. Since 30 August 2026 the FR2 specification is on the shelf too, so this can be shown rather than asserted.
The operating bands
A band is not a channel: it is the spectrum a regulator licensed and 3GPP standardised, and a channel is what a carrier occupies inside one. All 78 of them, parsed from both specifications.
Why this page exists
The written note is a document; this is a control panel, and mixing the two makes both worse. A reader working through the subcarrier note wants prose, figures and proofs in a fixed order — not a form to fill in. A reader who wants to know what a 45 MHz channel at 15 kHz looks like wants exactly the form, and none of the prose.
So they are split. The note keeps its own computed table and chart, because those are its figures rather than apparatus bolted on; everything interactive lives here.
Both halves are computed by the same code, 5G Simulation/src/nrsim/, imported by
../widgets/sim_show.py while the page renders. The simulator's specification and parameter tiers
are stdlib-only precisely so this is possible — the engine's own environment has no NumPy.