Sie sind auf Seite 1von 14

WHY DO WE USE ERROR

CORRECTING CODE?
1.

Because the error during transmission , the interference and the


noise are inevitable, it leads to corruption transmitted.

2. So the ECC is a technique used for controlling


errors in data transmission over unreliable or
noisy communication
channels. To make the probability of error less
and make the channel more reliable.

HAMMING
CODE
DONE BY :

ERROR CORRECTION

Two basic Approaches :


1. Backward error correction :

When an error is detected in frame, the sender is asked to resend


the data. This known as Automatic Repeat Request.

2. Forward error correction :


Use more redundancy in the transmitted data to not only detect, but
also correct the error in the received data.

KEY IDEA
Requirement for error detection:
A code is an error-detecting code if and
only if the minimum distance between any
two code words is two.
Requirement for error correction :
For a code to be error-correcting, the
minimum distance between any two code
words must be more than two.
Number of additional bits should be :
such that it can point the position of the bit in
error. if k is the number of additional bits, the
condition is (2^K)>=m+k+1

The American mathematician Richard Hamming has


invented the first error-correcting code in 1950, Hamming code.

Block code example:

Information

Codeword

00

000101

01

010010

10

101101

11

111010

All that we need to know is modulo 2 addition, :


00=0 10=1 01=1 11=0

Message digits : C1 C2 C3 C4

Codeword

: C1 C2 C3 C4 C5 C6 C7

Parity Check Equations:


C1 C2 C3 C5 = 0
C1 C3 C4 C6 = 0
C1 C2 C4 C7 = 0

Number of Data Bits


(m)

Numer of Redundancy
Bits
(k)

Total Bits
(m+k)

HAMMING BINARY BLOCK CODE


WITH K=3 AND N=7
HAMMING (7,3)CODE

Message: (C1 C2 C3 C4 ) = (0 1 1 0)

C7=1

C6=1
Resultant code word: 0 1 1 0 0 1 1

C5=0

Transmitted code word: 0 1 1 0 0 1 1

Received block with one error in a


message bit: 0 1 0 0 0 1 1

There is an error in right circle.

There is an error in bottom circle


There is no error in left circle.
Therefore the error is in the third

digit!

So it will be corrected

Transmitted code word: 0 1 1 0 0 1 1


Received block with one error in a
message bit: 0 1 10 0 0 1

There is no error in right circle.


There is an error in bottom circle
There is no error in left circle.
The 6th digit is in error!

So it will be corrected

We have seen that, the HAMMING (7,4) CODE technique will work
for any single error

Transmitted code word: 0 1 1 0 0 1 1


Received block with two errors in a
message bit: 1 1 10 0 0 1

There is an error in right circle.


There is no error in bottom

circle
There is an error in left circle.
The 2nd digit is in error.
Wrong!!

Das könnte Ihnen auch gefallen