Beam failure recovery is a critical mechanism in 5G networks designed to ensure seamless connectivity and reliability, even in challenging radio conditions. This procedure addresses situations where the signal strength of the connected beam drops below a predefined threshold, indicating beam failure. When such an event occurs, the UE initiates a recovery process by detecting beam failure using a specific reference signal and searching for a candidate beam with better signal quality. If a sufficient number of beam failures are detected, the UE triggers the beam failure recovery process by transmitting a request to the network using a PRACH preamble linked to the candidate beam. The network then responds with the necessary configuration, completing the recovery process and re-establishing a reliable connection. This process ensures that the UE can maintain continuous communication with the network, even in dynamic or high-mobility scenarios where beam quality may vary rapidly.
Beam Failure detection and recovery procedure is specified in 38.321-5.17 and can be summarized as below.
|
Step |
Direction |
Process |
|
1 |
< UE > |
Detects Beam Failure (L1-RSRP for the connected beam goes below a certain limit). UE uses a specific Reference Signal to detect the beam failure. |
|
2 |
< UE > |
Search Another Canadidate Beam with good quality |
|
3 |
UE -> NW |
If a predefined number of Beam Failure is detected, Trigger Beam Failure Recovery Process with the candidate beam (PRACH). The predefined number of beamfailure to trigger this process is defined by beamFailureInstanceMaxCount in RRC. // UE send PRACH with the ID specified in BFR-SSB-Resource.ra-PreambleIndex |
|
4 |
UE <- NW |
Reply to Beam Failure Recovery Request (RACH Response). NW send DCI for msg2 via the search space specified by recoverySearchSpaceId |
This process is illustrated as below from this paper([3])

Following is breakdown of the illustration :
-
Beam Failure Detection : The process starts with the UE detecting a beam failure. This occurs when the signal strength of the connected beam, typically measured using L1-RSRP or a reference signal, falls below a predefined threshold. -
Candidate Beam Identification : After detecting the beam failure, the UE searches for a new candidate beam with better signal quality. This involves scanning the available beams in the network and selecting one that meets the required quality criteria. -
Beam Failure Recovery Request : -
The UE sends a Beam Failure Recovery Request to the network using the Physical Random Access Channel (PRACH).
-
In Release 15, PRACH is used for recovery requests in the primary cell.
-
In Release 16, uplink control channels are also supported for recovery requests in secondary cells during carrier aggregation.
-
The use of non-contention-based PRACH ensures faster and more reliable message delivery for critical beam recovery scenarios.
-
Network Response : The network (via the Transmission Reception Point, TRP) monitors and responds to the recovery request. This response includes acknowledgment or configuration details to establish communication using the newly identified beam. -
Post-Recovery Communication : After the recovery process, the UE and TRP switch to the newly identified beam(s) for ongoing communication. This ensures that the connection remains robust and uninterrupted.
To accelerate the procedure of beam recovery and ensure the robustness of this message delivery, non-contention based channel based on physical random access channel (PRACH) (instead of contention-based) can be used for carrying beam failure recovery request for primary cell in Release 15. In Release 16, uplink control channel is additionally supported for carrying beam failure recovery request for secondary cells in the case of carrier aggregation. After this beam failure recovery process, the TRP and UE can use the newly identified beam(s) for subsequent communication
- The non-contention-based PRACH mechanism significantly accelerates the beam recovery process and ensures reliable delivery of recovery requests, especially in challenging environments.
- The enhancements in Release 16, including support for secondary cells in carrier aggregation, make beam recovery more versatile in advanced network configurations.
- This process is critical in scenarios involving high mobility, interference, or complex beamforming setups, enabling seamless communication and improving user experience.
RRC Parameters for Beam Failure Detection
The RRC Parameters for Beam Failure Detection define the configuration used by the UE to monitor and detect beam failures in 5G networks. These parameters are part of the RRC signaling protocol and specify how the UE should identify and handle beam failure scenarios.
Followings are key concepts of this RRC parameter :
Dynamic Configuration : The configuration allows the network to dynamically add, modify, or release monitoring resources to adapt to changing conditions in the network.Beam Failure Detection : The UE monitors the signal quality of reference signals (SSB or CSI-RS) and compares it to predefined thresholds. If the quality drops below the threshold for a specific duration (defined by beamFailureDetectionTimer), a beam failure is detected.Flexible Monitoring : The configuration supports different use cases, including monitoring for beam failures (beamFailure), radio link failures (rlf), or both simultaneously.Network Control : These parameters are provided by the network to ensure efficient and precise monitoring, minimizing false alarms and optimizing recovery procedures
RadioLinkMonitoringConfig ::= SEQUENCE {
failureDetectionResourcesToAddModList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources))
OF RadioLinkMonitoringRS
failureDetectionResourcesToReleaseList SEQUENCE (SIZE(1..maxNrofFailureDetectionResources))
OF RadioLinkMonitoringRS-Id
beamFailureInstanceMaxCount ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10}
beamFailureDetectionTimer ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5,
pbfd6, pbfd8, pbfd10}
...
}
RadioLinkMonitoringRS ::= SEQUENCE {
radioLinkMonitoringRS-Id RadioLinkMonitoringRS-Id,
purpose ENUMERATED {beamFailure, rlf, both},
detectionResource CHOICE {
ssb-Index SSB-Index,
csi-RS-Index NZP-CSI-RS-ResourceId
},
...
}
- A sequence that defines the list of resources to add or modify for beam failure detection.
- Each entry in this list corresponds to a RadioLinkMonitoringRS, which contains the details of a specific reference signal used for monitoring beam failure.
- A sequence that defines the list of resources to be released, corresponding to previously configured monitoring resources.
- This allows the network to dynamically update the monitoring configuration by removing obsolete resources.
- An enumerated parameter that specifies the maximum number of beam failures that the UE can tolerate before triggering the recovery procedure.
- Possible values include predefined counts such as n1, n2, n3, n4, n5, n6, n8, n10.
- An enumerated timer that defines the maximum time duration for monitoring and detecting beam failures.
- The timer values include pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10, where "pbfd" refers to "Physical Beam Failure Detection."
RRC Parameters for Beam Failure Recovery Configuration
The RRC Parameters for Beam Failure Recovery Configuration specify the configuration for managing beam failure recovery in 5G networks. These parameters define how the UE (User Equipment) interacts with the network to re-establish communication when a beam failure occurs.
BeamFailureRecoveryConfig ::= SEQUENCE {
rootSequenceIndex-BFR INTEGER (0..137) OPTIONAL, -- Need M
rach-ConfigBFR RACH-ConfigGeneric OPTIONAL, -- Need M
rsrp-ThresholdSSB RSRP-Range OPTIONAL, -- Need M
candidateBeamRSList SEQUENCE (SIZE(1..maxNrofCandidateBeams))
OF PRACH-ResourceDedicatedBFR OPTIONAL, -- Need M
ssb-perRACH-Occasion ENUMERATED {oneEighth, oneFourth, oneHalf, one, two,
four, eight, sixteen} OPTIONAL, -- Need M
ra-ssb-OccasionMaskIndex INTEGER (0..15) OPTIONAL, -- Need M
recoverySearchSpaceId SearchSpaceId OPTIONAL, -- Need R
ra-Prioritization RA-Prioritization OPTIONAL, -- Need R
beamFailureRecoveryTimer ENUMERATED {ms10, ms20, ms40, ms60, ms80,
ms100, ms150, ms200} OPTIONAL, -- Need M
...,
[[
msg1-SubcarrierSpacing-v1530 SubcarrierSpacing OPTIONAL -- Need M
]]
}
PRACH-ResourceDedicatedBFR ::= CHOICE {
ssb BFR-SSB-Resource,
csi-RS BFR-CSIRS-Resource
}
BFR-SSB-Resource ::= SEQUENCE {
ssb SSB-Index,
ra-PreambleIndex INTEGER (0..63),
...
}
BFR-CSIRS-Resource ::= SEQUENCE {
csi-RS NZP-CSI-RS-ResourceId,
ra-OccasionList SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS))
OF INTEGER (0..maxRA-Occasions-1) OPTIONAL, -- Need R
ra-PreambleIndex INTEGER (0..63) OPTIONAL, -- Need R
...
}
- Refers to an SSB resource used for beam failure recovery, including:
- SSB-Index: Identifies the SSB associated with the recovery.
- ra-PreambleIndex: Specifies the preamble index for the PRACH resource.
- Refers to a CSI-RS resource used for beam failure recovery, including:
- NZP-CSI-RS-ResourceId: Identifies the CSI-RS resource.
- ra-OccasionList: Lists the RA occasions for the CSI-RS.
- ra-PreambleIndex: Specifies the preamble index for the PRACH resource.
RACH-ConfigGeneric ::= SEQUENCE {
prach-ConfigurationIndex INTEGER (0..255),
msg1-FDM ENUMERATED {one, two, four, eight},
msg1-FrequencyStart INTEGER (0..maxNrofPhysicalResourceBlocks-1),
zeroCorrelationZoneConfig INTEGER(0..15),
preambleReceivedTargetPower INTEGER (-202..-60),
preambleTransMax ENUMERATED {n3,n4,n5,n6,n7,n8,n10,n20,n50,n100,n200},
powerRampingStep ENUMERATED {dB0, dB2, dB4, dB6},
ra-ResponseWindow ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80},
...
}
RA-Prioritization ::= SEQUENCE {
powerRampingStepHighPriority ENUMERATED {dB0, dB2, dB4, dB6},
scalingFactorBI ENUMERATED {zero, dot25, dot5, dot75} OPTIONAL, -- Need R
...
}
Reference
- 3GPP TS 38.214 - 5G;NR; Physical layer procedures for data
- 3GPP TS 38.331 - 5G;NR;Radio Resource Control (RRC); Protocol specification
- Beam Management in Millimeter-Wave Communications for 5G and Beyond