Reference no: EM132812137
Environmental interference and physical defects in the communication medium can cause random bit errors during data transmission. Error coding is a method of detecting and correcting these errors to ensure information is transferred intact from its source to its destination. Error coding is used for fault tolerant computing in computer memory, magnetic and optical data storage media, satellite and deep space communications, network communications, cellular telephone networks, and almost any other form of digital data communication. Error coding uses mathematical formulas to encode data bits at the source into longer bit words for transmission. The "code word" can then be decoded at the destination to retrieve the information. The extra bits in the code word provide redundancy that, according to the coding scheme used, will allow the destination to use the decoding process to determine if the communication medium introduced errors and in some cases correct them so that the data need not be retransmitted. Different error coding schemes are chosen depending on the types of errors expected, the communication medium's expected error rate, and whether or not data retransmission is possible. Faster processors and better communications technology make more complex coding schemes, with better error detecting and correcting capabilities, possible for smaller embedded systems, allowing for more robust communications. However, tradeoffs between bandwidth and coding overhead, coding complexity and allowable coding delay between transmission, must be considered for each application.
For this assignment, you may need do some research for below questions.
1. What is the definition of a linear block code?
2. In a codeword, we add two redundant bits to each 8-bit word. Find the number of a. valid codewords & b. invalid codewords
3. If we want to be able to detect 2-bit errors, what should be the minimum Hamming distance?
4. In CRC, if the dataword is 5 bits and the codeword is 8 bits, how many 0s need to be added to the dataword to make the dividend? What is the size of the remainder? What is the size of the divisor?
5. In CRC, which of the following generators (divisors) guarantees the detection of an odd number of errors?
a. 10111 b. 101101 c. 111
6. Assume we are sending data items of 16-bit length. If two data items are swapped during transmission, can the traditional checksum detect this error? Explain your answer.
7. Explain why flags are needed when we use variable-size frames.
8. Compare and contrast byte-oriented and bit-oriented protocols.
9. In a byte-oriented protocol, should we first unstuff the extra bytes and then remove the flags or reverse the process?
10. Compare and contrast flow control and error control.
11. Compare and contrast HDLC with PPP.