Sie sind auf Seite 1von 24

# Networking 2

##  are undesirable changes in the bit pattern of

data that occur after the data goes from the
internal PC data bus enroute to an external
device or computer

## Communication Error Correction and Detection Page 1 of 24

Redundancy
Error-Detection Techniques

##  To detect and correct communication errors, a

sender must provide a receiver with
information that allows the receiver to verify
proper receipt of information or data.

##  This additional information is called

error checking data or redundancy
data.
Error-Detection Techniques

 Parity Checking
 primarily for detecting errors when the
number of information bits is small and
the probability of an error being present is
small

1. Even Parity
2. Odd Parity
Even Parity

##  Even Parity. The number of 1’s in a

word should be even.

Example: In ASCII
A= 1000001
B= 1000010
C= 1000011

A = 0 1000001
B = 0 1000010
C = 1 1000011
Odd Parity

##  Odd Parity. The number of 1’s in a word

should be odd.

Example: In ASCII
A= 1000001
B= 1000010
C= 1000011

## Applying the parity bit:

A = 1 1000001
B = 1 1000010
C = 0 1000011
Block Sum Checking

##  Parity checking is done on a per block

basis. Example: Transmit DATACOM
D = 1000100 C = 1000011
A = 1000001 O = 1001111
T = 1010100 M = 1001101
(odd)
1 1 0 0 0 1 0 0 D
1 1 0 0 0 0 0 1 A
0 1 0 1 0 1 0 0 T
1 1 0 0 0 0 0 1 A
0 1 0 0 0 0 1 1 C
0 1 0 0 1 1 1 1 O
1 1 0 0 1 1 0 1 M
0 1 0 1 0 0 0 1 (even)

Longitudinal
Traverse (Row) (Column)
Parity Bits Parity Bits
Polynomial Codes

##  In using polynomial codes, a single set of check

digits referred to as the frame check
sequence (FCS) or cyclic redundancy check
is generated or computed for each frame.

##  Polynomial codes are based upon treating bit

strings as representations of polynomials
with coefficients of 0 and 1 only.
Example

## polynomial) M(X) = 1X5 + 1X4 + 0X3 + 0X2 +

0X1 + 1X0
= X 5 + X 4 + X0
= X5 + X4 + 1

Degree of 110001 = 5
(highest exponent)
Polynomial Codes

##  In using the polynomial code, the sender and

receiver agree upon a generator
polynomial G(X) in advanced.

##  Algorithm for computing the FCS:

1. Let r be the degree of G(X). Append r zero bits
to the low-order end of the message frame
M(X), so it now contains m + r bits where m is
the number of bits in M(X).

Polynomial Codes

## 2. Divide the bit string corresponding to G(X)

into the bit string corresponding to M‘(X) using
modulo 2 arithmetic.

## Modulo 2 Arithmetic (XOR)

Examples:
10011011 00110011
+ 11001010 - 11001101

01010001 11111110
Polynomial Codes

##  Subtract the remainder (which is always r or

fewer bits) from M’(X) using modulo 2
subtraction. The result is the check summed
frame to be transmitted T(X).
Example

 Given:
Message Frame M(X) = 1101011011
Generator G(X) = 10011 r = 4 (degree)
M’(X) = 11010110110000

Example

11010110110000
- 1110
11010110111110

##  When the receiver gets the transmitted frame

T(X), it tries dividing it by G(X). If there is a
remainder, there has been a transmission error.

## Communication Error Correction and Detection Page 13 of 24

Some Points Regarding
Polynomial Codes

## In any division problem, if the remainder is

subtracted from the dividend, what is left over is
divisible by the divisor.

Example:
M’ = 11
G = 5
Remainder of M’ / G = 1
T = 11 -1 = 10 exactly divisible by G
Some Points Regarding
Polynomial Codes

## 2. Assume that a transmission error occurs so that

instead of the polynomial for the transmitted
message T(X) arriving, T(X) + E(X) arrives.

##  Those errors that happen to correspond to

polynomials containing G(X) as a factor will
slip by unnoticed, but all other errors will
be caught.
Standards in CRC
(For Generator Polynomial)

1. CRC - 12
X12 + X11 + X3 + X2 + X + 1

2. CRC - 16
X16 + X15 + X2 + 1

3. CRC - CCITT
X16 + X12 + X5 + 1

4. CRC - 32
X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8
+ X7 + X5 + X4 + X2 + X + 1
Error Correction Techniques

##  Error-correction techniques allow the receiver

to determine which bit or bits is/are erroneous
thereby allowing it to make the necessary
corrections.

Hamming codes.

##  In using Hamming codes, the bits of the

message to be transmitted are numbered
consecutively, starting with bit 1 at the left
end.
Error Correction Techniques

##  The bits of the message that will be transmitted

are therefore numbered as:
b1 b2 b3 b4 b5 b6
b7 b8 b9 b10 . . .

##  Those bits that are powers of 2 (b1, b2, b4,

b8, etc.) are the check bits (the exact values
of which will be computed) while the rest of
the
bits (b3, b4, b5, b6, b7, b9, etc.) are the data bits.

##  Each check bit forces the parity of some

collection of bits, including itself, to be even
(or odd). A bit may be included in several
parity computations.
Error Correction Techniques

##  To determine which check bits the data bit in

position k contributes to, rewrite k as a sum of
powers of two.

Example:

11 = 1 + 2 + 8

## This means that b11 is checked by b1, b2, and b8.

Case Study:
Transmit the byte 1101101

##  The actual bits that will be transmitted are:

b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11
1 1 0 1 1 0 1

## The values of the check bits b1, b2, b4, and b8

will have to be computed.

## b3 is checked by bits b1 and b2.

b5 is checked by bits b1 and b4.
b6 is checked by bits b2 and b4.
b7 is checked by bits b1, b2 and b4.
b9 is checked by bits b1 and b8.
b10 is checked by bits b2 and b8.
b11 is checked by bits b1, b2 and b8.
Case Study:
Transmit the byte 1101101

##  Summarizing which data bits are checked by

a certain check bit:

## b8 checks data bits b9, b10, b11

Case Study:
Transmit the byte 1101101

##  By using the values of the data bits and by

assuming that even parity is used, the values
of the check bits are computed as:

b1 = 1
b2 = 1
b4 = 0
b8 = 0

##  The actual bits that will be transmitted

are therefore:

b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11
1 1 1 0 1 0 1 0 1 0 1
Correcting Errors

##  Assume that the transmitted code

is: 1 1 1 0 1 0 1 0 1 0
1

##  However, due to impulse noise, b9 was

corrupted. The received message is
therefore:
1 1 1 0 1 0 1 0 0 0 1

##  The receiver checks for parity errors as follows:

1st group: b1, b3, b5, b7, b9, b11
1 1 1 1 0 1
2nd group: b2, b3, b6, b7, b10, b11
1 1 0 1 0 1
3rd group: b4, b5, b6, b7
0 1 0 1
4th group: b8, b9, b10, b11
0 0 0 1
Exercise

## 1. Assume that the message frame, M(x) is

111000111000. The generator polynomial,
G(x), is 110111. Compute the bit stream
T(x) to be transmitted.

## 2. An 8-bit byte with binary value 10101111 is to

be encoded using an even-parity Hamming
code. What is the binary value after
encoding?