ECT453 - Error Control Codes Syllabus
ECT453 - Error Control Codes Syllabus
CATEGORY L T P CREDIT
ECT453 ERROR CONTROL CODES
PEC 2 1 0 3
Preamble: This course aims to give an insight into the various codes used for error control in
data transmission
CO 1
Describethe principles of block codes, types and their bounds
K3
CO2 Illustrate the principles of cyclic codes and Galois Fields, encoding and decoding of
K3 binary BCH codes and algorithms for finding the error location polynomial
CO 3 Demonstrate encoding, decoding and error locationof Reed Solomon codes and Reed
K3 Muller codes
CO 4
Illustrate the encoding and decoding of Convolution Codes and Turbo Codes
K3
CO 5
Describe the encoding, decoding and applications of LDPC Codes
K3
CO 6
Discuss the concepts of polar codes and its applications in 5G
K3
PO PO PO PO PO PO PO PO PO PO PO PO
1 2 3 4 5 6 7 8 9 10 11 12
CO 1 3 3 2 2
CO 2 3 3 2 2
CO 3 3 3 2 2
CO 4 3 3 2 2
CO 5 3 3 2 2
CO6 3 3 2 2
Assessment Pattern
Attendance : 10 marks
Continuous Assessment Test (2 numbers) : 25 marks
Assignment/Quiz/Course project : 15 marks
End Semester Examination Pattern: There will be two parts; Part A and Part B. Part A
contain 10 questions with 2 questions from each module, having 3 marks for each question.
Students should answer all questions. Part B contains 2 questions from each module of which
student should answer any one. Each question can have maximum 2 sub-divisions and carry
14 marks.
Course Outcome 1 (CO1): Describethe principles of block codes, types and their bounds
1. Define Code Rate, Hamming Distance and Error detection and correction capabilities of
Block codes
2. Construct Hamming Codes for a given Generator Matrix
3. State and prove Gilbert Varshamov bound
Course Outcome 2 (CO2):Illustrate the principles of cyclic codes and Galois Fields,
encoding and decoding of binary BCH codes and algorithms for finding the error location
polynomial
1. Design a (n,k) cyclic code in systematic form using a given generator polynomial g(X)
2. Determine all the conjugacy classes in an extended GF with respect to a give GF
3. Describe the Chein search algorithm for finding the error locator polynomial for Binary
BCH Codes
Course Outcome 4 (CO4):Illustrate the encoding and decoding of Convolution Codes and
Turbo Codes
ELECTRONICS & COMMUNICATION ENGINEERING
1. Construct an encoder, state diagram and trellis for a convolution encoder using a given
generator polynomial.
2. Decode convolution codes using Viterbi decoder
3. Construct a Turbo encoder for a given generator polynomial
Course Outcome 5 (CO5): Describe the encoding, decoding and applications of LDPC
Codes
1. Determine if a given matrix satisfies the conditions of the parity check matrix of an LDPC
code.
2. Construct the Tanner graph for a given LDPC code. Determine the girth of the Tanner
graph
3Discuss the message passing decoding over binary erasure channels
Course Outcome 6 (CO6): Discuss the encoding, decoding and applications in 5G of polar
codes
SYLLABUS
Repetition Codes, Hamming Codes, Review of Groups, Fields, Vector Spaces. Linear Block
Codes - Generator matrix, Parity Check Matrix. Dual Codes, Error Detection and Correction
over hard output channels. Dual of binary Hamming codes. Maximum Likelihood Decoding
Review of basic concepts of cyclic codes – generator matrix, parity-check matrix. Polynomial
view point. Encoding, systematic encoding, syndrome decoding.
Galois Fields -- Irreducible and Primitive Polynomials, Primitive elements, Field extension,
Conjugate elements and Minimal Polynomials. Cyclotomic cosets.
BCH Codes - Design, BCH Bound, Decoding BCH codes – Decoding BCH – the general
outline, computation of the syndrome, error locator polynomial, Chien Search algorithm,
ELECTRONICS & COMMUNICATION ENGINEERING
Finding the error locator polynomial. Berlekamp Massey Algorithm. Burst-error correction
capability of BCH codes.
Reed Solomon Codes – BCH code viewpoint. Vandermonde matrix view point. MDS
property. Generalized Reed-Solomon codes. Application of BCH decoding algorithms to
Reed-Solomon decoding. Sudan’s algorithm for decoding. Use of RS codes in disks and
cloud storage.
Reed Muller Codes, Encoding and decoding of RM (1, m) codes. Majority-logic decoding of
Reed-Muller codes.
Low Density Parity Codes, Construction, Tanner Graphs, Message passing decoding.
Example of message passing decoding over binary erasure channels. Message passing of
LLR and decoding over AWGN channels.
Polar Codes – Introduction, polarization of BEC channels, Polar transform and frozen bits.
LDPC and Polar codes in 5G.
1. Shu Lin, D. J Costello Jr. Error Control Coding: Fundaments and Applications, Prentice
Hall
3. Todd K. Moon, Error Correction Coding: Mathematical Methods and Algorithms, Wiley.
No. of
S.No Topic
Lectures
1 Module 1: Block Codes and Bounds.
Error Control Coding – Relevance of error control codes in
1.1 Communication System, concepts of Code rate, Hamming Distance, 2
Minimum Distance, Error detecting and correcting capability.
Repetition Codes, Hamming Codes, Review of Groups, Fields, Vector
Spaces. Linear Block Codes - Generator matrix, Parity Check Matrix.
1.2 2
Dual Codes, Error Detection and Correction over hard output channels.
Dual of binary Hamming codes. Maximum Likelihood Decoding
Simple bounds on block codes - Singleton bound, Hamming Bound,
1.3 2
Gilbert-Varshamov bound. Maximum-distance-separable (MDS) codes.
Simulation Assignments
Using GAP,
a) Determine if a given polynomial is reducible
b) Generate Hamming codes, Reed Muller Codes
c) Generate the Standard Array of a given code C
d) Generate the generator matrix of a given code C
e) Generate the parity check matrix of a given code C
f) Determine the Hamming Distance and minimum distance of a given code C
PART A
Generate all the code polynomials for the (7,4) Hamming Code generator
1 K3
polynomial g(x) =1+x+x3
2 Define (a) MDS Code (b) Minimum Distance (c) Repetition Code K1
3 Determine if x5+x3+1 is irreducible over GF (2) K3
4 Illustrate the general outline for decoding BCH codes K2
5 Prove that the minimum distance of an (n,k) RS code is n-k+1 K2
6 Construct the Generator matrix of a RM(1,3) code K3
7 Describe a catastrophic encoder K2
8 Discuss the applications of turbo codes in 5G K2
9 Explain the method of construction of LDPC Codes K2
10 Describe the applications of polar codes in 5G K2
PART – B
Answer one question from each module; each question carries 14 marks.
Module - I
11 7
Define and prove Hamming bound and Gilbert Varshamov bounds CO1
a.
K2
For the (7,4) Hamming code generator polynomial g(x) =1+x+x3, generate all 7
b. possible code polynomials c(x). Determine the parity check matrix h(x) for this CO1
code. Calculate the miniumum distance of the Hamming code generated K3
OR
Consider a systematic block code whose parity check equations are:
p1 = m1+m2+m4
12 p2 = m1+m3+m4 14
p3 = m1+m2+m3 CO1
p4 = m2+m3+m4 K3
where mi are the message digits and pi are the check digits
a) Find the generator matrix and parity check matrix for this code
ELECTRONICS & COMMUNICATION ENGINEERING
b) How many errors can the code correct?
c) Is the vector 10101010 a code word?
Module - II
For a binary, narrow sense, triple error correcting BCH code of length 15,
constructed using the polynomial x4+x+1 7
13 a (a) Compute a generator polynomial for this code CO2
(b) Determine the rate of the code K3
(c) Construct the parity check matrix and generator matrix for this code
7
b Define and prove the BCH bound CO2
K2
OR
7
14a
Construct the systematic encoder for cyclic codes and explain its working CO2
K2
7
b Describe the Chien search algorithm for BCH codes CO2
K2
Module - III
7
15 a Explain Sudan’s algorithm for Reed Solomon Codes CO3
K2
7
Differentiate between the BCH Viewpoint and Vandermondeviewpoints of Reed
b CO3
Solomon Codes
K2
OR
Form the generator matrix of the first order RM code RM (1,3) of length 8. What is 14
16 the minimum distance of the code? Determine its parity check sums and devise a CO3
majority logic decoder for the code. Decode the received vector r = (01000101) K3
Module - IV
For the R=1/2 convolution encoder with G(x) = [1+x2+x3 1+x+x3]
(a) Draw a hardware realization of the encoder
(b) Determine the convolution generator matrix G
14
(c) For the input sequence m = [1,0,1,1,0,1,1] determine the coded output
17 CO4
sequence
K2
(d) Draw the state diagram
(e) Draw the trellis
(f) Is this a catastrophic realization? Justify your answer
OR
7
18
Illustrate Turbo encoding without and with puncturing CO4
a.
K2
b. Explain the Viterbi algorithm and the schematic of add compare select hardware 7
ELECTRONICS & COMMUNICATION ENGINEERING
implementation CO4
K2
Module - V
For the parity check matrix
1 1 0 1 0 0 0
0 1 1 0 1 0 0
� �
0 0 1 1 0 1 0 8
19 0 0 0 1 1 0 1 CO5
a. (a) Construct the Tanner graph for the code K3
(b) Determine the girth of the minimum girth cycle
(c) Determine the number of cycles of length 6
(d) Determine a generator matrix for this code
6
b. Explain message passing decoding of LDPC codes over binary erasure channels CO5
K2
OR
6
20
Describe the basic ideas of polarization CO6
a
K2
8
b Explain channel polarization for N=2 channel CO6
K2