Chapter 10 Error Detection & Correction
Show how the Adler algorithm (Figure 10.19) attaches weights to the data items when calculating the checksum
----
What is the definition of a linear block code?
A linear block code is a block code in which the exclusive-or of any two codewords results in another codeword.
. In CRC, we have chosen the generator 1100101. What is the probability of detecting a burst error of length a.5 b.7 c.10
By selecting length of generator as R (where length of crc will be R-1.) With this is it possible to detect all errors f L <= r where L is no of error. If L = r+1 then probability if 1-0.5^(r-1). If L >r+1 then porbabiility is 1-.5^r A) r is 6 and L is 5 hence it possible to detect all errors B) r is 6 and L is 7 hence probability is .96875 C) r is 6 and L is 10 hence probability is .984375
Referring to the CRC-32 polynomial in Table 10.4, answer the following questions: a. Does it detect a single error? Defend your answer. b. Does it detect a burst error of size 16? Defend your answer. c. What is the probability of detecting a burst error of size 33? d. What is the probability of detecting a burst error of size 55?
1 - (1/r)^33-1 etc
How does a single-bit error differ from a burst error?
1. In a single bit error only one bit of a data unit is corrupted; in a burst error more than one bit is corrupted (not necessarily contiguous).
What is the Hamming distance for each of the following codewords? a. d (10000, 00000) b. d (10101, 10000) c. d (00000, 11111) d. d (00000, 00000)
Do exclusive or. number of 1's in ans is the hamming distance
A category of error detecting (and correcting) code, called the Hamming code, is a code in which dmin = 3. This code can detect up to two errors (or correct one single error). In this code, the values of n, k, and r are related as: n = 2r − 1 and k = n − r. Find the number of bits in the dataword and the codewords if r is 3.
Let n = code word bits r = redundant bits k = data word n = 2^r -1 k=n-r r=3 n=2^3 -1 n= 8-1 n=7 k =7-3 = 4 hence data word bits = 4 code word bits = 7
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?
The size of the dataword = 5 bits The size of the codeword = 8 bits the size of the code word and dividend are same. Hence, three 0's need to be added to the dataword to make the dividend. The size of the remainder = size of the codeword - size of the database = 8-5 = 3 The size of the divisor = size of the remainder +1 = 3+1 = 4
In CRC, which of the following generators (divisors) guarantees the detection of an odd number of errors? a.10111 b.101101 c. 111
a) 10111base 2 cannot be divided by 11base2 Convert the binary numbers into decimals (for better understanding) Then 10111base 2 becomes 23. And 11base2 becomes 3. It is understood that if you divide 23/3. The remainder is 2 because 3 is a prime number b) 101101base2 can be divided by 11base2. Similarly 101101base2 are 45 in decimals. And 11 are 3 in decimals. 45/3 =15. Remainder is 0. c) 111base2 cannot be divided by 11base2. Here 111base2 is 7 in decimals. 11base2 is 3. The remainder is 1 Hence 101101 can detect off numbers of errors.
Exclusive-OR (XOR) is one of the most used operations in the calculation of codewords. Apply the exclusive-OR operation on the following pairs of patterns. Interpret the results. a. (10001) ⊕ (10001) b. (11100) ⊕ (00000) c. (10011) ⊕ (11111)
a. 00000 b. 11100 c. 01100
Using the code in Table 10.2, what is the dataword if each of the following codewords is received? a. 01011 b. 11111 c. 00000 d. 11011
a. 01 b. 11 c. 00 d. error
Assuming even parity, find the parity bit for each of the following data units. a. 1001011 b. 0001100 c. 1000000 d. 1110111
count the number of 1's and make them even by adding a zero or one.
Although it can be formally proved that the code in Table 10.3 is both linear and cyclic, use only two tests to partially prove the fact: a. Test the cyclic property on codeword 0101100. b. Test the linear property on codewords 0010110 and 1111111
cyclic is left shift or right shift of 1 char results in another code work. Linear is xor results in another codeword
Given the dataword 101001111 and the divisor 10111, show the generation of the CRC codeword at the sender site (using binary division).
do binary division. Lenght of codeword = len dataword + divisor -1
If we want to be able to detect two-bit errors, what should be the minimum Hamming distance?
min hamming distance = s+1 where s is the number of errors can occur during transmission. ex codeword 1 = 0110001 and codeword2 = 1010100 now c1 xor c2 is 1100001 in this case hammining distance is 3
Which of the following CRC generators guarantee the detection of a single bit error? a. x3 + x + 1 b. x4 + x2 c. 1 d. x2 + 1
must have more than 1 term and coeffiecient 1 - therefore a, d are correct
In a block code, a dataword is 20 bits and the corresponding codeword is 25 bits. What are the values of k, r, and n according to the definitions in the text? How many redundant bits are added to each dataword?
n=25 k=20 r = n-k The redundant bits that needs to be added is, r = n-k r=25-20 r=5 bits We need to add 5 redundant bit to each data word
Prove that the code represented by the following codewords is not linear. You need to find only one case that violates the linearity. {(00000), (01011), (10111), (11111)}
to find linearity, an xor operation is performed on any two codewords. 01011 xor 10111 = 11100 so not a valid codeword
Referring to the CRC-8 in Table 5.4, answer the following questions: a. Does it detect a single error? Defend your answer. b. Does it detect a burst error of size 6? Defend your answer. c. What is the probability of detecting a burst error of size 9? d. What is the probability of detecting a burst error of size 15?
use probability equations
In Figure 10.22, assume we have 100 packets. We have created two sets of packets with high and low resolutions. Each high-resolution packet carries on average 700 bits. Each low-resolution packet carries on average 400 bits. How many extra bits are we sending in this scheme for the sake of FEC? What is the percentage of overhead?
(110000-70,000)/70,000 = 57%
Assume that the probability that a bit in a data unit is corrupted during transmission is p. Find the probability that x number of bits are corrupted in an nbit data unit for each of the following cases. a. n = 8, x = 1, p = 0.2 b. n = 16, x = 3, p = 0.3 c. n = 32, x = 10, p = 0.4
(ex written down)
In Table 10.1, the sender sends dataword 10. A 3-bit burst error corrupts the codeword. Can the receiver detect the error? Defend your answer.
Assume the sender encodes the dataword 10 as 101 and sends it to the receiver. The codeword will be changed to 010 if a 3-bit burst error occurs. This pattern is not one of the valid codewords. So the receiver detects the error and discards the received pattern
What is the minimum Hamming distance?
In a set of strings of equal lengths, the minimum Hamming distance is the smallest Hamming distance between all possible pairs of strings in that set.
In a codeword, we add two redundant bits to each 8-bit data word. Find the number of a. valid codewords. b. invalid codewords
In block coding process, k bits in data word makes 2^k possible combinations By adding r bits as the redundant length then code work n becomes k+r, with this is is possible to have 2^(n) combinations to code word. As block coding process is one to one only 2^k code words are valid and 2^n-2^k code words will be invalid or illegal. with length or data word k is 8 and no redundant bits r is 2, considering above explanation: no on possible data works 2&8 = 256. length of code word n becomes 10i.e 8+2 Number of possible code words: 2^10 =1024 Number of valid code words 2^8 = 256 Number of invalid code words 2^10-2^8 = 768
Show how the Fletcher algorithm (Figure 10.18) attaches weights to the data items when calculating the checksum.
In fletcher algorithm weights of the data is attached by using the position of the data. There are two types of algorithms 8bit and 16bit. 8 bit contains 16 bit checksum. 16 bit contains 32 bit checksum. This algorithm uses modulo 256(2^8) where data is divided by 256 for 8bit 65536 for 16 bit and reminder is kept. It uses two accumulators L and R for calculating checksum. First data addedto content of R then it will be divided by 256 or 65536 based on checksum length to get reminder kept and use it as (R). Then add R to L and calculate modulo 256 and use it as L, repeat this for all the data. Once all the data is completed multiply L with 256 or 65536 and add R to it to get final checksum value. In this process each data is added with a weight which is associated with it is position.
Can the value of a traditional checksum be all 0s (in binary)? Defend your answer
No it is not possible to have all bits in CRC are zeros, it always we get some reminder for the data to be sent. If the value of the checksum is all 0 then it is considered as error free data on the receiver side.
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.
The drawback of traditional checksums is it cannot detect error if you change the order of data items, or swapped. Because the traditional checksums only adds all the data items and the results are complimented. So in which ever order the data item is it cannot defect the error.
In CRC, which of the following generators (divisors) guarantees the detection of a single bit error? a.101 b.100 c.1
a) 101 - first let us convert the bis into polynomials then 101 become x^2 +1 . If you divide any polynomial of x^n/x^2 +1 then always will get the remainder b) 100 - convert to polynomial. It becomes x^3. Any polynomial of x^n/x^3 = 0 when n>=3 That means x^n is divisible by x^3. c) now convert to polynomial it becomes x^0. x^0 = 1 Any polynomial of x^n/1 = x^n Only a guarnatees the detection of a single bit error
What is the maximum effect of a 2-ms burst of noise on data transmitted at the following rates? a. 1500 bps b.12 kbps c. 100 kbps d. 100 Mbps
a) Given data: data rate = 1500bps burst duration = 2-ms max effected bits = (data rate) x (burst duration). = 1500 x (2x10^-3) = 3 bits b) 24 bits c) 200bits