Polynomial Codes Determined by Roots

Một phần của tài liệu Introduction to Digital Communication Systems by Krzysztof Wesolowski . (Trang 144 - 147)

As we know, a polynomial code is determined by setting the lengthnof its codewords and the generator polynomial g(x)of degree nk. Each code polynomial is then divisible by g(x). We also know from the polynomial algebra that polynomials can be factored into a product of polynomials of the first degree with coefficients belonging to a certain extension field, e.g.

a(x)=(xα0)(xα1) . . . (xαk−1) (2.59) The elementsα0, α1, . . . , αk−1are the roots of the polynomiala(x)and they do not always belong to the same field as the polynomial coefficients. We know that a polynomial cannot always be factored into the product of polynomials of the first degree with the coefficients belonging to the same finite field. In general, if the coefficients of the polynomial a(x) belong to the fieldGF (p), then the roots of this polynomial belong to the extension field GF (pm).

The idea of anirreducible polynomialis strictly associated with answering the question:

To which field do the polynomial roots belong?

Definition 2.5.2 A polynomiala(x)with the coefficients belonging to a certain finite field is called anirreducible polynomialin this field if this polynomial cannot be factored as a product of polynomials of the first degree using the elements of this finite field.

Property 2.5.1 If a(x) is an irreducible polynomial with the coefficients selected from the finite field GF (p)andαis the root of this polynomial, thenαp, αp2, αp3, . . . are the roots of this polynomial as well. Moreover, all the roots of this irreducible polynomial can be found in this manner. Polynomiala(x)is called aminimum functionof the rootα.

Example 2.5.2 Let the elementαbelonging to the finite fieldGF (8)(see Table 2.2) be the root of a certain searched polynomial with coefficients from the finite fieldGF (2). As we see, in the considered casep=2andm=3. Therefore ifαis the root of this polynomial, then the field elementsα24 are also the roots. Higher powers of the element α result in the already listed roots, e.g.α8=α7α=α,α16=α7α7α2=α2, because, as it is easy to check, in the finite fieldGF (8)the elementα7=α0=1. Therefore following Property 2.5.1 the elementsα,α2andα4are all roots of the searched polynomial. In consequence, the polynomial has the following form

a(x)=(xα)(xα2)(xα4) (2.60) Since the elements α, α2 and α4 belong to the finite field GF (8), they are represented by binary triples according to Table 2.2. Let us stress that the minus signs appearing in formula (2.60) have only a formal meaning, because subtraction in the field GF (2), as well as subtraction of binary triples in the extension fieldGF (23), is equivalent to addition in the respective fields. Determining the polynomiala(x), we obtain

a(x)=(xα)(xα2)(xα4)

=x3−+α2+α4)x2+3+α5+α6)xα7

=x3+x+1 (2.61)

because

α+α2+α4=

0 1 0

+

0 0 1

+

0 1 1

=

0 0 0

=0

and

α3+α5+α6=

1 1 0

+

1 1 1

+

1 0 1

=

1 0 0

=1

In this way we have calculated the minimum function for the rootα and we have shown that the polynomial a(x)=x3+x+1 is an irreducible polynomial in the field GF (2) because all its roots belong to the extension fieldGF (23).

Our considerations of polynomial roots and their properties allow us to define polyno- mial codes in the following way.

Definition 2.5.3 Polynomialsci(x) (i=1, . . . ,2k)of degree not higher thann−1with coefficients belonging to the fieldGF (p)are the code polynomials of a given polynomial code(n, k)if each code polynomial has the rootsβ1, β2, . . . , βr (rnk)belonging to the fieldGF (pm).

As we remember, each code polynomial of a given code is divisible by the generator polynomial. So if the code polynomials have a common subset of the rootsβ1, β2, . . . , βr, then these roots are also the roots of the common factor of all code polynomials, namely the generator polynomial. Thus, instead of defining the code by declaring its generator polynomial, we can determine it by listing the common roots of all code polynomials. On the basis of Property 2.5.1 we conclude that besides the roots defining the code directly, there exist code polynomial roots that are the appropriate powers of these roots. Finally, we state the following form of the generator polynomial

g(x)=LCM

mβ1(x), mβ2(x), . . . , mβr(x)

(2.62) where LCM[.] denotes the least common multiple and mβi(x)is a minimum function of the rootβi.

Sinceβ1, β2, . . . , βr are the roots of code polynomials, the following equalities hold c(β1)=0, c(β2)=0, . . . , c(βr)=0 (2.63) Thus, if a certain symbol sequence represented by the polynomial r(x) appears at the input of the encoder, then making sure if it is a codeword reduces to inspection if the following equations are fulfilled

r(β1)=0, r(β2)=0, . . . , r(βr)=0 (2.64) Let us note that in matrix notation, checking the validity of all equations is equivalent to multiplying the received sequence vectorrby the parity check matrix, i.e. checking if the following matrix equation holds



β10 β11 . . . β1n−1 β20 β21 . . . β2n−1 . . . . . . . . . . . . βr0 βr1 . . . βrn−1





 r0

r1

... rn−1



=



 0 0 ... 0



 (2.65)

As an example, consider again the (7,4) code that is determined by the generator polynomialg(x)=x3+x+1. At the same time, this code is determined by the common root α belonging to GF (23). As we remember, the minimum function of the rootα is just the polynomialg(x)=x3+x+1, so besides the rootα,the elementsα2andα4are also its roots. The parity check matrix has the form

H =

α0 α1 α2 . . . αn−1

=

1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1

 (2.66)

so it is analogous to the Hamming code parity check matrix considered previously. Taking into account other roots originating from the root α, we obtain a matrix in which some rows are the repeated rows of matrix (2.66). In this way, some parity equations determined

by (2.66) are checked a few times. We namely have



α0 α1 α2 . . . αn−1 α20

α21 α22

. . . α2n−1

α40

α41 α42

. . . α4n−1

=













1 0 0 1 0 1 1

0 1 0 1 1 1 0

0 0 1 0 1 1 1

1 0 0 1 0 1 1

0 0 1 0 1 1 1

0 1 1 1 0 0 1

1 0 0 1 0 1 1

0 1 1 1 0 0 1

0 1 0 1 1 1 0













(2.67)

Closer inspection of matrix (2.67) allows us to note that rows 4 and 7 are identical to row 1, row 5 is identical to row 3, the second and the ninth rows are equal to each other, whereas the sixth and the eighth are the sum of the second and the third rows. Thus, it is sufficient to check the parity equations according to matrix (2.66).

As we see, in the above example we have defined the Hamming code in a different way compared with the previous definitions. The current definition is based on selecting the roots of the generator polynomial. In general, the Hamming codes are (2m−1, 2m− 1−m) polynomial codes, for which all code polynomials have a root that is the primitive element of the finite field GF (2m). For example, the next Hamming code following the (7,4)code has the parameters(n, k)=(15,11), and the root of all its code polynomials is the primitive element of the field GF (24)for which the minimum function mα(x)= x4+x+1 is simultaneously the generator polynomial of this code.

Một phần của tài liệu Introduction to Digital Communication Systems by Krzysztof Wesolowski . (Trang 144 - 147)

Tải bản đầy đủ (PDF)

(579 trang)