Beamforming & MIMO

SSB Beam Sweep —
Finding the best beam before connecting

The SSB you find during cell search is not just one transmission — it was one of up to 64 SSBs transmitted in different beam directions within a 20 ms period. The UE measures each SSB, identifies the best beam (index 3 in our example), and uses that beam index to link to the correct PRACH resource. This section explains the full beam sweep procedure.

TS 38.213 §4.1 TS 38.211 §7.4.3 TS 38.331 §5.5.5

The SSB burst set

Within one SSB burst period (20 ms default), the gNB transmits a set of SSBs — each in a different beam direction using a different precoding vector. The maximum number of SSBs per burst set is:

The maximum number of SS/PBCH blocks in a half-frame is L_max, where L_max = 4 for f ≤ 3 GHz, L_max = 8 for 3 GHz < f ≤ 6 GHz, and L_max = 64 for f > 6 GHz.
3GPP TS 38.213, Section 4.1

Our cell is at 3498.24 MHz (between 3 and 6 GHz) → L_max = 8. The gNB can transmit up to 8 SSBs in different directions within one 5 ms half-frame, then repeat every 20 ms.

SSB burst set — 8 beams in one half-frame (5 ms) TS 38.213 §4.1, TS 38.211 §7.4.3

SSB time positions

The 8 SSBs within a half-frame occupy specific OFDM symbol positions. Each SSB occupies 4 consecutive symbols (PSS, SSS, PBCH×2) within specific slots and subframes.

SSB symbol positions — 30 kHz SCS, L_max=8TS 38.213 §4.1, Case C
// Case C: 30 kHz SCS, FR1 (3–6 GHz)
// First SSB group (n=0,1): slots 2 and 8 of subframe 0
SSB 0: slot 2, symbols {4,5,6,7}
SSB 1: slot 2, symbols {8,9,10,11}

// Second SSB group (n=2,3): slots 2 and 8 of subframe 0 continued
SSB 2: slot 8, symbols {4,5,6,7}
SSB 3: slot 8, symbols {8,9,10,11}

// Third group (n=4,5): subframe 1
SSB 4: slot 16, symbols {4,5,6,7}
SSB 5: slot 16, symbols {8,9,10,11}

// Fourth group (n=6,7): subframe 1 continued
SSB 6: slot 22, symbols {4,5,6,7}
SSB 7: slot 22, symbols {8,9,10,11}

// Our UE detected SSB index 3 (strongest beam)
SSB 3 position: slot 8, symbols {8,9,10,11}
SSB 3 beam direction: ~ 30° off broadside (example)

How the UE identifies the best beam

The UE scans all GSCN frequencies and at each one performs a PSS correlation sweep. When it finds a cell, it receives all 8 SSBs in the burst period and measures the RSRP of each. The SSB with the highest RSRP is the best beam — that beam direction aligns best with the UE's location.

The SSB index is conveyed in two places: the PBCH DMRS pattern (3 bits, implicitly) and the PBCH payload overhead bits (additional bits for large L_max). For L_max=8, the 3-bit i_SSB field in the overhead gives the index directly.

Beam management — keeping track after connection

After initial access, the gNB continues to manage beams using three procedures defined in TS 38.331:

Beam management proceduresTS 38.331 §5.5.5
ProcedurePurposeTrigger
P1Beam sweeping — find best TRP beam and UE beamPeriodic CSI-RS or SSB measurement
P2Beam refinement — narrow beam within best directionAfter P1, triggered by beam-specific CSI-RS
P3UE-side beam selection — rotate UE's own receive beamOnly for FR2 (mmWave) UEs with antenna arrays

Beam failure recovery

If the serving beam quality degrades below a threshold (e.g., due to the UE moving or an obstruction), the UE declares a beam failure and must quickly find a new beam. This is faster than a full handover — the UE sends a RACH preamble on the PRACH occasion associated with a candidate new beam.

If the UE detects beam failure, it shall initiate beam failure recovery by selecting a new candidate beam and transmitting a random access preamble in the PRACH occasion associated with the selected candidate beam.
3GPP TS 38.321, Section 5.17
SSB beam sweep — our example
L_max         → 8 beams (3–6 GHz band)
Period        → 20 ms (default SSB burst period)
Best beam     → SSB index 3 (slot 8, symbols 8–11)
PRACH link    → beam 3 → dedicated PRACH occasion for initial access
After connection → P1/P2 beam management via CSI-RS