1. Trang chủ
  2. » Công Nghệ Thông Tin

The Art of Error Correcting Coding phần 4 docx

27 316 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 247,55 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

With n= 63, determine the generator polynomial of a binary nonprimitive BCH 21, 12, 5 code... 4.1 RS codes as polynomial codes Similar to Reed–Muller RM codes, RS codes can be defined as

Trang 1

BINARY CYCLIC CODES AND BCH CODES 71

17 Let C be a double-error-correcting (15, 7, 5) BCH code Suppose that the all-zero

code word is transmitted and that there are erasures in the last four consecutivepositions so that

¯r(x) = f + f x + f x2+ f x3, where f denotes an erasure Find the most likely code polynomial that was transmit-

ted

18 Prove the existence of a binary cyclic (63, 58) code (Hint: How many binary cyclic

codes of length 63 are there?)

19 Let C1 be a double-error-correcting BCH (15,7,5) code and C2 be a correcting BCH (15,5,7) code

triple-error-(a) Find generator matrices G1 and G2 of C1 and C2 respectively

(b) Compute the weight distributions W(C1 ) andW(C2 ) (Hint: You may use a

computer program for this task.)

(c) Estimate the performance of codes C1 and C2 (BER curves) with soft-decisiondecoding over an AWGN channel Compare the curves with respect to uncodedBPSK modulation What are the respective coding gains?

20 Let A  be an  ×  Vandermonde matrix over a field.

(a) Show that det (A  ) = 0, that is, the rank of A  is .

(b) Show that any ν × ν submatrix A ν of A  has rank ν.

21 Let 2m − 1 = n1n2, where n1 > 1 and n2 >1

(a) Show that the element β = α n1, where α is a primitive element in GF(2 m ), has order n2 That is, n2 is the smallest positive integer such that β n2 = 1

(b) Using β, a binary nonprimitive BCH code can be constructed With n= 63,

determine the generator polynomial of a binary nonprimitive BCH (21, 12, 5)

code

Trang 2

Nonbinary BCH codes:

Reed– Solomon codes

In this chapter, one of the most celebrated class of ECC schemes is introduced andtheir encoding and decoding algorithms explained Reed–Solomon (RS) codes have foundnumerous applications in digital storage and communication systems Examples include the

famous RS (255, 223, 33) code for NASA space communications, shortened RS codes over GF(28) for CD-ROM, DVD and Terrestrial Digital HDTV transmission applications, an

extended RS (128, 122, 7) code over GF(27)for cable modems, among many others

4.1 RS codes as polynomial codes

Similar to Reed–Muller (RM) codes, RS codes can be defined as code words with nents equal to the evaluation of a certain polynomial As a matter of fact, this was the waythat RS codes were originally defined by Reed and Solomon in Reed and Solomon (1960)

compo-RM codes, finite-geometry codes (Lin and Costello 2005) and RS codes are all members

of a large class of codes: Polynomial codes (Peterson and Weldon 1972), which are closely related to algebraic-geometry (AG) codes (Pretzel 1998) Let

¯

u(x) = u0 + u1 x + · · · + u k−1x k−1 (4.1)

be an information polynomial, with u i ∈ GF(2 m ), 1 ≤ i < k Clearly, there are 2 mk such

polynomials By evaluating (4.1) over the nonzero elements of GF(2 m ), a code word in an

RS (2 m − 1, k, d) code of length 2 m is obtained,

¯

v=u(1) u(α) u(α2) · · · u(α2m−2)

4.2 From binary BCH to RS codes

RS codes can also be interpreted as nonbinary BCH codes That is, RS codes are BCH codes in which the values of the code coefficient are taken from GF(2 m ) In particular,

The Art of Error Correcting Coding, Second Edition Robert H Morelos-Zaragoza

 2006 John Wiley & Sons, Ltd ISBN: 0-470-01558-6

Trang 3

74 NONBINARY BCH CODES: REED–SOLOMON CODES

for a t d -error correcting RS code, the zeros of the code are 2t d consecutive powers of α Moreover, because over GF(2 m ) minimal polynomials are of the form φ i (x) = (x − α i ),

0≤ i < 2 m − 1, see Equation (3.9), the factors of the generator polynomial are now linear,

where b is an integer, usually b = 0 or b = 1.

It follows from (4.3), and the BCH bound on page 53, that the minimum distance of

a RS (n, k, d) code C over GF(2 m ) is d ≥ n − k + 1 On the other hand, the Singleton bound (Singleton 1964) d ≤ n − k + 1 implies that d = n − k + 1 A code that satisfies this equality is known as a maximum distance separable (MDS) code (Singleton 1964).

Therefore, RS codes are MDS codes This gives RS codes useful properties Among them,shortened RS codes are also MDS codes

Using the isomorphism between GF(2 m )and{0, 1} m , for every m-bit vector ¯ x β there

Con-This binary image code can correct, in addition to up to t d random errors, many random bursts of errors For example, any single burst of up to m(t d − 1) + 1 bits can be corrected This follows from the fact that a burst of errors of length up to m(q − 1) + 1 bits is contained

in at most q symbols of GF(2 m ) Therefore, there are many combinations of random errors

and bursts of errors that an RS code can correct To a great extent, this is the reason why

RS codes are so popular in practical systems

Example 4.2.1 Let m = 3, and GF(23) be generated by a primitive element α with

4.3 Decoding RS codes

The core of the decoding algorithms of RS codes is similar to that of binary BCH codes

The only difference is that the error values, e j, 1≤  ≤ ν, for ν ≤ t d, have to be computed

Trang 4

In general, this is done using the Forney algorithm (Forney 1974) The expression below holds for RS codes with an arbitrary set of 2t d consecutive zeros{α b , α b+1, α b +2t d−1},

e j  =(α j  )2−b(α −j  )

where σ(x) represents the formal derivative of σ (x) with respect to x (A similar expression can be found in Reed and Chen (1999), p 276.) The polynomial (x) in (4.4) is an error evaluator polynomial, which is defined as

(x) = σ (x)S(x) mod x 2t d+1. (4.5)Before introducing the first example of RS decoding, an alternative version of the

Berlekamp–Massey algorithm (BMA) is presented, referred to as the Massey algorithm (or

MA) The algorithm was invented by Massey (1969), and is also described in Michelsonand Levesque (1985), Wicker (1995)

Massey algorithm to synthesize a linear feedback shift-register (LFSR)

1 Initialize the algorithm with σ (x) = 1 (the LFSR connection polynomial), ρ(x) = x (the correction term), i = 1 (syndrome sequence counter),  = 0 (register length).

2 Get a new syndrome and compute discrepancy:

3 Test discrepancy: d= 0? Yes: Go to 8

4 Modify connection polynomial:

σnew(x) = σ (x) − dρ(x)

5 Test register length: 2 ≥ i? Yes: Go to 7.

6 Change register length and update correction term: Let  = i −  and ρ(x) = σ (x)/d

7 Update connection polynomial: σ (x) = σnew (x).

8 Update correction term: ρ(x) = xρ(x).

9 Update syndrome sequence counter: i = i + 1.

10 Stopping condition: If i < d go to 2 Else, stop.

Example 4.3.1 Let C be the same RS(7, 3, 5) code as in Example 4.2.1 Suppose that

¯r(x) = αx2+ α5x4

Trang 5

76 NONBINARY BCH CODES: REED–SOLOMON CODES

is the received polynomial Then S1 = ¯r(1) = α + α5= α6, S2 = ¯r(α) = α3+ α2 = α5, S3 = ¯r(α2) = α5+ α6= α and S4 = ¯r(α3) = 1 + α3= α Equation (3.16) gives:



Three methods of finding σ (x) are shown below.

Direct solution (Peterson–Gorenstein–Zierler (PGZ) algorithm)

Assume two errors Then 2 = α7+ α10= 1 + α3 = α = 0 Therefore, two errors must have occurred and

ρ(x) = σ (x)/d = α5+ α4x, ρ(x) = xρ(x) = α5x + α4x2, σ (x) = σnew (x).

• i = 4: d = S4+2

j=1σ j S4−j = α + α6α + α3α5= 1.

σnew(x) = σ (x) + dρ(x) = 1 + α6x + α3x2+ (1)(α5x + α4x2)

= 1 + αx + α6x2, 2≥ 4

ρ(x) = xρ(x) = α5x2+ α4x3, σ (x) = σnew (x).

• i = 5 > d Stop.

Trang 6

To compute the error values, using either the Berlekamp–Massey algorithm (BMA or

MA versions) or the PGZ algorithm, the error evaluator polynomial (4.5) is needed,

Trang 7

78 NONBINARY BCH CODES: REED–SOLOMON CODES

Therefore, ¯e(x) = αx2+ α5x4and the decoded word is

ˆc(x) = ¯r(x) + ¯e(x) = 0.

The two errors have been corrected.

Note that the constant β is the same for both polynomials found by application of the extended EA The EA finds β · σ (x) and β · (x), for some nonzero constant β ∈ GF(2 m ) Nevertheless, both error locator and error evaluator polynomials have the same roots as

those obtained by the PGZ or BMA algorithms, and thus the error values obtained arethe same

In most of the computer programs to simulate encoding and decoding procedures of RScodes on the ECC web site, the following equivalent method of finding the error values isused (Lin and Costello 2005) Let

z(x) = 1 + (S1 + σ1 )x + (S2 + σ1 S1+ σ2 )x2+ · · · + (s ν + σ1 S ν−1+ · · · + σ ν )x ν (4.6)Then the error value is computed as (Berlekamp 1984)

Trang 8

Example 4.3.2 Consider the same RS code and received polynomial in Example 4.3.1 Then

of the error correcting capability, t d , of the RS code.

4.3.1 Remarks on decoding algorithms

Unlike the BMA, all the syndromes in the EA are used in the first computation step

However, in terms of the number of GF(2 m )operations, the BMA is generally more efficientthan the EA On the other hand, all the steps in the EA are identical, which translates into

a more efficient hardware implementation Also, the three decoding methods discussedhere for (binary and nonbinary) BCH codes are examples of incomplete – or boundeddistance – decoding That is, they are able to detect situations in which the number oferrors exceeds the capability of the code

There are other approaches to decoding BCH codes, the most notable being the use of

a discrete Fourier transform over GF(2 m ) This is covered extensively in Blahut (1984),

where the reader is referred to for details Sudan (1997) introduced an algorithm that allowsthe correction of errors beyond the minimum distance of the code It applies to RS codesand more generally to AG codes This algorithm produces a list of code words (it is a list-decoding algorithm) and is based on interpolation and factorization of polynomials over

GF(2 m )and its extensions Sudan algorithm was improved in Guruswami and Sudan (1999)

4.3.2 Errors-and-erasures decoding

For the correction of erasures, the main change to the RS decoding procedures described

above is that an erasure locator polynomial τ (x) needs to be introduced, defined as

where y i  = α i , for 1≤  ≤ µ, denotes the position of an erasure.

By definition, the positions of the erasures are known Therefore, only the erasure values

need to be found This can be done, as before, in the Forney algorithm step In computing

Trang 9

80 NONBINARY BCH CODES: REED–SOLOMON CODESthe syndromes of the received polynomial, it can be shown that any values of the erasurescan be replaced, without any difference in the decoded word.

The decoding procedure is similar to the errors-only RS decoder, with the following

exceptions A modified syndrome polynomial, or modified Forney syndrome, is formed,

T (x) = S(x)τ(x) + 1 mod x 2t d+1. (4.10)

The BMA algorithm can be applied to find σ (x) with the following modifications:

1 The discrepancy is now defined as

1≤  ≤ µ, for the erasure values.

For errors-and-erasures decoding, the EA can also be applied to the modified syndrome

polynomial T (x), using 1 + T (x) instead of S(x) as in errors-only decoding That is, the initial conditions are r0 (x) = x 2t d+1 and r1 (x) = 1 + T (x) The algorithm stops when deg[r j (x)] ≤ (d − 1 + µ)/2 , with ω(x) = r j (x) and σ (x) = b j (x).

Example 4.3.3 Let C be an RS (15, 9, 7) code over GF(24) with zeros {α, α2, , α6}, where α is a primitive element satisfying p(α) = α4+ α3+ 1 = 0 As a reference, a table

of elements of GF(24) as powers of a primitive element α, with α4+ α3+ 1 = 0, is shown below.

Trang 10

¯r(x) = α7+ α3x + α13x2+ α14x3+ α7x4+ αx5+ αx6+ α4x7+ α6x8

+ α3x10+ α5x11+ α11x12+ α13x13+ α10x14 Assume that, aided by side information from the receiver, it is determined that the values in positions α0 and α5are unreliable, and thus declared as erasures.

Note that ¯e(x) = α14+ α8x3+ α5x5+ αx12 is the polynomial associated with the errata.1

After reception, besides ¯r(x), the decoder knows that µ = 2 erasures have occurred in positions α0 and α5 Therefore, it computes the erasure locator polynomial

τ (x) = (1 + x)(1 + α5x) = 1 + α10x + α5x2. (4.16)

1 The decoder obviously does not know this, except for the positions of the erasures This polynomial is used

as a reference against which the correctness of the decoding results can be verified.

Trang 11

82 NONBINARY BCH CODES: REED–SOLOMON CODES

The syndromes of ¯r(x) are computed as:

BMA for errors-and-erasures correction

• Iteration 0: Initialize σ ( −1) (x) = 1, −1 = 0, d−1 = 1, σ ( 0) (x) = 1, 0 = 0, and

i ≥ 2 Yes : Algorithm ends.

Therefore, σ (x) = 1 + α5x + x2 = (1 + α3x)(1 + α12x) For the last equality, recall that the inverses of the error positions are found, via Chien search, by evaluating σ (x) at all the

Trang 12

nonzero elements of GF(24) This gives σ (α12) = 0 and σ (α3) = 0 As a result, the error positions are α−12= α3 and α−3= α12.

From Equation (4.12), the modified errors-and-erasures evaluator is

The values of the errors and erasures are found from (4.14) and (4.15), respectively,

e3= α3(1 + α11+ α5+ α2+ α3) = α3α5= α8,

e12= α12(1 + α2+ α2+ α5+ α12) = α12α4= α,

f0= (1 + α14+ α11+ α11+ 1) = α14,

f5= α5(1 + α9+ α + α11+ α10) = α5, from which it follows that the errata polynomial is

¯e(x) = α14+ α8x3+ α5x5+ αx12 The decoded polynomial ˆ v(x) = ¯r(x) + ¯e(x) is identical to ¯v(x) Two errors and two era- sures have been corrected.

Direct solution of errata values

For small values of the minimum distance of an RS code, the erasure values may be

obtained by solving a set of linear equations Let ¯e(x) be the error polynomial associated with an error pattern resulting from the presence of ν errors and µ erasures,

Example 4.3.4 Direct solution of the errata values for the code in the previous example:

After the BMA and Chien search, the decoder knows that the error polynomial is of the form

¯e(x) = f0 + e3 x3+ f5 x5+ e12 x12.

Trang 13

84 NONBINARY BCH CODES: REED–SOLOMON CODES

The errata values can be found by solving the set of linear equations given by (4.20), which can be put in the following matrix form,

4.4 Weight distribution

As mentioned before, RS codes are also MDS codes The weight distribution of MDScodes can be computed exactly with a closed form expression (Lin and Costello 2005;MacWilliams and Sloane 1977):

The number of code words of weight i in an (n, k, d) MDS code over GF(q) is

A i =



n i



P s i (1 − P s ) n −i , (4.23)

where P s denotes the probability of a symbol error at the input of the RS decoder,

P S = 1 − (1 − p) m , and p denotes the probability of a bit error at the input of the RS decoder The probability

of a word error can be upper bounded by (1.33),



P s i (1 − P s ) n −i . (4.24)

2It should be noted that the bound is tight only for bounded distance decoders, such as those based on BMA,

EA or PGZ.

Trang 14

1 Let C be a Reed–Solomon (7, 3, 5) code with zeros α2, α3, α4, α5, where α is a primitive element of GF(23) satisfying p(α) = α3+ α2+ 1 = 0

(a) Obtain the generator polynomial of C.

(b) Suppose that ¯r(x) = 1 + α3x6 is the received polynomial Without doing anycomputation, what is the closest code polynomial ˆv(x) to ¯r(x)? (Hint: The

minimum distance is 5.)

(c) With the same received polynomial as in part (b), use the direct-solution method

(PGZ decoder) to find the estimated error vector ˆe(x) and the associated mated code word ˆc(x).

esti-2 Let C be a RS (7, 2, 6) code over GF(23).

(a) What are the parameters of the equivalent binary linear code C2 obtained from

C by expressing each element in GF(23)as a binary vector of length 3?

(b) Determine a generator polynomial of C.

(c) Suppose that the received polynomial is

¯r(x) = α4+ α2x + x2+ α5x4,

and is known to contain three erasures in the last three positions Determine themost likely code polynomial

3 Consider a RS (15, 9, 7) code over GF(24) with b= 1

(a) Obtain the generator polynomial of C.

(b) Suppose that the received polynomial is

¯r(x) = α7x3+ α3x6+ α4x12.

Determine the most likely code polynomial ˆv(x)using the BMA

(c) With the same received polynomial as in part (b), and without any computations,what is the closest code polynomial ˆv(x) to ¯r(x)?

4 Let C be an RS (7, 3, 5) code with b= 1 and generator polynomial

¯

g(x) = α3+ αx + x2+ α3x3+ x4 The received vector is ¯r(x) = α3x2+ x4+ x6 The position α3has been erased Findthe most likely code polynomial using the BMA

5 A RS (31, 25) code with b= 1 is used in a system The received polynomial is

¯r(x) = α3x + α6x2+ α6x4+ x5+ α23x6.

Using the BMA, determine the most likely code polynomial

Ngày đăng: 14/08/2014, 12:20

TỪ KHÓA LIÊN QUAN