BCH codes, part of the cyclic codes, are very powerful error correcting codes widely used in the information coding techniques. This presentation explains these codes with an example.
3. •Powerful random error-correcting cyclic codes.
•Makes block size(n) smallest for given message
block(k) to obtain desired hamming distance.
•Discovered by Hocquenghem in 1959 and
independently by Bose and Chaudhuri in 1960.
•Most important subclass Reed-Solomon (RS)
codes.
•Berlekamp’s iterative algorithm and Chien’s search
algorithm—most efficient decoding algorithms.
•In technical terms a BCH code is a
multilevel cyclic variable-length digital error-correcting
code used to correct multiple random error patterns.
INTRODUCTION
4. INTRODUCTION
For positive pair of integers m≥3 and t, a (n, k) BCH
code has parameters:
Block length: n = 2m – 1
Number of check bits: n – k ≤ mt
Minimum distance: dmin ≥ 2t + 1
t<(2m – 1)/2 random errors detected and corrected.
So also called ‘t-error correcting BCH code’.
Major advantage is flexibility for block length and
code rate.
5. Generator polynomial specified in terms of its
roots from Galois Field GF(2k).
g(x) has α,α2,…, α2t and their conjugates as its roots.
We choose g(x) from xn + 1 polynomial factors by
taking xn-k as highest term.
INTRODUCTION
8. BCH Encoder
(15, 7) BCH Encoder.
The 7 message bits (M0, M1….M6) are applied to the
parallel to serial shift register.
The output of parallel to serial shift register will be
sent to (15, 7) BCH Encoder module.
Using these message bits, parity bits are computed
and sent to serial to parallel shift register.
Then parity bits are appended to original message bits
to obtain 15 bit encoded data.
This entire encoding process requires 15 clock cycles.
10. BCH Decoder
(15, 7) BCH decoder.
The decoding algorithm for BCH codes consists of
three major steps.
Calculate the syndrome value Si, i=1,2,….,2t from
the received word r(x).
Determine the error location polynomial s(x)
Find the roots of s(x) and then correct the errors
11. EXAMPLE
For a (31,21,2) BCH code:
Encoder: t = 2
g(x)=xⁿ+1=x³¹+1
=(x+1)(x¹⁰+x⁹+x⁸+x⁶+x⁵+x³+1)
(x²⁰+x¹⁷+x¹⁶+x¹³+x¹¹+x⁷+x⁶+x⁵+x²+x+1)
Here highest order term for g(x) must be chosen as
xⁿ⁻ᵏ=x³¹⁻²¹=x¹⁰
So g(x)= (x¹⁰+x⁹+x⁸+x⁶+x⁵+x³+1)
13. MERITS
The principal advantage is the ease with which they can be decoded
using ‘syndrome decoding’ method.
Allows very simple electronic hardware to perform the task,
obviating the need for a computer, and meaning that a decoding
device may be made small and low-powered.
Highly flexible, allowing control over block length and acceptable
error thresholds, meaning that a custom code can be designed to a
given specification
Reed–Solomon codes, which are BCH codes, are used in
applications such as satellite communications, compact
disc players, DVDs, disk drives, and two-dimensional bar codes.
BCH codes are also useful in theoretical computer science.
Low amount of redundancy
Easy to implement in hardware
Widely used
15. APPLICATIONS
BCH Codes as Industry Standards:
(511, 493) BCH code in ITU-T. Rec. H.261
“video codec for audiovisual service at kb/s”
a video coding standard used for video
conferencing and video phone.
n=511 m=9
k=493
n-k=18 t=2
(40, 32) BCH code in ATM (Asynchronous
Transfer Mode) pp. 223-227.
is a shortened cyclic code that can correct
1-bit error and detect 2-bit errors.