The Coding Theory Workbook: a Companion to EE

The Coding Theory Workbook: a Companion to EE

The Coding Theory Workbook A companion to EE 567 Version 1.1 Spring 2016 Matthew C. Valenti, Ph.D., P.E. West Virginia University Copyright 2012, Matthew C. Valenti Contents 1 Finite Fields 1 1.1 Sets (Ryan and Lin Section 2.1) . 1 1.2 Binary Operations (Ryan and Lin Section 2.1) . 2 1.3 Groups (Ryan and Lin Section 2.2) . 2 1.3.1 Examples . 3 1.3.2 Modulo-m Addition . 3 1.3.3 Modulo-m Multiplication . 4 1.3.4 Cyclic Groups . 4 1.3.5 Subgroups . 5 1.3.6 Cosets . 5 1.4 Fields (Ryan and Lin Section 2.3) . 6 1.4.1 Examples . 6 1.4.2 Subfields . 7 1.4.3 Galois Fields . 7 2 Vector Spaces 9 2.1 Definition of a Vector Space (Ryan and Lin Section 2.4) . 9 2.2 Linear Dependence . 10 2.3 Vector Subspaces . 11 2.4 Bases and Dimensionality . 11 2.4.1 Some Definitions . 11 2.4.2 Binary Linear Codes . 11 2.4.3 Finding a Basis . 12 2.5 Vector and Matrix Multiplication . 13 2.6 Hamming Space . 14 2.7 Subspaces of Vn ....................................... 14 2.7.1 Binary Linear Codes . 15 2.7.2 Generator Matrices . 15 2.8 Dual Spaces . 16 2.8.1 Dual Codes . 17 2.8.2 Parity-Check Matrices . 17 2.9 Systematic Codes . 18 iii 3 Binary Linear Codes 21 3.1 Binary Codes . 21 3.1.1 Hamming Space . 21 3.1.2 Binary Codes . 21 3.1.3 Linear Codes . 21 3.1.4 Nonlinear Codes . 21 3.1.5 Cosets of C ..................................... 21 3.1.6 Dual Code . 22 3.2 Binary Linear Codes . 22 3.2.1 Bases and Generators . 22 3.2.2 Dimension of a Code and its Dual . 22 3.2.3 Generator and Parity-Check Matrices . 22 3.2.4 Systematic Codes . 23 3.2.5 Syndromes . 24 3.2.6 Error Detection . 25 3.2.7 Error Correction . 26 3.3 Minimum Distance . 26 3.3.1 Definitions . 26 3.3.2 Error Correction and Detection Capability . 27 3.3.3 Minimum Distance of a Linear Code . 28 3.4 Finding the Minimum Distance from H . 29 4 The Many-Uses of H: Design, Encoding, and Decoding 31 4.1 Properties of Parity-Check Matrices . 31 4.1.1 Non-uniqueness of the H matrix: . 31 4.1.2 Finding the Minimum Distance from H . 32 4.2 Code Design . 32 4.2.1 Optimizing Codes of Particular n and dmin ................... 32 4.2.2 Designing Codes with dmin ≥ 3.......................... 32 4.2.3 Hamming Codes . 33 4.2.4 Shortening . 34 4.2.5 The Singleton Bound . 35 4.2.6 Codes of dmin =4 ................................. 35 4.3 Systematic Encoding Using the H Matrix . 36 4.4 Decoding Using H ..................................... 37 4.4.1 Standard Array Decoding . 37 4.4.2 Syndrome Table Decoding . 39 4.4.3 A Simple Decoder for the Hamming Code . 39 4.5 The Hamming Bound . 40 4.6 Perfect Codes . 40 4.7 Summary of Terms . 41 iv 5 Cyclic Codes 43 5.1 Cyclic Codes: Motivation . 43 5.2 Cyclic Codes: Definitions . 43 5.3 Polynomial Representation of Vectors . 44 5.4 Polynomial Arithmetic . 44 5.5 Factoring Polynomials . 47 5.6 Cyclic Shift of Polynomials . 48 5.7 Code, Generator, and Parity Polynomials . 49 6 BCH Codes 51 6.1 Review of Cyclic Codes . 51 6.2 Overview of BCH Codes . 52 6.3 Advanced Polynomial Theory . 52 6.3.1 Primitive Polynomials . 52 6.3.2 Constructing GF (2`)................................ 53 6.3.3 Minimal Polynomials . 55 6.3.4 Conjugates . 56 6.4 BCH Code Generators . 56 v Chapter 1 Finite Fields 1.1 Sets (Ryan and Lin Section 2.1) A set is a collection of elements. The convention is to use uppercase letters to denote sets, such as X or Y . The elements of a set may be represented by lowercase letters, which could be subscripted, e.g. x1 or y1.A finite set has a finite number of elements, for instance: X = fx1; x2g Y = fy1; y2; y3g are two finite sets. The cardinality of a finite set is the number of elements in the set. The cardinality of a set S is denoted jSj. For the above examples, determine jXj and jY j: jXj = jY j = A set X is said to be a subset of another set Y if all the elements in X are also in Y . For instance, if X = f4; 5g Y = f4; 5; 6g then X is a subset of Y and we would express this relationship as X ⊆ Y . X is said to be a proper subset of Y if jXj < jY j, and we indicate this by X ⊂ Y . Note that any set X is a subset of itself but not a proper subset of itself, therefore we can write X ⊆ X but we cannot write X ⊂ X. We are often interested in the following set operations: Union: X [ Y contains all elements in X or Y (or both). Intersection: X \ Y contains all elements in X and Y . Difference: Y n X contains the elements in Y that are not in X. Two sets are said to be disjoint if they have no elements in common, i.e. X \ Y = ?. 1 2 1.2 Binary Operations (Ryan and Lin Section 2.1) A binary operation is a rule that assigns a value to a pair of elements called operands. The word binary means that there are exactly two operands. While a variety of symbols may be used for the operator, we will use the notation `∗' to denote an arbitrary operator. Thus, we would write a binary operator as: a ∗ b = c Properties: A binary operator defined over a set S may or may not satisfy the following properties: Closure: for all a; b 2 S, a ∗ b = c 2 S. Associativity: for all a; b; c 2 S,(a ∗ b) ∗ c = a ∗ (b ∗ c). Commutativity: for all a; b 2 S, a ∗ b = b ∗ a. Examples: Some typical binary operations: 1. Arithmetic operations on scalars: Addition, multiplication, subtraction, division. 2. Exponentiation: ab. 3. Matrix addition; matrix multiplication. 1 4. Modulo-m addition a b; modulo-m and multiplication a b. 5. Logicals: AND, OR, XOR, NOR, NAND. 1.3 Groups (Ryan and Lin Section 2.2) A group is an algebraic system consisting of a set G on which a binary operation ∗ is defined with properties: 1. Closure: if a; b 2 G then a ∗ b = c 2 G. 2. Associativity: for all a; b; c 2 G,(a ∗ b) ∗ c = a ∗ (b ∗ c). 3. Identity: there exists a unique element e 2 G such that a ∗ e = e ∗ a = a. 4. Inverse: for all a 2 G there exists a unique element a0 2 G such that a ∗ a0 = a0 ∗ a = e. A group is said to be commutative or abelian if it satisfies the above properties as well as: 5. Commutativity: for all a; b 2 G, a ∗ b = b ∗ a. The order of a group is the number of elements it contains, i.e. jGj, which is the cardinality of set G. If the order is finite, then the group is said to be finite. 1 a b is defined as the remainder that results when (a+b) is divided by m. The result is contained in the set f0; :::; m − 1g. Similarly, a b is the remainder.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    61 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us