You are on page 1of 39

1

DTH2E3 – SISTEM KOMUNIKASI

Linier Block Code (LBC)

Yuyun Siti Rohmah, S.T,.M.T

D3 Teknologi Telekomunikasi - FIT


Posisi Channel Code pada Blok Sistem Komunikasi 2

Digital
3
Dampak menggunakan Channel Coding

•Kinerja vs bandwidth
•Power vs. bandwidth
•Data rate vs. bandwidth PB
•Capacity vs. bandwidth
Coded

A
F
Coding gain:
Reduksi Eb/N0 jika menggunakan skema C B
channel coding untuk mencapai kinerja
tertentu D
E
 Eb   Eb  Uncoded
G [dB]    [dB]    [dB]
 N0 u  N 0 c Eb / N 0 (dB)
4

Channel models

•Discrete memory-less channels


•Discrete input, discrete output
•Binary Symmetric channels
•Binary input, binary output
•Gaussian channels
•Discrete input, continuous output
5

What are Linear Block Codes?


Linear Block Codes
•Information sequence is segmented into message blocks of
fixed length.
•Each k-bit information message is encoded into an n-bit
codeword (n>k)

2
k
Binary Block 2k
k-bit Messages Encoder n-bit DISTINCT
codewords
6

What are Linear Block Codes?

Linear Block Codes


•Modulo-2 sum of any two codewords is ……… also
a codeword
•Each codeword v that belongs to a block code C is a
linear combination of k linearly independent codewords
in C, i.e.,

U=m0.g0+m1.g1+…+mk-1.gk-1
gi=[gi0 gi1 …. gi,n-1]
7

Some definitions
• Binary field :
• The set {0,1}, under modulo 2 binary addition and
multiplication forms a field.

Addition Multiplication
00  0 00  0
0 1  1 0 1  0
1 0  1 1 0  0
11  0 1 1  1
• Binary field is also called Galois field, GF(2).
8

Some definitions…

• Fields :
• Let F be a set of objects on which two operations ‘+’ and ‘.’ are defined.
• F is said to be a field if and only if
1. F forms a commutative group under + operation. The additive identity
element is labeled “0”.

a, b  F  a  b  b  a  F
2. F-{0} forms a commutative group under . Operation. The multiplicative
identity element is labeled “1”.

a, b  F  a  b  b  a  F
3. The operations “+” and “.” distribute:

a  (b  c)  (a  b)  (a  c)
9

Some definitions…

• Vector space:
• Let V be a set of vectors and F a fields of
elements called scalars. V forms a vector
space over F if:
1. Commutative: u, v  V  u  v  v  u  F
2. a  F , v  V  a  v  u  V
3. Distributive:

(a  b)  v  a  v  b  v and a  (u  v )  a  u  a  v

1. Associative:a, b  F , v  V  (a  b)  v  a  (b  v )
2.
v  V, 1  v  v
10

Some definitions…
•Examples of vector spaces
•The set of binary n-tuples, denoted by Vn

V4  {(0000), (0001), (0010), (0011), (0100), (0101), (0111),


(1000), (1001), (1010), (1011), (1100 ), (1101), (1111 )}
•Vector subspace:
•A subset S of the vector space Vis called a subspace if:
n
•The all-zero vector is in S.
•The sum of any two vectors in S is also in S.

Example:
{(0000), (0101), (1010), (1111 )} is a subspace of V4 .
11

Some definitions…
•Spanning set:
•A  
collection of vectors G  g1 , g 2 ,...,, g n v 1 , v 2 ,  , v n 
the linear combinations of which include all vectors in a vector space V,
is said to be a spanning set for V or to span V.
•Example:

(1000), (0110), (1100), (0011), (1001) spans V4 .


•Bases:
•A spanning set for V that has minimal cardinality is called a basis for V.
• Cardinality of a set is the number of objects in the set.
•Example:

(1000), (0100), (0010), (0001) is a basis for V4 .


11
12

Linear block codes


•Linear block code (n,k)
•A set C  Vn with cardinality k
2is called a linear block code if,
and only if, it is a subspace of the vector space V
.n
Vk  C  Vn
•Members of C are called code-words.
•The all-zero codeword is a codeword.
•Any linear combination of code-words is a codeword.
13

Linear block codes – cont’d

mapping Vn
Vk
C

Bases of C
14

Linear block codes – cont’d


•The information bit stream is chopped into blocks of k bits.
•Each block is encoded to a larger block of n bits.
•The coded bits are modulated and sent over channel.
•The reverse procedure is done at the receiver.

Channel
Data block Codeword
encoder
k bits n bits

n-k Redundant bits


k
Rc  Code rate
n
15

Linear block codes – cont’d


•The Hamming weight of vector U, denoted by w(U), is the
number of non-zero elements in U.
•The Hamming distance between two vectors U and V, is the
number of elements in which they differ.
d (U, V )  w(U  V )
•The minimum distance of a block code is

d min  min d (U i , U j )  min w(U i )


i j i
16

Linear block codes – cont’d


•Error detection capability is given by

e  d min  1
•Error
correcting-capability t of a code, which is defined as the
maximum number of guaranteed correctable errors per
codeword, is
 d min  1
t 
 2 
17

Linear block codes – cont’d


•Formemory less channels, the probability that the decoder commits an
erroneous decoding is n
n
PM    j  p j
(1  p ) n j

j t 1  
•p is the transition probability or bit error probability over channel.
•The decoded bit error probability is

1 n
n j
PB   j   p (1  p ) n j

n j t 1  j
18
Linear block codes – cont’d
•Discrete, memoryless, symmetric channel model
1 1-p 1
p
Tx. bits Rx. bits
p
0 1-p 0
•Note that for coded systems, the coded bits are modulated and transmitted over
channel. For example, for M-PSK modulation on AWGN channels (M>2):

2  2log 2 M Ec     2  2log 2 M Eb Rc    


p Q sin     Q sin  
log
where 2 M  N  M  
is energy per coded bit, given by
0 log 2 M  N0  M 

Ec Ec  Rc Eb
19

Linear block codes –cont’d


mapping Vn
Vk
C

Bases of C

{V1 , V2 ,  , Vk }
•A matrix G is constructed by taking as its rows the vectors on the basis,
.

 v11 v12  v1n 


 V1   
   v 21 v22  v2 n 
G    
   
Vk   
 vk 1 vk 2  vkn 
20

Linear block codes – cont’d


•Encoding in (n,k) block code

U  mG  V1 
V 
(u1 , u2 ,  , un )  (m1 , m2 ,  , mk )   2

 
 
Vk 
(u1 , u2 ,  , un )  m1  V1  m2  V2    m2  Vk
•The rows of G, are linearly independent.
21

Linear block codes – cont’d

Message vector
(m) Codeword (U)
•Example: Block code (n,k)=(6,3)
000 000000
 g1   V1  1 1 0 1 0 0 100 110100
    
G   g 2    V2    0 1 1 0 1 0
010 011010
 g 3   V3  1 0 1 0 0 1
110 1 01 1 1 0
001 1 01 0 0 1
101 0 111 0 1
011 1 1 0 011
111 0 0 0 111
Example: Block code (n,k)=(7,4) 22

Message (m) Codeword


0000 0000000
0001 1010001 g3
 g0  1 1 0 1 0 0 0
 g  0 1 1 0 1 0 0  0010 1110010 g2
G=  1
  0011 0100011
g2  1 1 1 0 0 1 0
    0100 0110100 g1
 g3  1 0 1 0 0 0 1
0101 1100101
0110 1000110
m= [0 1 1 0]
0111 0010111
1000 1101000 g0
Linear Block Encoder 1001 0111001
(U=m.G) 1010 0011010
1011 1001011
1100 1011100
U= g1+g2 1101 0001101
U= [1 0 0 0 1 1 0] 1110 0101110
1111 1111111
23
Example
 g0  1 1 0 1 0 0 0
 g  0  Linearly
0 1 0 1 1 1
G=  1
  Dependent
g2  1 1 1 1 1 1 1
   
 g3  1 0 1 0 0 0 1

m= [0 1 1 1] m= [1 0 0 1]

Block Encoder Block Encoder


(U=m.G) (U=m.G)

U= g1+g2+g3 NOT DISTINCT U= g0+g3


U= [0 1 1 1 0 0 1] U= [0 1 1 1 0 0 1]
24

Linear Systematic Block Codes


n-k bits k bits

Redundant Checking Message


Part Part

 p 00 p 01 ... p 0 ,n k 1 1 0 ... 0 
 p p11 ... p1,n k 1 
0 1 ... 0 
 10

 . . . . . .
G=P Ik    
 . . . . . .
 . . . . . .
 
 p k 1, 0 p k 1,1 ... p k 1,n k 1 0 0 ... 1 
p-matrix kxk- identity matrix
The Parity Check Matrix
25

•Forany 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

 1 0 ... 0 p 00 p 01 ... p k 1,0 


 0 1 ... 0 p 01 p11 ... p k 1,1 
 
 . . . . . . 
H=Ik P   
T

 . . . . . . 
 . . . . . . 
 
 0 0 ... 1 p 0 ,n k 1 p1,n k 1 ... pk 1,n k 1 
26

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 
27

Encoding Circuit 1
0
G
1 0 1 0 0 0
1 1 0 1 0 0 

1 1 1 0 0 1 0
 
1 0 1 0 0 0 1

Input m Message Register


m0 m1 m2 m3
To channel
Output u

+ + +
p0 p1 p2

Parity Register
[m0 m1 m2 m3] [p0 p1 p2 m0 m1 m2 m3]
Encoder Circuit
28

Syndrome
•Characteristic of parity check matrix (H)

r .H  0
T
r C
r .H  0
T r C
U Channel r Syndrome
U r=U+e T
+ s=r.H
e Error Pattern
29
Linear block codes – cont’d

Data source Format


m Channel U Modulation
encoding
channel
Channel
Data sink Format Demodulation
decoding
m̂ r Detection

Syndrome testing:
S is syndrome of r, corresponding to the error pattern e.

S  rH  eH
T T
r  Ue

r  (r1 , r2 ,...., rn ) received codeword or vector


e  (e1 , e2 ,...., en ) error pattern or vector
30

Linear block codes – cont’d


• Standard array
nk
• For row i  2,3,...,2 , find a vector in Vofn minimum
weight which is not already listed in the array.
• Call this pattern eand i form the i : th
row as the
corresponding coset

zero
U1 U2  U 2k
codeword
e2 e2  U 2  e 2  U 2k
coset
   
e 2 n k e 2 n k  U 2  e 2 n k  U 2 k
coset leaders
31

Linear block codes – cont’d


• Standard array and syndrome table decoding
1. Calculate
S leader,
2. Find the coset rH T
, corresponding to .
3. Calculate eˆ 
and ei
corresponding . S

• Note that ˆ
U  r  eˆ m̂
• If , error is corrected.
• If ,Uˆundetectable
 r  eˆ  (Udecoding
 e)  eˆ error
 U occurs.
(e  eˆ )
eˆ  e
eˆ  e
32

Linear block codes – cont’d


•Example: Standard array for the (6,3) code
codewords

000000 110100 011010 101110 101001 011101 110011 000111


000001 110101 011011 101111 101000 011100 110010 000110
000010 110111 011000 101100 101011 011111 110001 000101
000100 110011 011100 101010 101101 011010 110111 000110
001000 111100   
010000 100100
coset
100000 010100 
010001 100101   010110

Coset leaders
33

Linear block codes – cont’d

Error pattern Syndrome

000000 000 U  (101110) transmitted.


000001 101
r  (001110) is received.
000010 011
000100 110
The syndrome of r is computed :
001000 001 S  rH  (001110) H  (100)
T T

010000 010 Error pattern corresponding to this syndrome is


100000 100
eˆ  (100000)
010001 111
The corrected vector is estimated
Uˆ  r  eˆ  (001110)  (100000)  (101110)
Syndrome Circuit
34

r0 r1 r2 r3 r4 r5 r6

+ + + 1 0 0
0 1 0 
 
0 0 1
s0 s1 s2 
H  1
T 
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 
Hamming codes
35

• Hamming codes
• Hamming codes are a subclass of linear block codes and
belong to the category of perfect codes.
•Hamming codes are expressed as a function of a single integer
. m2
Code length : n  2 1m

Number of information bits : k  2  m  1


m

Number of parity bits : n-k  m


Error correction capability : t  1 Richard Hamming

•The columns of the parity-check matrix, H, consist of all non-


zero binary m-tuples.
36

Hamming codes
Systematic Hamming code (7,4)
•Example:

1 0 0 0 1 1 1
 
H  0 1 0 1 0 1 1  [I 33 T
P ]
0 0 1 1 1 0 1
0 1 1 1 0 0 0 
1 0 1 0 1 0 0
G   [P I 44 ]
1 1 0 0 0 1 0
 
1 1 1 0 0 0 1 
37

Example of the block codes

PB
8PSK

QPSK

Eb / N 0 [dB]
38

REFERENSI

• Sklar, Bernard, [1978]. Digital Communication Fundamental & Aplications,


Prentice-Hall International Inc., New Jersey USA.
• Communication System , 4 th Edition, Simon Haykin, Wiley.
39

TERIMA KASIH

You might also like