Professional Documents
Culture Documents
BCH Codes: Yunghsiang S. Han
BCH Codes: Yunghsiang S. Han
Yunghsiang S. Han
Block length: n = 2m − 1
Number of parity-check digits: n − k ≤ mt
Minimum distance: dmin ≥ 2t + 1.
α, α2 , α3 , . . . , α2t
as its roots.
• g(αi ) = 0 for 1 ≤ i ≤ 2t and g(x) has α, α2 , . . . , α2t and their
conjugates as all its roots.
• Let φi (x) be the minimal polynomial of αi . Then g(x) must be
the least common multiple of φ1 (x), φ2 (x), . . . , φ2t (x), i.e.,
! !
"2!
i i i!
odd and " > 1. Then α = α is a conjugate of α . Hence,
φi (x) = φi! (x).
• g(x) = LCM{φ1 (x), φ3 (x), . . . , φ2t−1 (x)}.
• The degree of g(x) is at most mt. That is, the number of
parity-check digits, n − k, of the code is at most equal to mt.
• If t is small, n − k is exactly equal to mt.
• Since α is a primitive element, the BCH codes defined are usually
called primitive (or narrow-sense) BCH codes.
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 ,
for 1 ≤ i ≤ 2t.
• Let
2 3 n−1
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
v · H T = 0.
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 ) )
) 1 α j1
··· α j1 (δ−1) )
) )
) )
) 1 α j2 ··· αj2 (δ−1) )
) )
) )
αj1 +j2 +···+jδ · )) 1 α j3 ··· αj3 (δ−1) ) = 0.
)
) .. .. .. )
) . . . )
) )
) )
) 1 αjδ ··· αjδ (δ−1) )
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 ,
where bi (x) is the remainder with degree less than that of φi (x).
• Since φi (αi ) = 0, we have
Si = r(αi ) = bi (αi ).
•
S1 = ej1 α j1 + ej2 α j2 + · · · + ejv α jv
S2 = ej1 (αj1 )2 + ej2 (αj2 )2 + · · · + ejv (αjv )2
S3 = ej1 (αj1 )3 + ej2 (αj2 )3 + · · · + ejv (αjv )3
..
.
S2t = ej1 (αj1 )2t + ej2 (αj2 )2t + · · · + ejv (αjv )2t , (3)
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.
we have
* +
0= Yi Xij+v −1 −2 −v
1 + Λ 1 Xi + Λ 2 X i + · · · + Λ v X i .
for 1 ≤ i ≤ v.
• Summing all above v equations, we have
, v ! "
j+v j+v−1 j
0 = Y i X i + Λ1 X i + · · · + Λv X i
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
Λ1 Sj+v−1 + Λ2 Sj+v−2 + · · · + Λv Sj = −Sj+v
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.
)
) S2 S3 ) ) α 9 0 )
We then calculate
0 α6
M −1 = .
α6 α9
Hence,
0 1 0 1 0 9
1
Λ2 0 α
= M −1 =
Λ1 α3 α12
and
Λ(x) = 1 + α12 x + α9 x2
* 2
+* 7
+
= 1+α x 1+α x
9
* 8
+* 13
+
= α x−α x−α .