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

The Art of Error Correcting Coding phần 3 doc

27 262 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 283,48 KB

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

Nội dung

3.1.5 Shortened cyclic codes and CRC codes There are many practical applications in which an error correcting code with simple ing and decoding procedures is desired, but existing constr

Trang 1

44 BINARY CYCLIC CODES AND BCH CODES

D flip-flops XOR

n-k n-k+1 n-1 1

2

1 2

= v , v , , v

Figure 3.2 Circuit for systematic encoding: division by ¯g(x)

3.1.5 Shortened cyclic codes and CRC codes

There are many practical applications in which an error correcting code with simple ing and decoding procedures is desired, but existing constructions do not give the desiredlength, dimension and minimum distance

encod-The following text is from an email sent to the author:

We plan to use a simple FEC/ECC scheme to detect/correct single-bit errors

in a 64-bit data block The objective is to find or choose an ECC scheme tocorrect single-bit errors with up to 8 bits of overhead, giving a maximum of

72 bits (64 data bits plus 8 redundant bits) in total

Naturally, since 72 is not of the form 2m− 1, none of the cyclic codes studied so far can

be applied directly One possible solution is to use a cyclic Hamming (127, 120, 3) code and to shorten it until a dimension k = 64 is reached This yields a shortened Hamming ( 71, 64, 3) code.2

Shortening is accomplished by not using all the information bits of a code Let s denote the number of information bits not used, referred to as the shortening depth Let C denote

a cyclic (n, k, d) code A shortened message is obtained by fixing s (arbitrary) message positions to zero This leaves k − s positions available for the message bits Without loss

of generality, let the highest positions in a message be set to zero Then

Trang 2

single-error-correcting/double-error-BINARY CYCLIC CODES AND BCH CODES 45

Example 3.1.6 Let C denote the cyclic Hamming (7, 4, 3) code with generator polynomial

¯

g(x) = 1 + x + x3 A new code is derived from C by sending 2 leading zeros followed by two information bits and the same three redundant bits computed by an encoder in C This process gives a set of code words that forms a shortened linear (5, 2, 3) code.

The fundamental property of a shortened code C s obtained from a cyclic code is that,although the code is generally no longer cyclic, the same encoder and decoder can be used,after the leading zeros are properly taken into account In computer simulations, it is easy

to simply pad the code words with zeros followed by the code word in C s and use thesame encoding and decoding algorithms discussed in the book This method is widely used

in hardware implementations of Reed–Solomon decoders Alternatively, the leading zeros

in a message do not need to be included in the code word Instead, the decoder circuit

is modified to multiply the incoming received polynomial ¯r(x) by x n −k+s modulo ¯g(x),

instead of x n −k modulo ¯g(x) in the conventional decoder More details on the modifiedencoder and decoder structures for a shortened cyclic code can be found in Lin and Costello(2005), Peterson and Weldon (1972), Wicker (1995), among other references

Another possible solution is to try to construct other classes of cyclic codes with thedesired parameters Good families of cyclic codes not covered in the text are Euclideangeometry (EG) and projective geometry (PG) codes (Lin and Costello 2005).3

Yet another possibility is to use a nonbinary cyclic code, such as the Reed–Solomon

code discussed in Chapter 4, and to express it in terms of bits This binary image of aReed–Solomon (RS) code will have the additional feature of being able to correct manybursts of errors Binary images of shortened RS codes have found numerous applications,including memory devices

CRC codes

One of the most popular forms of ECC are the cyclic redundancy check codes, or CRC

codes These cyclic codes are used to detect errors in blocks of data CRC codes are cyclic

codes of length n≤ 2m− 1 Typically, CRC codes have generator polynomials of the form

(1+ x) ¯g(x), where ¯g(x) is the generator polynomial of a cyclic Hamming code Common values of m are 12, 16 and 32 The choice of the generator polynomials is dictated by the undetected error probability, which depends on the weight distribution of the code.

The computation of the undetected error probability of a cyclic code is tantamount todetermining its weight distribution This has remained an elusive task, even after 50 years

of coding theory, with some progress reported in Fujiwara et al (1985), Kazakov (2001)

and references therein Table 3.1 shows a list of the most popular generator polynomials of

Trang 3

46 BINARY CYCLIC CODES AND BCH CODES

Table 3.1 Generator polynomials of some CRC codes

p(x) divides (x e + 1) (This is called exponent in Peterson and Weldon (1972) and period

in Lin and Costello (2005).) The dimension is k = LCM(e, 2b − 10) − (2b − 1) − c Note that the parity-check bits associated with the polynomial (x 2b−1 + 1) are interleaved and evenly spaced at every 2b − 1 positions Therefore, at most b − 1 successive parity-check bits are affected by bursts of length up to b This fact, together with the polynomial ¯ p(x),

is sufficient to determine the location of the error burst Decoding is accomplished by anerror-trapping decoder (Kasami 1964) that is similar in structure to the Meggit decoderpresented in the next section For more details, see Section 11.3 of Peterson and Weldon(1972) and Section 20.3.1 of Lin and Costello (2005)

Example 3.1.7 Let b = 4 and c = 4 Choose ¯p(x) = x4+ x + 1 with e = 15 The length and dimension of this Fire code are n = LCM(15, 7) = 105 and k = 105 − 7 − 4 = 94, respectively In other words, a Fire (105, 94) code capable of correcting any single burst of four or less errors has generator polynomial

¯

g(x) = (x7+ 1)(x4+ x + 1) = x11+ x8+ x7+ x4+ x + 1.

Let ¯r(x) = ¯v(x) + ¯e(x), where ¯e(x) is the error polynomial associated with an error tor produced after transmission over a BSC channel Then the syndrome polynomial is

vec-defined as

¯s(x) = ¯r(x) mod ¯g(x) = ¯e(x) mod ¯g(x)  (3.8)Figure 3.3 shows the general architecture of a decoder for cyclic codes The syndrome

polynomial ¯s(x) is used to determine the error polynomial ¯e(x) Since a cyclic code is first

of all a linear code, this architecture can be thought of as a “standard array approach” tothe decoding of cyclic codes

The decoding problem amounts to finding the (unknown) error polynomial ¯e(x) from the (known) syndrome polynomial ¯s(x) These two polynomials are related by equation (3.8), which is the basis of a syndrome decoder (also referred to as a Meggit decoder (Meggit 1960)) for cyclic codes A related decoder is the error-trapping decoder (Kasami 1964), which checks if the error polynomial ¯e(x) is contained (“trapped”) in the syndrome polynomial ¯s(x) Only a limited number of classes of codes have relatively simple

Trang 4

BINARY CYCLIC CODES AND BCH CODES 47

n-stage register

s(x) s(x) = r(x) mod g(x)

e(x)

Figure 3.3 General architecture of a decoder for cyclic codes

decoders, for example, cyclic Hamming and Golay codes As the error-correcting

capa-bility t = [(dmin− 1)/2] increases, however, the complexity of an architecture based only

on the detection of errors with combinatorial logic becomes too large

Suppose that an error in the position corresponding to x n−1 (the first received bit)

occurs In other words,

received position and, if the pattern x n−1mod ¯g(x)is detected, that position is corrected.

Example 3.2.1 In this example, the decoding of a cyclic (7, 4, 3) Hamming code is

illus-trated For this code,

¯

g(x) = x3+ x + 1.

The syndrome decoding circuit is shown in Figure 3.4 The received bits are stored in a shift register and at the same time fed to a divide-by- ¯ g(x) circuit After all the seven bits have been received, the shift register contents are shifted one at a time, and a combinatorial gate checks if the syndrome polynomial x6mod(1 + x + x3) = 1 + x2, or (101) in binary vector notation is present in the shift register when the output of the gate is equal to one, and the error is at the position x6 and is corrected At the same time, the error is fed back

to the divide-by- ¯ g(x) circuit to bring all the contents of the register equal to zeros, upon successful completion of decoding This also allows detection of any anomalies at the end

of the decoding process, by checking that the contents of the shift register are not all equal

to zero.

Attention is now focused on cyclic codes with large error-correcting capabilities, forwhich the decoding problem can be treated as that of solving sets of equations Because of

this, the notion of a field, a set in which one can multiply, add and find inverses, is required.

Cyclic codes have a rich algebraic structure It will be shown later that powerful decodingalgorithms can be implemented efficiently when the roots of the generator polynomial are

invoked and arithmetic over a finite field is used.

Trang 5

48 BINARY CYCLIC CODES AND BCH CODES

Figure 3.4 Syndrome decoder for a binary cyclic Hamming (7,4) code

Recall that the generator polynomial is the product of binary irreducible polynomials:

¯

j ∈J ⊂{1,2, ,}

φ j (x).

The algebraic structure of cyclic codes enables one to find the factors (roots) of each φ j (x)

in a splitting field (also known as extension field) In the case of interest, that is, when the underlying symbols are bits, the splitting field becomes a Galois field.4 Some authors refer

to Galois fields as finite fields The standard notation that will be used in the text is GF(q), where q= 2m (Although, in general, q can be the power of any prime number.)

Example 3.2.2 In this example, the reader is reminded that the concept of splitting field is

very familiar Consider the field of real numbers Over this field, it is well known that the nomial x2+ 1 is irreducible However, over the complex field, it splits into (x + i)(x − i), where i=√−1 Thus the complex field is the splitting field of the real field!

poly-3.2.1 GF(2m) arithmetic

It can be shown, with basic abstract algebra concepts (Lin and Costello 2005; Peterson and

Weldon 1972), that in the field of binary numbers any polynomial of degree m can be split over GF(2 m ) For the purposes of this book, it is sufficient to learn basic computational aspects offinite fields Serious readers are urged to study a good textbook on abstract algebra.5

Decoding with GF(2 m ) arithmetic allows replacement of complex combinatorial cuits with practical processor architectures that can solve Equation (3.8) as a set of linearequations In the following text, the necessary tools to solve equations involved in decoding

cir-of cyclic codes are introduced

Important properties of GF(2 m )

The field GF(2 m )is isomorphic (with respect to “+”) to the linear space{0, 1} m In other

words, for every element β ∈ GF(2 m ) , there exists a unique m-dimensional binary vector

¯

v β ∈ {0, 1} m

4 After the famous French mathematician Evariste Galois (1811-1832).

5 The author likes Herstein (1975).

Trang 6

BINARY CYCLIC CODES AND BCH CODES 49

There is a primitive element α ∈ GF(2 m ) , such that every nonzero element β in GF(2 m ) can be expressed as β = α j, 0≤ j ≤ 2 m − 2 This element α is the root of an irreducible polynomial, called a primitive polynomial, p(x) over {0, 1}, that is, p(α) = 0 A primitive element α of the field GF(2 m ) satisfies the equation α2m−1= 1, and n = 2 m− 1 is the

smallest positive integer such that α n= 1

Example 3.2.3 Let α be a primitive element of GF(23) such that p(α) = α3+ α + 1 = 0 and α7 = 1 The table below shows three different ways to express, or represent, elements

When adding elements in GF(2 m ), the vector representation is the most useful, because

a simple exclusive -or operation is needed However, when elements are to be multiplied,the power representation is the most efficient Using the power representation, a multipli-cation becomes simply an addition modulo 2m− 1 The polynomial representation may beappropriate when making operations modulo a polynomial An example of the need of thispolynomial representation was seen in the discussion of shortened cyclic codes, where the

value of x n−1mod ¯g(x)was required.

In the power representation, because α2m−1= 1 holds, note that α2m = αα2m−1= α,

α2m+1= α2α2m−1= α2, and so on This is to say that the powers of α are to be computed

modulo 2m − 1 Applying the same argument shows that α−1= α−1+2m−1= α2m−2 In

Example 3.2.3 above, α−1= α23−2= α6 In general, the inverse β−1= α k of an element

β = α  is found by determining the integer k, 0 ≤ k < 2 m − 1 such that α  +k = 1, which

can be expressed as  + k = 0 mod (2 m − 1) Therefore,  = 2 m − 1 − k Also, in the polynomial representation, the equation p(α)= 0 is used to reduce the expressions In

Example 3.2.3, α3= α3+ 0 = α3+ (α3+ α + 1) = α + 1.

Log and antilog tables

A convenient way to perform both multiplications and additions in GF(2 m )is to use twolook-up tables, with different interpretations of the address This allows one to changebetween polynomial (vector) representation and power representation of an element of

GF(2 m )

The antilog table A(i) is useful when performing additions The table gives the value of

a binary vector, represented as an integer in natural representation, A(i), that corresponds

to the element α i The log table L(i) is used when performing multiplications This table

Trang 7

50 BINARY CYCLIC CODES AND BCH CODES

gives the value of a power of alpha, α L(i), that corresponds to the binary vector represented

by the integer i The following equality holds:

Address GF(2 m )-to-vector Vector-to-GF(2 m )

i Antilog table, A(i) Log table, L(i)

On the other hand, using the log and antilog tables, the computation of γ proceeds as follows:

γ = A(L(A(3) ⊕ A(5)) ∗ 3 + 1)

= A(L(3 ⊕ 7) ∗ 3 + 1)

= A(L(4) ∗ 3 + 1) = A(2 ∗ 3 + 1) = A(7) = (A(0) = 1).

In the last step, use was made of the fact that α7= 1.

Antilog and log tables are used in performing addition and multiplication over GF(2 m ).Computer programs are available on the ECC web site for simulating encoding and decoding

algorithms of BCH and Reed–Solomon codes, with arithmetic in GF(2 m ) These algorithmsare described in the subsequent sections

More properties of GF(2 m )

The minimal polynomial φ i (x) of an element α i is the smallest degree polynomial that has

α i as a root The following properties regarding minimal polynomials can be shown The

minimal polynomial φ (x) has binary coefficients and is irreducible over GF(2) = {0, 1}.

Trang 8

BINARY CYCLIC CODES AND BCH CODES 51

Moreover, φ i (x) has roots α i , α 2i , , α2κ−1i

, where κ divides m These elements are known as the conjugate elements of α i in GF(2 m ) The powers of the conjugate elements

form a cyclotomic coset (see MacWilliams and Sloane (1977), p 104, and (von zur Gathen

and Gerhard 1999), p 391):

C i



= {i, 2i, 4i, , 2 κ−1i }.

Cyclotomic cosets (also called cycle sets in Peterson and Weldon (1972), p 209) havethe property that they partition the set I2m−1 of integers modulo 2m− 1 In other words,

cyclotomic cosets are disjoint, that is, their intersection is the empty set C i ∩ C j = ∅, i = j,

and the union of all cyclotomic cosets

The primitive element α of GF(2 m ) satisfies the equation α2m−1= 1, and all elements can

be expressed as powers of α From this it follows that the polynomial (x2m−1+ 1) factors

over the binary field as

The order n i of an element β = α i of GF(2 m )is the smallest positive integer such that

β n i = 1 The order n i of every element in GF(2 m )divides 2m− 1

Importantly, the degree of a minimal polynomial φ i (x)is equal to the cardinality ber of elements) of the cyclotomic cosetC i,

(num-deg [φ i (x)]= |C i |.

This suggests the following method for finding all factors of (x2m−1+ 1):

1 Generate the cyclotomic cosets modulo 2m− 1

2 For each cyclotomic cosetC s , compute the minimal polynomial φ s (x)as the product

of linear factors (x − α i s ) , where i s ∈ C s,

φ s (x)= 

i s ∈C s

This method can be used in computing the generator polynomial of any cyclic code of length

n= 2m− 1 It is used in the computer simulation programs for BCH codes available onthe ECC web site, to compute the generator polynomial given the zeros of the code

Trang 9

52 BINARY CYCLIC CODES AND BCH CODES

Example 3.2.6 Consider GF(23) with p(x) = x3+ x + 1 The roots of each of the factors

of the polynomial x7+ 1 are shown in the following table The reader is invited to verify that in fact the products of the linear factors in (3.10) give the resulting binary polynomials.

C s Conjugate elements Minimal polynomial, φ s (x)

C1 = {1, 2, 4} α,α24 φ1(x) = x3+ x + 1

C3 = {3, 6, 5} α365 φ3(x) = x3+ x2+ 1

BCH codes are cyclic codes that are constructed by specifying their zeros, that is, the roots

of their generator polynomials:

A BCH code of d min ≥ 2t d + 1 is a cyclic code whose generator polynomial

¯

g(x) has 2t d consecutive roots α b , α b+1, α b +2t d−1.

Therefore, a binary BCH (n, k, dmin)code has a generator polynomial

¯

g(x) = LCM{φ b (x), φ b+1(x), , φ b +2t d−1(x) }, length n = LCM{n b , n b+1, , n b +2t d−1}, and dimension k = n − deg[ ¯g(x)] A binary BCH code has a designed minimum distance equal to 2t d + 1 However, it should be notedthat its true minimum distance may be larger

Example 3.3.1 With GF(23), p(x) = x3+ x + 1, t d = 1 and b = 1, the polynomial

¯

g(x) = LCM{φ1(x), φ2(x) } = x3+ x + 1, generates a binary BCH (7,4,3) code (This is actually a binary cyclic Hamming code!) Note that the Hamming weight of ¯ g(x) is equal to 3, so that – in this case, but not always – the designed distance is equal to the true minimum distance of the code.

Example 3.3.2 Consider GF(24), p(x) = x4+ x + 1, with t d = 2 and b = 1 Then

¯

g(x) = LCM{φ1(x), φ3(x)}

= (x4+ x + 1)(x4+ x3+ x2+ x + 1)

= x8+ x7+ x6+ x4+ 1

generates a double-error-correcting binary BCH (15,7,5) code.

Example 3.3.3 With GF(24), p(x) = x4+ x + 1, t d = 3 and b = 1, the polynomial

¯

g(x) = LCM{φ1(x), φ3(x)φ5(x)}

= (x4+ x + 1)(x4+ x3+ x2+ x + 1) (x2+ x + 1)

= x10+ x8+ x5+ x4+ x2+ x + 1 generates a triple-error-correcting binary BCH (15,5,7) code.

Trang 10

BINARY CYCLIC CODES AND BCH CODES 53

3.3.1 BCH bound

A lower bound on the minimum distance of a BCH code, known as the BCH bound, is

derived next This is useful not only to estimate the error-correcting capabilities of cycliccodes in general, but also to point out particular features of BCH codes Note that the

elements α b , α b+1, , α b +2t d−1are roots of the generator polynomial ¯g(x), and that every

code word ¯vin the BCH code is associated with a polynomial ¯v(x), which is a multiple of

This matrix H has the characteristic that every 2t d × 2t d submatrix (formed by an arbitrary

set of 2t d columns of H ) is a Vandermonde matrix (see, e.g., von zur Gathen and Gerhard (1999), p 95) Therefore (see Section 2.1), any 2t d columns of H are linearly independent, from which it follows that the minimum distance of the code is d ≥ 2t d+ 1 (Petersonand Weldon (1972) p 270, MacWilliams and Sloane (1977) p 201, and Lin and Costello(2005) p 149.) Another interpretation of the results above is the following:

BCH bound If the generator polynomial ¯g(x) of a cyclic (n, k, d) code has  consecutive roots, say α b , α b+1, , α b +−1 , then d ≥ 2 + 1.

The important class of cyclic polynomial codes includes cyclic RM codes, BCH and

Reed–Solomon codes, and finite-geometry codes (Kasami et al 1968; Lin and Costello

2005; Peterson and Weldon 1972) Polynomial codes are also specified by setting conditions

on their zeros:

Let α be a primitive element of GF(2 ms ) Let s be a positive integer, and b a divisor of

2s − 1 Then α h is a root of the generator polynomial g(x) of a µ-th order polynomial code

if and only if b divides h and

min

0≤<sW2s (h2

 ) = jb, with 0 < j < m

b − µ,

Trang 11

54 BINARY CYCLIC CODES AND BCH CODES

where for an integer i, i=m−1

=0 i 2s , W2s (i) is defined as the2s -ary weight of integer i,

According to this definition, both BCH and Reed–Solomon codes are polynomial codes

with b = m = 1 Reed–Muller codes are subcodes of polynomial codes with s = 1 geometry codes (Lin and Costello (2005), Chapter 8) occur as dual codes of polynomial codes Peterson and Weldon (1972) Below, following Lin and Costello (2005), the specifi-

Finite-cations of the zeros of finite-geometry codes are presented

Euclidean geometry (EG) codes

Let α be a primitive element of GF(2 ms ) Let h be a nonnegative integer less than2ms − 1 Then α h is a root of the generator polynomial g(x) of a (µ, s)-order EG code of length

For s= 1, EG codes become cyclic RM

m,µ codes, and therefore EG codes are regarded

as generalized RM codes

Projective geometry (PG) codes

Let α be a primitive element of GF(2 (m +1)s ) Let h be a nonnegative integer less than

2(m +1)s − 1 Then α h is a root of the generator polynomial g(x) of a (µ, s)-order PG code

of length n = (2 m s − 1)/(2 s − 1) if and only if h is divisible by 2 s − 1 and

0 < max

0≤<sW2s (h

() ) ≤ j (2 s − 1),

where h ()= 2 hmodulo 2ms − 1, and 0 ≤ j ≤ m − u.

The main idea in decoding binary BCH codes is to use the elements β ∈ GF(2 m ) to

number the positions of a code word (or, equivalently, the order of the coefficients

of the associated polynomial) This numbering is illustrated in Figure 3.5 for a vector

values positions

Figure 3.5 Code word position numbering using elements of GF(2 m )

Trang 12

BINARY CYCLIC CODES AND BCH CODES 55

Using GF(2 m )arithmetic, the positions of the errors can be found by solving a set of

equations These equations can be obtained from the error polynomial ¯e(x) and the zeros

of the code, α j , for b ≤ j ≤ b + 2t d− 1, as shown in the following

Let ¯r(x) = ¯v(x) + ¯e(x) represent the polynomial associated with a received code word, where the error polynomial is defined as

¯e(x) = e j1x j1 + e j2x j2+ · · · + e j ν x j ν , (3.14)

and ν ≤ t d is the number of errors The sets{e j1, e j2, , e j ν }, and {α j1, α j2, , α j ν} are

known as the error values and error positions, respectively, where e j ∈ {0, 1} for binary

and are equivalent to ¯s = H ¯r, with H given by (3.13).

Let the error-locator polynomial be defined as

Solving the key equation given by (3.16) constitutes the most computationally intensive

operation in decoding BCH codes Common methods to solve the key equation are:

1 Berlekamp–Massey algorithm (BMA)

The BMA was invented by Berlekamp (1984), Massey (1969) This is a ally efficient method to solve the key equation, in terms of the number of operations

computation-in GF(2 m ) The BMA is a popular choice to simulate or implement BCH and RSdecoders in software

2 Euclidean algorithm (EA)

This is a method to solve the key equation in polynomial form, introduced in

Sugiyama et al (1975) and further studied in Mandelbaum (1977) Owing to its

regular structure, the EA is widely used in hardware implementations of BCH and

RS decoders

6It will be seen later that for Reed–Solomon codes e ∈ GF(2 m ).

Trang 13

56 BINARY CYCLIC CODES AND BCH CODES

3 Direct solution

Proposed first by Peterson (1974), this method directly finds the coefficients of

σ (x) , by solving (3.16) as a set of linear equations The term PGZ son–Gorenstein–Zierler) decoder is often used in the literature because in Gorenstein

(Peter-and Zierler (1961), Peterson’s method is applied in decoding nonbinary BCH codes(Reed–Solomon codes) Naturally, as the complexity of inverting a matrix growswith the cube of the error-correcting capability, the direct solution method works

only for small values of t d Solutions to (3.16) up to t d ≤ 6 are given in Michelsonand Levesque (1985), Section 5.3

3.5.1 General decoding algorithm for BCH codes

Figure 3.6 shows the block diagram of a decoder for BCH codes (both binary and nary) The decoder consists of digital circuits and processing elements to accomplish thefollowing tasks:

nonbi-• Compute the syndromes,7 by evaluating the received polynomial at the zeros of thecode

S i = ¯r(α  i ), i = b, b + 1, , b + 2t d − 1. (3.17)

• Find the coefficients of the error-locator polynomial σ (x).

• Find the inverses of the roots of σ (x), that is, the locations of the errors, α j1, , α j ν

• Find the values of the errors e j1, , e j ν (Not needed for binary codes.)

• Correct the received word with the error locations and values found.

One of the advantages gained in introducing GF(2 m ) arithmetic is that the decodingoperations can be implemented with relatively simple circuitry and processing elements As

an example, Figure 3.7 shows how the computation of a syndrome S j can be implemented

in hardware The multiplier is over GF(2 m ), and can be constructed with relatively simplecombinatorial logic Some details on the hardware design of processing elements over

GF(2 m )can be found, for example, in Peterson and Weldon (1972), and Chapters 5 and 10

of Wicker and Bhargava (1994)

Find positions

Figure 3.6 Architecture of a BCH decoder with GF(2 m )arithmetic

7For binary BCH codes, it holds that S = S2 , which is useful in reducing the number of computations.

... d − 1. (3. 17)

• Find the coefficients of the error- locator polynomial σ (x).

• Find the inverses of the roots of σ (x), that is, the locations of the errors, α j1,... )arithmetic, the positions of the errors can be found by solving a set of

equations These equations can be obtained from the error polynomial ¯e(x) and the zeros

of the code,... method is applied in decoding nonbinary BCH codes(Reed–Solomon codes) Naturally, as the complexity of inverting a matrix growswith the cube of the error- correcting capability, the direct solution

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

TỪ KHÓA LIÊN QUAN