• No se han encontrado resultados

CAPÍTULO V: LA EVOLUCIÓN DEL CAMBIO

5.3. Evolución del proceso en la comunidad

5.3.2. Consorcio Aguas Eternas

Bose-Chaudhuri-Hocquenghem codes were discovered independently by Hocqueng- hem [Hocquenghem, 1959] in 1959 and Bose and Ray-Chaudhuri [Bose and Ray- Chaudhuri, 1960a,b] in 1960. BCH codes are a generalisation of the cyclic Hamming codes for correcting multiple errors. Peterson [Peterson, 1960] proved that BCH codes are cyclic. Gorenstein and Zierler [Gorenstein and Zierler, 1961] generalised the BCH codes for non-binary alphabets of size pm. Their wide choice of block lengths, code

rates and symbol alphabets, coupled with efficient decoding algorithms, has made BCH codes a popular choice for many communication systems.

General Properties of BCH Codes

When constructing an arbitrary cyclic code there is no guarantee of the minimum distance of the code produced [Wicker, 1994, p. 176]. It is necessary to conduct a computer search of all the non-zero codewords to find the minimum-weight codeword

2.1. BLOCK CODES 21

and thus the minimum distance of the code. For BCH codes this procedure is not required, the BCH bound places lower limit on the minimum distance of the code. An understanding of these codes requires a knowledge of finite field arithmetic [McEliece, 1987].

Theorem 2.2 The BCH Bound [Wicker, 1994]

Let C be a q-ary (n;k) cyclic code with generator polynomial g(x). Let m be the

multiplicative order of q mod n. (GF(qm) is thus the smallest extension field of GF(q)

which contains a primitive n-th root of unity.) Let be a primitive n-th root of unity.

Select g(x) to be a minimal-degree polynomial in GF(q)[x, where GF(q)[x℄ de-

notes the collection of all polynomials a0+a1x+a2x

2

++x

n of arbitrary degree

with coefficientsfaigin the finite field GF(q) [Wicker, 1994, p. 40], such that

g( b )=g( b+1 )=g( b+2 )==g( b+Æ 2 )=0 (2.23)

for some integers b 0 and Æ 1. The roots of the generator polynomial g(x) are

Æ 1 consecutive powers of . The codeC defined by g(x) has minimum distance

d Æ.

Proof of Theorem 2.2 can be found in [MacWilliams and Sloane, 1978; Peterson and Weldon, 1972; Wicker, 1994]. The BCH bound can be used to produce a BCH code with a given design distance. However, since the weight distributions of most BCH codes are not known the actual minimum distance may be greater than the design distance.

2.1. BLOCK CODES 22

Generator Polynomial

The generator polynomial for a BCH code has 2t roots, which are consecutive powers

of (from Theorem 2.2). Therefore

g(x)= 2t 1 Y i=0 (x b+i ) (2.24)

For the case when b=1 the code is termed narrow sense [MacWilliams and Sloane,

1978, p. 203].

2.1.8

Reed-Solomon Codes

Reed-Solomon codes were discovered by Reed and Solomon in 1960 and are a spe- cial subclass of non-binary BCH codes [Reed and Solomon, 1960]. RS codes exhibit additional properties to BCH codes which make them very much more powerful than BCH codes. Their powerful error-correcting abilities have made them possibly the most important codes. RS codes are multi-level, therefore log2q binary bits are com-

monly mapped to one RS symbol. This process provides some burst-error correction. They have many and widespread applications which include the compact disc, satellite communications and digital video broadcasting.

General Properties of RS Codes

Reed-Solomon codes are cyclic and so profit from the many useful characteristics cyclic codes offer. They are normally generated in systematic form using (2.19).

2.1. BLOCK CODES 23

Proof 2.2 LetC be an (n;k) RS code. The Singleton bound (Section 2.1.3) gives an

upper bound of d n k+1 to all (n;k) codes. The BCH bound provides a lower

bound. The generator polynomial g(x) is of degree n k, so it contains n k =

Æ 1 consecutive powers of a primitive n-th root of unity. Therefore d n k+1.

Combining these two results gives

d =n k+1 (2.25)

Theorem 2.3 and its proof are important for two reasons. Firstly it shows that RS codes can be designed such that their designed minimum distance is always the actual minimum distance (unlike BCH codes). Secondly, RS codes satisfy the Singleton bound with equality, so they are maximum distance separable.

Theorem 2.4 RS codes are invertible.

A code is said to be invertible if any k symbols can be used as information symbols in a systematic representation. This follows from the MDS property, proof is given in [Wicker, 1994, p. 189].

2.2. CONVOLUTIONAL CODES 24

2.2

Convolutional Codes

2.2.1

Overview

The name convolutional code was coined by Elias [Elias, 1955] to describe a code which is the output sequence of a linear mapping of an input sequence with a discrete- time, finite-alphabet convolution of the input and encoder’s impulse response [Wilson, 1996, p. 551]. Such codes are sometimes termed trellis codes, but this name is mis- leading because block codes may also be represented by trellises. The concept of encoding an input sequence without segmenting it is very different to that used by block codes (Section 2.1).

Input bit

First code symbol

Output branch word

Second code symbol

Figure 2.2: Encoder for (2;1;3) convolutional code.

2.2.2

General Properties

A convolutional code over GF(q) is usually described by the parameters (n;k;K),

where k is the number of q-ary symbols (simultaneously) input to the decoder and n is the number of q-ary symbols (simultaneously) output from the decoder. As with a

2.3. CONCATENATED CODES 25

block code, the rate is given by n=k. The constraint length of the code, K, is defined as

the number of consecutive symbols in the output stream affected by any input symbol. It is also the memory of the code.

2.3

Concatenated Codes

2.3.1

Overview

Concatenated coding was introduced in 1966 by Forney [Forney, 1966]. It is a pow- erful technique for creating error-correcting codes by combining two (or more) codes sequentially. The primary reason for using concatenated codes is to achieve a low error rate with an overall implementation complexity which is less than that which would be required by a single decoding operation [Sklar, 1988, p. 365]. Figure 2.3 shows a concatenated coding scheme. The data stream is first encoded with the outer

code (in this case an RS block code). The output of the outer code is then re-encoded

with the inner code, (here a convolutional code) before transmission. At the receiver the decoding order must be reversed, and so the inner code is decoded first. Any errors from the output of the inner decoder are likely to appear as bursts, hence it is usual to include an interleaver and de-interleaver between the inner and outer codes. The purpose of the interleaver is to rearrange the symbols so that errors do not occur in bursts but are spread through several outer codewords to allow correct decoding.

Convolutional codes are a natural choice for the inner code. With a suitable Vit- erbi decoder SD information can be used for maximum performance. RS codes are frequently used for the outer code. They are powerful and when combined with a

2 .3 . C O N C A T E N A T E D C O D E S 2 6 1 2 3 4

I

1 3 2 4 1 2 3 4

D

1 3 2 4

RS trellis encoder Block interleaver

Convolutional encoder

Gaussian channel, coherent BPSK demodulator

RS trellis decoder Block deinterleaver Convolutional decoder

TX RX

2.4. TRELLISES 27

binary convolutional code the burst-error performance of the RS code helps minimise errors. There are, however, many possible configurations for a concatenated coding scheme and flexibility is one of its many advantages. For example the compact disc coding system uses a concatenated system based upon RS(32;28;5) and RS(28;24;5)

shortened RS codes.

Documento similar