important linear block codes lin,shi - jnnce ece manjunath · 2018-09-09 · important linear block...

179
Important Linear Block Codes [1, 2] Manjunatha. P [email protected] Professor Dept. of ECE J.N.N. College of Engineering, Shimoga November 6, 2013

Upload: others

Post on 05-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Important Linear Block Codes [1, 2]

Manjunatha. [email protected]

ProfessorDept. of ECE

J.N.N. College of Engineering, Shimoga

November 6, 2013

Page 2: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes

1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 3: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 4: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.

Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 5: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 6: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 7: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.

Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 8: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.

Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 9: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.

Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 10: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 11: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 12: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 13: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Overview Overview

Important Linear Block Codes1 Hamming Codes

Have minimum distance of 3 and capable of correcting any single error.Hamming codes can be decoded easily using a table-lookup scheme.

2 Reed Muller codes

A large class of codes for multiple random error correction.Are simple in construction and rich in structural properties.Decoding is done using hard or soft decision decoding algorithms.Soft decision decoding achieve very good error performance with lowdecoding complexity.

3 The (24, 12) Golay code

Used for error control in many communication systems.

4 Product codes and Interleaved codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 2 / 40

Page 14: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

Hamming Codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 3 / 40

Page 15: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

These codes and their variations have been widely used for errorcontrol in digital communication and data storage systems.

For any positive integer m ≥ 3, there exists a Hamming code with thefollowing parameters :

Code length: n = 2m − 1

Number of information symbols: k = 2m −m − 1

Number of parity-check symbols: n − k = m

Error-correcting capability: t = 1(dmin = 3)

The parity-check matrix H of this code consists of all the nonzerom-tuple as its columns (2m − 1).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 4 / 40

Page 16: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

These codes and their variations have been widely used for errorcontrol in digital communication and data storage systems.

For any positive integer m ≥ 3, there exists a Hamming code with thefollowing parameters :

Code length: n = 2m − 1

Number of information symbols: k = 2m −m − 1

Number of parity-check symbols: n − k = m

Error-correcting capability: t = 1(dmin = 3)

The parity-check matrix H of this code consists of all the nonzerom-tuple as its columns (2m − 1).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 4 / 40

Page 17: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

These codes and their variations have been widely used for errorcontrol in digital communication and data storage systems.

For any positive integer m ≥ 3, there exists a Hamming code with thefollowing parameters :

Code length: n = 2m − 1

Number of information symbols: k = 2m −m − 1

Number of parity-check symbols: n − k = m

Error-correcting capability: t = 1(dmin = 3)

The parity-check matrix H of this code consists of all the nonzerom-tuple as its columns (2m − 1).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 4 / 40

Page 18: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

These codes and their variations have been widely used for errorcontrol in digital communication and data storage systems.

For any positive integer m ≥ 3, there exists a Hamming code with thefollowing parameters :

Code length: n = 2m − 1

Number of information symbols: k = 2m −m − 1

Number of parity-check symbols: n − k = m

Error-correcting capability: t = 1(dmin = 3)

The parity-check matrix H of this code consists of all the nonzerom-tuple as its columns (2m − 1).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 4 / 40

Page 19: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

These codes and their variations have been widely used for errorcontrol in digital communication and data storage systems.

For any positive integer m ≥ 3, there exists a Hamming code with thefollowing parameters :

Code length: n = 2m − 1

Number of information symbols: k = 2m −m − 1

Number of parity-check symbols: n − k = m

Error-correcting capability: t = 1(dmin = 3)

The parity-check matrix H of this code consists of all the nonzerom-tuple as its columns (2m − 1).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 4 / 40

Page 20: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

These codes and their variations have been widely used for errorcontrol in digital communication and data storage systems.

For any positive integer m ≥ 3, there exists a Hamming code with thefollowing parameters :

Code length: n = 2m − 1

Number of information symbols: k = 2m −m − 1

Number of parity-check symbols: n − k = m

Error-correcting capability: t = 1(dmin = 3)

The parity-check matrix H of this code consists of all the nonzerom-tuple as its columns (2m − 1).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 4 / 40

Page 21: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

These codes and their variations have been widely used for errorcontrol in digital communication and data storage systems.

For any positive integer m ≥ 3, there exists a Hamming code with thefollowing parameters :

Code length: n = 2m − 1

Number of information symbols: k = 2m −m − 1

Number of parity-check symbols: n − k = m

Error-correcting capability: t = 1(dmin = 3)

The parity-check matrix H of this code consists of all the nonzerom-tuple as its columns (2m − 1).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 4 / 40

Page 22: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the columns of H are arranged in the followingform :

H = [Im Q]

where Im is an m ×m identity matrix.

The submatrix Q consists of 2m −m − 1 columns which are them-tuples of weight 2 or more.

The columns of Q may be arranged in any order without affecting thedistance property and weight distribution of the code.

For example let m=3, the parity check matrix of a Hamming code oflength 7 is in the form.

H =

1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 5 / 40

Page 23: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the columns of H are arranged in the followingform :

H = [Im Q]

where Im is an m ×m identity matrix.

The submatrix Q consists of 2m −m − 1 columns which are them-tuples of weight 2 or more.

The columns of Q may be arranged in any order without affecting thedistance property and weight distribution of the code.

For example let m=3, the parity check matrix of a Hamming code oflength 7 is in the form.

H =

1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 5 / 40

Page 24: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the columns of H are arranged in the followingform :

H = [Im Q]

where Im is an m ×m identity matrix.

The submatrix Q consists of 2m −m − 1 columns which are them-tuples of weight 2 or more.

The columns of Q may be arranged in any order without affecting thedistance property and weight distribution of the code.

For example let m=3, the parity check matrix of a Hamming code oflength 7 is in the form.

H =

1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 5 / 40

Page 25: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the columns of H are arranged in the followingform :

H = [Im Q]

where Im is an m ×m identity matrix.

The submatrix Q consists of 2m −m − 1 columns which are them-tuples of weight 2 or more.

The columns of Q may be arranged in any order without affecting thedistance property and weight distribution of the code.

For example let m=3, the parity check matrix of a Hamming code oflength 7 is in the form.

H =

1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 5 / 40

Page 26: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the columns of H are arranged in the followingform :

H = [Im Q]

where Im is an m ×m identity matrix.

The submatrix Q consists of 2m −m − 1 columns which are them-tuples of weight 2 or more.

The columns of Q may be arranged in any order without affecting thedistance property and weight distribution of the code.

For example let m=3, the parity check matrix of a Hamming code oflength 7 is in the form.

H =

1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 5 / 40

Page 27: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the columns of H are arranged in the followingform :

H = [Im Q]

where Im is an m ×m identity matrix.

The submatrix Q consists of 2m −m − 1 columns which are them-tuples of weight 2 or more.

The columns of Q may be arranged in any order without affecting thedistance property and weight distribution of the code.

For example let m=3, the parity check matrix of a Hamming code oflength 7 is in the form.

H =

1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 5 / 40

Page 28: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the columns of H are arranged in the followingform :

H = [Im Q]

where Im is an m ×m identity matrix.

The submatrix Q consists of 2m −m − 1 columns which are them-tuples of weight 2 or more.

The columns of Q may be arranged in any order without affecting thedistance property and weight distribution of the code.

For example let m=3, the parity check matrix of a Hamming code oflength 7 is in the form.

H =

1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 5 / 40

Page 29: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 30: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 31: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 32: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 33: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 34: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 35: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 36: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

In systematic form, the generator matrix of the code is

G = [QT I2m−m−1]

where QT is the transpose of Q and I2m−m−1 is an(2m −m − 1)x(2m −m − 1) identity matrix.

Since the columns of H are nonzero and distinct, no two columns addto zero.

Since H consists of all the nonzero m-tuples as its columns, the vectorsum of any two columns, say hi and hj , must also be a column in H,say hl

hi + hj + hl = 0

The minimum distance of a Hamming code is exactly 3

The code is capable of correcting all the error patterns with a singleerror or of detecting all the error patterns of two or fewer errors.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 6 / 40

Page 37: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 38: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as

coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 39: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 40: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 41: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 42: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 43: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 44: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

If we form the standard array for the Hamming code of length 2m − 1

All the (2m − 1)-tuple of weight 1 can be used as coset leaders.

The number of (2m − 1)-tuples of weight 1 is (2m − 1)

Since n − k = m, the code has 2m cosets

The zero vector 0 and the (2m − 1)-tuples of weight 1 form all thecoset leaders of the standard array

A t-error-correcting code is called a perfect code if its standard arrayhas all the error patterns of t or fewer errors and no others as cosetleader

Decoding of Hamming codes can be accomplished easily with thetable-lookup scheme

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 7 / 40

Page 45: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 46: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 47: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 48: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 49: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 50: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 51: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 52: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

We may delete any l columns from the parity-check matrix H of aHamming code

This deletion results in an m × (2m − l − 1) matrix H′

Using H’ as a parity-check matrix, we obtain a shortened Hammingcode with the following parameters:

Code length: n = 2m − l − 1

Number of information symbols: k = 2m −m − l − 1

Number of parity-check symbols: n − k = m

Minimum distance: dmin ≥ 3

If we delete columns from H properly, we may obtain a shortenedHamming code with minimum distance 4

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 8 / 40

Page 53: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

For example, if we delete from the submatrix Q all the columns ofeven weight, we obtain an mx2m−1 matrix.

H′

= [Im Q′]

Q consists of 2m−1 −m columns of odd weight.

Since all columns of H have odd weight, no three columns add to zero.

However, for a column hi of weight 3 in Q′, there exists three

columns hj , hl , and hs in Im such that hi + hj + hl + hs = 0.

Thus, the shortened Hamming code with H as a parity-check matrixhas minimum distance exactly 4.

The distance 4 shortened Hamming code can be used for correctingall error patterns of single error and simultaneously detecting all errorpatterns of double errors

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 9 / 40

Page 54: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

For example, if we delete from the submatrix Q all the columns ofeven weight, we obtain an mx2m−1 matrix.

H′

= [Im Q′]

Q consists of 2m−1 −m columns of odd weight.

Since all columns of H have odd weight, no three columns add to zero.

However, for a column hi of weight 3 in Q′, there exists three

columns hj , hl , and hs in Im such that hi + hj + hl + hs = 0.

Thus, the shortened Hamming code with H as a parity-check matrixhas minimum distance exactly 4.

The distance 4 shortened Hamming code can be used for correctingall error patterns of single error and simultaneously detecting all errorpatterns of double errors

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 9 / 40

Page 55: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

For example, if we delete from the submatrix Q all the columns ofeven weight, we obtain an mx2m−1 matrix.

H′

= [Im Q′]

Q consists of 2m−1 −m columns of odd weight.

Since all columns of H have odd weight, no three columns add to zero.

However, for a column hi of weight 3 in Q′, there exists three

columns hj , hl , and hs in Im such that hi + hj + hl + hs = 0.

Thus, the shortened Hamming code with H as a parity-check matrixhas minimum distance exactly 4.

The distance 4 shortened Hamming code can be used for correctingall error patterns of single error and simultaneously detecting all errorpatterns of double errors

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 9 / 40

Page 56: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

For example, if we delete from the submatrix Q all the columns ofeven weight, we obtain an mx2m−1 matrix.

H′

= [Im Q′]

Q consists of 2m−1 −m columns of odd weight.

Since all columns of H have odd weight, no three columns add to zero.

However, for a column hi of weight 3 in Q′, there exists three

columns hj , hl , and hs in Im such that hi + hj + hl + hs = 0.

Thus, the shortened Hamming code with H as a parity-check matrixhas minimum distance exactly 4.

The distance 4 shortened Hamming code can be used for correctingall error patterns of single error and simultaneously detecting all errorpatterns of double errors

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 9 / 40

Page 57: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

For example, if we delete from the submatrix Q all the columns ofeven weight, we obtain an mx2m−1 matrix.

H′

= [Im Q′]

Q consists of 2m−1 −m columns of odd weight.

Since all columns of H have odd weight, no three columns add to zero.

However, for a column hi of weight 3 in Q′, there exists three

columns hj , hl , and hs in Im such that hi + hj + hl + hs = 0.

Thus, the shortened Hamming code with H as a parity-check matrixhas minimum distance exactly 4.

The distance 4 shortened Hamming code can be used for correctingall error patterns of single error and simultaneously detecting all errorpatterns of double errors

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 9 / 40

Page 58: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

For example, if we delete from the submatrix Q all the columns ofeven weight, we obtain an mx2m−1 matrix.

H′

= [Im Q′]

Q consists of 2m−1 −m columns of odd weight.

Since all columns of H have odd weight, no three columns add to zero.

However, for a column hi of weight 3 in Q′, there exists three

columns hj , hl , and hs in Im such that hi + hj + hl + hs = 0.

Thus, the shortened Hamming code with H as a parity-check matrixhas minimum distance exactly 4.

The distance 4 shortened Hamming code can be used for correctingall error patterns of single error and simultaneously detecting all errorpatterns of double errors

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 9 / 40

Page 59: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

For example, if we delete from the submatrix Q all the columns ofeven weight, we obtain an mx2m−1 matrix.

H′

= [Im Q′]

Q consists of 2m−1 −m columns of odd weight.

Since all columns of H have odd weight, no three columns add to zero.

However, for a column hi of weight 3 in Q′, there exists three

columns hj , hl , and hs in Im such that hi + hj + hl + hs = 0.

Thus, the shortened Hamming code with H as a parity-check matrixhas minimum distance exactly 4.

The distance 4 shortened Hamming code can be used for correctingall error patterns of single error and simultaneously detecting all errorpatterns of double errors

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 9 / 40

Page 60: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

When a single error occurs during the transmission of a code vector,the resultant syndrome is nonzero and it contains an odd number of1s (exH

′T corresponds to a column in H)

When double errors occurs, the syndrome is nonzero, but it containseven number of 1s

Decoding can be accomplished in the following manner :1 If the syndrome s is zero, we assume that no error occurred2 If s is nonzero and it contains odd number of 1’s, we assume that a

single error occurred.3 The error pattern of a single error that corresponds to s is added to the

received vector for error correction4 If s is nonzero and it contains even number of 1’s, an uncorrectable

error pattern has been detected

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 10 / 40

Page 61: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

When a single error occurs during the transmission of a code vector,the resultant syndrome is nonzero and it contains an odd number of1s (exH

′T corresponds to a column in H)

When double errors occurs, the syndrome is nonzero, but it containseven number of 1s

Decoding can be accomplished in the following manner :1 If the syndrome s is zero, we assume that no error occurred2 If s is nonzero and it contains odd number of 1’s, we assume that a

single error occurred.3 The error pattern of a single error that corresponds to s is added to the

received vector for error correction4 If s is nonzero and it contains even number of 1’s, an uncorrectable

error pattern has been detected

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 10 / 40

Page 62: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

When a single error occurs during the transmission of a code vector,the resultant syndrome is nonzero and it contains an odd number of1s (exH

′T corresponds to a column in H)

When double errors occurs, the syndrome is nonzero, but it containseven number of 1s

Decoding can be accomplished in the following manner :

1 If the syndrome s is zero, we assume that no error occurred2 If s is nonzero and it contains odd number of 1’s, we assume that a

single error occurred.3 The error pattern of a single error that corresponds to s is added to the

received vector for error correction4 If s is nonzero and it contains even number of 1’s, an uncorrectable

error pattern has been detected

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 10 / 40

Page 63: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

When a single error occurs during the transmission of a code vector,the resultant syndrome is nonzero and it contains an odd number of1s (exH

′T corresponds to a column in H)

When double errors occurs, the syndrome is nonzero, but it containseven number of 1s

Decoding can be accomplished in the following manner :1 If the syndrome s is zero, we assume that no error occurred

2 If s is nonzero and it contains odd number of 1’s, we assume that asingle error occurred.

3 The error pattern of a single error that corresponds to s is added to thereceived vector for error correction

4 If s is nonzero and it contains even number of 1’s, an uncorrectableerror pattern has been detected

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 10 / 40

Page 64: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

When a single error occurs during the transmission of a code vector,the resultant syndrome is nonzero and it contains an odd number of1s (exH

′T corresponds to a column in H)

When double errors occurs, the syndrome is nonzero, but it containseven number of 1s

Decoding can be accomplished in the following manner :1 If the syndrome s is zero, we assume that no error occurred2 If s is nonzero and it contains odd number of 1’s, we assume that a

single error occurred.

3 The error pattern of a single error that corresponds to s is added to thereceived vector for error correction

4 If s is nonzero and it contains even number of 1’s, an uncorrectableerror pattern has been detected

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 10 / 40

Page 65: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

When a single error occurs during the transmission of a code vector,the resultant syndrome is nonzero and it contains an odd number of1s (exH

′T corresponds to a column in H)

When double errors occurs, the syndrome is nonzero, but it containseven number of 1s

Decoding can be accomplished in the following manner :1 If the syndrome s is zero, we assume that no error occurred2 If s is nonzero and it contains odd number of 1’s, we assume that a

single error occurred.3 The error pattern of a single error that corresponds to s is added to the

received vector for error correction

4 If s is nonzero and it contains even number of 1’s, an uncorrectableerror pattern has been detected

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 10 / 40

Page 66: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Hamming Codes Hamming Codes

When a single error occurs during the transmission of a code vector,the resultant syndrome is nonzero and it contains an odd number of1s (exH

′T corresponds to a column in H)

When double errors occurs, the syndrome is nonzero, but it containseven number of 1s

Decoding can be accomplished in the following manner :1 If the syndrome s is zero, we assume that no error occurred2 If s is nonzero and it contains odd number of 1’s, we assume that a

single error occurred.3 The error pattern of a single error that corresponds to s is added to the

received vector for error correction4 If s is nonzero and it contains even number of 1’s, an uncorrectable

error pattern has been detected

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 10 / 40

Page 67: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Reed-Muller Codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 11 / 40

Page 68: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Reed-Muller codes are among the oldest known codes and have foundwidespread applications.

They were discovered by Muller and provided with a decodingalgorithm by Reed in 1954.

These codes were initially given as binary codes, but moderngeneralizations to q-ary codes exist.

Reed-Muller codes have many interesting properties that are worthexamination; they form an infinite family of codes, and largerReed-Muller codes can be constructed from smaller ones.

This particular observation leads us to show that Reed-Muller codescan be defined recursively.

One of the major advantages of Reed-Muller codes is their relativesimplicity to encode messages and decode received transmissions.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 12 / 40

Page 69: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Reed-Muller codes are among the oldest known codes and have foundwidespread applications.

They were discovered by Muller and provided with a decodingalgorithm by Reed in 1954.

These codes were initially given as binary codes, but moderngeneralizations to q-ary codes exist.

Reed-Muller codes have many interesting properties that are worthexamination; they form an infinite family of codes, and largerReed-Muller codes can be constructed from smaller ones.

This particular observation leads us to show that Reed-Muller codescan be defined recursively.

One of the major advantages of Reed-Muller codes is their relativesimplicity to encode messages and decode received transmissions.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 12 / 40

Page 70: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Reed-Muller codes are among the oldest known codes and have foundwidespread applications.

They were discovered by Muller and provided with a decodingalgorithm by Reed in 1954.

These codes were initially given as binary codes, but moderngeneralizations to q-ary codes exist.

Reed-Muller codes have many interesting properties that are worthexamination; they form an infinite family of codes, and largerReed-Muller codes can be constructed from smaller ones.

This particular observation leads us to show that Reed-Muller codescan be defined recursively.

One of the major advantages of Reed-Muller codes is their relativesimplicity to encode messages and decode received transmissions.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 12 / 40

Page 71: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Reed-Muller codes are among the oldest known codes and have foundwidespread applications.

They were discovered by Muller and provided with a decodingalgorithm by Reed in 1954.

These codes were initially given as binary codes, but moderngeneralizations to q-ary codes exist.

Reed-Muller codes have many interesting properties that are worthexamination; they form an infinite family of codes, and largerReed-Muller codes can be constructed from smaller ones.

This particular observation leads us to show that Reed-Muller codescan be defined recursively.

One of the major advantages of Reed-Muller codes is their relativesimplicity to encode messages and decode received transmissions.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 12 / 40

Page 72: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Reed-Muller codes are among the oldest known codes and have foundwidespread applications.

They were discovered by Muller and provided with a decodingalgorithm by Reed in 1954.

These codes were initially given as binary codes, but moderngeneralizations to q-ary codes exist.

Reed-Muller codes have many interesting properties that are worthexamination; they form an infinite family of codes, and largerReed-Muller codes can be constructed from smaller ones.

This particular observation leads us to show that Reed-Muller codescan be defined recursively.

One of the major advantages of Reed-Muller codes is their relativesimplicity to encode messages and decode received transmissions.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 12 / 40

Page 73: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Reed-Muller codes are among the oldest known codes and have foundwidespread applications.

They were discovered by Muller and provided with a decodingalgorithm by Reed in 1954.

These codes were initially given as binary codes, but moderngeneralizations to q-ary codes exist.

Reed-Muller codes have many interesting properties that are worthexamination; they form an infinite family of codes, and largerReed-Muller codes can be constructed from smaller ones.

This particular observation leads us to show that Reed-Muller codescan be defined recursively.

One of the major advantages of Reed-Muller codes is their relativesimplicity to encode messages and decode received transmissions.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 12 / 40

Page 74: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

For any integers m and r with 0 ≤ r ≤ m there exist a binary rthorder RM code, denoted by RM(r,m), with the following parameters

Code length: n = 2m

Dimension: k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)Minimum distance: dmin = 2m−r

where

(mi

)= m!

i!(m−i)!

Example m=5 and r=2 then n=32, k(2,5)=16 and dmin = 8

There exists a (32, 16) RM code with a distance of 8.

For 1 ≤ i ≤ m let Vi be 2m tuple over GF (2) of the following form:

Vi = (0 . . . 0︸ ︷︷ ︸2i−1

, 1 . . . 1︸ ︷︷ ︸2i−1

, 0 . . . 0︸ ︷︷ ︸2i−1

. . . 1 . . . 1︸ ︷︷ ︸2i−1

)

which consists of 2m−i+1 alternating all zero and all one 2i−1 tuples.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 13 / 40

Page 75: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

For any integers m and r with 0 ≤ r ≤ m there exist a binary rthorder RM code, denoted by RM(r,m), with the following parameters

Code length: n = 2m

Dimension: k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)Minimum distance: dmin = 2m−r

where

(mi

)= m!

i!(m−i)!

Example m=5 and r=2 then n=32, k(2,5)=16 and dmin = 8

There exists a (32, 16) RM code with a distance of 8.

For 1 ≤ i ≤ m let Vi be 2m tuple over GF (2) of the following form:

Vi = (0 . . . 0︸ ︷︷ ︸2i−1

, 1 . . . 1︸ ︷︷ ︸2i−1

, 0 . . . 0︸ ︷︷ ︸2i−1

. . . 1 . . . 1︸ ︷︷ ︸2i−1

)

which consists of 2m−i+1 alternating all zero and all one 2i−1 tuples.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 13 / 40

Page 76: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

For any integers m and r with 0 ≤ r ≤ m there exist a binary rthorder RM code, denoted by RM(r,m), with the following parameters

Code length: n = 2m

Dimension: k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)

Minimum distance: dmin = 2m−r

where

(mi

)= m!

i!(m−i)!

Example m=5 and r=2 then n=32, k(2,5)=16 and dmin = 8

There exists a (32, 16) RM code with a distance of 8.

For 1 ≤ i ≤ m let Vi be 2m tuple over GF (2) of the following form:

Vi = (0 . . . 0︸ ︷︷ ︸2i−1

, 1 . . . 1︸ ︷︷ ︸2i−1

, 0 . . . 0︸ ︷︷ ︸2i−1

. . . 1 . . . 1︸ ︷︷ ︸2i−1

)

which consists of 2m−i+1 alternating all zero and all one 2i−1 tuples.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 13 / 40

Page 77: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

For any integers m and r with 0 ≤ r ≤ m there exist a binary rthorder RM code, denoted by RM(r,m), with the following parameters

Code length: n = 2m

Dimension: k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)Minimum distance: dmin = 2m−r

where

(mi

)= m!

i!(m−i)!

Example m=5 and r=2 then n=32, k(2,5)=16 and dmin = 8

There exists a (32, 16) RM code with a distance of 8.

For 1 ≤ i ≤ m let Vi be 2m tuple over GF (2) of the following form:

Vi = (0 . . . 0︸ ︷︷ ︸2i−1

, 1 . . . 1︸ ︷︷ ︸2i−1

, 0 . . . 0︸ ︷︷ ︸2i−1

. . . 1 . . . 1︸ ︷︷ ︸2i−1

)

which consists of 2m−i+1 alternating all zero and all one 2i−1 tuples.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 13 / 40

Page 78: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

For any integers m and r with 0 ≤ r ≤ m there exist a binary rthorder RM code, denoted by RM(r,m), with the following parameters

Code length: n = 2m

Dimension: k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)Minimum distance: dmin = 2m−r

where

(mi

)= m!

i!(m−i)!

Example m=5 and r=2 then n=32, k(2,5)=16 and dmin = 8

There exists a (32, 16) RM code with a distance of 8.

For 1 ≤ i ≤ m let Vi be 2m tuple over GF (2) of the following form:

Vi = (0 . . . 0︸ ︷︷ ︸2i−1

, 1 . . . 1︸ ︷︷ ︸2i−1

, 0 . . . 0︸ ︷︷ ︸2i−1

. . . 1 . . . 1︸ ︷︷ ︸2i−1

)

which consists of 2m−i+1 alternating all zero and all one 2i−1 tuples.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 13 / 40

Page 79: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

For any integers m and r with 0 ≤ r ≤ m there exist a binary rthorder RM code, denoted by RM(r,m), with the following parameters

Code length: n = 2m

Dimension: k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)Minimum distance: dmin = 2m−r

where

(mi

)= m!

i!(m−i)!

Example m=5 and r=2 then n=32, k(2,5)=16 and dmin = 8

There exists a (32, 16) RM code with a distance of 8.

For 1 ≤ i ≤ m let Vi be 2m tuple over GF (2) of the following form:

Vi = (0 . . . 0︸ ︷︷ ︸2i−1

, 1 . . . 1︸ ︷︷ ︸2i−1

, 0 . . . 0︸ ︷︷ ︸2i−1

. . . 1 . . . 1︸ ︷︷ ︸2i−1

)

which consists of 2m−i+1 alternating all zero and all one 2i−1 tuples.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 13 / 40

Page 80: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

For any integers m and r with 0 ≤ r ≤ m there exist a binary rthorder RM code, denoted by RM(r,m), with the following parameters

Code length: n = 2m

Dimension: k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)Minimum distance: dmin = 2m−r

where

(mi

)= m!

i!(m−i)!

Example m=5 and r=2 then n=32, k(2,5)=16 and dmin = 8

There exists a (32, 16) RM code with a distance of 8.

For 1 ≤ i ≤ m let Vi be 2m tuple over GF (2) of the following form:

Vi = (0 . . . 0︸ ︷︷ ︸2i−1

, 1 . . . 1︸ ︷︷ ︸2i−1

, 0 . . . 0︸ ︷︷ ︸2i−1

. . . 1 . . . 1︸ ︷︷ ︸2i−1

)

which consists of 2m−i+1 alternating all zero and all one 2i−1 tuples.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 13 / 40

Page 81: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 82: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 83: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 84: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 85: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 86: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 87: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 88: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 1

Consider the code R(1,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

Minimum distance: dmin = 2m−r = 23−1 = 4

GRM(1, 3) =

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 0

Let a = (a0, a1, a2, . . . an−1) b = (b0, b1, b2, . . . bn−1)

a.b = (a0.b0, a1.b1, . . . an−1.bn−1)

where . denotes logic product i.e. ai .bi = 1 if and if only ai = bi = 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 14 / 40

Page 89: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

The rth order RM code, RM(r, m) of length 2m is generated by thefollowing set of independent vectors:

GRM(r ,m) = (V0,V1,V2, . . .Vm,V1.V2,V1.V3,Vm−1.Vm

= up to products of degree r)

There are

k(r ,m) = 1 +

(m1

)+

(m2

)+ . . .+

(mr

)vectors in GRM(r ,m). Therefore the dimension of the code is k(r ,m)

The vectors in GRM(r ,m) are arranged as rows of a matrix, then thematrix is a generator matrix of the RM(r ,m) code. Hence GRM(r ,m)is called as the generator matrix

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 15 / 40

Page 90: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 2

Consider the code R(2,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)+

(32

)= 1 + 3.2.1

(2.1).1 + 3.2.1(1)2.1 = 7

Minimum distance: dmin = 2m−r = 23−2 = 2

GRM(2, 3) =

V0

V3

V2

V1

V3.V2

V3.V1

V2.V2

=

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 01 1 0 0 0 0 0 01 0 1 0 0 0 0 01 0 0 0 1 0 0 0

V3.V2=(1 1 0 0 0 0 0 0)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 16 / 40

Page 91: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 2

Consider the code R(2,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)+

(32

)= 1 + 3.2.1

(2.1).1 + 3.2.1(1)2.1 = 7

Minimum distance: dmin = 2m−r = 23−2 = 2

GRM(2, 3) =

V0

V3

V2

V1

V3.V2

V3.V1

V2.V2

=

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 01 1 0 0 0 0 0 01 0 1 0 0 0 0 01 0 0 0 1 0 0 0

V3.V2=(1 1 0 0 0 0 0 0)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 16 / 40

Page 92: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 2

Consider the code R(2,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)+

(32

)= 1 + 3.2.1

(2.1).1 + 3.2.1(1)2.1 = 7

Minimum distance: dmin = 2m−r = 23−2 = 2

GRM(2, 3) =

V0

V3

V2

V1

V3.V2

V3.V1

V2.V2

=

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 01 1 0 0 0 0 0 01 0 1 0 0 0 0 01 0 0 0 1 0 0 0

V3.V2=(1 1 0 0 0 0 0 0)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 16 / 40

Page 93: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 2

Consider the code R(2,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)+

(32

)= 1 + 3.2.1

(2.1).1 + 3.2.1(1)2.1 = 7

Minimum distance: dmin = 2m−r = 23−2 = 2

GRM(2, 3) =

V0

V3

V2

V1

V3.V2

V3.V1

V2.V2

=

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 01 1 0 0 0 0 0 01 0 1 0 0 0 0 01 0 0 0 1 0 0 0

V3.V2=(1 1 0 0 0 0 0 0)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 16 / 40

Page 94: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed-Muller Codes

Example 2

Consider the code R(2,3) with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)+

(32

)= 1 + 3.2.1

(2.1).1 + 3.2.1(1)2.1 = 7

Minimum distance: dmin = 2m−r = 23−2 = 2

GRM(2, 3) =

V0

V3

V2

V1

V3.V2

V3.V1

V2.V2

=

1 1 1 1 1 1 1 11 1 1 1 0 0 0 01 1 0 0 1 1 0 01 0 1 0 1 0 1 01 1 0 0 0 0 0 01 0 1 0 0 0 0 01 0 0 0 1 0 0 0

V3.V2=(1 1 0 0 0 0 0 0)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 16 / 40

Page 95: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Reed Decoding

Reed Decoding

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 17 / 40

Page 96: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Consider an example R(1,3) code with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

GRM =

V0

V1

V2

V3

=

1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 0 1 1 1 1

The rows of the matrix are labeled as V0,V1,V2 and V3.

Consider a message m = (a0, a1, a2, a3) to be encoded.V = m ∗ GRM(1; 3) = V = a0V0 + a1V1 + a2V2 + a3V3.

Written as a vector,V = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 +a3, a0 + a1 + a2 + a3).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 18 / 40

Page 97: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Consider an example R(1,3) code with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

GRM =

V0

V1

V2

V3

=

1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 0 1 1 1 1

The rows of the matrix are labeled as V0,V1,V2 and V3.

Consider a message m = (a0, a1, a2, a3) to be encoded.V = m ∗ GRM(1; 3) = V = a0V0 + a1V1 + a2V2 + a3V3.

Written as a vector,V = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 +a3, a0 + a1 + a2 + a3).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 18 / 40

Page 98: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Consider an example R(1,3) code with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

GRM =

V0

V1

V2

V3

=

1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 0 1 1 1 1

The rows of the matrix are labeled as V0,V1,V2 and V3.

Consider a message m = (a0, a1, a2, a3) to be encoded.V = m ∗ GRM(1; 3) = V = a0V0 + a1V1 + a2V2 + a3V3.

Written as a vector,V = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 +a3, a0 + a1 + a2 + a3).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 18 / 40

Page 99: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Consider an example R(1,3) code with generator matrix:

Code length: n = 2m = 23 = 8

k(r ,m) = 1 +

(31

)= 1 + 3.2.1

(2.1).1 = 4

GRM =

V0

V1

V2

V3

=

1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 0 1 1 1 1

The rows of the matrix are labeled as V0,V1,V2 and V3.

Consider a message m = (a0, a1, a2, a3) to be encoded.V = m ∗ GRM(1; 3) = V = a0V0 + a1V1 + a2V2 + a3V3.

Written as a vector,V = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 +a3, a0 + a1 + a2 + a3).

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 18 / 40

Page 100: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Reed Decoding

v = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 + a3, a0 + a1 + a2 + a3).

If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6, y7) can be used to solvefor the ai other than a0 in several ways (4 ways for each) namely:a0 = y0 a0 + a1 = y1 ⇒ y0 + y1 = a1

a0 + a2 = y2 a0 + a1 + a2 = y3 ⇒ y2 + y3 = a1

a0 + a3 = y4 a0 + a1 + a3 = y5 ⇒ y4 + y5 = a1

a0 + a2 + a3 = y6 a0 + a1 + a2 + a3 = y7 ⇒ y6 + y7 = a1

Therefore a1 isa1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7

Similarly a2 and a3 are determined and are as followsa2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

If one error has occurred in r, then when all the calculations above are made, 3 of the 4values will agree for each ai , so the correct value will be obtained by majority decoding.

Finally, a0 can be determined as the majority of the components of r + a1v1 + a2v2 + a3v3

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 19 / 40

Page 101: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Reed Decodingv = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 + a3, a0 + a1 + a2 + a3).

If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6, y7) can be used to solvefor the ai other than a0 in several ways (4 ways for each) namely:a0 = y0 a0 + a1 = y1 ⇒ y0 + y1 = a1

a0 + a2 = y2 a0 + a1 + a2 = y3 ⇒ y2 + y3 = a1

a0 + a3 = y4 a0 + a1 + a3 = y5 ⇒ y4 + y5 = a1

a0 + a2 + a3 = y6 a0 + a1 + a2 + a3 = y7 ⇒ y6 + y7 = a1

Therefore a1 isa1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7

Similarly a2 and a3 are determined and are as followsa2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

If one error has occurred in r, then when all the calculations above are made, 3 of the 4values will agree for each ai , so the correct value will be obtained by majority decoding.

Finally, a0 can be determined as the majority of the components of r + a1v1 + a2v2 + a3v3

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 19 / 40

Page 102: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Reed Decodingv = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 + a3, a0 + a1 + a2 + a3).

If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6, y7) can be used to solvefor the ai other than a0 in several ways (4 ways for each) namely:

a0 = y0 a0 + a1 = y1 ⇒ y0 + y1 = a1

a0 + a2 = y2 a0 + a1 + a2 = y3 ⇒ y2 + y3 = a1

a0 + a3 = y4 a0 + a1 + a3 = y5 ⇒ y4 + y5 = a1

a0 + a2 + a3 = y6 a0 + a1 + a2 + a3 = y7 ⇒ y6 + y7 = a1

Therefore a1 isa1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7

Similarly a2 and a3 are determined and are as followsa2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

If one error has occurred in r, then when all the calculations above are made, 3 of the 4values will agree for each ai , so the correct value will be obtained by majority decoding.

Finally, a0 can be determined as the majority of the components of r + a1v1 + a2v2 + a3v3

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 19 / 40

Page 103: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Reed Decodingv = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 + a3, a0 + a1 + a2 + a3).

If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6, y7) can be used to solvefor the ai other than a0 in several ways (4 ways for each) namely:a0 = y0 a0 + a1 = y1 ⇒ y0 + y1 = a1

a0 + a2 = y2 a0 + a1 + a2 = y3 ⇒ y2 + y3 = a1

a0 + a3 = y4 a0 + a1 + a3 = y5 ⇒ y4 + y5 = a1

a0 + a2 + a3 = y6 a0 + a1 + a2 + a3 = y7 ⇒ y6 + y7 = a1

Therefore a1 isa1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7

Similarly a2 and a3 are determined and are as followsa2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

If one error has occurred in r, then when all the calculations above are made, 3 of the 4values will agree for each ai , so the correct value will be obtained by majority decoding.

Finally, a0 can be determined as the majority of the components of r + a1v1 + a2v2 + a3v3

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 19 / 40

Page 104: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Reed Decodingv = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 + a3, a0 + a1 + a2 + a3).

If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6, y7) can be used to solvefor the ai other than a0 in several ways (4 ways for each) namely:a0 = y0 a0 + a1 = y1 ⇒ y0 + y1 = a1

a0 + a2 = y2 a0 + a1 + a2 = y3 ⇒ y2 + y3 = a1

a0 + a3 = y4 a0 + a1 + a3 = y5 ⇒ y4 + y5 = a1

a0 + a2 + a3 = y6 a0 + a1 + a2 + a3 = y7 ⇒ y6 + y7 = a1

Therefore a1 isa1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7

Similarly a2 and a3 are determined and are as follows

a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

If one error has occurred in r, then when all the calculations above are made, 3 of the 4values will agree for each ai , so the correct value will be obtained by majority decoding.

Finally, a0 can be determined as the majority of the components of r + a1v1 + a2v2 + a3v3

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 19 / 40

Page 105: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Reed Decodingv = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 + a3, a0 + a1 + a2 + a3).

If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6, y7) can be used to solvefor the ai other than a0 in several ways (4 ways for each) namely:a0 = y0 a0 + a1 = y1 ⇒ y0 + y1 = a1

a0 + a2 = y2 a0 + a1 + a2 = y3 ⇒ y2 + y3 = a1

a0 + a3 = y4 a0 + a1 + a3 = y5 ⇒ y4 + y5 = a1

a0 + a2 + a3 = y6 a0 + a1 + a2 + a3 = y7 ⇒ y6 + y7 = a1

Therefore a1 isa1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7

Similarly a2 and a3 are determined and are as followsa2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

If one error has occurred in r, then when all the calculations above are made, 3 of the 4values will agree for each ai , so the correct value will be obtained by majority decoding.

Finally, a0 can be determined as the majority of the components of r + a1v1 + a2v2 + a3v3

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 19 / 40

Page 106: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Reed Decodingv = (a0, a0 + a1, a0 + a2, a0 + a1 + a2, a0 + a3, a0 + a1 + a3, a0 + a2 + a3, a0 + a1 + a2 + a3).

If no errors occur, a received vector r = (y0, y1, y2, y3, y4, y5, y6, y7) can be used to solvefor the ai other than a0 in several ways (4 ways for each) namely:a0 = y0 a0 + a1 = y1 ⇒ y0 + y1 = a1

a0 + a2 = y2 a0 + a1 + a2 = y3 ⇒ y2 + y3 = a1

a0 + a3 = y4 a0 + a1 + a3 = y5 ⇒ y4 + y5 = a1

a0 + a2 + a3 = y6 a0 + a1 + a2 + a3 = y7 ⇒ y6 + y7 = a1

Therefore a1 isa1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7

Similarly a2 and a3 are determined and are as followsa2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

If one error has occurred in r, then when all the calculations above are made, 3 of the 4values will agree for each ai , so the correct value will be obtained by majority decoding.

Finally, a0 can be determined as the majority of the components of r + a1v1 + a2v2 + a3v3

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 19 / 40

Page 107: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,

a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 108: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 109: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 110: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:

a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 111: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1

a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 112: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0

a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 113: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 114: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 115: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 116: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 117: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed Muller Reed Decoding

Example

Suppose that the transmitted code is v = 10100101 and receivedcode as 10101101. Using,a1 = y0 + y1 = y2 + y3 = y4 + y5 = y6 + y7,a2 = y0 + y2 = y1 + y3 = y4 + y6 = y5 + y7

a3 = y0 + y4 = y1 + y5 = y2 + y6 = y3 + y7

Calculate a1, a2, and a3 using majority decoding.:a1 = 1 = 1 = 0 = 1 so a1 = 1a2 = 0 = 0 = 1 = 0 so a2 = 0a3 = 0 = 1 = 1 = 1 so a3 = 1

Finally, a0 can be determined as the majority of the components ofr + a1v1 + a2v2 + a3v3

and y0 = a0 y1 = a0 + a1 hence a0 = 1 since 10101101 + 01010101+ 00001111 = 11110111.

v = a0v0 + a1v1 + a2v2 + a3v3. In this case a2 = 0 Therefore

V = 11111111 + 01010101 + 00001111 = 10100101.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 20 / 40

Page 118: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

Other Constructions of Reed-Muller Codes:

Let A = [aij ] be and mXm matrix and B = [bij ] be an nxn matrix overGF(2).The Kronecker product of A and B denoted by A⊗ B is the mnxmnmatrix obtained from A by replacing every entry aij with the matrixaijB.If aij = 1 then aijB = B and for aij = 0 then aijB is an nxn zeromatrix.Generator matrix of 2x2 over Galois field GF(2)is:

G(2,2) =

[1 10 1

]The two fold Kronecker product of G(2,2) is:

G(22,22)

[1 10 1

]⊗[

1 10 1

]=

1 1 1 10 1 0 10 0 1 10 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 21 / 40

Page 119: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

Other Constructions of Reed-Muller Codes:

Let A = [aij ] be and mXm matrix and B = [bij ] be an nxn matrix overGF(2).

The Kronecker product of A and B denoted by A⊗ B is the mnxmnmatrix obtained from A by replacing every entry aij with the matrixaijB.If aij = 1 then aijB = B and for aij = 0 then aijB is an nxn zeromatrix.Generator matrix of 2x2 over Galois field GF(2)is:

G(2,2) =

[1 10 1

]The two fold Kronecker product of G(2,2) is:

G(22,22)

[1 10 1

]⊗[

1 10 1

]=

1 1 1 10 1 0 10 0 1 10 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 21 / 40

Page 120: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

Other Constructions of Reed-Muller Codes:

Let A = [aij ] be and mXm matrix and B = [bij ] be an nxn matrix overGF(2).The Kronecker product of A and B denoted by A⊗ B is the mnxmnmatrix obtained from A by replacing every entry aij with the matrixaijB.

If aij = 1 then aijB = B and for aij = 0 then aijB is an nxn zeromatrix.Generator matrix of 2x2 over Galois field GF(2)is:

G(2,2) =

[1 10 1

]The two fold Kronecker product of G(2,2) is:

G(22,22)

[1 10 1

]⊗[

1 10 1

]=

1 1 1 10 1 0 10 0 1 10 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 21 / 40

Page 121: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

Other Constructions of Reed-Muller Codes:

Let A = [aij ] be and mXm matrix and B = [bij ] be an nxn matrix overGF(2).The Kronecker product of A and B denoted by A⊗ B is the mnxmnmatrix obtained from A by replacing every entry aij with the matrixaijB.If aij = 1 then aijB = B and for aij = 0 then aijB is an nxn zeromatrix.

Generator matrix of 2x2 over Galois field GF(2)is:

G(2,2) =

[1 10 1

]The two fold Kronecker product of G(2,2) is:

G(22,22)

[1 10 1

]⊗[

1 10 1

]=

1 1 1 10 1 0 10 0 1 10 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 21 / 40

Page 122: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

Other Constructions of Reed-Muller Codes:

Let A = [aij ] be and mXm matrix and B = [bij ] be an nxn matrix overGF(2).The Kronecker product of A and B denoted by A⊗ B is the mnxmnmatrix obtained from A by replacing every entry aij with the matrixaijB.If aij = 1 then aijB = B and for aij = 0 then aijB is an nxn zeromatrix.Generator matrix of 2x2 over Galois field GF(2)is:

G(2,2) =

[1 10 1

]The two fold Kronecker product of G(2,2) is:

G(22,22)

[1 10 1

]⊗[

1 10 1

]=

1 1 1 10 1 0 10 0 1 10 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 21 / 40

Page 123: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

Other Constructions of Reed-Muller Codes:

Let A = [aij ] be and mXm matrix and B = [bij ] be an nxn matrix overGF(2).The Kronecker product of A and B denoted by A⊗ B is the mnxmnmatrix obtained from A by replacing every entry aij with the matrixaijB.If aij = 1 then aijB = B and for aij = 0 then aijB is an nxn zeromatrix.Generator matrix of 2x2 over Galois field GF(2)is:

G(2,2) =

[1 10 1

]

The two fold Kronecker product of G(2,2) is:

G(22,22)

[1 10 1

]⊗[

1 10 1

]=

1 1 1 10 1 0 10 0 1 10 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 21 / 40

Page 124: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

Other Constructions of Reed-Muller Codes:

Let A = [aij ] be and mXm matrix and B = [bij ] be an nxn matrix overGF(2).The Kronecker product of A and B denoted by A⊗ B is the mnxmnmatrix obtained from A by replacing every entry aij with the matrixaijB.If aij = 1 then aijB = B and for aij = 0 then aijB is an nxn zeromatrix.Generator matrix of 2x2 over Galois field GF(2)is:

G(2,2) =

[1 10 1

]The two fold Kronecker product of G(2,2) is:

G(22,22)

[1 10 1

]⊗[

1 10 1

]=

1 1 1 10 1 0 10 0 1 10 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 21 / 40

Page 125: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

The three fold Kronecker product of G(2,2) is:

G(23,23) =

[1 10 1

]⊗[

1 10 1

]⊗[

1 10 1

]

=

[1 10 1

]⊗

1 1 1 10 1 0 10 0 1 10 0 0 1

=

1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 1 0 0 0 10 0 0 0 1 1 1 10 0 0 0 0 1 0 10 0 0 0 0 0 1 10 0 0 0 0 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 22 / 40

Page 126: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

The three fold Kronecker product of G(2,2) is:

G(23,23) =

[1 10 1

]⊗[

1 10 1

]⊗[

1 10 1

]

=

[1 10 1

]⊗

1 1 1 10 1 0 10 0 1 10 0 0 1

=

1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 1 0 0 0 10 0 0 0 1 1 1 10 0 0 0 0 1 0 10 0 0 0 0 0 1 10 0 0 0 0 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 22 / 40

Page 127: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

The four fold Kronecker product of G(2,2) is:

G(24,24) =

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 10 0 1 1 0 0 1 1 0 0 1 1 0 0 1 10 0 0 1 0 0 0 1 0 0 0 1 0 0 0 10 0 0 0 1 1 1 1 0 0 0 0 1 1 1 10 0 0 0 0 1 0 1 0 0 0 0 0 1 0 10 0 0 0 0 0 1 1 0 0 0 0 0 0 1 10 0 0 0 0 0 0 1 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 1 0 1 0 1 0 10 0 0 0 0 0 0 0 0 0 1 1 0 0 1 10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 23 / 40

Page 128: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Reed-Muller Codes Other Constructions of Reed-Muller Codes

The four fold Kronecker product of G(2,2) is:

G(24,24) =

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 10 0 1 1 0 0 1 1 0 0 1 1 0 0 1 10 0 0 1 0 0 0 1 0 0 0 1 0 0 0 10 0 0 0 1 1 1 1 0 0 0 0 1 1 1 10 0 0 0 0 1 0 1 0 0 0 0 0 1 0 10 0 0 0 0 0 1 1 0 0 0 0 0 0 1 10 0 0 0 0 0 0 1 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 1 0 1 0 1 0 10 0 0 0 0 0 0 0 0 0 1 1 0 0 1 10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 1 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 23 / 40

Page 129: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The (24, 12) Golay Code

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 24 / 40

Page 130: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

Golay code constructed by M.J.E. Golay in 1949.

Has a minimum distance of 7 and is capable of correcting anycombination of three or fewer random error in the block of 23 digits.

Has abundant and beautiful algebraic structure.

The (23, 12) Golay code can be extended by adding an overallparity-check bit to each codework.

This extension results in a (24, 12) code with minimum distance of 8.

This code is capable of correcting all errors of there or fewer errors,and detecting all error patterns of four errors.

It is not a perfect code anymore however, it has many interestingstructural properties.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 25 / 40

Page 131: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

Golay code constructed by M.J.E. Golay in 1949.

Has a minimum distance of 7 and is capable of correcting anycombination of three or fewer random error in the block of 23 digits.

Has abundant and beautiful algebraic structure.

The (23, 12) Golay code can be extended by adding an overallparity-check bit to each codework.

This extension results in a (24, 12) code with minimum distance of 8.

This code is capable of correcting all errors of there or fewer errors,and detecting all error patterns of four errors.

It is not a perfect code anymore however, it has many interestingstructural properties.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 25 / 40

Page 132: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

Golay code constructed by M.J.E. Golay in 1949.

Has a minimum distance of 7 and is capable of correcting anycombination of three or fewer random error in the block of 23 digits.

Has abundant and beautiful algebraic structure.

The (23, 12) Golay code can be extended by adding an overallparity-check bit to each codework.

This extension results in a (24, 12) code with minimum distance of 8.

This code is capable of correcting all errors of there or fewer errors,and detecting all error patterns of four errors.

It is not a perfect code anymore however, it has many interestingstructural properties.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 25 / 40

Page 133: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

Golay code constructed by M.J.E. Golay in 1949.

Has a minimum distance of 7 and is capable of correcting anycombination of three or fewer random error in the block of 23 digits.

Has abundant and beautiful algebraic structure.

The (23, 12) Golay code can be extended by adding an overallparity-check bit to each codework.

This extension results in a (24, 12) code with minimum distance of 8.

This code is capable of correcting all errors of there or fewer errors,and detecting all error patterns of four errors.

It is not a perfect code anymore however, it has many interestingstructural properties.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 25 / 40

Page 134: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

Golay code constructed by M.J.E. Golay in 1949.

Has a minimum distance of 7 and is capable of correcting anycombination of three or fewer random error in the block of 23 digits.

Has abundant and beautiful algebraic structure.

The (23, 12) Golay code can be extended by adding an overallparity-check bit to each codework.

This extension results in a (24, 12) code with minimum distance of 8.

This code is capable of correcting all errors of there or fewer errors,and detecting all error patterns of four errors.

It is not a perfect code anymore however, it has many interestingstructural properties.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 25 / 40

Page 135: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

Golay code constructed by M.J.E. Golay in 1949.

Has a minimum distance of 7 and is capable of correcting anycombination of three or fewer random error in the block of 23 digits.

Has abundant and beautiful algebraic structure.

The (23, 12) Golay code can be extended by adding an overallparity-check bit to each codework.

This extension results in a (24, 12) code with minimum distance of 8.

This code is capable of correcting all errors of there or fewer errors,and detecting all error patterns of four errors.

It is not a perfect code anymore however, it has many interestingstructural properties.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 25 / 40

Page 136: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

Golay code constructed by M.J.E. Golay in 1949.

Has a minimum distance of 7 and is capable of correcting anycombination of three or fewer random error in the block of 23 digits.

Has abundant and beautiful algebraic structure.

The (23, 12) Golay code can be extended by adding an overallparity-check bit to each codework.

This extension results in a (24, 12) code with minimum distance of 8.

This code is capable of correcting all errors of there or fewer errors,and detecting all error patterns of four errors.

It is not a perfect code anymore however, it has many interestingstructural properties.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 25 / 40

Page 137: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

A generator matrix in systematic form for this code is as follows:

G = [P I12]

where I12is the identity matrix of dimension 12 and P is:

P =

1 0 0 0 1 1 1 0 1 1 0 10 0 0 1 1 1 0 1 1 0 1 10 0 1 1 1 0 1 1 0 1 0 10 1 1 1 0 1 1 0 1 0 0 11 1 1 0 1 1 0 1 0 0 0 11 1 0 1 1 0 1 0 0 0 1 11 0 1 1 0 1 0 0 0 1 1 10 1 1 0 1 0 0 0 1 1 1 11 1 0 1 0 0 0 1 1 1 0 11 0 1 0 0 0 1 1 1 0 1 10 1 0 0 0 1 1 1 0 1 1 11 1 1 1 1 1 1 1 1 1 1 0

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 26 / 40

Page 138: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

A generator matrix in systematic form for this code is as follows:

G = [P I12]

where I12is the identity matrix of dimension 12 and P is:

P =

1 0 0 0 1 1 1 0 1 1 0 10 0 0 1 1 1 0 1 1 0 1 10 0 1 1 1 0 1 1 0 1 0 10 1 1 1 0 1 1 0 1 0 0 11 1 1 0 1 1 0 1 0 0 0 11 1 0 1 1 0 1 0 0 0 1 11 0 1 1 0 1 0 0 0 1 1 10 1 1 0 1 0 0 0 1 1 1 11 1 0 1 0 0 0 1 1 1 0 11 0 1 0 0 0 1 1 1 0 1 10 1 0 0 0 1 1 1 0 1 1 11 1 1 1 1 1 1 1 1 1 1 0

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 26 / 40

Page 139: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

A generator matrix in systematic form for this code is as follows:

G = [P I12]

where I12is the identity matrix of dimension 12 and P is:

P =

1 0 0 0 1 1 1 0 1 1 0 10 0 0 1 1 1 0 1 1 0 1 10 0 1 1 1 0 1 1 0 1 0 10 1 1 1 0 1 1 0 1 0 0 11 1 1 0 1 1 0 1 0 0 0 11 1 0 1 1 0 1 0 0 0 1 11 0 1 1 0 1 0 0 0 1 1 10 1 1 0 1 0 0 0 1 1 1 11 1 0 1 0 0 0 1 1 1 0 11 0 1 0 0 0 1 1 1 0 1 10 1 0 0 0 1 1 1 0 1 1 11 1 1 1 1 1 1 1 1 1 1 0

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 26 / 40

Page 140: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

A generator matrix in systematic form for this code is as follows:

G = [P I12]

where I12is the identity matrix of dimension 12 and P is:

P =

1 0 0 0 1 1 1 0 1 1 0 10 0 0 1 1 1 0 1 1 0 1 10 0 1 1 1 0 1 1 0 1 0 10 1 1 1 0 1 1 0 1 0 0 11 1 1 0 1 1 0 1 0 0 0 11 1 0 1 1 0 1 0 0 0 1 11 0 1 1 0 1 0 0 0 1 1 10 1 1 0 1 0 0 0 1 1 1 11 1 0 1 0 0 0 1 1 1 0 11 0 1 0 0 0 1 1 1 0 1 10 1 0 0 0 1 1 1 0 1 1 11 1 1 1 1 1 1 1 1 1 1 0

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 26 / 40

Page 141: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:

1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 142: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal

2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 143: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row

3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 144: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P

4 The sub matrix obtained by deleting the last row and last column isformed by cyclically shifting the first row to the left 11 times.

5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 145: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.

5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 146: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 147: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 148: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12)

extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 149: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 150: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code The (24, 12) Golay Code

The P matrix has the following properties:1 It is symmetrical with respect to its diagonal2 The i th column is the transpose of the i th row3 P.PT = I12 where PT is the transpose of P4 The sub matrix obtained by deleting the last row and last column is

formed by cyclically shifting the first row to the left 11 times.5 It follows from the second property that

PT = P

Consequently the parity check matrix in systematic form for the(24, 12) extended Golay code is given by

H = [I12 PT ]

H = [I12 P]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 27 / 40

Page 151: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 152: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 153: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 154: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 155: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 156: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 157: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 158: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 159: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 160: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Decoding Algorithm:

Denote pi to be the i th row of P, and u(i) to be the 12-tuple in whichonly the i th component is nonzero.

The decoding algorithm consists of the following steps:

1 Compute the syndrome s = r • HT .

2 If w(s) ≤ 3, then we set e∗ = (s, 0). And go to step 8.

3 If w(s + pi ) ≤ 2 for some row pi in P, then we set e∗ = (s + pi , u(i)).And go to step 8.

4 Compute s • P.

5 If w(s • P) = 2 or 3, then we set e∗ = (0; s • P). And go to step 8.

6 If w(s • P + pi ) = 2 for some pi , then we set e∗ = (u(i); sP + pi )

7 Otherwise, with s 6= 0, declare an uncorrectable error pattern.

8 v∗ = r + e∗:

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 28 / 40

Page 161: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 162: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 163: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 164: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 165: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 166: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 167: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 168: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

The (24, 12) Golay Code Decoding Algorithm:

Example:

Suppose the (24,12) Golay code is used error control.

Let r=(1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1) receivedsequence.

To decode r, compute S of r

s = r • HT = (111011111100)

Because w(s) > 3, go to step 3. We find that

s + p11 = (111011111100) + (111111111110) = (000100000010)

and s + p11 = 2 So sete = (s + p11, u

(11)) = (000100000010000000000001)

and decode r into as

v∗ = r + e = (100100110110110000000000)

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 29 / 40

Page 169: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Product Codes

Product Codes

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 30 / 40

Page 170: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Product Codes

Let C1 be an (n1, k1) linear code and C2 be an (n2, k2) linear code.Then an (n1n2, k1k2) linear code is formed such that each codeword is rectangular array of(n1) columns and (n2) rows in which every row is codeword in C1 and every column iscodeword in C2.This two dimensional codeword is called direct product of C1 and C2.The (k1, k2) digits in the right corner of the array are information symbols.The (k1, k2) digits in the upper right corner of the array are information symbols.The digits in the upper left corner of the array are computed from the parity check rulesfor C1 on rows and the digits in the lower right corner are computed from the parity checkrules for C2 on columns.The digits in the lower left corner of the array are parity check rules for C2 on columns orparity check rules for C1 on rows.

Information Digits

n1

Checkson rows

Checks on columnsCheckson checks

k2 n2

k1

Figure: Code array for product code

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 31 / 40

Page 171: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Product Codes

The product code C1XC2 is encoded in two steps.

A message of (k1, k2) information symbols is first arranged as shown in the upper right

corner of Figure 21 In the first step each row of the information array is encoded into a codeword in C1.

The encoded results an array of (k2) rows and (n1) columns as shown in the upperpart of the the Figure.

2 In the second step of encoding each of the n1 columns of the array formed at the

first encoding step is encoded into a codeword in C2.This results in a code array of (n2) rows and (n1) columns as shown in Figure 2.The code array is also can be formed by first performing the column by column encodingand then the row encoding.Transmission can be carried out either column by column or row by row.

Information Digits

n1

Checkson rows

Checks on columnsCheckson checks

k2 n2

k1

Figure: Code array for product code

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 32 / 40

Page 172: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Product Codes

If code C1 has minimum weight d1 and code C2 has minimum weight d2, the minimumweight of the product code is exactly d1d2.

A minimum weight of the product code is formed by choosing a minimum weightcodeword in C1 and minimum weight codeword in C2 and forming an array in which allcolumns corresponding to zeros in the codeword from C1 are zeros and all columnscorresponding to ones in the codeword from C1 are the minimum weight codeword chosenfrom C2.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 33 / 40

Page 173: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Product Codes

Consider an example u=(1 0 1 1 0 0 0 1 0 1 0 1 1 1 0 1)

This can be arranged as 4X4 information array.

The first four information symbols form the first row of the information array the secondfour information symbols form the second row and so on.

In the first step of encoding a single (even) parity check symbol is added to each row ofthe information array. This results in a 4X5 array.

In the first step of encoding a single (even) parity check symbol is added to each the fivecolumns of the array. This results in a 5X5 array.

At the receiver a single error occurs at the intersection of two and column.

The erroneous row and column corrected by complementing the received symbol at theintersection.

Parity failure cannot correct any double error pattern, but it can detect all the doubleerror pattern

When a double error pattern occurs, there are 3 possible distribution of the two errors: (1)they are in the same row (2)

1 1 0 1 11 0 0 0 10 0 1 0 11 1 1 0 11 0 0 1 0

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 34 / 40

Page 174: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Interleaved Codes

Interleaved Codes[2]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 35 / 40

Page 175: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Interleaved Codes

In data manipulation and transmission, errors may be caused by avariety of factors including noise corruption, limited channelbandwidth, and interference between channels and sources.

Bursts (or clusters) of errors are defined as a group of consecutiveerror bits in the one-dimensional (1-D) case or connected error bits inmulti-dimensional (M-D) cases.

Several consecutive transmitted error bits in a mobile communicationsystem caused by a multipath fading channel.

A bursty channel is defined as a channel over which errors tend tooccur in bunches, or “bursts,” as opposed to random patternsassociated with a Bernoulli-distributed process.

The main idea is to mix up the code symbols from differentcode-words so that when the code-words are reconstructed at thereceiving end error bursts encountered in the transmission are spreadacross multiple codewords.

Consequently, the errors occurred within one code-word may be smallenough to be corrected by using a simple random error correctioncode.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 36 / 40

Page 176: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Interleaved Codes

Consider a code in which each code-wordcontains four code symbols[2].

Suppose there are 16 symbols, which correspondto four code-words.

That is, code symbols from 1 to 4 form acode-word, from 5 to 8 another codeword, and soon.

In block interleaving, first creates a 4X4 2-Darray, called block interleaver as shown in Figure1.

The 16 code symbols are read into the 2-D arrayin a column-by-column (or row-by-row) manner.

The interleaved code symbols are obtained bywriting the code symbols out of the 2-D array ina row-by-row (or column by-column) fashion.

This process has been depicted in Figure 1 (a),(b), and (c).

Assume a burst of errors involving fourconsecutive symbols as shown in Figure 1 (c)with shades.

After de-interleaving as shown in Figure 1 (d),the error burst is effectively spread among fourcode-words, resulting in only one code symbol inerror for each of the four code-words

Figure: Block Interleaving

[2]

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 37 / 40

Page 177: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Product and Interleaved Codes Interleaved Codes

Consider a (n,k) linear block code C, a new (λn, λk) linear code isconstructed by interleaving, that is arranging λ codewords in C into λrows of rectangular array and then transmitting the array column bycolumn.

The resulting code denoted by Cλ is called and interleaved code.

The parameter is referred as interleaving depth.

The interleaving technique is effective for deriving long, powerfulcodes for correcting errors that cluster to form bursts.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 38 / 40

Page 178: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

Thank You

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 39 / 40

Page 179: Important Linear Block Codes Lin,Shi - JNNCE ECE Manjunath · 2018-09-09 · Important Linear Block Codes[1, 2] Manjunatha. P manjup.jnnce@gmail.com Professor Dept. of ECE J.N.N

References

S. Lin and J. Daniel J. Costello, Error Control Coding, 2nd ed. Pearson/Prentice Hall,2004.

Y. Q. Shi, X. M. Zhang, Z.-C. Ni, and N. Ansari, “Interleaving for combating bursts oferrors,” IEEE Circuits And Systems Magazine, pp. 29–42, 2004.

Manjunatha. P (JNNCE) Important Linear Block Codes [1, 2] November 6, 2013 40 / 40