EE 229B ERROR CONTROL CODING Spring 2005

Similar documents
Solutions to problems from Chapter 3

Chapter 3 Linear Block Codes

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

The extended coset leader weight enumerator

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

Cyclic Redundancy Check Codes

MATH32031: Coding Theory Part 15: Summary

Math 512 Syllabus Spring 2017, LIU Post

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

MATH3302. Coding and Cryptography. Coding Theory

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

Reed Muller Error Correcting Codes

Mathematics Department

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

MATH 291T CODING THEORY

Section 3 Error Correcting Codes (ECC): Fundamentals

Binary Linear Codes G = = [ I 3 B ] , G 4 = None of these matrices are in standard form. Note that the matrix 1 0 0

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

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

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

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

exercise in the previous class (1)

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

G Solution (10 points) Using elementary row operations, we transform the original generator matrix as follows.

3. Coding theory 3.1. Basic concepts

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)

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].

Cyclic Codes. Saravanan Vijayakumaran August 26, Department of Electrical Engineering Indian Institute of Technology Bombay

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

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

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

MATH 291T CODING THEORY

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

ELEC3227/4247 Mid term Quiz2 Solution with explanation

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

: Error Correcting Codes. October 2017 Lecture 1

Ma/CS 6b Class 24: Error Correcting Codes

Lecture 14: Hamming and Hadamard Codes

ELEC-E7240 Coding Methods L (5 cr)

Lecture B04 : Linear codes and singleton bound

Chapter 5. Cyclic Codes

Error-Correcting Codes

EE512: Error Control Coding

Combinatória e Teoria de Códigos Exercises from the notes. Chapter 1

Lecture 12. Block Diagram

Coding Theory. Golay Codes

EE 229B ERROR CONTROL CODING Spring 2005

Optimum Soft Decision Decoding of Linear Block Codes

16.36 Communication Systems Engineering

Linear Codes and Syndrome Decoding

EECS 229A Spring 2007 * * (a) By stationarity and the chain rule for entropy, we have

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

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

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

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

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road UNIT I

MT361/461/5461 Error Correcting Codes: Preliminary Sheet

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

Cyclic codes: overview

Lecture 4: Codes based on Concatenation

Roll No. :... Invigilator's Signature :.. CS/B.TECH(ECE)/SEM-7/EC-703/ CODING & INFORMATION THEORY. Time Allotted : 3 Hours Full Marks : 70

UTA EE5362 PhD Diagnosis Exam (Spring 2011)

Binary Convolutional Codes

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

Channel Coding for Secure Transmissions

CSE 123: Computer Networks

Hamming Codes 11/17/04


1.6: Solutions 17. Solution to exercise 1.6 (p.13).

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!

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

Lecture 3: Error Correcting Codes

Codes over Subfields. Chapter Basics

MT5821 Advanced Combinatorics

Physical Layer and Coding

Support weight enumerators and coset weight distributions of isodual codes

11 Minimal Distance and the Parity Check Matrix

00000, 01101, 10110, Find the information rate and the minimum distance of the binary code 0000, 0101, 0011, 0110, 1111, 1010, 1100, 1001.

Arrangements, matroids and codes

Lecture 2 Linear Codes

Error Correction Review

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

5.0 BCH and Reed-Solomon Codes 5.1 Introduction

Lecture 12: November 6, 2017

Definition 2.1. Let w be a word. Then the coset C + w of w is the set {c + w : c C}.

U Logo Use Guidelines

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

Chapter 6. BCH Codes

4F5: Advanced Communications and Coding

Error Correcting Codes Questions Pool

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

GEORGIA INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING Final Examination - Fall 2015 EE 4601: Communication Systems

Introduction to binary block codes

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution

Fault Tolerant Computing CS 530 Information redundancy: Coding theory. Yashwant K. Malaiya Colorado State University

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)

Chapter 7 Reed Solomon Codes and Binary Transmission

ECEN 604: Channel Coding for Communications

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

Transcription:

EE 229B ERROR CONTROL CODING Spring 2005 Solutions for Homework 1 1. Is there room? Prove or disprove : There is a (12,7) binary linear code with d min = 5. If there were a (12,7) binary linear code with d min = 5 then, since t = d min 1 2 = 2, the Hamming balls of radius 2 around the 2 7 = 128 codewords would have to be disjoint. Each such Hamming ball has 1 + ( 12) ( 1 + 12 ) 2 = 79 strings of length 12 in it. Now, 128 79 > 2 12 = 4096. This means the assumption engenders a contradiction. There isn t enough room {0, 1} 12 to allow for the existence of such a code. 2. (Extended Hamming code) The first problem relates to a specific (8,4) code. This is an extension of the (7,4) Hamming code considered in Example 3.1 on pg. 67 of the text, as you will see after constructing a systematic generator matrix for this code. In general, an extension of a linear code is any code got from it by adding more columns to the generator matrix. This process can be thought of as adding more parity check symbols to the code. The various parts of this problem correspond to individual problems on pp. 95-96 of the text, as indicated below. The first two parts correspond to problem 3.1 on pg. 95 of the text. (a) Consider a binary (8,4) code whose parity-check equations are v 0 = u 1 + u 2 + u 3, v 1 = u 0 + u 1 + u 2, v 2 = u 0 + u 1 + u 3, v 3 = u 0 + u 2 + u 3. where u 0, u 1, u 2, u 3 are message digits and v 0, v 1, v 2, v 3 are parity-check digits. The codeword is (v 0, v 1, v 2, v 3, u 0, u 1, u 2, u 3 ). Find systematic generator and paritycheck matrices for this code. G = H = 0 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1

Strictly speaking this code is not an extension of the (7,4) Hamming code of Example 3.1 on pg. 67. Rather, it is an extension of a (7,4) Hamming code got from the one considered in Example 3.1 on pg. 67 of the text after reordering its coordinates (interchange the first and the third coordinates in that example and then insert an extra column after the second column as in the matrix G above). (b) Show that the minimum distance of this code is 4. Each column of H is non-zero so no codeword has weight 1. The columns of H are distinct, so no codeword has weight 2. The sum of any two columns of H has even weight, so it cannot equal any column of H, since they all have odd weight. Thus no codeword has weight 3. Thus the minimum weight of a non-zero codeword is at least 4. Further [1 1 1 0 0 1 0 0 ] is a non-zero codeword of weight 4. Thus the minimum distance of the code is 4. (c) (This is problem 3.2 on pg. 95 of the text.) Construct (on paper, as a diagram) an encoder for this code. This diagram will look that of figure 3.2 on pg. 71 of the text, with the appropriate choices for the parity check coefficients, which are here given by matrix P = 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 See equation (3.4) on pg. 69 of the text for the correct indexing of the entries of the parity check coefficients to use in figure 3.2. (d) (This is problem 3.3 on pg. 95 of the text.) Construct (on paper, as a diagram) a syndrome circuit for this code. This diagram will look that of figure 3.4 on pg. 74 of the text, with the appropriate choices for the coefficients of the parity check matrix. (e) (This is problem 3.9 on pg. 96 of the text.) Determine the weight profile of this code. Compute the probability of undetected error when this code is used over a binary symmetric channel with crossover probability p = 10 2 (assuming maximum likelihood decoding and that all codewords are a priori equiprobable). Since each row of the parity check matrix H has even weight, we see that the all ones word [1 1 1 1 1 1 1 1 ] is a codeword. Since we have already argued that there are no codewords of weights 1, 2, or 3, it then follows that there are no codewords of weights 7, 6, or 5. Thus all the 14 codewords other than the all zeros codeword and the all ones codeword are of weight 4. The weight enumerator polynomial for this code is therefore A(z) = 1 + 14z 4 + z 8. 2.

The probability of undetected error when this code is used over a binary symmetric channel with crossover probability p = 10 2 is then 14 10 8 (0.99) 4 + 10 16. (f) (This is problem 3.11 on pg. 96 of the text.) Construct (on paper, as a diagram) a decoder for this code that is capable of correcting all single-error patterns and simultaneously detecting any combination of double errors. Specifically, if the received vector is at Hamming distance 1 from a codeword, the decoder should return that codeword, while if the received vector is at Hamming distance 2 from a codeword, the decoder should return an indicator that this is the case. The syndrome s = [s 0 s 1 s 2 s 3 ] associated to a received word r = [r 0..., r 7 ] is s = rh T. Writing this out, we have the following equations with which to compute the syndrome. s 0 = r 0 + r 5 + r 6 + r 7, s 1 = r 1 + r 4 + r 5 + r 6, s 2 = r 2 + r 4 + r 5 + r 7, s 3 = r 3 + r 4 + r 6 + r 7. Note that the syndrome depends only on the error pattern e = [e 0..., e 7 ], and can also be written as s = eh T. There are 8 possible error patterns of weight 1 and 28 possible error patterns of weight 2. None of these can result in a zero syndrome, since only error patterns that are codewords can have zero syndrome, and we know that all non-zero codewords have weight at least 4. Further, no two error patterns of weight 1 can have the same syndrome, since if they did their difference would have to be a non-zero codeword, but all non-zero codewords have weight at least 4. The possible syndromes of error patterns of weight 1 are listed below. [1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1] (1) [0 1 1 1] [1 1 1 0] [1 1 0 1] [1 0 1 1] The top row lists the syndromes corresponding respectively to single errors at locations 0 through 3, and the bottom row lists those corresponding respectively to single errors at locations 4 through 7 of the received word. The observations above indicate that a decoder for this code that is capable of correcting all single-error patterns and simultaneously detecting any combination of double errors can be constructed according to the following scheme. Step 1 : Compute the syndrome. Step 2 : If the syndrome is zero accept the received word as being a codeword. If the syndrome is non-zero and is not one of the eight syndromes listed in (1), declare 3

an error has been detected. If it is one of these eight syndromes decide that the error pattern is the unique single error pattern that corresponds to this syndrome and correct the error. (g) (This is problem 3.14 on pg. 96 of the text.) Show that this code is self-dual. Since GH T = 0, the code is self-dual. 3. (Punctured Reed-Muller code) The punctured Reed-Muller code RM (r, m) is derived from the Reed-Muller code RM(r, m) by deleting the coordinate corresponding to v 1 = v 2 =... = v m = 0 from all the codewords. In general puncturing a code is the term used for the process of getting another code by deleting some of the symbols of the original code. This way the number of message symbols remains the same, but the redundancy is reduced. (a) Verify that RM (r, m) is a (2 m 1, 1 + ( m) ( 1 +... + m ) r ) code with dmin = 2 m r 1. That n = 2 m 1 and k = 1 + m + ( m) ( 2 +... + m ) r is immediate. Also, 2 m r 1 d min 2 m r. The bounds hold because every codeword in the punctured code is derived from a codeword in the original code by erasing one coordinate - thus its weight is bounded above by the weight of a codeword from which it is derived, and bounded below by this weight less 1. To see that d min = 2 m r 1, it suffices to find a codeword in R (r, m) of weight 2 m r 1. For r = 0, the bit string of all 1 s is such a codeword. For r > 1, consider the bit string corresponding to the monomial (1 v 1 )(1 v 2 )... (1 v r ). It is straightforward to check that this has weight 2 m r 1. (b) Show that it is possible to reorder the transmitted bits in RM (1, 3) so that the resulting code is the (7, 4) Hamming code considered in Example 3.1 on pg. 67 of the text. Hint : Argue that, since RM (1, 3) is a (7, 4, 3) binary code, it is perfect. What does this say about its dual code? The solution using the hint is as follows : from the preceding part of the problem we see that RM (1, 3) is a (7, 4, 3) binary code. It then follows that it is perfect, because ( ) 7 2 4 (1 + ) = 2 7, 1 although it is not strictly necessary to observe this. From d min = 3 for this code, we see that all nonzero codewords have weight at least 3, from which it follows that no two of the columns of a parity check matrix for this code (which is a generator matrix for the dual code) can be identical, and no column of a parity check matrix for the code can be zero. Since a parity matrix for the code is a 3 7 matrix, it 4

follows that its columns are precisely all the nonzero bit strings of length 3 in some order. This implies that after reordering the coordinates of RM (1, 3) we get the (7, 4) Hamming code considered in Example 3.1 on pg. 67 of the text. (c) Is there any relation between the RM(1,3) code and the (8,4) extended Hamming code considered in the preceding problem? Explain your answer. Let H b denote the (7, 4) Hamming code considered in Example 3.1 on pg. 67 of the text. Let H h denote the (7, 4) Hamming code created from H b by interchanging its first and third coordinates. Let E denote the (8, 4) code considered in problem 2. We argued in problem 2(a) that E is the extension of H h got by inserting the third column of the generator matrix G of problem 2(a). RM(1,3) is the extension of RM (1,3) got by inserting the first column of the standard generator matrix for RM(1,3). In the preceding part of this problem we argued that rearranging the coordinates of RM (1,3) also results in a (7,4) Hamming code. This suggests that RM(1,3) and E should be related by one of them being a rearrangement of the coordinates of the other. This suggestion is reinforced by the respective weight enumerator polynomials : we know that the weight enumerator polynomial of RM(1,3) is 1 + 14z 4 + z 8, and we have shown in problem 2(e) that this is also the weight enumerator polynomial of E. Some experimentation will show that it is indeed possible to get RM(1,3) as a rearrangement of the coordinates of E. 4. (RM(2,5) code) (a) Write down a generator matrix for the RM(1,4) code (which is a (16,5) code with d min = 8). The standard generator matrix for RM(1,4) is the 5 16 matrix given by the first five rows in Example 4.2 on pg. 106 of the text. (b) Describe in detail the steps involved in majority logic decoding for this code. Specifically, for each information bit, determine all the check sums whose majority needs to be taken by the majority logic decoder. The discussion for this is identical to that on pp. 108-109 of the text, starting with the sentence r (1) is simply the following codeword in the bottom half of pg. 108 and ending with the sentence This step completes the entire decoding. at the middle of pg. 109. 5