Assignment: Error Control Coding
Instructions: Answer all questions. Show all steps in calculations. Use appropriate diagrams where necessary.
1. Hamming Code (7,4)
(a) Encode the 4-bit message `1011` using the (7,4) Hamming code. Show how the parity bits are calculated.
(b) A (7,4) Hamming code word `1001110` is received. Detect and correct the single-bit error, if any.
2. Linear Block Codes
(a) Given the generator matrix:
G = [ [1 0 0 1 1 0]
[0 1 0 1 0 1]
[0 0 1 0 1 1] ]
Encode the message vector `101` using this matrix.
(b) If the parity check matrix is:
H = [ [1 1 0 1 0 0]
[0 1 1 0 1 0]
[1 0 1 0 0 1] ]
and the received codeword is `110101`, compute the syndrome and correct any error.
3. Cyclic Redundancy Check (CRC)
(a) Given a message `1101` and generator polynomial g(x) = x^3 + x + 1, encode the message using CRC.
(b) Check if the received message `1101000` has an error using CRC division.
4. Convolutional Coding
Assignment: Error Control Coding
(a) For a convolutional encoder with generator polynomials G1 = (1, 1, 1), G2 = (1, 0, 1), draw the state diagram.
(b) Use the Viterbi algorithm to decode the received sequence `101101`.
5. General Concepts
(a) Calculate the minimum Hamming distance of the codewords `000000`, `111000`, `000111`, and `111111`.
(b) Based on your answer in (a), what is the maximum number of errors this code can detect and correct?
(c) Compare the efficiency and error detection capability of Hamming codes and CRC in practical communication
systems.
End of Assignment