Lecture B04 : Linear codes and singleton bound

Similar documents
Lecture 19 : Reed-Muller, Concatenation Codes & Decoding problem

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

Lecture 14: Hamming and Hadamard Codes

: Error Correcting Codes. October 2017 Lecture 1

Lecture 12: November 6, 2017

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

MATH32031: Coding Theory Part 15: Summary

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

EE 229B ERROR CONTROL CODING Spring 2005

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class

Mathematics Department

The extended coset leader weight enumerator

EE512: Error Control Coding

Lecture 4: Codes based on Concatenation

Lecture 3: Error Correcting Codes

Lecture Introduction. 2 Formal Definition. CS CTT Current Topics in Theoretical CS Oct 30, 2012

Lecture 12: Reed-Solomon Codes

Arrangements, matroids and codes

6.895 PCP and Hardness of Approximation MIT, Fall Lecture 3: Coding Theory

Orthogonal Arrays & Codes

Notes 10: List Decoding Reed-Solomon Codes and Concatenated codes

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

COMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei

Lecture 17: Perfect Codes and Gilbert-Varshamov Bound

Week 3: January 22-26, 2018

Math 512 Syllabus Spring 2017, LIU Post

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

Lecture 4: Proof of Shannon s theorem and an explicit code

The idea is that if we restrict our attention to any k positions in x, no matter how many times we

Codes over Subfields. Chapter Basics

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

Error Correcting Codes Questions Pool

An Introduction to (Network) Coding Theory

Lecture 12: November 6, 2013

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

MATH 291T CODING THEORY

Lecture 18: Shanon s Channel Coding Theorem. Lecture 18: Shanon s Channel Coding Theorem

Lecture 03: Polynomial Based Codes

Linear Block Codes. Saravanan Vijayakumaran Department of Electrical Engineering Indian Institute of Technology Bombay

7.1 Definitions and Generator Polynomials

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

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

5.0 BCH and Reed-Solomon Codes 5.1 Introduction

MATH 291T CODING THEORY

An Introduction to (Network) Coding Theory

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

Optimum Soft Decision Decoding of Linear Block Codes

Lecture 14 February 28

Can You Hear Me Now?

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

Error-Correcting Codes

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

MATH3302. Coding and Cryptography. Coding Theory

Berlekamp-Massey decoding of RS code

ECE Information theory Final (Fall 2008)

x n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)

Lecture 12. Block Diagram

Physical Layer and Coding

Section 3 Error Correcting Codes (ECC): Fundamentals

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.

CS151 Complexity Theory. Lecture 9 May 1, 2017

Lecture 19: Elias-Bassalygo Bound

Galois geometries contributing to coding theory

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

Notes for Lecture 18

Error Correction Review

The Hamming Codes and Delsarte s Linear Programming Bound

A Relation Between Weight Enumerating Function and Number of Full Rank Sub-matrices

11 Minimal Distance and the Parity Check Matrix

MT361/461/5461 Error Correcting Codes: Preliminary Sheet


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

Proving languages to be nonregular

exercise in the previous class (1)

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!

We saw in the last chapter that the linear Hamming codes are nontrivial perfect codes.

Lecture 14 October 22

CSCI-B609: A Theorist s Toolkit, Fall 2016 Oct 4. Theorem 1. A non-zero, univariate polynomial with degree d has at most d roots.

Information redundancy

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding.

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16

2 Completing the Hardness of approximation of Set Cover

16.36 Communication Systems Engineering

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

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

1 Vandermonde matrices

Hamming codes and simplex codes ( )

Support weight enumerators and coset weight distributions of isodual codes

1. How many errors may be detected (not necessarily corrected) if a code has a Hamming Distance of 6?

Solutions to problems from Chapter 3

Error Detection & Correction

MTAT : Introduction to Coding Theory. Lecture 1

Lecture 6: Expander Codes

List Decoding of Reed Solomon Codes

Lecture 15: Conditional and Joint Typicaility

Lecture 7 September 24

3. Coding theory 3.1. Basic concepts

Notes 10: Public-key cryptography

Introduction into Quantum Computations Alexei Ashikhmin Bell Labs

Transcription:

IITM-CS6845: Theory Toolkit February 1, 2012 Lecture B04 : Linear codes and singleton bound Lecturer: Jayalal Sarma Scribe: T Devanathan We start by proving a generalization of Hamming Bound, which we did for the Hamming code towards the end of the last lecture. Lemma 1 (Hamming Bound). For an (n, k, d) code C, C 2 n d 1 2 i=1 Proof. Let d be the minimum distance of the code C. Consider the Hamming balls of radius d 1 2 centred at the codewords. The number of strings in {0, 1}n within this distance is at most d 1 2 ( n ) i=1 i. None of these balls intersect with each other, since otherwise the minimum distance will be less than d. Thus each word is covered at most once (we may skip some). Thus if we count the volume of each of the Hamming balls: The Hamming bound follows. C. d 1 2 i=1 ( n i) ( ) n 2 n i Remark 2. An intuitive interpretation of Hamming Bound is as a tradeoff result between n and k. It shows the limits on on packing too many codewords in the space [0, 1} n while keeping the minimum distance to be large. Thus, for a given minimum distance if we want to pack in too many codewords, we have no option but to increase the value of n. With this in mind, we turn our attention to Hamming codes. We considered the simple case in the last lecture. The parameters 1 were [7, 4, 3] We know that the parity check matrix is given by: 0 0 0 1 1 1 1 H = 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 We denote by [n, k, d] q, the linear code mapping k bits to n bits, with minimum distance d and the field of size at most q. (n, k, d) denotes the same with no linearity restriction. B04-1

This indeed had the special structure that every column of three bit representations (except the all 0s) appears as columns. This observation is useful, as we will demonstrate below. Consider the hamming bound for this particular code. C 2n n + 1 We observe that, in a [7, 4, 3] hamming code, C = 2 4 and n = 7. Thus the Hamming bound is met with an equality. This indeed, by our above remark indicates that Hamming codes pack in the optimal number of codewords into the space {0, 1} n for the given distance. Is this a property possessed by only Hamming codes? Codes which meets the Hamming bound are called perfect codes. Thus, in our example set up, every word {0, 1} n is within a Hamming ball of radius 1 = d 1 2, there is a codeword. Thus, we can hope to correct one bit error in the received word. Since the error is at most one bit, we can received word as y = c + e i where c is a code word and e i is the i th basis vector. Hence, Hy = H(c + e i ) = Hc + He i = He i = i in binary. Thus, the decoding for Hamming codes has an efficient algorithm even for locating the index for the error. Remark 3. How do we prove that the distance of the Hamming code is exactly 3? We use the characterization of minimum distance of a code as the minimum number of columns of the parity check matrix (H) which are linearly dependent. Indeed the parity check matrix has three columns that are linearly dependent (take the first three columns). It also has the property that no two columns are linearly dependent (since they differ in at least one bit). 1 Generalized Hamming Codes Now we generalize the construction. Let n be of the form 2 r 1. We specify the code by describing the parity check matrix. The parity check matrix of the Hamming code is the matrix formed by all r bit representations of the numbers from 1, 2,... 2 r 1. Note that this excludes all 0s. Hence the parity check matrix is of dimensions 2 r 1 r which is (n k) k. To calculate the distance, we can apply the same argument. The first three columns of the matrix are linearly dependent, and no two columns are linearly dependent. Hence the Hammind Code is an [2 r 1, 2 r r 1, 3] 2 code. We check the Hamming bound, For this Hamming code, we know that C = 2 2r 1 r. B04-2

= 22r 1 2 r = 2n n+1. We observe that any general hamming code of length 2 r 1 is also a perfect code. Now we will see a close but complementary relative of the Hamming code, called the Hadamard codes. We introduce them through the concept of a Dual code. 2 Dual codes Recall that the parity check matrix of a code generated by the generator matrix G {0, 1} n k, is defined as the matrix H {0, 1} (n k) k. We have seen that any code can be uniquely identified by the generator matrix or the parity check matrix. G : F k 2 Fn 2 C = {y F n 2 Hy = 0} Now we consider the space that has its basis as the vectors in H. This space is the orthogonal space or dual space of C. Given that the dimensionality of C is k, it is directly obeservable that the dimensionality of the dual space is n k. We also notice that if we consider the vectors in the dual matrix as a new code, the generator matrix of C is the parity check matrix of the new code. We represent this new code by C. Since C is exactly the null space of G, we can also say that the set of all vectors that are linear combination of the vectors in H are orthogonal to all vectors in C. In other words, (C ) = C. We can also have codes where C = C. Such codes are called self-dual codes. In self-dual codes, each vector in the basis of the subspace is orthogonal to every other vector in the basis of the subspace, including itself. 3 Hadamard code We now consider the dual code of Hamming code. H T is the generator matrix. If the message is k bits in length, the rows of the generator matrix are all vectors {0, 1} k except null vector. The code is the parity of all possible subsets of the k bits, except φ. The encoded string is of length 2 k 1. Now consider the code with generator matrix as all vectors in {0, 1} k. This has the encoding as the parity of all subsets inculding φ. This code is called the Hadamard code. Hadamard code, for message length r, has a block length of 2 r. We observe that the rate of hadamard code = r 2 r, which is very bad in comparison to that of the Hamming code. B04-3

We now try to compute the minimum distance d of the hadamard code. We use the following lemma for the same. Lemma 4. If the weight of a codeword is defined as the number of non-zero symbols in it, the minimum distance d of C is exactly equal to the weight of the minimum weight non-zero codeword in C, where c is a linear code. Proof. The distance between any two codes is the number of bits in which they differ. In the given case, the distance between any two codes is the weight of the XOR of the two codes. Since the XOR of any two codes also lies in C, the weight of minumum weight codeword in C distance between any two codes in C. Also, Weight of minumum weight codeword w in C = δ(w, ˆ0). Hence, weight of minimum weight codeword = minimum distance. Distance of Hadamard code: Now, let x 0 be a r-bit message that has to be encoded using Hadamard code. Consider a to be any r-bit string. When we consider all possible r-bit strings for a, we consider all possible subsets of x in the form of x.a. Since x is non-zero, there exists atleast one bit where it is non-zero. Let i be one such index such that x i 0 For a, consider the corresponding string that differs from a only at the i th index. Let this string be a. Since x i = 1 from our assumption, we notice that x.a + x.a = x.(a + a ) = e i where e i is a r-bit string with zero at every index except i. Hence, we can conclude that x.a x.a. If we split the set of all r-bit strings into 2 r 1 pairs, with each pair being an a and corresponding a which differ in the fixed index i, we observe one of x.a and x.a is equal to one. Since x.a and x.a are the parities of some two subsets of x, they are two bits in the encoding. This means that exactly half the number of bits of the encoding of x will be 1. In other words, weight of each encoding = 2 r 1. From the lemma, minimum distance associated with Hadamard code = 2 r 1, which is equal to half the length of the encoding itself. Relative distance of Hadamard code = n 2. 4 Singleton bound Lemma 5. For any code (n, k, d), the distance d n k + 1. Proof. Let E be the encoding of the code. E : {0, 1} k {0, 1} n. B04-4

We consider a projection π of k 1 bits of the encoded string. By projection, we mean we consider only the first k 1 bits and ignore the rest. Since the original message is k bits in length, by pigeon hole principle, there exists atleast 2 codes C 1 and C 2, such that, π(e(c 1 )) = π(e(c 2 )). These two codes can differ in maximum of n (k 1) bits. d n k + 1. 5 Reed-Solomon codes We now change our focus from binary codes to higher order codes. We define the encoding as follows. Consider set S = {α 1, α 2,..., α n } F. If the message symbols are m 0, m 1,..., m k 1, and p(x) is some polynomial given by p(x) = m 0 x 0 + m 1 x 1 + m 2 x 2 + + m k 1 x k 1. Encoding (E) is given by E(x) = (p(α 1 ), p(α 2 ),..., p(α n )). We want maximum d. In other words, we want a large number of non-zeroes in the code. Since α i are unique and p is a k 1 degree polynomial in one variable, there can be only k 1 zeroes. Given two codes x and y, since S is a fixed set, we can conclude that the encodings are equal at only the zeroes. The two codes can have the same value in only atmost k 1 places. The distance d (n k + 1). Reed-Solomon codes satisfy equality in the singleton bound. Also, we can write the generator matrix of this code as α1 0 α1 1... α k 1 1 α2 0 α2 1... α k 1 2 G =. αn 0 αn 1... αn k 1 Hence, we can conclude that the code is a linear code. For maximum distance, we maximize the value of n k. But this affects the rate of the code as well. We have to choose the value of n such that there is optimum rate as well as a reasonably high distance. We try to reduce code from F k to F 2. We can represent each element in binary, but the code may not be linear anymore. It can be linear if the field size is a power of 2. We still haven t achieved singleton bound in binary. B04-5