Professional Documents
Culture Documents
CH 10
CH 10
Error Detection
and
Correction
10.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Note
10.2
101INTRODUCTION
10.3
Note
10.4
Figure 10.1 Single-bit error
10.5
Note
10.6
Figure 10.2 Burst error of length 8
10.7
Note
10.8
Figure 10.3 The structure of encoder and decoder
10.9
Note
10.10
Note
10.11
Figure 10.4 XORing of two single bits or two words
10.12
102BLOCKCODING
10.13
Figure 10.5 Datawords and codewords in block coding
10.14
Example 10.1
10.15
Figure 10.6 Process of error detection in block coding
10.16
Example 10.2
10.17
Example 10.2 (continued)
10.18
Table 10.1 A code for error detection (Example 10.2)
10.19
Note
10.20
Figure 10.7 Structure of encoder and decoder in error correction
10.21
Example 10.3
10.22
Example 10.3 (continued)
1. Comparing the received codeword with the first
codeword in the table (01001 versus 00000), the
receiver decides that the first codeword is not the one
that was sent because there are two different bits.
10.24
Note
10.25
Example 10.4
10.26
Note
10.27
Example 10.5
Thedmininthiscaseis2.
10.28
Example 10.6
Solution
WefirstfindalltheHammingdistances.
10.29
Note
10.30
Example 10.7
10.31
Example 10.8
10.32
Figure 10.8 Geometric concept for finding dmin in error detection
10.33
Figure 10.9 Geometric concept for finding dmin in error correction
10.34
Note
10.35
Example 10.9
Solution
This code guarantees the detection of up to three errors
(s=3),butitcancorrectuptooneerror.Inotherwords,
ifthiscodeisusedforerrorcorrection,partofitscapability
is wasted. Error correction codes need to have an odd
minimumdistance(3,5,7,...).
10.36
103LINEARBLOCKCODES
10.37
Note
10.38
Example 10.10
10.40
Note
10.41
Table 10.3 Simple parity-check code C(5, 4)
10.42
Figure 10.10 Encoder and decoder for simple parity-check code
10.43
Example 10.12
10.45
Note
10.46
Note
10.47
Figure 10.11 Two-dimensional parity-check code
10.48
Figure 10.11 Two-dimensional parity-check code
10.49
Figure 10.11 Two-dimensional parity-check code
10.50
Table 10.4 Hamming code C(7, 4)
10.51
Figure 10.12 The structure of the encoder and decoder for a Hamming code
10.52
Table 10.5 Logical decision made by the correction logic analyzer
10.53
Example 10.13
10.55
Figure 10.13 Burst error correction using Hamming code
10.56
104CYCLICCODES
10.58
Figure 10.14 CRC encoder and decoder
10.59
Figure 10.15 Division in CRC encoder
10.60
Figure 10.16 Division in the CRC decoder for two cases
10.61
Figure 10.17 Hardwired design of the divisor in CRC
10.62
Figure 10.18 Simulation of division in CRC encoder
10.63
Figure 10.19 The CRC encoder design using shift registers
10.64
Figure 10.20 General design of encoder and decoder of a CRC code
10.65
Figure 10.21 A polynomial to represent a binary word
10.66
Figure 10.22 CRC division using polynomials
10.67
Note
10.68
Note
In a cyclic code,
If s(x) 0, one or more bits is corrupted.
If s(x) = 0, either
a. No bit is corrupted. or
b. Some bits are corrupted, but the
decoder failed to detect them.
10.69
Note
10.70
Note
10.71
Example 10.15
10.72
Figure 10.23 Representation of two isolated single-bit errors using polynomials
10.73
Note
10.74
Example 10.16
10.76
Note
10.77
Example 10.17
Solution
a.Thisgeneratorcandetectallbursterrorswithalength
lessthanorequalto6bits;3outof100bursterrors
withlength7willslipby;16outof1000bursterrorsof
length8ormorewillslipby.
10.78
Example 10.17 (continued)
b.Thisgeneratorcandetectallbursterrorswithalength
lessthanorequalto18bits;8outof1millionburst
errorswithlength19willslipby;4outof1million
bursterrorsoflength20ormorewillslipby.
c.Thisgeneratorcandetectallbursterrorswithalength
lessthanorequalto32bits;5outof10billionburst
errorswithlength33willslipby;3outof10billion
bursterrorsoflength34ormorewillslipby.
10.79
Note
10.80
Table 10.7 Standard polynomials
10.81
105CHECKSUM
10.82
Example 10.18
10.83
Example 10.19
10.84
Example 10.20
Solution
Thenumber21inbinaryis10101(itneedsfivebits).We
canwraptheleftmostbitandaddittothefourrightmost
bits.Wehave(0101+1)=0110or6.
10.85
Example 10.21
Solution
In ones complement arithmetic, the negative or
complement of a number is found by inverting all bits.
Positive6is0110;negative6is1001.Ifweconsideronly
unsigned numbers, this is 9. In other words, the
complement of 6 is 9. Another way to find the
complementofanumberinonescomplementarithmetic
istosubtractthenumberfrom2n1(161inthiscase).
10.86
Example 10.22
10.88
Figure 10.24 Example 10.22
10.89
Note
Sender site:
1. The message is divided into 16-bit words.
2. The value of the checksum word is set to 0.
3. All words including the checksum are
added using ones complement addition.
4. The sum is complemented and becomes the
checksum.
5. The checksum is sent with the data.
10.90
Note
Receiver site:
1. The message (including checksum) is
divided into 16-bit words.
2. All words are added using ones
complement addition.
3. The sum is complemented and becomes the
new checksum.
4. If the value of checksum is 0, the message
is accepted; otherwise, it is rejected.
10.91
Example 10.23
10.93