BCH Code
BCH Code
Yunghsiang S. Han
Block length: n = 2m − 1
Number of parity-check digits: n − k ≤ mt
Minimum distance: dmin ≥ 2t + 1.
Example
• Let α be a primitive element of GF (24 ) such that
1 + α + α4 = 0. The minimal polynomials of α, α3 , and α5 are
ϕ1 (x) = 1 + x + x4 ,
ϕ3 (x) = 1 + x + x2 + x3 + x4 ,
ϕ5 (x) = 1 + x + x2 ,
! !2 !4 !8 !16 ! !
!3 !6 !12 !24 !48 ! !3
! !9
Representations of GF(24). p(z) = z4 + z + 1
Exponential Polynomial Binary Decimal Minimal
Notation Notation Notation Notation Polynomial
0 0 0000 0 x
!0 1 0001 1 x+1
!1 z 0010 2 x4 + x + 1
!2 z2 0100 4 x4 + x + 1
!3 z3 1000 8 x4 + x3 + x2 + x + 1
!4 z+1 0011 3 x4 + x + 1
!5 z2 + z 0110 6 x2 + x + 1
!6 z3 + z2 1100 12 x4 + x3 + x2 + x + 1
!7 z3 + z + 1 1011 11 x4 + x3 + 1
!8 z2 + 1 0101 5 x4 + x + 1
!9 z3 + z 1010 10 x4 + x3 + x2 + x + 1
!10 z2 + z + 1 0111 7 x2 + x + 1
!11 z3 + z2 + z + 1 1110 14 x4 + x3 + 1
!12 z3 + z2 + z + 1 1111 15 x4 + x3 + x2 + x + 1
!13 z3 + z2 + 1 1101 13 x4 + x3 + 1
!14 z3 + 1 1001 9 x4 + x3 + 1
m n k t m n k t m n k t n k t n k t
3 7 4 1 63 24 7 127 50 13 255 187 9 255 71 29
4 15 11 1 18 10 43 14 179 10 63 30
7 2 16 11 36 15 171 11 55 31
5 3 10 13 29 21 163 12 47 42
5 31 26 1 7 15 22 23 155 13 45 43
21 2 7 127 120 1 15 27 147 14 37 45
16 3 113 2 8 31 139 15 29 47
11 5 106 3 8 255 247 1 131 18 21 55
6 7 99 4 239 2 123 19 13 59
6 63 57 1 92 5 231 3 115 21 9 63
51 2 85 6 223 4 107 22 511 502 1
45 3 78 7 215 5 99 23 493 2
39 4 71 9 207 6 91 25 484 3
For t small
n – k = mt 36 5 64 10 199 7 87 26 475 4
30 6 57 11 191 8 79 27 466 5
n k t n k t n k t n k t n k t
511 457 6 511 322 22 511 193 43 511 58 91 1023 933 9
448 7 313 23 184 45 49 93 923 10
439 8 304 25 175 46 40 95 913 11
430 9 295 26 166 47 31 109 903 12
421 10 286 27 157 51 28 111 893 13
412 11 277 28 148 53 19 119 883 14
403 12 268 29 139 54 10 121 873 15
394 13 259 30 130 55 1013 1 863 16
385 14 250 31 121 58 1023 1003 2 858 17
376 15 241 36 112 59 993 3
367 16 238 37 103 61 983 4
358 18 229 38 94 62 973 5
349 19 220 39 85 63 963 6
340 20 211 41 76 85 953 7
331 21 202 42 67 87 943 8
for 1 ≤ i ≤ 2t.
• Let
1 α α 2
α 3
··· α n−1
1 2
(α ) (α )2 2 2 3
(α ) ··· 2 n−1
(α )
H =
1 (α3 ) (α3 )2 (α3 )3 ··· (α3 )n−1 .
(2)
.. ..
. .
1 (α2t ) (α2t )2 (α2t )3 ··· (α2t )n−1
BCH Bound
• The t-error-correcting BCH code defined has minimum
distance at least 2t + 1.
Proof: We need to show that no 2t of fewer columns of H sum
to zero. Suppose that there exists a nonzero code vector v with
weight δ ≤ 2t. Let vj1 , vj2 , . . . , vjδ be the nonzero components
of v. Then
0 = v · HT
α j1 2 j1
(α ) ··· (α )2t j1
α j2 2 j2
(α ) ··· (α )2t j2
j
= (vj1 , vj2 , . . . , vjδ ) ·
α 3
(α2 )j3 ··· (α2t )j3
. .. ..
..
. .
α jδ (α2 )jδ · · · (α2t )jδ
α j1 j1 2
(α ) ··· j1 2t
(α )
α j2 j2 2
(α ) ··· j2 2t
(α )
j
= (1, 1, . . . , 1) ·
α
3
(αj3 )2 ··· (αj3 )2t .
. .. ..
..
. .
αjδ (αjδ )2 ··· (αjδ )2t
Then
Syndrome Calculation
• Let
r(x) = r0 + r1 x + r2 x2 + · · · + rn−1 xn−1
be the received vector and e(x) the error pattern. Then
S = (S1 , S2 , . . . , S2t ) = r · H T ,
Si = r(αi ) = bi (αi ).
where ej1 , ej2 , . . . , ejv , and αj1 , αj2 , . . . , αjv are unknown.
• Any method for solving these equations is a decoding algorithm
for the BCH codes.
• Let Yi = eji , Xi = αji , 1 ≤ i ≤ v.
S1 = Y1 X1 + Y2 X2 + · · · + Yv Xv
S2 = Y1 X12 + Y2 X22 + · · · + Yv Xv2
S3 = Y1 X13 + Y2 X23 + · · · + Yv Xv3
..
.
S2t = Y1 X12t + Y2 X22t + · · · + Yv Xv2t . (4)
Λ(x) = (1 − X1 x)(1 − X2 x) · · · (1 − Xv x)
= 1 + Λ1 x + Λ2 x2 + · · · + Λv xv . (5)
we have
( )
0= Yi Xij+v 1+ Λ1 Xi−1 + Λ2 Xi−2 + ··· + Λv Xi−v ,
for 1 ≤ i ≤ v.
• Summing all above v equations, we have
∑
v ( )
0 = Yi Xij+v + Λ1 Xij+v−1 + ··· + Λv Xij
i=1
∑v ∑
v ∑
v
= Yi Xij+v + Λ1 Yi Xij+v−1 + · · · + Λv Yi Xij
i=1 i=1 i=1
= Sj+v + Λ1 Sj+v−1 + Λ2 Sj+v−2 + · · · + Λv Sj .
• We have
for 1 ≤ j ≤ v.
We have
( ) ∑
u ∑
u
T
ABA ij = Xℓi−1 Yℓ Xℓ δℓk Xkj−1
ℓ=1 k=1
∑
u
= Xℓi−1 Yℓ Xℓ Xℓj−1
ℓ=1
∑u
= Yℓ Xℓi+j−1 = Mij .
ℓ=1
Example
Consider the triple-error-correcting (15, 5) BCH code with
g(x) = 1 + x + x2 + x4 + x5 + x8 + x10 . Assume that the received
vector is r(x) = x2 + x7 . The operating finite field is GF (24 ). Then
the syndromes can be calculated as follows:
S1 = α7 + α2 = α12
S2 = α14 + α4 = α9
S3 = α21 + α6 = 0
S4 = α28 + α8 = α3
S5 = α35 + α10 = α0 = 1
S6 = α42 + α12 = 0.
Set v = 3, we have
S1 S2 S3
det(M ) = S2 S3 S4
S3 S4 S5
α12 α9 0
= α9 0 α3 = 0.
0 α3 1
Set v = 2, we have
S1 S2 α12 α9
det(M ) = = ̸= 0.
9
S2 S3 α 0
We then calculate
0 α6
M −1 = .
α6 α9
Hence,
[ ] [ ] [ 9
]
Λ2 −1 0 α
=M =
Λ1 α3 α12
and
Λ(x) = 1 + α12 x + α9 x2
( 2
)( 7
)
= 1+α x 1+α x
( )( )
= α x−α
9 8
x−α .13