0% found this document useful (0 votes)
4 views19 pages

Lecture 12 Error Correction

The document discusses error correction in computer networks, focusing on techniques such as Hamming code, which uses redundant bits to detect and correct errors in data transmission. It explains the process of encoding data into codewords by adding parity bits and outlines the steps for calculating these bits. Additionally, it contrasts backward and forward error correction methods, highlighting the efficiency of Hamming code in automatic error correction.

Uploaded by

Noor Noora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views19 pages

Lecture 12 Error Correction

The document discusses error correction in computer networks, focusing on techniques such as Hamming code, which uses redundant bits to detect and correct errors in data transmission. It explains the process of encoding data into codewords by adding parity bits and outlines the steps for calculating these bits. Additionally, it contrasts backward and forward error correction methods, highlighting the efficiency of Hamming code in automatic error correction.

Uploaded by

Noor Noora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Computer Networks

Error Correction
Table of Contents

 Introduction

Hamming Code

 Redundant Bits

 Parity Bits

 Even & Odd Parity

 Rule of Hamming Encoder/Decoder


Introduction
 Original data is divided into segments of k bits; it is referred to
as Dataword. When we add r redundant bits to each block in order to
make the length; n = k + r then it is referred to as Codeword.
 There are two ways to handle the error correction:
1.Backward Error correction technique
2.Forward Error correction technique
Introduction…
 Backward Error correction technique:

Whenever an error discovered, the receiver can


have the sender in order to retransmit the entire data unit.

 Forward ward Error correction technique:

The receiver can use an error-correcting code


that automatically contains certain errors, for example is Hamming code.
Hamming Code
 Hamming code is a set of error-correction codes that can be used to detect and
correct the errors that can occur when the data is moved or stored from the
sender to the receiver. It is technique developed by R.W. Hamming for error
correction.
General Algorithm of
Hamming code
 The Hamming Code is simply the use of extra parity bits to allow the identification
of an error.

1) Write the bit positions starting from 1 in binary form (1, 10, 11, 100, etc).

2) All the bit positions that are a power of 2 are marked as parity bits (1, 2, 4, 8,
etc.).

3) All the other/remaining bit positions are marked as data bits.


Hamming code….

4) Each data bit is included in a unique set of parity bits, as determined its bit
position in binary form.

a. Parity bit 1 covers all the bits positions whose binary representation includes
a 1 in the least significant position;

(1, 3, 5, 7, 9, 11, etc).

b. Parity bit 2 covers all the bits positions whose binary representation includes
a 1 in the second position from the least significant bit

(2, 3, 6, 7, 10, 11, etc).


Hamming code….

c. Parity bit 4 covers all the bits positions whose binary representation includes a
1 in the third position from the least significant bit;

(4–7, 12–15, 20–23, etc).

d. Parity bit 8 covers all the bits positions whose binary representation includes a
1 in the fourth position from the least significant bit bits;

(8–15, 24–31, 40–47, etc).

e. In general, each parity bit covers all bits where the bitwise AND of the parity
position and the bit position is non-zero.
Hamming code….
5) Since we check for even parity set a parity
bit to 1 if the total number of ones in the
positions it checks is odd.
6) Set a parity bit to 0 if the total number of
ones in the positions it checks is even.
Example
 The redundancy bits are placed at the positions which correspond to the power
of 2. Lets take an example;

 The number of data bits = 7

 The number of redundant bits = 4

 The total number of bits = 11

 The redundant bits are placed at positions corresponding to power of 2 i.e. 0, 1,


2, 4, and 8.
Example….

Let suppose the data to be transmitted is 1011001, the bits will be placed as
follows:
Example….
Step 1: R1 bit is calculated using parity check at all the bits positions whose binary
representation includes a 1 in the least significant position.
R1 bits: 1, 3, 5, 7, 9, 11
Example….
 To find the redundant bit R1, we check for even parity. Since the total number of 1’s in
all the bit positions corresponding to R1 is an even number the value of R1 (parity bit’s
value) = 0
Step 2: R2 bit is calculated using parity check at all the bits positions whose binary
representation includes a 1 in the second position from the least significant bit.
R2: bits 2,3,6,7,10,11
 To find the redundant bit R2, we
check for even parity. Since the
total number of 1’s in all the bit
positions corresponding to R2 is
odd the value of R2(parity bit’s
value)=1
Example….
Step 3: R4 bit is calculated using parity check at all the bits positions whose binary
representation includes a 1 in the third position from the least significant bit.
R4: bits 4, 5, 6, 7
 To find the redundant bit R4, we check for even parity. Since the total number of
1’s in all the bit positions corresponding to R4 is odd the value of R4(parity bit’s
value) = 1
Example….
Step 4: R8 bit is calculated using parity check at all the bits positions whose
binary representation includes a 1 in the fourth position from the least significant
bit.
R8: bit 8,9,10,11
To find the redundant bit R8, we check for even parity. Since the total number of
1’s in all the bit positions corresponding to R8 is an even number the value of
R8(parity bit’s value)=0
Example….
Thus, the data transferred is:

You might also like