ECEN 5682 Theory and Practice of Error Control Codes Introduction - - PowerPoint PPT Presentation

ecen 5682 theory and practice of error control codes
SMART_READER_LITE
LIVE PREVIEW

ECEN 5682 Theory and Practice of Error Control Codes Introduction - - PowerPoint PPT Presentation

Introduction to Algebra ECEN 5682 Theory and Practice of Error Control Codes Introduction to Algebra Peter Mathys University of Colorado Spring 2007 Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes Introduction to Algebra


slide-1
SLIDE 1

Introduction to Algebra

ECEN 5682 Theory and Practice of Error Control Codes

Introduction to Algebra Peter Mathys

University of Colorado

Spring 2007

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-2
SLIDE 2

Introduction to Algebra Basic Definitions

Motivation and Basic Definitions

For convolutional codes it was convenient to express the datawords and the codewords in the form of power series and to use generator polynomials to compute the code power series from the data power

  • series. A similar approach, using polynomials instead of power

series, can be used to generate a class of blockcodes known as cyclic codes. Definition: The polynomial f (x) associated with the vector f = (f0, f1, . . . , fN−1) is f (x) = f0 + f1 x + . . . + fN−1 xN−1 . Definition: Let u = (u0, u1, . . . uk−1) be a dataword of a (n, k)

  • blockcode. Then the polynomial

u(x) = u0 + u1 x + . . . + uk−1 xk−1 , with deg u(x) ≤ k − 1 , associated with u is called the corresponding data polynomial.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-3
SLIDE 3

Introduction to Algebra Basic Definitions

Definition: Let c = (c0, c1, . . . cn−1) be a codeword of a (n, k)

  • blockcode. Then the polynomial

c(x) = c0 + c1 x + . . . + cn−1 xn−1 , with deg c(x) ≤ n − 1 , associated with c is called the corresponding code polynomial. Definition: A q-ary generator polynomial of degree n − k is a polynomial in x of the form g(x) = g0 + g1 + . . . + gn−k xn−k , g0, gn−k = 0 , with n − k + 1 q-ary coefficients gi. Definition: The q-ary (n, k) blockcode C generated by the q-ary generator polynomial g(x) of degree n − k is the set of all code polynomials c(x) = u(x) g(x) , which is obtained from the set of all possible q-ary data polynomials u(x) with deg u(x) ≤ k − 1.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-4
SLIDE 4

Introduction to Algebra Basic Definitions

Example: Let q = 2 and g(x) = 1 + x2 + x3 + x4. Using c(x) = u(x) g(x), the following codewords are obtained:

u(x) c(x) 00000 1 10111 = 1 + x2 + x3 + x4 = g(x) 01 = x 010111 = x g(x) right shift 11 = 1 + x 111001 = g(x) + x g(x) 001 0010111 101 1001011 011 0111001 111 1100101 0001 00010111 1001 10101111 0101 01001011 1101 11110011 0011 00111001 1011 10000001 ← 1 + x7 = (1 + x2 + x3)(1 + x2 + x3 + x4) 0111 01100101 1111 11011101

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-5
SLIDE 5

Introduction to Algebra Basic Definitions

The set of codewords from the first 8 rows C = {0000000, 1011100, 0101110, 1110010, 0010111, 1001011, 0111001, 1100101} make up a cyclic (i.e., if c is a codeword, then its cyclic shifts are also codewords) binary (7, 3, 4) code. The whole set of 16 codewords, however, only makes up a (non-cyclic) binary (8, 4, 2) code, where the reduction in minimum distance from 4 to 2 comes from u = (1011) → c = (10000001). Definition: A polynomial with q-ary coefficients is called irreducible if it cannot be factored into two or more smaller degree polynomials with q-ary coefficients.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-6
SLIDE 6

Introduction to Algebra Basic Definitions

Example: (contd.) From the computation of c(x) = u(x) g(x) above it can be deduced that, using modulo 2 arithmetic for polynomial coefficients,

x7 +1 = (x3 +x2 +1) (x4 + x3 + x2 + 1) | {z } = (x + 1)(x3 + x + 1) = (x +1) (x3 +x +1) (x3 +x2 +1),

where all three polynomials in the last expression are irreducible modulo 2. Such polynomials are useful for constructing extension

  • fields. Let p(x) = x3 + x + 1 and define the element α by

0 = p(α) = α3 + α + 1 = ⇒ α3 = α + 1 . Note that, using regular arithmetic, one would have obtained α3 = −(α + 1), but because all coefficients are taken modulo 2, minus and plus are the same.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-7
SLIDE 7

Introduction to Algebra Basic Definitions

Multiplying repeatedly by α and using the reduction α3 = α + 1 whenever necessary results in the following elements:

α3 = α + 1 , α4 = α2 + α , α5 = α3 + α2 = α2 + α + 1 , α6 = α3 + α2 + α = α2 + 1 , α7 = α3 + α = 1 = α0 .

After adding the zero element this becomes the set of 23 = 8 elements F = {0, 1, α, α2, α3, α4, α5, α6} . Each element can be expressed as a polynomial of degree at most two with binary coefficients and indeterminate α. Therefore, using modulo 2 polynomial addition, one can easily set up an addition table for the elements in F. Similarly, a multiplication table is easily obtained from the power of α representation of the non-zero elements in F.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-8
SLIDE 8

Introduction to Algebra Basic Definitions

The addition table is + 1 α α2 α3 α4 α5 α6 1 α α2 α3 α4 α5 α6 1 1 α3 α6 α α5 α4 α2 α α α3 α4 1 α2 α6 α5 α2 α2 α6 α4 α5 α α3 1 α3 α3 α 1 α5 α6 α2 α4 α4 α4 α5 α2 α α6 1 α3 α5 α5 α4 α6 α3 α2 1 α α6 α6 α2 α5 1 α4 α3 α Because of the all-zero main diagonal in the addition table each element is equal to its additive inverse, i.e., −αi = αi for i = 0, 1, . . . , 6.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-9
SLIDE 9

Introduction to Algebra Basic Definitions

The multiplication table is · 1 α α2 α3 α4 α5 α6 1 1 α α2 α3 α4 α5 α6 α α α2 α3 α4 α5 α6 1 α2 α2 α3 α4 α5 α6 1 α α3 α3 α4 α5 α6 1 α α2 α4 α4 α5 α6 1 α α2 α3 α5 α5 α6 1 α α2 α3 α4 α6 α6 1 α α2 α3 α4 α5 Using the fact that α7 = α0, one can find multiplicative inverses for all non-zero elements quite easily using α−j = α7−j for j = 1, 2, . . . , 6.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-10
SLIDE 10

Introduction to Algebra Basic Definitions

Groups, Rings, Fields

Over the reals R (or the rationals Q, or the complex numbers C)

  • ne can add, subtract, multiply and divide. In modern algebra the

following arithmetic systems are distinguished: Group: Set of mathematical objects for which “addition” and “subtraction” are defined. Ring: Set of mathematical objects for which “addition”, “subtraction” and “multiplication” are defined. Field: Set of mathematical objects for which “addition”, “subtraction”, “multiplication” and “division” are defined. Note that “addition”, “subtraction”, “multiplication” and “division” need not be the usual ‘+’, ‘−’, ‘×’, and ‘÷’.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-11
SLIDE 11

Introduction to Algebra Basic Definitions

Definition: A set S is an arbitrary collection of objects or elements, without any predefined operations between set elements. Definition: The cardinality |S| of a set S is the number of objects contained in the set. The cardinality of a set can be finite, countably infinite, or uncountably inifinite. Examples: The set of tea cups in your kitchen is (almost certainly) a finite set. The set of all rational numbers Q is countably infinite. The set of all real numbers R is uncountably infinite.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-12
SLIDE 12

Introduction to Algebra Basic Definitions

Let S denote a set of mathematical objects. Then, for any a, b, c ∈ S, the following axioms can be defined:

(A.1) a + b ∈ S Closure wrt + (A.2) a + (b + c) = (a + b) + c = a + b + c Associativity wrt + (A.3) a + 0 = 0 + a = a , 0 ∈ S Identity element wrt + (A.4) a + (−a) = (−a) + a = 0 , (−a) ∈ S Inverse element wrt + (A.5) a + b = b + a Commutativity wrt + (B.1) a · b ∈ S Closure wrt · (B.2) a · (b · c) = (a · b) · c = a · b · c Associativity wrt · (B.3) a · 1 = 1 · a = a, 1 ∈ S−{0} Identity element wrt · (B.4) a · (a−1) = (a−1) · a = 1, a, (a−1) ∈ S − {0} Inverse element wrt · (B.5) a · b = b · a Commutativity wrt · (C.1) (a + b) · c = a · c + b · c Distributivity c · (a + b) = c · a + c · b

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-13
SLIDE 13

Introduction to Algebra Basic Definitions

Depending on the subset of axioms which are satisfied, the following arithmetic systems can be defined:

Axioms satisfied Name (A.1). . .(A.4) Group (A.1). . .(A.4),(A.5) Commutative (Abelian) Group (A.1). . .(A.5),(B.1). . .(B.3),(C.1) Ring with Identity (A.1). . .(A.5),(B.1). . .(B.3),(B.5),(C.1) Commutative Ring with Identity (A.1). . .(A.5),(B.1). . .(B.5),(C.1) Field

Note: Commutative groups (rings, fields) are also called Abelian groups (rings, fields) in honor of Niels Henrik Abel (1802–1829). Notation: A group with set of elements G and operation ‘∗’ is denoted by <G, ∗>. A ring with set of elements R, first operation ‘+’ and second operation ‘·’ is denoted by <R, +, ·>. Similarly, a field with set of elements F, first operation ‘+’ and second

  • peration ‘·’ is denoted by <F, +, ·>.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-14
SLIDE 14

Introduction to Algebra Basic Definitions

Definition: If G (or R or F) in <G, ∗> (or <R, +, ·> or <F, +, ·>) has finite cardinality, then <G, ∗> is a finite group (or <R, +, ·> is a finite ring, or <F, +, ·> is a finite field). In this case the number of elements in G (or R or F) denoted |G| (or |R|

  • r |F|) is called the order of G (or R or F).

Example: The set of all even integers form a group under the

  • peration of (usual) addition. The number of elements in this

group is countably infinite. Example: Let G = {1, 2, 3, 4, 5, 6} and let ∗ denote multiplication modulo 7. Then <G, ∗> is a finite group of order |G| = 6. Example: The set of all polynomials in the indeterminate x with integer coefficients form a commutative ring with identity under the operations of (usual) polynomial addition and multiplication. Because polynomials must have a finite degree, this ring has a countably infinite number of elements.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-15
SLIDE 15

Introduction to Algebra Basic Definitions

Example: The set of all complex numbers together with complex addition and multiplication forms a field with an uncountably infinite number of elements. Example: The integers 0, 1, . . . , 6 form a finite field (called GF (7), where GF stands for Galois field in honor of Evariste Galois (1811–1832)) under the operations of addition and multiplication modulo 7. Here are the group operation tables for GF (7):

+ 1 2 3 4 5 6 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 3 4 5 6 1 3 3 4 5 6 1 2 4 4 5 6 1 2 3 5 5 6 1 2 3 4 6 6 1 2 3 4 5 · 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 1 3 5 3 3 6 2 5 1 4 4 4 1 5 2 6 3 5 5 3 1 6 4 2 6 6 5 4 3 2 1

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-16
SLIDE 16

Introduction to Algebra Basic Definitions

Definition: Isomorphism. Two groups <G, +> and <G ′, ∗> are isomorphic if a one-to-one mapping f (.) exists such that (i) a′ = f (a) (and thus a = f −1(a′)) for all a ∈ G and a′ ∈ G ′, (ii) if a′ = f (a), b′ = f (b), then a′ ∗ b′ = f (a + b) (and thus a + b = f −1(a′ ∗ b′)) , for any a, b ∈ G and any a′, b′ ∈ G ′. That is, there has to be a one-to-one correspondence between the elements of the two groups, which is preserved under the group

  • perations ‘+’ and ‘∗’ of the respective groups.

Note: Isomorphism for rings and fields is defined analogously. The

  • ne-to-one correspondence in this case must be preserved for both
  • perations of the respective rings or fields.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-17
SLIDE 17

Introduction to Algebra Basic Definitions

Example: The elements G = {1, 2, 4, 8, 11, 16} form a group of order 6 under the operation of multiplication modulo 21, denoted by ∗. Similarly, the elements G ′ = {1, 2, 3, 4, 5, 6} form a group of order 6 under · which denotes multiplication modulo 7. The two group operation tables are Multiplication modulo 21 ∗ 1 2 4 8 11 16 1 1 2 4 8 11 16 2 2 4 8 16 1 11 4 4 8 16 11 2 1 8 8 16 11 1 4 2 11 11 1 2 4 16 8 16 16 11 1 2 8 4 Multiplication modulo 7 · 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 1 3 5 3 3 6 2 5 1 4 4 4 1 5 2 6 3 5 5 3 1 6 4 2 6 6 5 4 3 2 1 Using the mapping a′ = f (a) from G to G ′ 1 = f (1) , 2 = f (4) , 3 = f (2) , 4 = f (16) , 5 = f (11) , 6 = f (8) , it is not difficult to see that <G, ∗> and <G ′, ·> are isomorphic.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-18
SLIDE 18

Introduction to Algebra Basic Definitions

Definition: Let <G, ∗> be a group and let H be a nonempty subset

  • f G. Then H is called a subgroup of G if <H, ∗> is a group.

Example: Let <G, ∗> be the elements G = {1, 2, 3, 4, 5, 6} under the operation of multiplication modulo 7. Then H = {1, 2, 4} is a subgroup and it is easily verified that <H, ∗> satisfies all the axioms of a group. Definition: Let <R, +, ·> be a ring and let H be a nonempty subset of R. Then H is called a subring of R if <H, +, ·> is a ring. Note: In particular, identity with respect to first operation must be in H and closure must hold (under all specified operations) for elements in H. Definition: Let <E, +, ·> be a field. Then F ⊂ E is called a subfield of E if <F, +, ·> is a field. The field E is then called an extension field of F.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-19
SLIDE 19

Introduction to Algebra Basic Definitions

Example: Consider the field of rational numbers Q, the field of real numbers R, and the field of complex numbers C. Then Q ⊂ R ⊂ C , and thus Q is a subfield of R and C is an extension field of R. To obtain a subgroup H of a finite group <G, ∗>, one can proceed as follows. Take any h ∈ G and let H be the set {h, h ∗ h, h ∗ h ∗ h, . . .}, or, using a more concise notation, H = {h, h2, h3, . . . , hc = 1} , where c = |H| is the smallest positive integer such that hc = 1. Example: Consider the group G = {1, 2, . . . , 12} of integers under the operation of multiplication modulo 13. Picking h = 3 results in the set H = {51 = 5, 52 = 12, 53 = 8, 54 = 1} , which forms a subgroup of G of order 4.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-20
SLIDE 20

Introduction to Algebra Basic Definitions

Theorem: If G is a finite group and h ∈ G, then a smallest positive integer c, called the order of the element h, exists such that hc = 1. Moreover, the first element in the sequence h, h2, h3, . . . which is repeated is h itself. Proof: The element h is a member of a finite group and thus a repetition must eventually occur in h, h2, h3, . . ., that is, it must be true that hk = hm, m > k, for two positive integers k and m. Since the element h−k must be in G, one can write 1 = hk · h−k = hm · h−k = hm−k , which proves that there is at least one positive integer c such that hc = 1. But then hc+1 = h and, since h, h2, . . . , hc must all be distinct (otherwise c is not smallest positive integer such that hc = 1), h is the first element which is repeated. QED

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-21
SLIDE 21

Introduction to Algebra Basic Definitions

Definition: h, h2, h3, . . . , hc = 1 is called a cycle. Note: A cycle is a subgroup. Definition: A group that consists of all the powers of one of its elements, say, α, is called a cyclic group (i.e., G = {α, α2, . . . , αc = 1}). The element α is called a primitive element or a generator of the group. Example: Let <G, ·> be the set of integers under multiplication modulo 13. Then, choosing α = 2, one obtains α0 = 1 α4 = 3 α8 = 9 α12 = 1 α1 = 2 α5 = 6 α9 = 5 α2 = 4 α6 = 12 α10 = 10 α3 = 8 α7 = 11 α11 = 7 Thus, <G, ·> is a cyclic group and α = 2 is a primitive element in this group.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-22
SLIDE 22

Introduction to Algebra Basic Definitions

Coset Decomposition. Given a finite group <G, ∗> and a subgroup <H, ∗>, H = {h1, h2, . . . , hn} ⊂ G, one can decompose G with respect to H as follows: h1 = 1 h2 h3 . . . hn g2 ∗ h1 = g2 g2 ∗ h2 g2 ∗ h3 . . . g2 ∗ hn g3 ∗ h1 = g3 g3 ∗ h2 g3 ∗ h3 . . . g3 ∗ hn . . . . . . . . . ... . . . gm ∗ h1 = gm gm ∗ h2 gm ∗ h3 . . . gm ∗ hn The rows of the coset decomposition are called cosets. The first row is the subgroup H. The elements h1, g2, g3, . . . , gm in the first column are called coset leaders.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-23
SLIDE 23

Introduction to Algebra Basic Definitions

The construction of the array proceeds as follows: (1) Start with the elements of H in the first row (each element

  • ccurs exactly once).

(2) Choose an (arbitrary) element of G which does not yet appear in the table as coset leader and complete the coset. Repeat this step until all elements of G are used. Note that the array constructed in this way is always rectangular and the construction always stops since G is finite. For non-Abelian groups one distinguishes a left coset decomposition with elements gi ∗ hj from a right coset decomposition with elements hj ∗ gi. Note: The standard array used for (conceptual) decoding of received n-tuples of a q-ary linear code is a coset decomposition. In this case the subset H is the set of all codewords of the code and the group operation is vector addition modulo q.

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes

slide-24
SLIDE 24

Introduction to Algebra Basic Definitions

Example: Let < G, · > be the group of integers G = {1, 2, . . . , 12} under the operation of multiplication modulo

  • 13. A coset decomposition of G with respect to the subgroup

H = {1, 3, 9} is 1 3 9 2 6 5 4 12 10 8 11 7 ← Subgroup H ← Cosets ↑ Coset leaders

Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes