Can You Hear Me Now?

Similar documents
MATH3302. Coding and Cryptography. Coding Theory

And for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)

Cyclic Redundancy Check Codes

channel of communication noise Each codeword has length 2, and all digits are either 0 or 1. Such codes are called Binary Codes.

Math 512 Syllabus Spring 2017, LIU Post

17.1 Binary Codes Normal numbers we use are in base 10, which are called decimal numbers. Each digit can be 10 possible numbers: 0, 1, 2, 9.

Modular numbers and Error Correcting Codes. Introduction. Modular Arithmetic.

Notes 10: Public-key cryptography

Chapter 2. Error Correcting Codes. 2.1 Basic Notions

ELEC 519A Selected Topics in Digital Communications: Information Theory. Hamming Codes and Bounds on Codes

Know the meaning of the basic concepts: ring, field, characteristic of a ring, the ring of polynomials R[x].

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

MATH 433 Applied Algebra Lecture 22: Review for Exam 2.

MATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9

Hamming Codes 11/17/04

Coset Decomposition Method for Decoding Linear Codes

3. Coding theory 3.1. Basic concepts

Ma/CS 6b Class 24: Error Correcting Codes

( c ) E p s t e i n, C a r t e r a n d B o l l i n g e r C h a p t e r 1 7 : I n f o r m a t i o n S c i e n c e P a g e 1

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

Mathematics Department

Chapter 3 Linear Block Codes

2. Polynomials. 19 points. 3/3/3/3/3/4 Clearly indicate your correctly formatted answer: this is what is to be graded. No need to justify!

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved

16.36 Communication Systems Engineering

Information redundancy

MT5821 Advanced Combinatorics

Ma/CS 6b Class 25: Error Correcting Codes 2

Week 3: January 22-26, 2018

Finite Mathematics. Nik Ruškuc and Colva M. Roney-Dougal

Cyclic codes: overview

Answers and Solutions to (Even Numbered) Suggested Exercises in Sections of Grimaldi s Discrete and Combinatorial Mathematics

Math 412: Number Theory Lecture 13 Applications of

Error Detection and Correction: Hamming Code; Reed-Muller Code

MATH32031: Coding Theory Part 15: Summary

ERROR-CORRECTING CODES AND LATIN SQUARES

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

MAS309 Coding theory

Linear Algebra. F n = {all vectors of dimension n over field F} Linear algebra is about vectors. Concretely, vectors look like this:

Some error-correcting codes and their applications

ELEC 405/ELEC 511 Error Control Coding and Sequences. Hamming Codes and the Hamming Bound

Coding Theory: Linear-Error Correcting Codes Anna Dovzhik Math 420: Advanced Linear Algebra Spring 2014

Error Correction Review

MATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q

Coding Theory and Applications. Linear Codes. Enes Pasalic University of Primorska Koper, 2013

: Error Correcting Codes. October 2017 Lecture 1

Lecture 12. Block Diagram

Lecture B04 : Linear codes and singleton bound

ERROR CORRECTING CODES

Errors, Eavesdroppers, and Enormous Matrices

: Coding Theory. Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, upattane

Vector spaces. EE 387, Notes 8, Handout #12

An Introduction to (Network) Coding Theory

NUMBERS AND CODES CHAPTER Numbers

exercise in the previous class (1)

ELEC 405/ELEC 511 Error Control Coding. Hamming Codes and Bounds on Codes

Orthogonal Arrays & Codes

Lecture Introduction. 2 Linear codes. CS CTT Current Topics in Theoretical CS Oct 4, 2012

EE512: Error Control Coding

Elementary maths for GMT

The extended coset leader weight enumerator

MODULAR ARITHMETIC I

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

MATH/MTHE 406 Homework Assignment 2 due date: October 17, 2016

LMS Popular Lectures. Codes. Peter J. Cameron

BINARY CODES. Binary Codes. Computer Mathematics I. Jiraporn Pooksook Department of Electrical and Computer Engineering Naresuan University

Hamming codes and simplex codes ( )

Algebraic Codes for Error Control

Lecture 12: November 6, 2017

Cryptography. P. Danziger. Transmit...Bob...

IOSR Journal of Mathematics (IOSR-JM) e-issn: , p-issn: x. Volume 9, Issue 2 (Nov. Dec. 2013), PP

Attacking and defending the McEliece cryptosystem

} has dimension = k rank A > 0 over F. For any vector b!

A Brief Encounter with Linear Codes

Channel Coding for Secure Transmissions

Arrangements, matroids and codes

2. Every linear system with the same number of equations as unknowns has a unique solution.

Linear Codes and Syndrome Decoding

Chapter 3. Directions: For questions 1-11 mark each statement True or False. Justify each answer.

Reed Muller Error Correcting Codes

SCHOOL OF MATHEMATICS AND STATISTICS

An Introduction to (Network) Coding Theory

Lecture 6: Introducing Complexity

Mathematical Foundations of Public-Key Cryptography

Linear Algebra for Beginners Open Doors to Great Careers. Richard Han

Reed-Muller Codes. These codes were discovered by Muller and the decoding by Reed in Code length: n = 2 m, Dimension: Minimum Distance

Coding Theory. Golay Codes

Cyclic codes. I give an example of a shift register with four storage elements and two binary adders.

APPENDIX: MATHEMATICAL INDUCTION AND OTHER FORMS OF PROOF

EE 229B ERROR CONTROL CODING Spring 2005

Binary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction

Hadamard Codes. A Hadamard matrix of order n is a matrix H n with elements 1 or 1 such that H n H t n = n I n. For example,

8+4 0 mod (12), mod (12), mod (12), mod (12), mod (12).

The Hamming Codes and Delsarte s Linear Programming Bound

Lecture notes on coding theory

during transmission safeguard information Cryptography: used to CRYPTOGRAPHY BACKGROUND OF THE MATHEMATICAL

CS483 Design and Analysis of Algorithms

Math 221 Midterm Fall 2017 Section 104 Dijana Kreso

AN ALGEBRAIC PROOF OF RSA ENCRYPTION AND DECRYPTION

Error-correction and the binary Golay code

Transcription:

Can You Hear Me Now? An Introduction to Coding Theory William J. Turner Department of Mathematics & Computer Science Wabash College Crawfordsville, IN 47933 19 October 2004 W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 1 / 29

Outline 1 Coding Theory Coding Theory vs. Cryptography Error Detecting Codes and Error Correcting Codes 2 Linear Codes Linear Algebra and Coding Theory Encoding and Decoding Detecting and Correcting Errors W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 2 / 29

Coding Theory vs. Cryptography Coding Theory Efficient and reliable communication in an uncooperative (possibly hostile) environment. Encode and decode Clear communication Cryptography Disguising messages so only certain people can see through the disguise. Encrypt and decrypt Hidden communication W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 4 / 29

Applications of Coding Theory Example (Digital communication) Email, internet, intranet Radio, satellite Photographs from deep space Remote control of unmanned drones Example (Products) Store scanners (bar codes) International Standard Book Number (ISBN) W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 5 / 29

Error Detecting Codes vs. Error Correcting Codes Error Detecting Codes Detect when an error occurse in transmission. Error Correcting Codes Detect and correct errors in transmission. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 7 / 29

Repetition Code Idea Send each letter or word multiple times. Example (Send each letter of message twice) Receive message 2234. Detect error in second digit: 3 or 4? Example (Send each letter of message three times) Receive message 222343. Correct error in second letter: 3. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 8 / 29

Parity Check Idea Augment binary messages with an extra bit to make an even number of 1s. If you receive a message with an odd number of bits, you know an error occurred in transmission. Examples (Seven Bits + Parity Check) 1 22 (0, 0, 1, 0, 1, 1, 0) (0, 0, 1, 0, 1, 1, 0, 1) 2 23 (0, 0, 1, 0, 1, 1, 1) (0, 0, 1, 0, 1, 1, 1, 0) W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 9 / 29

International Standard Book Number (ISBN) Idea Ten-digit number (codeword) assigned by publisher: x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 1 : language x 2 x 3 : publisher x 4 x 5 x 9 : book (assigned by publisher) x 10 : assigned so 10 i=1 i x i 0 (mod 11) x 10 = 9 i=1 i x i mod 11 Possible to Detect and correct error in one digit. Detect transposition of two digits. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 10 / 29

International Standard Book Number (ISBN) Example (Accelerated C++ by Koenig and Moo) Published in English: x 1 = 0 Published by Addison-Wesley: x 2 x 3 = 20 x 4 x 5 x 9 = 170353 x 10 =?? ISBN: 020170353X 9 i x i = 131 i=1 9 i x i mod 11 = 10 i=1 x 10 = X W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 11 / 29

Vector Space Idea A vector has a magnitude and direction. Adding two vectors together creates a new vector that might have a new direction. Multiplying a vector by a scalar changes its magnitude but not its direction. Vector space is set of all such combinations of vectors. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 13 / 29

Vector Space Example (R 2 over the field R) R is field of real numbers. R 2 is set of all pairs of real numbers. I.e., all points on two-dimensional plane. + = W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 14 / 29

Vector Space Example (Z n 2 over the field Z 2 ) Z 2 is field of integers modulo 2. 1 + 1 = 2 mod 2 = 0 Z n 2 is set of all n-tuples of 0s and 1s. [ 1 0 1 1 0 1 0 ] Z 7 2 W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 15 / 29

Linear Codes Definition (Linear Code) A subspace of a vector space. I.e., a subset of a vector space that is itself a vector space. Example (C 7,4 ) The set linear combinations (span) over Z 2 of u 1 = (1, 0, 0, 0, 0, 1, 1) u 2 = (0, 1, 0, 0, 1, 0, 1) u 3 = (0, 0, 1, 0, 1, 1, 0) u 4 = (0, 0, 0, 1, 1, 1, 1) Every vector in C 7,4 is a unique linear combination of {u 1, u 2, u 3, u 4 } because these four vectors are linearly independent. {u 1, u 2, u 3, u 4 } forms a basis for C 7,4. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 16 / 29

Encoding a Message Idea Use word s bits as scalars for linear combination of basis vectors. Example (C 7,4 ) Want to encode the word x = (1, 0, 1, 1). Encode x as w = 1u 1 + 0u 2 + 1u 3 + 1u 4 = (1, 0, 1, 1, 0, 1, 0). W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 18 / 29

Encoding a Message Definition (Generator Matrix) A matrix formed from the basis vectors of a linear code. Encode word by multiplying with generator matrix. Example (C 7,4 ) 1 0 0 0 0 1 1 G = 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 w = xg = [ 1 0 1 1 0 1 0 ] W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 19 / 29

Decoding a Message Idea Solve the linear system or xg = w G T x T = w T Example (C 7,4 ) Suppose received message w = (0, 1, 1, 0, 0, 1, 1). w = xg = x = [ 0 1 1 0 ] W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 20 / 29

Detecting and Correcting Errors Idea Use a matrix H whose (left) null space is the linear code. I.e., wh = 0 for every codeword w. If wh 0, an error must have occurred. wh may tell us where error occurred. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 22 / 29

Detecting Errors Example (C 7,4 ) 0 0 1 0 1 0 0 1 1 H = 1 0 0 1 0 1 1 1 0 1 1 1 Suppose received message w = (0, 1, 1, 1, 0, 1, 1). wh = [ 0 1 0 ] 0 so an error must have occurred. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 23 / 29

Correcting Errors Example (C 7,4 ) wh = [ 0 1 0 ] 0 wh is second row of H = error is second entry of w. Correct w c = (0, 0, 1, 1, 0, 1, 1). Decode x = (0, 0, 1, 1). W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 24 / 29

Detecting and Correcting Errors Definition (Hamming Distance) The distance between two codewords is the number of bits in which they differ. Example (C 7,4 ) d(u 1, u 2 ) = 4 d(u 1, u 4 ) = 3 W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 25 / 29

Detecting and Correcting Errors Idea Suppose min {d(u, v)} = d. u,v C Can detect at most d 1 errors. Change d bits = may get another codeword. Can correct at most d/2 1 errors. Change d/2 bits = may be closer to different codeword. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 26 / 29

Detecting and Correcting Errors Example (C 7,4 ) min {d(u, v)} = 3 u,v C 7,4 Can detect at most 2 errors. Start with word x = (1, 0, 0, 0). Encode as w = (1, 0, 0, 0, 0, 1, 1). Three errors during transmission to receive w = (0, 0, 0, 1, 1, 1, 1). Decode message x = (0, 0, 0, 1). Can correct at most 1 errors. Start with word x = (1, 0, 0, 0). Encode as w = (1, 0, 0, 0, 0, 1, 1). Two errors during transmission to receive w = (1, 1, 1, 0, 0, 1, 1). Correct message as w c = (0, 1, 1, 0, 0, 1, 1). Decode message x = (0, 1, 1, 0). W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 27 / 29

Detecting and Correcting More Errors Idea Must increase distance between codewords. Want to correct e errors. Must be able to move distance e from a codeword and still remain at least distance e + 1 from any other codeword. Consider sphere of radius e around each codeword. Spheres of any pair of codewords cannot intersect. Increase e = increase size of spheres Fewer spheres can fit in same box. Need bigger box to keep same number of spheres. Sphere packing problem W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 28 / 29

References Raymond Hill (1986). A First Course in Coding Theory. Oxford University Press, Oxford. Richard Hill (1996). Elementary Linear Algebra with Applications. Harcourt, Orlando, 3rd edition. W. J. Turner (Wabash College) Can You Hear Me Now? 19 October 2004 29 / 29