top of page

5G NR PRACH Resource Grid Visualizer

  • Writer: Venkateshu Kamarthi
    Venkateshu Kamarthi
  • 12 hours ago
  • 4 min read

What this tool is

This tool that turns the rach-ConfigCommon / rach-ConfigGeneric fields broadcast in SIB1 into a visual picture of the actual time–frequency resource grid the UE's PRACH preamble is transmitted on — which resource blocks, which subcarriers, which subframe, slot and OFDM symbols.

It's meant for RAN/protocol engineers who want to sanity-check a PRACH configuration, explain the config to someone else, or build intuition for how SIB1 parameters map onto the physical resource grid — not as a certified spec-compliance calculator.

What it shows

Section

What you're looking at

Summary strip

Quick-glance derived values: format, L_RA, Δf_RA, N_RB^RA, guard size, FDM/TDM occasion counts, N_CS, preambles per root

Carrier frequency overview

The PRACH RB allocation highlighted against the full uplink BWP / carrier

Subcarrier zoom

Inside the PRACH RBs: the L_RA active preamble subcarriers vs. the guard subcarriers on each side

Radio frame → subframe

Which subframe(s) of the 10 ms frame carry a PRACH occasion

PRACH resource grid

The core view — resource blocks (rows) × 14 OFDM symbols (columns), with each TDM'd time-domain occasion drawn as a colored block

Preamble generation & mapping flow

Root ZC sequence → cyclic shift (N_CS) → preamble → SSB beam, as a left-to-right flow

Typical workflow

  1. Paste in the rach-ConfigGeneric values from a captured SIB1 message.

  2. Look up your prach-ConfigurationIndex row in Table 6.3.3.2-3 (FR1 unpaired) or -2 (FR1 paired/SUL) for the exact format, subframe(s), starting symbol, slots/subframe and occasions/slot — enter those in the Time Domain panel.

  3. Set the active UL BWP subcarrier spacing and start RB from your BWP config.

  4. Click Update resource grid and use the visual to confirm the occasion lands where you expect, or to explain the configuration to a colleague.


Field-by-field input guide

Preamble sequence

Field

SIB1 source

Notes

Root sequence length (L_RA)

prach-RootSequenceIndex (l139 vs l839)

l139 = short format (used with 15/30/60/120 kHz PRACH SCS); l839 = long format (1.25/5 kHz)

Root sequence index value

prach-RootSequenceIndex

The actual index number

restrictedSetConfig

restrictedSetConfig

N_CS lookup only runs for unrestrictedSet (see limitations)

zeroCorrelationZoneConfig

zeroCorrelationZoneConfig

0–15, selects the N_CS row

Frequency domain

Field

SIB1 source

Notes

msg1-SubcarrierSpacing

msg1-SubcarrierSpacing

The PRACH's own subcarrier spacing (Δf_RA)

Active UL BWP subcarrier spacing

(not in rach-ConfigCommon)

Numerology of the UL BWP the PRACH RBs are counted in — comes from the BWP config, not the RACH IE. Set to match your cell's active UL BWP.

msg1-FrequencyStart

msg1-FrequencyStart

RB offset from the BWP start

msg1-FDM

msg1-FDM

Number of frequency-domain (FDM'd) PRACH occasions

UL BWP start (RB)

(BWP config)

Where the active UL BWP begins on the carrier

Carrier width shown

(display only)

How many RBs wide to draw the overview strip

Time domain occasion

Field

SIB1 source

Notes

prach-ConfigurationIndex

prach-ConfigurationIndex

Selects format + subframe/slot/symbol pattern via 3GPP tables

PRACH format

(derived from index)

Pick the format your index maps to

Subframe number(s)

(derived from index)

Comma-separated, 0–9

Starting symbol / Duration / Slots per subframe / Occasions per slot

(derived from index)

The exact numbers for your specific index — see Accuracy & limitations

SSB – preamble mapping

Field

SIB1 source

ssb-perRACH-Occasion

ssb-perRACH-OccasionAndCB-PreamblesPerSSB (ratio part)

CB-PreamblesPerSSB

ssb-perRACH-OccasionAndCB-PreamblesPerSSB (preamble count part)


Reading the resource grid

  • Rows = resource blocks within the PRACH allocation (highest RB at top, like a spectrum display).

  • Columns = the 14 OFDM symbols of the PRACH slot.

  • Colored blocks = one TDM'd time-domain occasion each; color alternates between consecutive occasions so you can count them at a glance.

  • White/gray cells = symbols in that slot not used by PRACH.

  • A red warning banner appears if your occasion count × duration doesn't fit in 14 symbols, or if the PRACH RB allocation runs past the carrier width you've set — both are signals to revisit the inputs.

Accuracy & limitations

This tool computes what's formulaic and directly derivable from the parameters, and is explicit about the parts that require a spec table lookup you should verify yourself:

  • Frequency-domain mapping (N_RB^RA and k̄ guard offset) is computed from the standard Δf_RA / BWP-SCS relationship (3GPP TS 38.211 Table 6.3.3.2-1) for the common combinations. The long-format (L_RA=839) mapping is illustrative for the two supported combinations shown.

  • N_CS lookup (cyclic shift) is reference values for the unrestrictedSet case only. Restricted-set values aren't tabulated — consult 3GPP TS 38.211 Table 6.3.3.1-7/8 directly if you need those.

  • Time-domain occasion fields (subframe/slot/symbol) are left editable rather than auto-derived, because the exact mapping from prach-ConfigurationIndex depends on frequency range and duplex mode (Tables 6.3.3.2-2/3/4) and differs by spec release. The defaults shown match the commonly-cited example for index 160 / format B4 / FR1 unpaired — treat them as a starting point, not a guarantee, and update them to match the table row for your actual band and duplex mode.

If you're using this for anything spec-compliance-critical, cross-check the derived numbers against the current version of 3GPP TS 38.211 §6.3.3 before relying on them.


References:



Comments


 

bottom of page