## Description

ECSE422 Written Assignment #2

1. Show that the Hamming distance of an M-of-N code is 2.

2. Briefly explain the following (AND show an example of each): codeword, hamming distance, separable code, and non-separable code

3. Define overlapping parity. If you have 4 data bits and 2 parity bits, is this working overlapping parity?

4. What is Berger code? Describe how it works. What are two advantages of using Berger code over other codes?

5. Use Separable Hamming (7,4) to encode 1011. Given you receive 1111001, find the syndrome. Comment on the error correction and detection capabilities.

6. Using (separable) CRC-16, polynomial G(x) = X4 + X3 + 1, encode the data word 1011 to find the codeword. Give the final codeword in binary format.

7. Using (separable) cyclic (7,4) m-k code, generator polynomial G(x) = X3 + X + 1, encode the data word 1001 to find the codeword. Introduce the error E(x) = X2 + X + 1. What is the new codeword? Perform a check. Give the final codeword in binary format.

8. Describe in detail the relationship between buffering and checkpointing.

9. What is an advantage of distributed recovery blocks over non-distributed recovery blocks?

10. What is a recovery line? Draw an example of a useless checkpointing scenario. Describe in words what is occurring.