Linear Block Codes PDF
Linear Block Codes PDF
• Channel coding:
– Transforming signals to improve communications
performance by increasing the robustness against
channel impairments (noise, interference, fading, ..)
– Waveform coding: Transforming waveforms to
better waveforms
– Structured sequences: Transforming data
sequences into better sequences, having structured
redundancy.
• “Better” in the sense of making the decision process less
subject to errors.
Slide 2
Error control techniques
• Automatic Repeat reQuest (ARQ)
– Full-duplex connection, error detection codes
– The receiver sends a feedback to the transmitter, saying that
if any error is detected in the received packet or not (Not-
Acknowledgement (NACK) and Acknowledgement (ACK),
respectively).
– The transmitter retransmits the previously sent packet if it
receives NACK.
• Forward Error Correction (FEC)
– Simplex connection, error correction codes
– The receiver tries to correct some errors
• Hybrid ARQ (ARQ+FEC)
– Full-duplex, error detection and correction codes
Slide 3
Why using error correction coding?
– Error performance vs. bandwidth
– Power vs. bandwidth
– Data rate vs. bandwidth PB
A
Coding gain: F
Slide 4
Channel models
• Discrete memory-less channels
– Discrete input, discrete output
• Binary Symmetric channels
– Binary input, binary output
• Gaussian channels
– Discrete input, continuous output
Slide 5
Some definitions
• Binary field :
– The set {0,1}, under modulo 2 binary addition and
multiplication forms a field.
Addition Multiplication
00 0 00 0
0 1 1 0 1 0
1 0 1 1 0 0
11 0 1 1 1
Slide 6
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”.
• 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:
Commutative:
u, v V u v v u F
Distributive:
a F , v V a v u V
Associative:
(a b) v a v b v and a (u v ) a u a v
a, b F , v V (a b) v a (b v )
v V, 1 v v
Slide 8
Linear block codes
Slide 9
Linear block codes – cont’d
mapping Vn
Vk
C
Bases of C
Slide 10
Linear block codes – cont’d
Channel
Data block Codeword
encoder
k bits n bits
Slide 11
Linear block codes – cont’d
Slide 12
Linear block codes – cont’d
e d min 1
d min 1
t
2
Slide 13
Linear block codes – cont’d
1 n
n j n j
PB
n
j
j t 1 j
p (1 p )
Slide 14
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 2log 2 M Ec 2 2log 2 M Eb Rc
p Q sin Q sin
log 2 M N0 M log 2 M N0 M
Slide 15
Linear block codes –cont’d
mapping Vn
Vk
C
Bases of C
– A matrix G is constructed by taking as its rows the
vectors on the basis, {V1 , V2 , , Vk }
v 11 v 12 v1 n
V1
v 21 v 22 v 2 n
G
V k
vk1 vk 2 v kn
Slide 16
Linear block codes – cont’d
U mG V1
V
(u1 , u2 , , u n ) (m1 , m2 , , mk ) 2
Vk
(u1 , u2 , , u n ) m1 V1 m2 V2 m2 Vk
Slide 17
Linear block codes – cont’d
• Example: Block code (6,3)
Message vector Codeword
000 000000
V1 1 1 0 1 0 0 100 110100
G V 2 0 1 1 0 1 0 010 011010
V 3 1 0 1 0 0 1 110 1 01 1 1 0
001 1 01 0 0 1
101 0 11 1 0 1
011 1 1 0 011
111 0 0 0 1 11
Slide 18
Linear block codes – cont’d
G [P I k ]
I k k k identity matrix
Pk k (n k ) matrix
Slide 19
Linear block codes – cont’d
Slide 20
Linear block codes – cont’d
Data source Format
m Channel U Modulation
encoding
channel
Channel Demodulation
Data sink Format
decoding r Detection
m̂
r Ue
r (r1 , r2 ,...., rn ) received codeword or vector
e (e1 , e2 ,...., en ) error pattern or vector
• Syndrome testing:
– S is syndrome of r, corresponding to the error pattern e.
S rHT eHT
Slide 21
Linear block codes – cont’d
Slide 22
Hamming codes
• 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
.
m2
Code length : n 2m 1
Number of information bits : k 2 m m 1
Number of parity bits : n-k m
Error correction capability : t 1
Slide 23
Hamming codes
Slide 25
Cyclic block codes
U (1101)
U (1) (1110) U ( 2) (0111) U (3) (1011) U ( 4) (1101) U
Slide 26
Cyclic block codes
Received r ( X ) U ( X ) e( X ) Error
codeword pattern
r ( X ) q ( X )g ( X ) S ( X ) Syndrome
– With syndrome and Standard array, error is estimated.
Slide 27
Example of the block codes
PB
8PSK
QPSK
Eb / N 0 [dB]
Slide 28