Beam Management & Beamforming in 5G NR
SSB and CSI-RS beam sweeping, beam measurement and selection, and beam failure recovery.
At millimetre-wave frequencies a 5G signal spread evenly in all directions is too weak to reach anyone useful, so the gNB and the UE must squeeze their energy into narrow beams and keep those beams pointed at each other while the UE moves and the environment shifts. Beam management is the whole life-cycle of that beam pair โ finding it, refining it, telling the UE which one to use, switching it, and repairing it when it breaks โ defined mainly across TS 38.213 (procedures), TS 38.214 (measurement and QCL), TS 38.321 (MAC beam-failure) and TS 38.331 (RRC configuration).
Introduction
Beam management is the set of physical-layer and MAC procedures that establish, maintain and repair a directional transmit/receive beam pair between the gNB and the UE. It is essential at FR2 (mmWave, roughly 24–71 GHz) where only the gain of a narrow beam closes the link, and it is increasingly used at the upper edge of FR1 for massive-MIMO beamforming too.
It runs across the whole connected lifecycle. Beams are first acquired during cell search from the SSB burst; they are refined once connected using CSI-RS; the chosen beam is signalled to the UE through TCI states (downlink) and spatialRelationInfo or unified TCI (uplink); and a continuous safety loop watches for blockage and triggers beam-failure recovery when the serving beam collapses.
The governing specifications are TS 38.214 (beam measurement, reporting and QCL), TS 38.213 (procedures including default-beam and BFR timing), TS 38.321 (the MAC beam-failure detection and recovery state machine) and TS 38.331 (the RRC IEs that configure all of it).
On this page
Why beamforming at FR2
In plain words: a low-band cell is a bare lightbulb — it fills the whole room dimly, and everyone can see it. An FR2 cell is a torch with a dead battery: pointed everywhere at once it lights nothing, but focused into a tight beam it can throw light right across the room. Beam management is the business of aiming that torch at each person, one at a time, and re-aiming it the instant they move or someone walks in front of it.
Free-space path loss climbs with the square of the carrier frequency. Moving from an FR1 mid-band around 3.5 GHz up to an FR2 band at 28 GHz costs roughly 18 dB before you account for the far worse penetration, foliage and rain attenuation that mmWave suffers. An omnidirectional FR2 link simply does not close โ the received power falls below the noise floor at any useful range. The only way back is antenna gain: pack tens or hundreds of half-wavelength elements into a physically tiny panel (at 28 GHz a wavelength is about 1 cm) and phase them so their signals add coherently in one direction. That coherent combining is beamforming, and it buys back tens of dB of gain in the pointed direction.
Forming narrow directional beams at both gNB and UE, then discovering and tracking the best transmit/receive beam pair over time as the UE moves.
FR2 path loss and blockage are so severe that only the array gain of a narrow beam closes the link. A beam only helps if it is aimed correctly, and the correct aim changes constantly.
The gNB sweeps beams with SSB and CSI-RS; the UE measures and reports L1-RSRP/L1-SINR; the gNB indicates the chosen beam via a TCI state or spatialRelationInfo; blockage triggers beam-failure recovery.
The price of a narrow beam is fragility. A pencil beam that delivers 25 dB of gain also has a beamwidth of only a few degrees, so a small rotation of the handset, a passing hand, or a person stepping into the path can drop the link in milliseconds. Everything in beam management follows from this tension: narrow enough to close the link, but agile enough to survive a world that keeps moving the target.
LTE ↔ NR: LTE had no beam-management framework of this kind. Cell coverage came from a single, essentially fixed, sector antenna pattern, and the closest analogue — TM7/8/9 UE-specific beamforming — relied on cell-wide CRS and had no per-beam SSB sweep, no TCI/QCL Type-D indication, and no beam-failure recovery. NR makes the beam, not the cell, the unit of coverage: the SSB itself is beamformed and swept, and every downlink transmission carries an explicit spatial reference.
Analog, digital and hybrid beamforming
There are three ways to build the beam, and the choice shapes everything the higher layers can do. In analog beamforming a single RF chain feeds every antenna element through per-element phase shifters. Steering the beam means setting phases in the analog domain, which is cheap and power-efficient, but it produces exactly one beam at a time โ the whole array points one way per OFDM symbol. This is why FR2 gNBs and UEs sweep beams in the time domain: with one beam per symbol, covering the cell means stepping through directions one after another.
In digital beamforming every antenna element (or subarray) has its own RF chain and the beam is formed by weighting the baseband samples. This allows many simultaneous beams and full MU-MIMO flexibility, but at FR2 an RF chain per element is prohibitive in cost and power for the hundreds of elements involved. Hybrid beamforming is the practical compromise used in nearly all FR2 equipment: a modest number of RF chains (say 2โ8), each driving a subarray of phase-shifted elements. The analog part gives you a few coarse steerable beams; the digital part multiplexes layers or users across those beams.
| Architecture | RF chains | Simultaneous beams | Cost / power | Typical use |
|---|---|---|---|---|
| Analog | 1 (shared) | 1 per symbol (time-swept) | Lowest | FR2 handsets, simple panels |
| Digital | One per element | Many, fully flexible | Highest | FR1 massive MIMO |
| Hybrid | Few (2โ8), each a subarray | A few (one per RF chain) | Middle | FR2 gNBs and advanced UEs |
Why the sweep exists: because analog/hybrid front-ends can only point a handful of beams at once, the gNB cannot illuminate the whole cell simultaneously. It time-multiplexes directions โ one beam per symbol across an SSB burst โ which is precisely the beam sweep that beam management is built around.
The P1 / P2 / P3 procedures
3GPP does not name "P1/P2/P3" in the spec text, but the industry uses them as shorthand for the three beam-management operations that TS 38.214 describes. Together they converge from a coarse, cell-wide search onto a tight transmit/receive beam pair.
P1 is initial acquisition. The cell radiates an SSB burst set โ up to 4 SSBs below 3 GHz, 8 in FR1 above 3 GHz, or 64 in FR2 (L = maximum SSB count, tied to ssb-PositionsInBurst) โ each SSB on a different wide beam and tagged with an SSB index. Sweeping the burst set is like a lighthouse turning: over the burst the gNB paints its beams across the whole coverage area. The UE listens across the sweep (itself possibly sweeping a coarse receive beam), measures the L1-RSRP of each SSB, and the index of the strongest SSB identifies the best coarse gNB transmit beam. Because the RACH occasion is mapped from the SSB index (via ssb-perRACH-OccasionAndCB-PreamblesPerSSB), the UE's random-access attempt automatically lands on the gNB's best beam toward it.
P2 refines the gNB transmit beam. Once connected, the gNB configures several CSI-RS resources, each on a narrower beam clustered around the winning SSB direction, and sweeps them while the UE holds its receive beam fixed. The UE reports the strongest, letting the gNB pick a finer transmit beam than any SSB could. P3 refines the UE receive beam: the gNB repeats one transmit beam on a set of CSI-RS resources (with the RRC flag repetition set to on inside NZP-CSI-RS-ResourceSet) while the UE sweeps its own receive beams to find the best receive direction against that fixed source.
| Procedure | Refines | gNB Tx beam | UE Rx beam | Reference signal | Report |
|---|---|---|---|---|---|
| P1 | Initial coarse Tx+Rx pairing | Swept (wide) | Swept (wide) | SSB burst set | Best SSBRI + L1-RSRP |
| P2 | gNB Tx beam | Swept (narrow) | Fixed | CSI-RS set | Best CRI + L1-RSRP |
| P3 | UE Rx beam | Fixed (repeated) | Swept | CSI-RS with repetition=on | Often none / L1-RSRP |
Mental model: P1 gets you roughly pointed, P2 sharpens the gNB's aim, P3 sharpens the UE's aim. P1 uses SSB because it works before any dedicated configuration exists; P2 and P3 use CSI-RS because they need per-UE, on-demand resources.
The SSB beam sweep, illustrated
Picture the gNB stepping through its SSB beams, one index per beam, until one lands on the UE โ which then reports that index so its random access rides the best beam.
Beam measurement and reporting
A beam is only as good as the number the UE reports for it. The primary beam metric is L1-RSRP โ a layer-1, per-beam reference-signal received power measured on either an SSB or a CSI-RS resource. It is "L1" because it is a fast physical-layer measurement feeding beam decisions, distinct from the filtered L3 RSRP used for mobility. Optionally the gNB can configure L1-SINR instead, which captures interference as well as power and is often a better ranking metric in loaded, multi-beam deployments.
The report tells the gNB which beam is best and how good. When the measured resource is an SSB, the UE reports an SSBRI (SSB Resource Indicator); when it is a CSI-RS, it reports a CRI (CSI-RS Resource Indicator). Alongside the indicator the UE sends the L1-RSRP (or L1-SINR) of the best beam and, if configured, the differential values of a few next-best beams. Reporting is configured by RRC in CSI-ReportConfig, with reportQuantity set to values such as cri-RSRP, ssb-Index-RSRP, or cri-SINR. The carrier for the report is periodic or semi-persistent PUCCH, or aperiodic PUSCH triggered by DCI (the CSI-request field in DCI format 0_1).
| Report element | Source RS | Meaning | Configured by |
|---|---|---|---|
SSBRI | SSB | Index of the best SSB beam | reportQuantity = ssb-Index-RSRP |
CRI | CSI-RS | Index of the best CSI-RS beam resource | reportQuantity = cri-RSRP |
| L1-RSRP | SSB or CSI-RS | Beam power (absolute + differential) | CSI-ReportConfig |
| L1-SINR | SSB or CSI-RS | Beam quality including interference | reportQuantity = cri-SINR |
The quantisation is defined so the report stays compact: the best beam's L1-RSRP is sent as an absolute value on a roughly 1 dB step over a wide dynamic range (about −140 to −44 dBm), and each additional beam is reported only as a difference (a smaller step over a limited span) from that best value.
Note: up to a configured number of the strongest beams may be reported at once (commonly up to four, via nrofReportedRS), so the gNB always has fall-back candidates ready. The best beam's L1-RSRP is sent as an absolute quantised value; the remaining beams are sent as differences from it to save bits.
Beam indication: TCI states, QCL, and uplink spatial relations
Measuring the best beam is useless unless the gNB can tell the UE which beam a given transmission will use, so the UE can orient its receiver. On the downlink this is the job of TCI states โ Transmission Configuration Indication. A TCI-State links a downlink channel or signal (PDCCH or PDSCH) to one or two source reference signals via a quasi-co-location (QCL) relationship. QCL means "you may assume these two signals share the following channel properties," which lets the UE reuse its estimate of one signal when receiving the other. The critical one for beams is QCL Type D, the spatial receive-filter relationship: it tells the UE which receive beam to point.
| QCL type | Shared properties | What it lets the UE do |
|---|---|---|
| Type A | Doppler shift, Doppler spread, average delay, delay spread | Full time/frequency tracking โ used with a long-duration tracking RS |
| Type B | Doppler shift, Doppler spread | Track frequency offset / time-varying phase |
| Type C | Doppler shift, average delay | Coarse time/frequency sync (e.g. SSB as source) |
| Type D | Spatial Rx parameter (the receive beam) | Point the receive beam โ the beam-management property, FR2-critical |
A TCI state typically carries two QCL references: one giving Type A (or C) for time/frequency tracking, and one giving Type D for the spatial beam. TCI states are configured in bulk by RRC (up to 128 candidate TCI-States for PDSCH), a subset is activated by a MAC CE (up to 8 mapped to the DCI codepoints), and for PDSCH the specific state is indicated in the scheduling DCI format 1_1/1_2's 3-bit Transmission Configuration Indication field. For PDCCH, the TCI state is set per CORESET (see the CORESET & Search Space page).
The uplink needs the mirror image: the gNB must tell the UE which transmit beam (spatial filter) to use so its energy arrives at the gNB's receive beam. In Release 15/16 this is done with spatialRelationInfo, which points an uplink transmission (PUCCH, SRS, or PUSCH via the SRS it is tied to) at a reference โ an SSB, a CSI-RS, or another SRS โ telling the UE to transmit with the same spatial filter it would use to receive (or did use to transmit) that reference. By beam correspondence, a good receive beam is also a good transmit beam, so pointing at the best downlink RS gives the right uplink beam. Release 17's unified TCI framework later merged downlink and uplink indication into joint/separate TCI states, retiring much of the separate spatialRelationInfo signalling.
| Aspect | Downlink TCI-State | Uplink spatialRelationInfo |
|---|---|---|
| Direction | DL Rx beam (which beam to receive with) | UL Tx beam (which beam to transmit with) |
| Applies to | PDCCH, PDSCH | PUCCH, SRS, PUSCH |
| Reference | Source RS via QCL Type D | Reference SSB/CSI-RS/SRS |
| Signalled by | RRC list + MAC CE activation + DCI field | RRC / MAC CE (per PUCCH or SRS resource) |
Beam switching, timing and default behaviour
Switching a beam is not free โ the analog phase shifters need time to settle, and the UE needs advance notice to retune its receive beam. Two timing parameters govern this. The beam switch timing (a UE capability, beamSwitchTiming, reported as a number of symbols) is the minimum number of symbols the UE needs between being told a beam and applying it. More important for scheduling is the timeDurationForQCL capability, the threshold (in symbols, values such as 7/14/28 depending on FR2 subcarrier spacing) that separates two cases: if the gap between the PDCCH carrying the grant and the scheduled PDSCH is at least this threshold, the UE applies the DCI-indicated TCI state; if the gap is shorter, there was not enough time to retune, so the UE falls back to a default beam.
The default-beam rules keep the link alive when timing is tight. When the scheduling offset is below the threshold, the UE receives PDSCH using the TCI state of the lowest-CORESET-ID monitored in the latest slot (Release 15), i.e. it reuses the beam it was already listening on for control. Similarly, before any TCI state is activated, the UE assumes the PDCCH/PDSCH is QCL'd with the SSB it used during initial access. These defaults mean the UE always has a well-defined beam to fall back on rather than guessing.
Why the threshold matters: a scheduler that wants to move a UE to a fresh beam for a PDSCH must leave at least timeDurationForQCL symbols between the PDCCH and the data. Schedule it any tighter and the UE ignores the indicated TCI and uses its default beam โ potentially the wrong one, hurting throughput.
Beam failure detection and recovery
A narrow FR2 beam can be blocked in milliseconds, so the UE runs a continuous safety loop. It monitors a set of beam-failure detection reference signals (BFD-RS) โ either explicitly configured in failureDetectionResources, or implicitly the RSs in the active TCI states of its monitored CORESETs. For each, the physical layer computes a hypothetical BLER: the block error rate a PDCCH would experience on that beam. When the hypothetical BLER on all BFD-RS exceeds the configured threshold (rlmInSyncOutOfSyncThreshold / Qout,LR), the physical layer sends the MAC a beam-failure instance indication.
MAC counts these instances. A counter increments on each indication and is reset by a timer (beamFailureDetectionTimer); if the count reaches beamFailureInstanceMaxCount before the timer expires, MAC declares beam failure. The UE then searches its configured candidate beam list (candidateBeamRSList) for a new beam whose L1-RSRP exceeds a threshold (rsrp-ThresholdSSB). Having found one, it triggers beam-failure recovery (BFR): it sends a recovery request, classically on a dedicated contention-free RACH resource (PRACH) associated with the chosen candidate beam, so the gNB immediately learns both that recovery is needed and which beam to switch to. The gNB's response is monitored in the dedicated recovery search space (recoverySearchSpaceId) on a PDCCH scrambled with C-RNTI, confirming the switch. The full timer set, SCell BFR via MAC CE, and the recovery RACH details are on the Beam Failure Recovery page.
Detection vs radio-link failure: beam failure is a fast, physical-layer-driven event handled by MAC on the same cell โ it tries to save the connection by hopping to a better beam. Only if recovery also fails does the problem escalate toward radio-link failure and full re-establishment.
Summary
At FR2 the beam, not the cell, is the unit of coverage: only the array gain of a narrow beam recovers the tens of dB that mmWave path loss and blockage cost, and analog/hybrid front-ends can point only a handful of beams at once, forcing time-domain sweeps. Beam management is the lifecycle around that. P1 acquires a coarse pair from the swept SSB burst (up to 4/8/64 beams), reporting the best SSBRI; P2 and P3 refine the gNB and UE beams with CSI-RS (the latter with repetition=on). Measurement rests on L1-RSRP (or L1-SINR), reported per CSI-ReportConfig. The chosen beam is indicated to the UE by a downlink TCI-State carrying QCL Type D (RRC + MAC CE + DCI field) and, uplink, by spatialRelationInfo or Rel-17 unified TCI. Timing rules (timeDurationForQCL) decide when the UE applies an indicated beam versus a default one, and a continuous beam-failure loop — hypothetical BLER on BFD-RS, counted in MAC, resolved by picking a candidate beam and sending a recovery request — keeps the fragile link alive before it escalates to radio-link failure.
Quick Q&A
Q. Why is beamforming mandatory at FR2 but optional at FR1?
A. Path loss scales with frequency squared, and mmWave adds severe penetration and blockage loss. An omnidirectional FR2 link does not close, so the array gain of a narrow beam is required to recover the tens of dB needed. At FR1 the link often closes without it.
Q. Why do FR2 systems sweep beams in time instead of forming them all at once?
A. FR2 front-ends are analog or hybrid, so a single RF chain (or a few) can point only one beam (or a few) per OFDM symbol. To cover the whole cell the gNB time-multiplexes directions across an SSB burst โ the beam sweep โ rather than illuminating everywhere simultaneously as digital beamforming would.
Q. What do P1, P2 and P3 each refine, and which RS does each use?
A. P1 is initial coarse Tx/Rx pairing via the SSB burst sweep, reporting SSBRI+L1-RSRP. P2 refines the gNB Tx beam by sweeping CSI-RS with the UE Rx beam fixed, reporting CRI. P3 refines the UE Rx beam by repeating one gNB beam (repetition=on) while the UE sweeps its own receive beams.
Q. Which QCL type carries the beam, and how is it indicated for PDSCH?
A. QCL Type D โ the spatial Rx parameter. A TCI-State pairs a Type D source (the beam) with a Type A/C source (time/frequency tracking). For PDSCH the state is RRC-configured, activated by MAC CE, and selected by the Transmission Configuration Indication field in the scheduling DCI.
Q. How is the uplink beam indicated, and how does it relate to the downlink?
A. In Rel-15/16 via spatialRelationInfo, which points a PUCCH/SRS/PUSCH at a reference SSB/CSI-RS/SRS so the UE transmits with the matching spatial filter. By beam correspondence the best DL receive beam is a good UL transmit beam. Rel-17's unified TCI later merged DL and UL indication.
Q. What sequence of events declares beam failure and starts recovery?
A. The physical layer measures hypothetical BLER on the BFD-RS; when all exceed threshold it sends a beam-failure instance to MAC. MAC counts these, and if beamFailureInstanceMaxCount is reached before beamFailureDetectionTimer expires it declares failure. The UE picks a candidate beam above rsrp-ThresholdSSB and sends a recovery request on the dedicated BFR RACH.
Related topics
Beam management sits between initial acquisition, channel feedback, and link repair โ follow the thread into each.