Seminar Final
Seminar Final
ADWIP KASHYAP
Roll No-MSI20012
Tezpur University
1 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Outline
1 Introduction
2 Pre-requisite
3 Encoding
4 Error detection
5 Error Correction
6 Applications
2 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Introduction
3 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Pre-requisite
Coding
A coding is a rule that assigns each source symbol by exactly one
code word uniquely.
4 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Pre-requisite
Coding
A coding is a rule that assigns each source symbol by exactly one
code word uniquely.
Block Code
A block code of length n is a subset of n - tuples over q - code
symbols.
4 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Pre-requisite
Coding
A coding is a rule that assigns each source symbol by exactly one
code word uniquely.
Block Code
A block code of length n is a subset of n - tuples over q - code
symbols.
Code Rate
The code rate of a code of length n where information bits is K is
defined by
C = Kn
4 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Pre-requisite
Binary Symmetric Channel
One simple communication channel is Binary Symmetric Channel
(BSC).
Pre-requisite
Hamming Distance
For a given two words, U = (u1 , u2 , · · · , un ) and
V = (v1 , v2 , · · · , vn ) then the Hamming Distance is defined as
d(U, V ) = Number of indices, where i = 1, 2, 3 · · · , n with ui ̸= vi .
For example: U = (1, 2, 0, 3) and V = (0, 2, 1, 3) then d(U, V ) = 2
6 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Pre-requisite
Hamming Distance
For a given two words, U = (u1 , u2 , · · · , un ) and
V = (v1 , v2 , · · · , vn ) then the Hamming Distance is defined as
d(U, V ) = Number of indices, where i = 1, 2, 3 · · · , n with ui ̸= vi .
For example: U = (1, 2, 0, 3) and V = (0, 2, 1, 3) then d(U, V ) = 2
Minimum Distance
The minimum distance of a block code is the smallest of all
distances between any two codewords. In other words, if C is a
block code of length n, then the minimum distance of C is defined
as
d(C ) = min{d(u, v )| u, v ∈ C }
6 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Encoding of Codewords
0 −→ 000
1 −→ 111
7 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Encoding of Codewords
Now due to some noises in the channel, let the received codeword
be 111 010 110 000. If we perform the decoding process now, then
we get
8 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Encoding of Codewords
But, when the received codeword is 010 111 001 000 then
From the above example, it can be seen that the decoding can
take place correctly if only at most single component get disturbed
and decode incorrectly if at least two components get disturbed.
Perr (K3 ) = p 3 + 3p 2 (1 − p)
9 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Encoding of Codewords
0 −→ 00000
1 −→ 11111
10 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Encoding of Codewords
Perr → 0 as n → ∞
11 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Encoding of Codewords
12 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Better Code
Let us consider a code
Information Bits Codeword
000 000 000
100 100 011
010 010 101
001 001 110
101 101 101
110 110 110
111 111 111
This code has a capability of correcting only single errors. Its code
rate R is
3 1
R= 6 = 2
13 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Better Code
If p=0.001, then
Hence, this code is better than K3 from code rate point of view
and not from error probability point of view.
14 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Error Detection
Error Detection
The error detection concept is based on the idea that if we receive
a word and if received word is not a codeword. We call it detection
of error.
A code is said to detect t or less errors if for each codeword u, the
received word u’, obtained from u by disturbing t or less
components is not a codeword.
15 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Theorem
A code C detect t or less errors if and only if the distance of the
code C is greater than t.
d(u, v ) ≤ t
16 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
d(C ) > t
17 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
d(u, w ) ≤ t
18 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Example
Example
If C1 = {0000, 1100, 0011, 1111} then we can see that
d(C1 ) = 2. So, C1 can detect all single errors.
19 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Example
Example
If C1 = {0000, 1100, 0011, 1111} then we can see that
d(C1 ) = 2. So, C1 can detect all single errors.
Example
If C2 = {11101, 01110, 11001} then we can see that d(C2 ) = 1.
So, C2 can detect zero or no errors.
19 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Error Correction
Error Correction
Error correction of a code is done by maximum likely hood
decoding method.
If w is the received vector. We compute the disturbances of all
codewords with w and pick that codewords as the same codeword
which has the smallest disturbance. This is called maximum likely
hood decoding.
20 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Theorem
A code C corrects all t or less errors if and only if the distance of
the code C is greater than 2t.
Let d(C ) > 2t, we need to prove that the code correct all t or less
errors. Let u be the sent codeword and w be the received vector
after t or less errors.
d(u, w ) ≤ t
21 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
d(C ) > 2t
22 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Case 2: If t + 1 ≤ d(u, v ) ≤ 2t
Let u = (u1 , u2 , u3 , · · · ut , ut+1 , · · · u2t , 0, 1, 2, · · · )
v = (v1 , v2 , v3 , · · · vt , vt+1 , · · · v2t , 0, 1, 2, · · · )
u ′ = (v1 , v2 , v3 , · · · vt , ut+1 , · · · u2t , 0, 1, 2, · · · )
The distance between u and u’ is d(u, u ′ ) = t and
d(v , u ′ ) ≤ t.
So, d(v , u ′ ) ≤ d(u, u ′ ).
23 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
d(C ) > 2t
24 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Example
Example
If C1 = {0000, 1001, 0011, 1111} then we can see that
d(C1 ) = 2. So, C1 cannot correct any errors.
25 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Example
Example
If C1 = {0000, 1001, 0011, 1111} then we can see that
d(C1 ) = 2. So, C1 cannot correct any errors.
Example
If C2 = {10001, 11111} then we can see that d(C2 ) = 3. So, C2
can correct all single errors.
25 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
Applications
26 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
References
27 / 28
Introduction Pre-requisite Encoding Error detection Error Correction Applications References
THANK YOU
28 / 28