ICT - Module 2 Lecture 11
ICT - Module 2 Lecture 11
Module 2
By
Dr Akriti Nigam
Computer Science & Engineering
Department
BIT, Mesra
1
Digital Communication Systems
Source of User of
Information Information
Source Source
Encoder Decoder
Channel Channel
Encoder Decoder
Modulator De-Modulator
Channel
2
Error Control Coding
2k Binary Block 2k
k-bit Messages Encoder n-bit DISTINCT
codewords
4
What are Linear Block Codes?
5
Linear Independence
A set of vectors g0, g1,…, gk-1 are linearly independent if
there exists no scalars u0, u1,…, uk-1 that satisfy
Examples
[0 1 0 ], [1 0 1], [1 1 1] are ………
Linearly Dependent
[0 1 0 ], [1 0 1], [0 0 1] are ………
Linearly Independent
6
Linear Block Codes
Stores k linearly independent codewords
Encoding process through linear combination of codewords g0, g1,
…, gk-1 based on input message u=[u0, u1,…, uk-1]
g0 g 00 g 01 ... g 0 ,n 1
v=u.G g g
1
. .
10 g 11 ... g1,n 1
. .
G= . . .
.
. . . .
gk 1 g k 1, 0 g k 1,1 ... g k 1,n 1
Generator Matrix
7
• Let v = (v0, v1, ..., vn-1 ) be a binary n-tuple, the
Hamming weight (or simply weight) of v, denote by
w(v), is defined as the number of nonzero components of v
• For example, the Hamming weight of v = (1 0 0 0 1 1 0) is 3
• Let v and w be two n-tuple, the Hamming distance
between v and w, denoted d(v,w), is defined as the
number of places where they differ.
• For example, the Hamming distance between v = (1001011) and
w = (0100011) is 3
8
Example Message Codeword
0000 0000000
g0 1 1 0 1 0 0 0 0001 1010001 g3
g 0 1 1 0 1 0 0 0010 1110010 g2
G= 1
g2 1 1 1 0 0 1 0 0011 0100011
0100 0110100 g1
g3 1 0 1 0 0 0 1
0101 1100101
0110 1000110
u= [0 1 1 0] 0111 0010111
1000 1101000 g0
1001 0111001
Linear Block
Encoder (v=u.G) 1010 0011010
1011 1001011
1100 1011100
v= [1 0 0 0 1 1 0] 1110 0101110
1111 1111111
9
Example
g0 1 1 0 1 0 0 0
g 0 0 1 0 1 1 1 Linearly
G= 1 Dependent
g2 1 1 1 1 1 1 1
g3 1 0 1 0 0 0 1
u= [0 1 1 1] u= [1 0 0 1]
10
Linear Systematic Block Codes
n-k bits k bits
11
The Parity Check Matrix
For any k x n matrix G with k linearly independent rows,
there exists an (n-k) x n matrix H (Parity Check Matrix),
such that
G.HT=0
12
Example
1 1 0 1 0 0 0
0 1 1 0 1 0 0
G
1 1 1 0 0 1 0
1 0 1 0 0 0 1
1 0 0 1 0 1 1
H 0 1 0 1 1 1 0
0 0 1 0 1 1 1
13
Encoding Circuit 1
0
1
1
0
1
1
0
0
1
0
0
0
0
G
1 1 1 0 0 1 0
1 0 1 0 0 0 1
Output v
+ + +
v0 v1 v2
Parity Register
14
Syndrome
Characteristic of parity check matrix (H)
T
v.H 0 vC
T
v.H 0 vC
v Channel r Syndrome
v r=v+e T
+
s=r.H
e Error Pattern
15
Error Detection
s0 rC
r is NOT a codeword
16
Undetectable Error Patterns
s0 rC
Can we be sure that r=v ??
NO! WHY?
eC rC
17
Syndrome Circuit
r0 r1 r2 r3 r4 r5 r6
+ + + 1 0 0
0 1 0
s0 s1 s2 0 0 1
HT 1 1 0
s 0 r 0 r3 r5 r 6 0 1 1
s 1 r1 r3 r 4 r5
1 1 1
s 2 r 2 r 4 r5 r 6 1 0 1
18
19
Binary Field: The set K = {0, 1} is a binary field. The binary field has two
operations, addition and multiplication
Addition
Multiplication
Error Detection and Correction Capabilities:
The minimum distance dmin of a linear code C determines the error
20
detection and correction capabilities of C.
A linear code C of minimum distance dmin can detect up to t errors iff
where e is called the error pattern. Consider first the case of a single error
in the ith position. Then,
Evaluate as
Using s and noting that is the ith row of HT, we can identify the
error position by comparing s to the rows of HT.
Note that the zero syndrome indicates that r is a codeword and is
presumably correct.
Let v = (v0, v1, , ..., vn-1 ) be a code word that was 22
1 1 0 1 0 0 1 s
3= (0000100). HT=100
s
4= (0001000). HT=011
s
5= (0010000). HT=110
s
6= (0100000). HT=111
s
7= (1000000). HT=101
Syndrome= r. HT =(1001000). HT
=110
From syndrome table 110=e(0010000)
Hence corrected codeword is computed by flipping the 3rd bit from
left in r i.e r=1011000
26
Decoding
0110
1100
0001
0010 1
1001
1
0000 1010
1000
2
0101
0100
0011
28
*Noise capable of flipping 1 bit
E_det= w-1
E_cor=floor(w-1/2)
29
E_det= 2
E_cor=1
Hamming Bound/ Sphere Packing
30
Bound
Hamming Bound/ Sphere Packing
31
Bound
t
32
If you have vectors v1, v2, ..., vn, to find a basis for
the span of the given vector, following steps are
to be followed:
Construct the matrix of vectors
Transform the matrix into reduced row echelon form
Identify the vectors in the original matrix
corresponding to the columns, in the reduced
matrix that contain leading 1’s (the first nonzero
element in the row is a 1)
34
35