Solutions to problems from Chapter 3

Similar documents
EE 229B ERROR CONTROL CODING Spring 2005

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

Chapter 3 Linear Block Codes

Cyclic Redundancy Check Codes

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

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

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

EE512: Error Control Coding

16.36 Communication Systems Engineering

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

MATH32031: Coding Theory Part 15: Summary

9 THEORY OF CODES. 9.0 Introduction. 9.1 Noise

Linear Codes and Syndrome Decoding

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

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)

ELEC3227/4247 Mid term Quiz2 Solution with explanation

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

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

Turbo Codes. Manjunatha. P. Professor Dept. of ECE. June 29, J.N.N. College of Engineering, Shimoga.


Hamming Codes 11/17/04

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

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

Mathematics Department

The extended coset leader weight enumerator

Cyclic codes: overview

Math 512 Syllabus Spring 2017, LIU Post

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

exercise in the previous class (1)

Lecture 4: Linear Codes. Copyright G. Caire 88

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

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

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

Channel Coding for Secure Transmissions

Chapter 5. Cyclic Codes

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

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

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

UTA EE5362 PhD Diagnosis Exam (Spring 2011)

Information Redundancy: Coding

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

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

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

DESIGN AND IMPLEMENTATION OF ENCODERS AND DECODERS. To design and implement encoders and decoders using logic gates.

Binary Convolutional Codes

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

Optimum Soft Decision Decoding of Linear Block Codes

3. Coding theory 3.1. Basic concepts

Quasi-cyclic Low Density Parity Check codes with high girth

An Introduction to Low Density Parity Check (LDPC) Codes

Physical Layer and Coding

Chapter 6. BCH Codes

Cyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008

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

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

ECEN 604: Channel Coding for Communications

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x

Fully-parallel linear error block coding and decoding a Boolean approach

Arrangements, matroids and codes

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

MATH3302. Coding and Cryptography. Coding Theory

Introduction into Quantum Computations Alexei Ashikhmin Bell Labs

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

Error Correction Review

ERROR CORRECTING CODES

Coding Theory. Golay Codes

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

Solutions or answers to Final exam in Error Control Coding, October 24, G eqv = ( 1+D, 1+D + D 2)

LDPC Codes. Slides originally from I. Land p.1

ECE8771 Information Theory & Coding for Digital Communications Villanova University ECE Department Prof. Kevin M. Buckley Lecture Set 2 Block Codes

MT5821 Advanced Combinatorics

Lecture 14: Hamming and Hadamard Codes

Lecture 12. Block Diagram

Coding on a Trellis: Convolutional Codes

Lecture B04 : Linear codes and singleton bound

ELECTRONICS & COMMUNICATIONS DIGITAL COMMUNICATIONS

A 2-error Correcting Code

Objective: To become acquainted with the basic concepts of cyclic codes and some aspects of encoder implementations for them.

Coset Decomposition Method for Decoding Linear Codes

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

: Error Correcting Codes. October 2017 Lecture 1

MATH 291T CODING THEORY

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

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

Digital Communications III (ECE 154C) Introduction to Coding and Information Theory

Introduction to Low-Density Parity Check Codes. Brian Kurkoski

MATH 291T CODING THEORY

Logic. Combinational. inputs. outputs. the result. system can

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

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

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

Week 3: January 22-26, 2018

Linear Cyclic Codes. Polynomial Word 1 + x + x x 4 + x 5 + x x + x f(x) = q(x)h(x) + r(x),

Section 3 Error Correcting Codes (ECC): Fundamentals

VHDL Implementation of Reed Solomon Improved Encoding Algorithm

Lecture 3: Error Correcting Codes

AN EFFICIENT GOLAY CODEC FOR MIL-STD A AND FED-STD-1045 ERIC E. JOHNSON NMSU-ECE FEBRUARY 1991

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

Channel Coding I. Exercises SS 2017

SIPCom8-1: Information Theory and Coding Linear Binary Codes Ingmar Land

Transcription:

Solutions to problems from Chapter 3 Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N. College of Engineering, Shimoga February 28, 2016

For a systematic (7,4) linear block code, the parity matrix P is given by 1 1 1 1 1 0 1 0 1 0 1 1 i)find all possible code vectors. ii)draw the corresponding encoding circuit iii)detect and correct the following error R=[1 0 1 1 1 0 0] iv)draw the syndrome calculation circuit n=7 and k=4 There are 2 4 = 16 message vectors given by u=[0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 ] The code vectors V are estimated using generator matrix G which is in the form of G = [P I ] = 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 V = (u 0, u 1, u 2, u 3 ) 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 v 6 = u 3, v 5 = u 2, v 4 = u 1, v 3 = u 0 v 2 = u 0 + u 2 + u 3, v 1 = u 0 + u 1 + u 3, v 0 = u 0 + u 1 + u 2 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 2 / 18

The code vectors V are estimated using generator matrix G which is in the form of v 6 = u 3, v 5 = u 2, v 4 = u 1, v 3 = u 0 v 2 = u 0 + u 2 + u 3, v 1 = u 0 + u 1 + u 3, v 0 = u 0 + u 1 + u 2 Encoder circuit Message Code vector Message Code vector 1 0000 0000000 9 0001 0110001 2 1000 1111000 10 1001 1001001 3 0100 1100100 11 0101 1010101 4 1100 0011100 12 1101 0001101 5 0010 1010010 13 0011 0100011 6 1010 0101010 14 1011 0111011 7 0110 0110110 15 0111 0000111 8 1110 1001110 16 1111 1111111 Input u Message register u 0 u 1 u 2 u 3 Output v + + + v v o 1 v 2 To Channel Parity register Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 3 / 18

Syndrome circuit: H = [I n k P T ] = 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 Syndrome vector is obtained from the received sequence r = [r 0 r 1... r 7 ] using the parity check matrix of the code: s = [s 0 s 1 s 2 ] = rh T : = (r 0, r 1, r 2, r 3, r 4, r 5, r 6 ) 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 By parity check matrix the syndrome digits are: s 0 = r 0 + r 3 + r 4 + r 5 s 1 = r 1 + r 3 + r 4 + r 6 s 2 = r 2 + r 3 + r 5 + r 6 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 4 / 18

s 0 = r 0 + r 3 + r 4 + r 5 s 1 = r 1 + r 3 + r 4 + r 6 s 2 = r 2 + r 3 + r 5 + r 6 Received vector r r 0 r 1 r 2 r 3 r 4 r 5 r 6 + + + s 0 Figure: Syndrome calculation circuit s 1 s 2 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 5 / 18

s = [s 0 s 1 s 2 ] = rh T : = (r 0, r 1, r 2, r 3, r 4, r 5, r 6 ) = (1, 0, 1, 1, 1, 0, 0) s = [1 0 0] 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 6 / 18

Consider a systematic (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. Find the generator and parity check matrices for this code. Show analytically that the minimum distance of this code is 4. The information sequences u = [u 0 u 1 u 2 u 3 ] are encoded into codewords v of length n = 8, using a systematic encoder. If we assume that the systematic positions in a codeword are the last k = 4 positions, then codewords have the form v = [v 0 v 1 v 2 v 3 u 0 u 1 u 2 u 3 ] and the systematic encoding is specified by v = ug; G = [P I ] : G = [P I ] = H = [I n k P T ] = 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 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 7 / 18

To find the minimum distance analytically, we use the property that the minimum distance of a binary linear code is equal to the smallest number of columns of the parity-check matrix H that sum up to zero. Hence, we find that: there are no two identical columns in H d min > 2 there are no groups of 3 columns that sum up to 0 d min > 3 there exists a group of 4 columns (for example, columns 1,2,3,6) that sum up to 0 d min = 4. Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 8 / 18

3.2 Construct an encoder for the code given in Problem 3.1 Based on the parity check equations from the previous problem, the systematic encoder for the (8; 4) code has the structure as shown in Figure 1. 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 Input U Message register U 0 U 1 U 2 U 3 To Channel + + + + v v o 1 v 2 v 3 Parity register Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 9 / 18

3.3 Construct a syndrome circuit for the code given in Problem 3.1 Syndrome vector is obtained from the received sequence r = [r 0 r 1... r 7 ] using the parity check matrix of the code: s = [s 0 s 1 s 2 s 3 ] = rh T : = (r 0, r 1, r 2, r 3, r 4, r 5, r 6, r 7 ) By parity check matrix the syndrome digits are: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 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 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 10 / 18

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 : r r 0 r 1 r 2 r 3 r 4 r 6 r 5 r 7 + + + + s 0 s s s 1 2 3 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 11 / 18

The parity check bits of a (7,4) Hamming code, are generated by c 5 = d 1 + d 3 + d 4 c 6 = d 1 + d 2 + d 3 c 7 = d 2 + d 3 + d 4 i) Find the generator matrix [G] and parity check matrix [H] for this code ii) Prove that GH T = 0 iii) The (n,k) linea block code so obtained has a dual code. This dual code is a (n, n-k) code having a generator matrix H and parity check matrix G. Determine the eight code vectors of the dual code for the (7,4) Hamming code describe above. iv) Find the minimum distance of the dual code determined in part (c). n=7 and k=4 It is a 4 7 matrix in which 4 4 identity matrix Message bits are d 1, d 2, d 3, d 4 and code bits are arranged as c 1 = d 1, c 2 = d 2, c 3 = d 3, c 4 = d 4, c 5 = d 1 + d 3 + d 4 c 6 = d 1 + d 2 + d 3, c 7 = d 2 + d 3 + d 4, The parity check matrix H is H = [P T I n k ] = [P T I 3 ] G = [I P] = 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 H = [PT I 3 ] = 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 12 / 18

ii) The parity check matrix H is H = [P T I n k ] = [P T I 3 ] [G][H T ] = 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 = 0 0 0 0 0 0 0 0 0 0 0 0 The dual code is n, n k = 7, 3 with message bits as d 1, d 2, d 3 [c] = [d 1, d 2, d 3 ][H] = [d 1, d 2, d 3 ] 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 Message Code vector 1 000 0000000 2 001 0111001 3 010 1110010 4 011 1001011 5 100 1011100 6 101 1100101 7 110 0101110 8 111 0010111 By observing the dual code vector the minimum distance minimum number of ones it is four Hence d min = H min = 4 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 13 / 18

Find the generator G and parity check matrix H for a linear block code with matrix H for a linear block code with minimum distance three and message block size of eight bits bits. The code length n and k are related by n 2 n k 1. The value of k given is k=8 then n 2 n 8 1, this equation will be satisfied for n=12, hence it is (12, 8)code. The transpose of H matrix is given by H = P kx(n k) I (n k) = P 8x4 I 4 There are 2 4 = 16 combinations which are 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 in which 0000 is not row, 0001 0010 0100 1000 are the rows of identity matrix, remaining codes are selected for the row arrangement for the H H T = 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 H = [P T I 4 ] = G = [I 8 P 8X 4 ] = 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 14 / 18

For a systematic (6,3) linear block code, the parity matrix P is given by 1 0 1 0 1 1 1 1 0 i)find all possible code vectors ii) Construct the standard array table for the code words. iii) If the received the bit pattern r=[1 0 1 1 0 0] determine the syndrome, correctable error pattern and corrected code vector for a single bit error. n=6 and k=3 There are 2 3 = 8 message vectors given by u=[000, 100, 010, 110, 001, 101, 011, 111] The code vectors V are estimated using generator matrix G which is in the form of Message bits are u 0, u 1, u 2 and code bits are arranged as v 0, v 1, v 2, v 3, v 4, v 5 G = [P I ] = 1 0 1 1 0 0 0 1 1 0 1 0 Message Code vector V = (u 0, u 1, u 2 ) 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 v 5 = u 2, v 4 = u 1, v 3 = u 0 v 2 = u 0 + u 1, v 1 = u 1 + u 2, v 0 = u 0 + u 2 When message is 1 0 1 then 0 1 1 1 0 1 When message is 0 1 1 then 1 0 1 0 1 1 1 000 000000 2 100 101100 3 010 011010 4 110 110110 5 001 110001 6 101 011101 7 011 101011 8 111 000111 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 15 / 18

Input u Message register u 0 u 1 u 2 Output v + + + v v o 1 v 2 To Channel Parity register Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 16 / 18

3.3 Determine the weight distribution of the (8,4) linear code given in Problem 3.1. Let the transition probability of a BSC be ρ = 10 2. Compute the probability of an undetected error of this code. Let A i denote the number of codewords of weight i in an (n; k) code C. Then the numbers A 0, A 1,... An are called the weight distribution of the code. For any linear code A0 = 1 (every linear code must contain the all-zero codeword). The first next non-zero element of the weight distribution of a linear code is A dmin, corresponding to the number of minimal-weight codewords. For the (8; 4) code with the minimum distance d min = 4, all the codewords except the all-zero and the all-one codeword have minimum weight, that is, the weight distribution is A 0 = 1, A 4 = 14, A 8 = 1, A 0 = 1, A 4 = 14, A 8 = 1, The probability of an undetected error is P u(e) = n A i p i (1 p) n i i=1 P u(e) = A 4 p 4 (1 p) 4 + A 8 p 8 = 14p 4 (1 p 4 ) + p 8 If p = 10 2 then P u(e) = 1.3448x10 7. Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 17 / 18

Form the generator matrix of the first-order RM code RM(1,3) of length 8. What is the minimum distance of the code? Determine its parity check sums and devise majority-logic decoder for the code. Decode the received vector r=(0 1 0 0 0 1 0 1). Consider the code R(1,3) with generator matrix: Code length: n = 2 m = 2 3 = 8 ( ) 3 k(r, m) = 1 + = 1 + 1 3.2.1 (2.1).1 = 4 Minimum distance: d min = 2 m r = 2 3 1 = 4 G RM (1, 3) = 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 18 / 18

Form the generator matrix of the first-order RM code RM(1,3) of length 8. What is the minimum distance of the code? Determine its parity check sums and devise majority-logic decoder for the code. Decode the received vector r=(0 1 0 0 0 1 0 1). Consider the code R(1,3) with generator matrix: Code length: n = 2 m = 2 3 = 8 ( ) 3 k(r, m) = 1 + = 1 + 1 3.2.1 (2.1).1 = 4 Minimum distance: d min = 2 m r = 2 3 1 = 4 G RM (1, 3) = 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 Manjunatha. P (JNNCE) Solutions to problems from Chapter 3 February 28, 2016 18 / 18