Skip to main content
Logo image

Exercises 22.5 Additional Exercises: Error Correction for BCH Codes

BCH codes have very attractive error correction algorithms. Let C be a BCH code in Rn, and suppose that a code polynomial c(t)=c0+c1t+⋯+cn−1tn−1 is transmitted. Let w(t)=w0+w1t+⋯wn−1tn−1 be the polynomial in Rn that is received. If errors have occurred in bits a1,…,ak, then w(t)=c(t)+e(t), where e(t)=ta1+ta2+⋯+tak is the error polynomial. The decoder must determine the integers ai and then recover c(t) from w(t) by flipping the aith bit. From w(t) we can compute w(ωi)=si for i=1,…,2r, where ω is a primitive nth root of unity over Z2. We say the syndrome of w(t) is s1,…,s2r.

2.

Show that
si=w(ωi)=e(ωi)=ωia1+ωia2+⋯+ωiak
for i=1,…,2r. The error-locator polynomial is defined to be
s(x)=(x+ωa1)(x+ωa2)⋯(x+ωak).

3.

Recall the (15,7)-block BCH code in Example 22.19. By Theorem 8.13, this code is capable of correcting two errors. Suppose that these errors occur in bits a1 and a2. The error-locator polynomial is s(x)=(x+ωa1)(x+ωa2). Show that
s(x)=x2+s1x+(s12+s3s1).

4.

Let w(t)=1+t2+t4+t5+t7+t12+t13. Determine what the originally transmitted code polynomial was.