TIPO 3: Se cuenta con segmentación de las actividades dentro del mismo taller
7.2 ENTRENAMIENTO NECESARIO DE ACUERDO A ESTRUCTURA PROPUESTA
The BCH bound tells us how to design a linear(n, k, d) cyclic code of minimum weight at least d , where d (or sometimes d∗) is called the designed distance of the code. Simply choose d− 1 consecutive spectral components as the defining set of the cyclic code so that the BCH bound applies to each codeword.
Definition 2.4.1 An(n, k, d) cyclic Reed–Solomon code over a field F that contains an element of order n is the set of all vectors over F of blocklength n that have a specified set of d− 1 consecutive spectral components in the Fourier transform domain equal to zero.
67 2.4 The wisdom of Solomon and the wizardry of Reed
A cyclic Reed–Solomon code of blocklength n does not exist over F if a Fourier transform of blocklength n does not exist over F. A narrow-sense Reed–Solomon code is a Reed–Solomon code with spectral zeros at j= n − d + 1, . . . , n − 1. A primitive Reed–Solomon code over the finite field GF(q) is a cyclic Reed–Solomon code of blocklength q− 1.
If codeword c has the spectral component Cj equal to zero for j = j0, j0 + 1,. . . , j0+ d − 2 and codeword c has the spectral component Cj equal to zero for j = j0, j0+ 1, . . . , j0+ d − 2, then c = αc + βc also has spectral components Cj
equal to zero for these same indices. Hence the Reed–Solomon code is a linear code.
The dimension of this linear code is denoted k. Because the dimension is equal to the number of components of the spectrum not constrained to zero, the dimension k satisfies n− k = d − 1.
A Reed–Solomon code also can be defined in the language of linear algebra. The Fourier transform is an invertible linear transformation from Fnto Fn. When the result of the Fourier transform map is truncated to any specified set of d − 1 consecutive components, then the truncated Fourier transform can be regarded as a linear map from an n-dimensional vector space to an (n − k)-dimensional vector space, where n− k = d − 1. The Reed–Solomon code is defined as the null space of this map.
Likewise, the inverse Fourier transform is an invertible linear transformation from Fn to Fn. When applied to a subspace of Fn of dimension k, consisting of all vectors with a specified set of d − 1 consecutive components all equal to zero, the inverse Fourier transform can be regarded as a map from a k-dimensional vector space to an n-dimensional vector space. The Reed–Solomon code is the image of this map. Hence it has dimension k.
The BCH bound says that every nonzero codeword of the Reed–Solomon code has weight at least d and the code is linear, so the minimum distance of the Reed–Solomon code is at least d = n−k +1. Consequently, the minimum distance is exactly n−k +1 because, as asserted by the Singleton bound, no linear code can have a minimum distance larger than n− k + 1. This means that an (n, k, d) Reed–Solomon code is a maximum-distance code, and that the packing radius t of a Reed–Solomon code is (n − k)/2 if n − k is even and (n − k − 1)/2 if n − k is odd.
A simple nontrivial example of a Reed–Solomon code is a(7, 5, 3) Reed–Solomon code over GF(8). ChooseA= {1, 2} as the defining set of the code. Every codeword c has C1= C2= 0, while C0, C3, C4, C5, and C6are arbitrary. We may visualize a list of these codewords c where codeword components are elements of GF(8) given in an octal notation, as shown in Table2.1. Even though this is a rather small Reed–Solomon code, it would be unreasonable to write out this list in full because the full list contains 85= 32 768 codewords. Because this code was constructed to satisfy the BCH bound with dmin= 3, every two codewords on the list must differ in at least three places.
Although the definition of a Reed–Solomon code holds in any field F, it appears that practical applications of Reed–Solomon codes have always used codes over a finite
Table 2.1. The (7,5) Reed–Solomon code
0 0 0 0 0 0 0
0 0 0 0 1 6 3
0 0 0 0 2 7 6
0 0 0 0 3 1 5
...
0 0 0 1 0 1 1
0 0 0 1 1 7 2
0 0 0 1 2 6 7
0 0 0 1 3 0 4
...
0 0 0 7 0 7 7
0 0 0 7 1 1 4
0 0 0 7 2 0 1
0 0 0 7 3 6 2
...
0 0 1 0 0 7 3
0 0 1 0 1 1 0
0 0 1 0 2 0 5
0 0 1 0 3 6 6
...
field GF(q). Then n must be a divisor of q − 1. A primitive cyclic Reed–Solomon code over GF(q) has blocklength q − 1. For those values of n that do not divide q − 1, an elementω of order n does not exist in GF(q), so a Reed–Solomon code on the cyclic line does not exist for such an n. However, shortened Reed–Solomon codes do exist. Longer Reed–Solomon codes – those of blocklength q on the affine line and of blocklength q+ 1 on the projective line – also exist.
A Reed–Solomon code of blocklength q or q+1 can be defined by extending a Reed–
Solomon code of blocklength q− 1, or by evaluating polynomials on the affine line or on the projective line. To define a Reed–Solomon code in the language of polynomial evaluation, let
S= {C(x) | deg C(x) ≤ k − 1},
and let the defining set beA= {k, k + 1, . . . , n − 1}.
The Reed–Solomon code on the cyclic line is given by
C=
#
c| ci = 1
nC(ω−i), C(x) ∈S
$ .
69 2.5 The wisdom of Solomon and the wizardry of Reed
The Reed–Solomon code on the affine line is given by
C=
#
c| ci = 1
nC(βi), βi ∈ GF(q), C(x) ∈S
$ .
The Reed–Solomon code on the projective line is given by
C=
#
c| ci = 1
nC(β, γ ), C(x, 1) ∈S
$ ,
where C(x, y) is a homogeneous polynomial and (β, γ ) ranges over the points of the projective line. That is,β, γ ∈ GF(q), and either γ = 1 or (β, γ ) = (1, 0).
These three versions of the Reed–Solomon code have blocklengths n = q − 1, q, and q+ 1. Accordingly, the latter two are sometimes called singly extended and doubly extended Reed–Solomon codes. We shall prefer to use the term Reed–Solomon code inclusively to refer to any of the three cases. When it is necessary to be precise, we shall refer to Reed–Solomon codes of blocklength q− 1, q, or q + 1, respectively, as cyclic, affine, or projective Reed–Solomon codes.
The extra one or two components that are appended to the cyclic Reed–Solomon codewords increase the minimum distance of the code by 1 or by 2. This can be seen by noting that the polynomials C(x) have coefficients Cjequal to zero for j= k, . . . , n−1.
There are n− k consecutive zeros, so the BCH bound says that each codeword of the cyclic code has minimum weight at least n− k + 1. But the extended symbols are C0
and Ck−1 divided by n. If either or both are zero for any codeword, then the number of consecutive zeros in the spectrum increases by one or two, so the BCH bound says that the weight is larger accordingly. If, instead, either or both of C0 and Ck−1 are nonzero, then either or both of c− or c+ are nonzero, and again the weight is larger accordingly. Finally, because the code is linear, the minimum distance is equal to the minimum weight of the code.
The dual of a(q−1, k, q−k) cyclic Reed–Solomon codeCover GF(q) with defining setAis the(q − 1, q − 1 − k, k + 1) cyclic Reed–Solomon codeC⊥over GF(q) with defining setAc, the complement ofA. To see this, let c∈Cand c⊥∈C⊥be represented by codeword polynomials c(x) and c⊥(x), respectively, and observe that the codeword polynomials satisfy c(ωj)c⊥(ωj) = 0 for all j, from which the convolution property implies orthogonality of c and c⊥(as well as orthogonality of c and cyclic shifts of c⊥).
The dual of a(q, k, q − k + 1) affine Reed–Solomon code over GF(q), with defining setA= {k, . . . , q − 2} is a (q, n − k + 1) affine Reed–Solomon code over GF(q) with defining setA⊥= {q − 1 − k, . . . , q − 2}, but defined with α−1in place ofα.