BCH

Bose-Chaudhuri-Hocquenghem Code

Physical Layer →
Introduced in R99

BCH is a class of powerful cyclic error-correcting codes used in 3GPP systems for forward error correction to protect broadcast and control channels by detecting and correcting bit errors.

Category
Physical Layer
Introduced
R99
Where
Radio Access Network › NG-RAN (5G)
Specifications
30 specs
BCH Description Purpose Specifications

Description

The Bose-Chaudhuri-Hocquenghem (BCH) code is a sophisticated block-based forward error correction (FEC) code belonging to the family of cyclic codes. It operates by adding redundant parity bits to the original information bits according to a specific algebraic construction over finite fields (Galois fields). The encoder generates codewords where the information bits and parity bits satisfy a set of polynomial equations defined by the code's generator polynomial. This structure allows the decoder to detect and correct a predetermined number of errors by calculating syndromes and solving for error locations using algorithms like the Berlekamp-Massey algorithm and Chien search. The code's parameters, such as codeword length (n), number of information bits (k), and error-correcting capability (t), are carefully selected based on the channel conditions and required reliability.

In 3GPP systems, BCH codes are primarily deployed to protect critical broadcast and control information that must be received reliably by all user equipment (UE) within a cell. A key application is the Broadcast Channel (BCH) transport channel, which carries the Master Information Block (MIB) containing essential system information for initial cell access. The physical layer processing for the BCH transport channel involves channel coding with a specific BCH code, followed by rate matching, scrambling, modulation, and mapping to physical resources. The robustness of BCH coding ensures that UEs can successfully decode the MIB even under poor signal-to-noise ratio (SNR) conditions, which is vital for cell selection, synchronization, and acquiring further system information.

The implementation and parameters of BCH codes have evolved across 3GPP releases to meet the demands of new radio access technologies. In UMTS (3G), BCH coding is applied to the Broadcast Control Channel (BCCH) logical channel mapped to the BCH transport channel. For LTE (4G), the BCH transport channel uses a tail-biting convolutional code for the MIB, but BCH codes are utilized in other contexts, such as the Physical Broadcast Channel (PBCH) which carries the MIB and employs a combination of coding schemes. In 5G NR, while the PBCH also carries the MIB, the term 'BCH' in specifications often refers more broadly to the broadcast channel functionality and its associated processing chain, which may involve polar codes or LDPC codes for the payload, but the conceptual role of robust broadcast channel coding remains, with BCH principles influencing design.

Purpose & Motivation

BCH codes were created to address the fundamental challenge of reliable digital communication over noisy and interference-prone channels, such as wireless radio links. Prior to sophisticated FEC like BCH, communication systems relied on simpler parity checks or repetition codes, which were inefficient and offered limited error correction capability. The mathematical foundation of BCH codes, developed by Bose, Ray-Chaudhuri, and Hocquenghem, provided a method to construct codes with precisely defined and powerful error-correcting properties, enabling systems to maintain communication integrity without constant retransmission requests, which is inefficient for broadcast traffic.

In the context of 3GPP mobile networks, the primary motivation for employing BCH coding is to ensure the robust and reliable delivery of critical system broadcast information. Channels like the BCH transport channel carry information essential for network entry and operation, such as system bandwidth and frame timing. If this information is corrupted, a UE cannot access the network. BCH codes solve this by allowing the UE to correct a certain number of bit errors autonomously upon reception, significantly increasing the probability of successful decoding at the cell edge or in challenging radio conditions. This reduces call drop rates and improves overall system accessibility and reliability.

The adoption and continued reference to BCH codes across 3GPP releases underscore their effectiveness as a benchmark for reliable control channel design. While specific coding schemes for user data have evolved (e.g., to Turbo codes, LDPC, Polar codes), the requirements for broadcast channels have consistently demanded high reliability with relatively small block sizes, a domain where BCH codes excel. Their use represents a careful engineering trade-off between coding gain, computational complexity, and latency, ensuring that vital control signaling remains robust as network technologies advance from 3G to 5G and beyond.

Evolution Across Releases

R99 Initial

Introduced as the channel coding scheme for the Broadcast Channel (BCH) transport channel in UMTS. The BCH carried the Master Information Block (MIB) for cell system information. The specific BCH code parameters were defined to provide robust error correction for this critical broadcast data, supporting initial cell search and selection procedures in the new WCDMA-based radio interface.

Explore further

Broader topics and technologies where BCH plays a role.

Defining Specifications

3GPP specifications that define or reference BCH, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TR 21.905 vj00 3GPP Technical Terms and Definitions Rel-19
TS 25.133 vj00 UTRAN RRM Requirements for FDD Rel-19
TS 25.202 vj00 7.68Mcps TDD Option Technical Specification Rel-19
TS 25.211 vj00 UTRA FDD Layer 1: Transport & Physical Channels Rel-19
TS 25.212 vj00 UTRA FDD Layer 1 Multiplexing & Channel Coding Rel-19
TS 25.213 vj00 UTRA FDD Spreading and Modulation Rel-19
TS 25.214 vj00 UTRA FDD Physical Layer Procedures Rel-19
TS 25.221 vj00 UTRA TDD Physical Layer Specification Rel-19
TS 25.222 vj00 UTRA TDD Multiplexing & Channel Coding Rel-19
TS 25.224 vj00 UTRA TDD Physical Layer Procedures Rel-19
TS 25.225 vj00 UTRA TDD Physical Layer Measurements Rel-19
TS 25.301 vj00 UE-UTRAN Radio Interface Protocol Architecture Rel-19
TS 25.302 vj00 UTRA Physical Layer Services Rel-19
TS 25.321 vj00 MAC Protocol Specification for UTRAN Rel-19
TS 25.322 vj00 RLC Protocol Specification Rel-19
TS 25.430 vj00 Introduction to Iub Interface Specifications Rel-19
TS 25.704 vc00 Study on Enhanced Broadcast of System Information Rel-12
TR 25.912 vj00 Evolved UTRA and UTRAN Technical Report Rel-19
TS 26.267 vj00 eCall In-band Modem Specification Rel-19
TS 36.133 vj20 E-UTRA RRM Requirements Rel-19
TS 36.212 vj10 LTE Multiplexing and Channel Coding Rel-19
TS 36.213 vj10 LTE Physical Layer Procedures Rel-19
TS 36.300 vj00 E-UTRAN Radio Interface Protocol Architecture Overview Rel-19
TS 36.302 vj00 E-UTRA Physical Layer Services Rel-19
TS 36.322 vj00 E-UTRA Radio Link Control Protocol Specification Rel-19
TS 36.331 vj00 LTE RRC Protocol Specification Rel-19
TS 38.202 vj00 5G NR Physical Layer Services Rel-19
TS 38.212 vj10 NR Multiplexing and Channel Coding Rel-19
TS 38.300 vj00 NG-RAN Overall Description Rel-19
TR 38.889 vg00 NR-based access to unlicensed spectrum study Rel-16