Module 2 — Cell Search

GSCN &
Frequency Raster

Before a UE can find a cell, it must know where to look. 5G NR can operate on hundreds of different frequencies — sweeping all of them would take minutes. The Global Synchronization Channel Number (GSCN) defines a finite set of pre-defined positions where SSBs must always be placed.

TS 38.104 §5.4.3.1 TS 38.101-1 §5.4

The problem GSCN solves

When a UE powers on, it has no knowledge of which frequency the network is using. In band n78 alone, the operating range spans 500 MHz (3300–3800 MHz). With a subcarrier spacing of 30 kHz, there are over 16,000 possible positions where an SSB could theoretically be placed. Checking each one for 20 ms (the default SSB periodicity) would take over 5 minutes — completely impractical.

The solution is the synchronization raster: a set of pre-defined frequencies, spaced far enough apart that the UE only needs to check a small number of positions. SSBs are only ever transmitted at these positions. This reduces the search from thousands of possibilities to a few hundred.

The synchronisation raster specifies the allowed SS/PBCH block positions in the frequency domain. A UE is not required to search for SS/PBCH blocks outside of the synchronisation raster positions within the operating band.
3GPP TS 38.104, Section 5.4.3.1
347
positions in n78
vs 16,667 without GSCN
1.44 MHz
raster step (FR1 high)
Between each GSCN position
48×
fewer checks
Reduction factor for n78
~7 sec
worst case sweep
347 × 20 ms dwell time

GSCN formulas

The 3GPP specification defines different GSCN formulas for different frequency ranges. For our example (band n78 at 3.5 GHz), we use the FR1 high-band formula.

GSCN formulas by frequency range TS 38.104, Table 5.4.3.1-1
FR1 Low (410 MHz – 3000 MHz)
f_SSB = N × 1200 kHz + M × 50 kHz,  N = 1..2499,  M ∈ {1, 3, 5}
GSCN  = 3×(N−1) + (M−1)/2
FR1 High (3000 MHz – 24250 MHz) ← n78 uses this
f_SSB = 3000 MHz + N × 1.44 MHz,   N = 0..14756
GSCN  = 7499 + N
FR2 (24250 MHz – 100000 MHz)
f_SSB = 24250.08 MHz + N × 17.28 MHz,  N = 0..4383
GSCN  = 22256 + N

Worked example — band n78

Our example cell operates on band n78 (3300–3800 MHz) with its SSB at 3498.24 MHz. Let's verify this is a valid GSCN position and derive the GSCN number.

GSCN derivation — band n78, f_SSB = 3498.24 MHz TS 38.104 §5.4.3.1
Step-by-step calculation
// Apply FR1 High formula: f_SSB = 3000 + N × 1.44
3498.24 = 3000 + N × 1.44
N = (3498.243000) / 1.44
N = 498.24 / 1.44
N = 346  (integer — valid GSCN position ✓)

// Compute GSCN number
GSCN = 7499 + 346 = 7845

// Verify GSCN range for n78
N_min = ceil((33003000) / 1.44) = ceil(208.3) = 209  → GSCN_min = 7708
N_max = floor((38003000) / 1.44) = floor(555.6) = 555 → GSCN_max = 8054

GSCN 7845 is within [7708, 8054] ✓
Total positions = 80547708 + 1 = 347

How the UE sweeps GSCN positions

The UE does not check GSCN positions blindly in order. It follows a priority system: first trying stored information from the last time it was connected, then known neighbours, and only performing a full sweep when those fail.

Interactive — GSCN sweep of band n78 Press Start to animate
GSCN checked: 0 / 347 Freq:

UE sweep priority — stored vs full scan

1
Try stored GSCN from last session
UE reads non-volatile memory. Last known GSCN = 7845. Tunes directly to 3498.24 MHz. If PSS found within 20 ms — done. This is why phones reconnect instantly after restart.
2
Try neighbour GCSNs from last SIB3/SIB4
If stored GSCN fails (moved location, cell turned off), try the neighbour list received in the last SIB3/SIB4. Typically 3–6 GCSNs to try. Usually succeeds within 2–3 attempts.
3
Full sweep — GSCN 7708 → 8054
New SIM or new location with no stored data. UE sweeps all 347 positions. Modern chipsets use wideband receivers that capture and correlate many GCSNs simultaneously — real sweep time is typically 1–3 seconds, not 7.
After GSCN sweep — UE knows:
SSB frequency  → f_SSB = 3498.24 MHz (GSCN 7845)
SSB exists     → confirmed (PSS correlation peaked)
Next step      → PSS correlation to get timing + N²_ID