• Aucun résultat trouvé

BCH codes

Dans le document Fundamentals of Error-Correcting Codes (Page 187-192)

4 Cyclic codes

✲ ✲ Delay element

5.1 BCH codes

BCH codes are cyclic codes designed to take advantage of the BCH Bound. We would like to construct a cyclic codeCof lengthnoverFqwith simultaneously high minimum weight and high dimension. Having high minimum weight, by the BCH Bound, can be accomplished by choosing a defining setT forCwith a large number of consecutive elements. Since the dimension ofCisn− |T|by Theorem 4.4.2, we would like|T|to be as small as possible.

So if we would likeCto have minimum distance at leastδ, we can choose a defining set as small as possible that is a union ofq-cyclotomic cosets withδ−1 consecutive elements.

Letδbe an integer with 2≤δn. ABCH codeC overFq of lengthn anddesigned distanceδis a cyclic code with defining set

T =CbCb+1∪ · · · ∪Cb+δ−2, (5.1) whereCi is theq-cyclotomic coset modulon containingi. By the BCH Bound this code has minimum distance at leastδ.

Theorem 5.1.1 A BCH code of designed distanceδhas minimum weight at leastδ.

Proof: The defining set (5.1) containsδ−1 consecutive elements. The result follows by

the BCH Bound.

Varying the value of b produces a variety of codes with possibly different minimum distances and dimensions. Whenb=1,Cis called anarrow-senseBCH code. As with any cyclic code, ifn=qt−1, thenCis called aprimitiveBCH code.

169 5.1 BCH codes

BCH codes arenestedin the following sense.

Theorem 5.1.2 For i=1and 2,letCi be the BCH code overFq with defining set Ti = CbCb+1∪ · · · ∪Cbi2,whereδ1< δ2. ThenC2C1.

Exercise 284 Prove Theorem 5.1.2.

Example 5.1.3 We construct several BCH codes overF3of length 13. The 3-cyclotomic cosets modulo 13 are

C0= {0}, C1= {1,3,9}, C2 = {2,5,6}, C4= {4,10,12},C7= {7,8,11}.

As ord13(3)=3,x13−1 has its roots inF33. There is a primitive elementαinF33 which satisfiesα3+2α+1=0. Thenβ =α2is a primitive 13th root of unity inF33. Usingβ, the narrow-sense BCH codeC1 of designed distance 2 has defining setC1 and generator polynomialg1(x)=2+x+x2+x3. By Theorem 5.1.1, the minimum distance is at least 2. However,C1µ2, which is equivalent toC1, is the (non-narrow-sense) BCH code with defining set 2−1C1 =C7=C8by Corollary 4.4.5. This code has designed distance 3 and generator polynomialg7(x)=2+2x+x3. ThusC1is a [13,10,3] BCH code. The even-like subcodeC1,eofC1is the BCH code with defining setC0C1.C1,ehas designed distance 3 and minimum distance 3 as (x−1)g1(x)=1+x+x4is even-like of weight 3. Note that the even-like subcode ofC1µ2 is equivalent to C1,e but is not BCH. The narrow-sense BCH codeC2 of designed distance 3 has defining setC1C2. As this defining set also equalsC1C2C3,C2also has designed distance 4. Its generator polynomial isg1,2(x)= 1+2x+x2+2x3+2x4+2x5+x6, and (1+x)g1,2(x)=1+x4+x5+x7has weight 4. ThusC2is a [13,7,4] BCH code. Finally, the narrow-sense BCH codeC3of designed distance 5 has defining setC1C2C3C4; this code is also the narrow-sense BCH code of designed distance 7.C3has generator polynomial 2+2x2+2x3+x5+2x7+x8+x9, which has weight 7; thusC3 is a [13,4,7] BCH code. Notice thatC3C2C1 by the

nesting property of Theorem 5.1.2.

Exercise 285 This exercise continues Example 5.1.3. The minimal polynomials ofβ,β2, β4, and β7 are g1(x)=2+x+x2+x3,g2(x)=2+x2+x3,g4(x)=2+2x+2x2+ x3, andg7(x)=2+2x+x3, respectively. Find generator polynomials, designed distances, and minimum distances of all BCH codes overF3of length 13. Note that computations will be reduced if multipliers are used to find some equivalences between BCH codes.

The next theorem shows that many Hamming codes are narrow-sense BCH codes.

Theorem 5.1.4 Let n=(qr−1)/(q−1)wheregcd(r,q−1)=1. L etCbe the narrow-sense BCH code with defining set T =C1. ThenCis the Hamming codeHq,r.

Proof: Let γ be a primitive element of Fqr. The code C is generated by Mα(x), where α=γq1 is a primitive nth root of unity. An easy calculation shows that n = (q−1)r−1

i=1i qr−1−i+r. So gcd(n,q−1)=gcd(r,q−1)=1. By Theorem 3.5.3, the nonzero elements of Fq in Fqr are powers of γ where the power is a divisor of n=(qr−1)/(q−1). As gcd(n,q−1)=1, the only element ofFq that is a power of αis the identity. Therefore if we write the elements ofFqr asr-tuples inFrq, none of the

Team FLY

r-tuples corresponding toα0, α1, . . . , αn1are multiples of one another using only elements ofFq. This implies that these elements are the distinct points of PG(r−1,q). Ther×n matrixH, whose columns are ther-tuples corresponding toα0, α1, . . . , αn−1, is the parity

check matrixHq,r ofHq,r as given in Section 1.8.

Corollary 5.1.5 Every binary Hamming code is a primitive narrow-sense BCH code.

Exercise 286 Verify the claim made in the proof of Theorem 5.1.4 that n=(q−1)× r−1

i=1i qr−1−i+r, wheren =(qr−1)/(q−1).

Exercise 287 Prove Corollary 5.1.5.

But not every Hamming code is equivalent to a BCH code. Indeed as the next example shows, some Hamming codes are not equivalent to any cyclic code.

Example 5.1.6 In Example 1.3.3, a generator matrix for the [4,2,3] ternary Hamming codeC=H3,2, also called the tetracode, was presented. In Example 1.7.7, its monomial automorphism group was given; namely MAut(C)=Aut(C) is a group of order 48 gener-ated by diag(1,1,1,−1)(1,2,3,4) and diag(1,1,1,−1)(1,2), where MAutPr(C)=Sym4. Using this fact a straightforward argument, which we leave to Exercise 288, shows that a monomial mapM, such thatCM is cyclic, does not exist.

Exercise 288 Verify that in Example 5.1.6 a monomial map M, such thatCM is cyclic,

does not exist.

The Hamming codes of Theorem 5.1.4 have designed distanceδ =2, yet their actual minimum distance is 3. In the binary case this can be explained as follows. These Hamming codes are the narrow-sense BCH codes of designed distanceδ=2 with defining setT =C1. But in the binary case,C1=C2and soT is also the defining set of the narrow-sense BCH code of designed distanceδ=3. This same argument can be used with every narrow-sense binary BCH code in that the designed distance can always be assumed to be odd. In the next theorem we give a lower bound on the dimension of a BCH code in terms ofδand ordn(q).

Of course, the exact dimension is determined by the size of the defining set.

Theorem 5.1.7 LetCbe an[n,k]BCH code overFqof designed distanceδ. The following hold:

(i) kn−ordn(q)(δ−1).

(ii) If q =2andCis a narrow-sense BCH code,thenδcan be assumed to be odd; further-more ifδ=2w+1,then kn−ordn(q)w.

Proof: By Theorem 4.1.4 eachq-cyclotomic coset has size a divisor of ordn(q). The defining set for a BCH code of designed distanceδis the union of at mostδ−1q-cyclotomic cosets each of size at most ordn(q). Hence the dimension of the code is at leastn−ordn(q)(δ−1), giving (i). If the code is narrow-sense and binary, then{1,2, . . . , δ−1} ⊆T. Suppose that δis even. ThenδCδ/2T, implying thatTcontains the set{1,2, . . . , δ}ofδconsecutive elements. Hence we can increase the designed distance by 1 whenever the designed distance

171 5.1 BCH codes

is assumed to be even. So we may assume thatδis odd. Ifδ=2w+1, then T =C1C2∪ · · · ∪C2w=C1C3∪ · · · ∪C2w−1,

asC2i =Ci. HenceTis the union of at mostwq-cyclotomic cosets of size at most ordn(q),

yieldingkn−ordn(q)w.

As we see in the proof of Theorem 5.1.7, it is possible for more than one value ofδto be used to construct the same BCH code. The binary Golay code provides a further example.

Example 5.1.8 In Example 4.5.5, we saw that the [23,12,7] binary Golay code is a cyclic code with defining setT =C1. Thus it is a narrow-sense BCH code with designed distance δ=2. AsC1=C2=C3=C4, it is also a BCH code with designed distance any of 3, 4,

or 5.

Because of examples such as this, we call the largest designed distanceδdefining a BCH codeCtheBose distanceofC. Thus we havedδδ, whered is the actual minimum distance ofCby Theorem 5.1.1. For the Golay code of Example 5.1.8, the Bose distance is 5; notice that the true minimum distance is 7, which is still greater than the Bose distance. As we saw in Chapter 4, there are techniques to produce lower bounds on the minimum distance which, when applied to BCH codes, may produce lower bounds above the Bose distance.

Determining the actual minimum distance of specific BCH codes is an important, but difficult, problem. Section 3 of [50] discusses this problem extensively. Tables of minimum distances for very long codes have been produced. For example, Table 2 of [50] contains a list of primitive narrow-sense binary BCH codes whose minimum distance is the Bose distance. As an illustration of the lengths of codes involved, the primitive narrow-sense binary BCH code of lengthn=24199−1 and designed distance 49 actually has minimum distance 49, as does every such code of lengthn=24199k−1.

For narrow-sense BCH codes, the BCH Bound has been very good in general. In fact, that is how the minimum weights of many of the BCH codes of high dimension have been determined: find a vector in the code whose weight is the Bose designed distance. There has been a great deal of effort to find the true minimum distance of all primitive narrow-sense binary BCH codes of a fixed length. This has been done completely for lengths 3, 7, 31, 63, 127, and 255; for lengths up to 127 see Figure 9.1 of [218] and Table 2 of [50]

and for length 255 see [10]. The true minimum distance of all but six codes of length 511 has been found in [10] and [46]; see also [50]. Of the 51 codes of length 511 whose minimum distance is known, 46 have minimum distance equal to their Bose distance, four have minimum distance equal to two more than their Bose distance, and one has minimum distance four more than its Bose distance (the [511,103,127] code of designed distance 123). The following conjecture has been formulated by Charpin.

Conjecture Every binary primitive narrow-sense BCH code of Bose designed distanceδ has minimum distance no more thanδ+4.

If the code is not primitive, some codes fail to satisfy this conjecture. For example, the binary narrow-sense BCH code of length 33 and designed distance 5 has minimum distance 10 (see [203]).

As we see, finding the minimum distance for a specific code or a family of codes, such as BCH codes, has been an important area of research. In this connection, it would be very useful to have improved algorithms for accomplishing this. There is also interest in determining as much as one can about the weight distribution or automorphism group of a specific code or a family of codes. For example, in Theorem 5.1.9 we will show that extended narrow-sense primitive BCH codes are affine-invariant; the full automorphism groups of these codes are known [16].

By Theorem 4.2.6 and Exercises 238 and 243, the dual, even-like subcode, and cyclic complement of a cyclic codeC are all cyclic. IfC is a BCH code, are its dual, even-like subcode, and cyclic complement also BCH? In general the answer is no to each of these, although in certain cases some of these are BCH. For example, suppose thatCis a narrow-sense BCH code of lengthnand designed distanceδ. Then as 1+δ−2≤n−1, 0 is not in the defining setT ofC, and hence, by Exercise 238,Cis odd-like. ThusT =C1C2∪ · · ·

Cδ−1 while the defining set of the even-like subcode Ce is T ∪ {0} =C0C1∪ · · ·

Cδ−1; henceCeis a BCH code of designed distanceδ+1.

Exercise 289 Let 2≤δ≤15.

(a) Give the defining set of all binary BCH codes of designed distanceδand length 15.

(b) What is the Bose distance of each of the codes in part (a)?

(c) What is the defining set of each of the duals of the codes in part (a)? Which of these duals are BCH?

(d) What is the defining set of each of the even-like subcodes of the codes in part (a)? Which of these even-like subcodes are BCH?

(e) What is the defining set of each of the cyclic complements of the codes in part (a)?

Which of these cyclic complements are BCH?

(f ) Find the defining sets of all binary cyclic codes of length 15 that are not BCH.

(g) Find the minimum weight of the BCH codes of length 15.

LetCbe a primitive narrow-sense BCH code of lengthn =qt−1 overFqwith designed distance δ. The defining setT is C1C2∪ · · · ∪Cδ−1. The extended BCH codeC has defining setT = {0} ∪T. The reader is asked to show in Exercise 290 that ifsT and r's, thenrT where' is the partial order onN = {0,1, . . . ,n}of Section 4.7. By Theorem 4.7.6,Cis affine-invariant, and by Corollary 4.7.9 the minimum weight ofCis its minimum odd-like weight. So we have the following theorem.

Theorem 5.1.9 LetCbe a primitive narrow-sense BCH code of length n=qt−1overFq

with designed distanceδ. ThenC is affine-invariant,and the minimum weight ofC is its minimum odd-like weight.

Exercise 290 LetC be an extended BCH code of length qt overFq with defining set T = {0} ∪C1C2∪ · · · ∪Cδ−1. Letq = pm, where p is a prime, and letn=qt−1=

pmt−1. Show, by carrying out the following, that ifsT andr 's, thenrT. (a) Prove that ifr's, thenr'swhererqr(modn) andsqs(modn).

(b) Prove that if there exists ansT and anr 'sbutrT, then there is ansT with sδ−1 and anr'ssuch thatrT.

(c) Prove thatrandsfrom part (b) do not exist.

173 5.2 Reed–Solomon codes

When examining a family of codes, it is natural to ask if this family is asymptotically

“good” or “bad” in the following sense. We say that a family of codes isasymptotically goodprovided that there exists an infinite subset of [ni,ki,di] codes from this family with limi→∞ni = ∞such that both lim infi→∞ki/ni>0 and lim infi→∞di/ni >0. For example, codes that meet the Asymptotic Gilbert–Varshamov Bound are asymptotically good. The family isasymptotically badif no asymptotically good subfamily exists. Recall from Section 2.10 that for an [n,k,d] code, the ratiok/nis called the rate of the code and the ratiod/nis called the relative distance of the code. The former measures the number of information coordinates relative to the total number of coordinates, and the latter measures the error-correcting capability of the code. Ideally, we would like the rate and relative distance to both be high, in order to be able to send a large number of messages while correcting a large number of errors. But these are conflicting goals. So in a family of good codes, we want an infinite subfamily where both the code rates and relative distances are bounded away from 0; hence in this subfamily neither rate nor relative distance are low. In general, the rates and relative distances for any class of codes is difficult or impossible to determine. Unfortunately, primitive BCH codes are known to be bad [198].

Theorem 5.1.10 The family of primitive BCH codes overFq is asymptotically bad.

Note that this negative result does not say that individual codes, particularly those of modest length, are not excellent codes. BCH codes, or codes constructed from them, are often the codes closest to optimal that are known [32].

As a corollary of Theorem 5.1.10, we see that the primitive narrow-sense BCH codes are asymptotically bad. These codes also have extensions that are affine-invariant by Theo-rem 5.1.9. The fact that primitive narrow-sense BCH codes are asymptotically bad also, is a corollary of the following result of Kasami [161].

Theorem 5.1.11 Any family of cyclic codes whose extensions are affine-invariant is asymp-totically bad.

It is natural to ask whether or not there is any asymptotically good family of codes.

The answer is yes, as the Asymptotic Gilbert–Varshamov Bound implies. As we saw, the proof of this bound is nonconstructive; it shows that a family of good codes exists but does not give a construction of such a family. In Section 2.11 we saw that the lexicodes meet the Asymptotic Gilbert–Varshamov Bound and hence are asymptotically good. We will examine another family of codes in Chapter 13 that meets the Asymptotic Gilbert–

Varshamov Bound.

Dans le document Fundamentals of Error-Correcting Codes (Page 187-192)