Beam Failure Recovery
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.
NOTE : It would worth note following comments from this paper([3])
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
},
...
}
failureDetectionResourcesToAddModList:
- 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.
failureDetectionResourcesToReleaseList:
- 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.
beamFailureInstanceMaxCount:
- 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.
beamFailureDetectionTimer:
- 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
]]
}
rootSequenceIndex-BFR: Specifies the root sequence index for the PRACH (Physical Random Access Channel) preamble used in beam failure recovery.
rach-ConfigBFR: Contains the configuration for PRACH resources used for beam failure recovery, as defined in the RACH-ConfigGeneric structure (explained later).
rsrp-ThresholdSSB: Defines the RSRP (Reference Signal Received Power) threshold for SSB (Synchronization Signal Block) detection. Beams with an RSRP above this threshold are considered candidates for recovery.
candidateBeamRSList: Specifies a list of candidate beams for recovery. Each entry corresponds to a PRACH-ResourceDedicatedBFR, which indicates whether the candidate beam uses SSB or CSI-RS (Channel State Information Reference Signal).
ssb-perRACH-Occasion: Defines the number of SSBs mapped to each PRACH occasion. This value can range from oneEighth to sixteen, controlling the granularity of beam failure recovery attempts.
ra-ssb-OccasionMaskIndex: Indicates the mask index for RA (Random Access) SSB occasions to identify which beams are active for beam recovery.
recoverySearchSpaceId: Specifies the search space ID used by the network to monitor and respond to recovery requests. This ensures the recovery process is efficiently managed.
ra-Prioritization: Contains parameters for prioritizing random access resources during recovery, such as power ramping steps and scaling factors for priority-based resource allocation.
beamFailureRecoveryTimer: Sets the timer for beam failure recovery, with values ranging from ms10 to ms200. This controls how long the UE waits for a response before retrying.
msg1-SubcarrierSpacing-v1530: Specifies the subcarrier spacing used for the PRACH message during beam failure recovery.
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
...
}
ssb
- 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.
csi-RS
- 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},
...
}
prach-ConfigurationIndex: Defines the PRACH configuration index, which determines the time and frequency resources for PRACH transmissions.
msg1-FDM: Specifies the number of PRACH occasions in frequency-domain multiplexing (one, two, four, or eight).
msg1-FrequencyStart: Indicates the starting frequency for PRACH occasions in the resource grid.
zeroCorrelationZoneConfig: Configures the zero-correlation zone, used to reduce interference between preambles.
preambleReceivedTargetPower: Sets the target power level for the received PRACH preamble, ranging from -202 dB to -60 dB.
preambleTransMax: Specifies the maximum number of preamble transmissions, with values such as n3, n4, n5, up to n200.
powerRampingStep: Defines the step size for power ramping during PRACH transmissions (dB0, dB2, dB4, dB6).
ra-ResponseWindow: Indicates the time window for the UE to wait for a random access response from the network.
RA-Prioritization ::= SEQUENCE {
powerRampingStepHighPriority ENUMERATED {dB0, dB2, dB4, dB6},
scalingFactorBI ENUMERATED {zero, dot25, dot5, dot75} OPTIONAL, -- Need R
...
}
powerRampingStepHighPriority: Sets the power ramping step size for high-priority PRACH occasions.
scalingFactorBI: A scaling factor applied to determine the priority of beam recovery attempts. Values include zero, dot25, dot5, and dot75.
Reference
|