Reference Material - Chapter 10
Reference Material - Chapter 10
10.2
10-1 INTRODUCTION
10.3
10.10.1 Types of Errors
10.4
Figure 10.1: Single-bit and burst error
10.5
10.10.2 Redundancy
10.6
10.10.3 Detection versus Correction
10.7
10.10.4 Coding
10.8
10-2 BLOCK CODING
10.10
Figure 10.2: Process of error detection in block coding
10.11
Example 10.1
10.12
Hamming Distance
The Hamming distance between two words (of the same
size) is the number of differences between the
corresponding bits.
Let us find the Hamming distance between two pairs of
words.
10.13
Figure 10.3: Geometric concept explaining dmin in error
detection
10.14
Example 10.3
10.15
Example 10.4
10.16
Example 10.5
10.17
Example 10.6
10.18
Table 10.2: Simple parity-check code C(5, 4)
10.19
Figure 10.4: Encoder and decoder for simple parity-
check code
10.20
Example 10.7
10.21
Hamming Codes –
[Error correcting
codes]
1. Were originally designed with dmin = 3,
which means that they can detect up to two
errors or correct one single error.
2. First let us find the relationship between n
and k in a Hamming code.
3. We need to choose an integer m >= 3.
4. The values of n and k are then calculated
from mas n = 2m – 1 and k = n - m.
5. The number of check bits r =m.
10.22
Figure 10.12 The structure of the encoder and decoder for a Hamming code
10.23
Hamming Code
Parity checks are created as follow (using
modulo-2)
◦ r0 = a2 + a1 + a0
◦ r1 = a3 + a2 + a1
◦ r2 = a1 + a0 + a3
10.24
Hamming Code
The checker in the decoder creates a 3-bit
syndrome (s2s1s0).
In which each bit is the parity check for 4 out
of the 7 bits in the received codeword:
s0 = b2 + b1 + b0 + q0
s1 = b3 + b2 + b1 + q1
s2 = b1 + b0 + b3 + q2
The equations used by the checker are the
same as those used by the generator with the
parity-check bits added to the right-hand side of
the equation.
10.25
Table 10.5 Logical decision made by the correction logic analyzer
10.26
Figure 10.13 Burst error correction using Hamming code
10.29
Table 10.3: A CRC code with C(7, 4)
10.30
Figure 10.5: CRC encoder and decoder
10.31
Figure 10.6: Division in CRC encoder
10.32
Figure 10.7: Division in the CRC decoder for two cases
10.33
10.3.2 Polynomials
10.34
Figure 10.8: A polynomial to represent a binary word
10.35
10.3.3 Encoder Using Polynomials
10.36
Figure 10.9: CRC division using polynomials
10.37
10.3.4 Cyclic Code Analysis
10.38
Example 10.8
Solution
10.39
Figure 10.10: Representation of isolated single-bit
errors
10.40
Example 10.9
10.41
Example 10.10
Solution
10.42
Table 10.4: Standard polynomials
10.43
10.3.5 Advantages of Cyclic Codes
10.44
10.3.6 Other Cyclic Codes
10.45
10-4 CHECKSUM
• Checksum is an error-detecting
technique that can be applied
to a message of any length.
• In the Internet, the checksum
technique is mostly used at the
network and transport layer
rather than the data-link layer.
• However, to make our
discussion of error detecting
techniques complete, we
10.46
Figure 10.15: Checksum
10.47
Example 10.11
10.48
Example 10.12
10.49
Table 10.5: Procedure to calculate the traditional
checksum
10.50
10-5 FORWARD ERROR CORRECTION
10.52
Figure 10.20: Hamming distance for error correction
10.53
10.5.2 Using XOR
This means:
10.54
10.5.3 Chunk Interleaving
10.55
Figure 10.21: Interleaving
10.56
10.5.4 Combining
10.57
10.5.5 Compounding
10.58
Figure 10.22: Compounding high-and-low resolution
packets
10.59