Linear block codes – cont’d For memory less channels, the probability that the decoder commits an erroneous decoding is is the transition probability or bit error probability over cha
Trang 1Digital Communications I:
Modulation and Coding Course
Period 3 - 2007 Catharina Logothetis
Lecture 9
Trang 2Last time we talked about:
Evaluating the average probability of
symbol error for different bandpass
modulation schemes
Comparing different modulation schemes based on their error performances.
Trang 3Today, we are going to talk about:
Channel coding
Linear block codes
Trang 4Bandpassmodulate
Trang 5 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.
What is channel coding?
Trang 6Error control techniques
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
Simplex connection, error correction codes
The receiver tries to correct some errors
Hybrid ARQ (ARQ+FEC)
Trang 7Why using error correction coding?
(dB) /N0
E b
B
P
A F
B
D C
E
Uncoded
Coded
Coding gain:
For a given bit-error probability,
the reduction in the Eb/N0 that can be
realized through the use of code:
[dB]
[dB]
[dB]
c 0 u
E
Trang 8Channel models
Discrete memory-less channels
Binary Symmetric channels
Gaussian channels
Trang 9Linear block codes
Let us review some basic definitions first which are useful in understanding Linear block codes.
Trang 10Some definitions
Binary field :
addition and multiplication forms a field
0 1 1
1 0 1
1 1 0
0 0 0
0 0 1
0 1 0
0 0 0
Trang 11Some definitions…
Fields :
operations ‘+’ and ‘.’ are defined
1 F forms a commutative group under + operation
The additive identity element is labeled “0”
1 F-{0} forms a commutative group under
Operation The multiplicative identity element is labeled “1”
1 The operations “+” and “.” distribute:
F a
b b
a F
b
∀ ,
F a
b b
a F
b
∀ ,
)(
)(
)
Trang 12Some definitions…
Vector space:
Let V be a set of vectors and F a fields of
elements called scalars V forms a vector space
v V
v u
v v
v = ⋅ + ⋅ ⋅ + = ⋅ + ⋅
⋅
a ) and ( )(
)(
,
v v
V
v∈ ⋅ =
∀ , 1
Trang 13Some definitions…
Examples of vector spaces
The set of binary n-tuples, denoted by
A subset S of the vector space is called a
subspace if:
The all-zero vector is in S.
The sum of any two vectors in S is also in S.
Example:
ofsubspacea
is )}
1111(
),1010(
),0101(
),0000
),1101(
),1100(
),1011(
),1010(
),1001(
),1000(
),0111(
),0101(
),0100(
),0011(
),0010(
),0001(
),0000{(
4 =
V
Trang 14Some definitions…
A collection of vectors ,
the linear combinations of which include all vectors in
a vector space V, is said to be a spanning set for V or
Trang 15Linear block codes
Linear block code (n,k)
linear block code if, and only if, it is a
subspace of the vector space
Members of C are called code-words
The all-zero codeword is a codeword
Any linear combination of code-words is a codeword
Trang 16Linear block codes – cont’d
Trang 17Linear 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
rateCode
bitsRedundant
n
k R
n-k
c =
Trang 18Linear block codes – cont’d
w(U), is the number of non-zero elements in
U.
U and V, is the number of elements in which
they differ
) (
) ( U, V = w U ⊕ V
d
)(
min)
,(min
≠
Trang 19Linear block codes – cont’d
defined as the maximum number of
guaranteed correctable errors per codeword, is
1
min −
= d
e
Trang 20Linear block codes – cont’d
For memory less channels, the probability that the decoder commits an erroneous decoding is
is the transition probability or bit error probability over channel
The decoded bit error probability is
j n j
n
t j
n
j
n j n
Trang 21Linear block codes – cont’d
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):
where is energy per coded bit, given by
R E M Q
M M
N
E M Q
M
sin log
2 log
2 sin
log 2 log
2
0
2
2 0
Trang 22Linear block codes –cont’d
rows the vectors on the basis,
} ,
, , {V1 V2 K Vk
v
v v
v
M O
11 1
V G
Trang 23Linear block codes – cont’d
Encoding in (n,k) block code
mG
k n
k
k n
m m
m u
u u
m m
m u
u u
V V
V
V
V V
⋅ +
+
⋅ +
2 1
1 2
1
2 1
2 1 2
1
) , , , (
) ,
, ,
( ) , , , (
K K
M K
K
Trang 24Linear block codes – cont’d
Example: Block code (6,3)
0 1 0
0 0 1
1 1 0
0 1 1
1 0 1
3 2 1
V V
V G
1 1 0 0 1 1 1
1 0
1 1 0
0 0 1
1 0 1
1 1 1
1 0 0
0 1
1 1
1 0
0 0 1
1 0 1
0 0 0
1 0 0
0 1 0
1 0 0
1 1 0
0 1
0 0
0 0
1 0 0
0 1 0
Message vector Codeword
Trang 25Linear block codes – cont’d
Systematic block code (n,k)
elements in the codeword are information bits.
matrix
) (
matrix identity
] [
k n
k
k k
k k
I P
G
) , ,
, ,
, , ,
( )
, , ,
(
bits message
2 1
bits parity
2 1
2 1
4 43 4
42 1
4
4 3 4
4 2
n p p p m m m u
u
=
U
Trang 26Linear block codes – cont’d
For any linear code we can find an
matrix , such that its rows are orthogonal to the rows of :
H is called the parity check matrix and
its rows are linearly independent.
For systematic linear block codes:
n k
n− ) × (
H =
Trang 27Linear block codes – cont’d
error
) , , ,
(
or vector codeword
received
) , , ,
(
2 1
2 1
n
n
e e
e
r r
r = +
T T
eH rH
S = =
Trang 28Linear block codes – cont’d
Standard array
For row , find a vector in of minimum
weight which is not already listed in the array.
Call this pattern and form the row as the
corresponding coset
k k
n k
n k
n
k k
2
2 2
2 2
2
2 2
1
U e
U e
e
U e
U e
e
U U
L M
i = 2,3, ,2 − V n
i
e i : th
Trang 29Linear block codes – cont’d
1 Calculate
2 Find the coset leader, , corresponding to
3 Calculate and corresponding
Uˆ = + ˆ mˆ
) ˆ ˆ
( ˆ
Trang 30Linear block codes – cont’d
Example: Standard array for the (6,3) code
010110 100101
010001
010100 100000
100100 010000
111100 001000
000110 110111
011010 101101
101010 011100
110011 000100
000101 110001
011111 101011
101100 011000
110111 000010
000110 110010
011100 101000
101111 011011
110101 000001
000111 110011
011101 101001
101110 011010
110100 000000
L L
M
M M
M
coset
codewords
Trang 31Linear block codes – cont’d
111 010001
100 100000
010 010000
001 001000
110 000100
011 000010
101 000001
000 000000
(101110) (100000)
(001110) ˆ
ˆ
estimated is
vector corrected
The
(100000) ˆ
is syndrome this
to ing correspond pattern
Error
(100) (001110)
: computed is
of syndrome The
received.
is (001110)
ted.
transmit (101110)
= +
= +
H rH
S
r r
U
T T
Error pattern Syndrome
Trang 32m k
n
m m
1
: capability correction
Error
:
bits parity of
Number
1 2
: bits
n informatio of
Number
1 2
:
length Code
Trang 33Hamming codes
Example: Systematic Hamming code (7,4)
] [
1 0
1 1
1 0
0
1 1
0 1
0 1
0
1 1
1 0
0 0
1
3 3
T
P I
1 0
0 0
1 1
1
0 1
0 0
0 1
1
0 0
1 0
1 0
1
0 0
0 1
1 1
0
4 4×
Trang 34Cyclic block codes
Cyclic codes are a subclass of linear
block codes.
Encoding and syndrome calculation are easily performed using feedback shift-
registers.
implemented with a reasonable complexity.
BCH and Reed-Solomon codes are cyclic codes
Trang 35Cyclic block codes
A linear (n,k) code is called a Cyclic code
if all cyclic shifts of a codeword are also a codeword.
Example:
) , ,
, ,
, , ,
, (
) , ,
, ,
(
1 2
1 0
1 1
) (
1 2
1 0
−
−
− +
i n i
n i
n
u u
u u
u u
u
u u
u u
U
U U
U U
) 1011 (
) 0111 (
) 1110 (
) 1101 (
) 4 ( )
3 ( )
2 ( )
1 (
Trang 36Cyclic block codes
Algebraic structure of Cyclic codes, implies expressing codewords in polynomial form
Relationship between a codeword and its cyclic shifts:
Hence:
) 1 (
degree
) (
, )
(
1
) 1 (
) 1 (
1 1
) (
1 2
2 1 0
1
1
1 2
2 1 0
1 )
1 (
+ +
=
+ +
+ + +
+
=
+ +
X u
n
n n
X
n n
n
n n
n n
X u
X
u X
u X
u X
u X u u
X u
X u
X u X u X
X
n n
U
U
U
4 43 4
42 1
4 4 4 4 4
4 4 4 4
1
) 1 (
modulo )
( )
(
) 1
X X
X
U
Trang 37Cyclic block codes
Basic properties of Cyclic codes:
1 Within the set of code polynomials in C, there
is a unique monic polynomial with minimal degree is called the generator polynomials
1 Every code polynomial in C, can be
g g
n
X
Trang 38Cyclic block codes
The orthogonality of G and H in polynomial
form is expressed as This means is also a factor of
1 The row , of generator matrix is
formed by the coefficients of the cyclic
shift of the generator polynomial
g g
g
g g
g
X X
X X X
L
O O
O O
L L
M
1 0
1 0
1 0
1
) (
) (
1)
()
X X
X h
g
1+
i, =1, ,
"
1
"i −
Trang 39Cyclic block codes
Systematic encoding algorithm for an
(n,k) Cyclic code:
1 Multiply the message polynomial by
1 Divide the result of Step 1 by the generator
polynomial Let be the reminder
1 Add to to form the codeword
( X
U
Trang 40Cyclic block codes
Example: For the systematic (7,4) Cyclic code
with generator polynomial
1 Find the codeword for the message
1 ) ( )
( )
(
: polynomial codeword
the Form
1 )
1 ( 1
(
: (
by ) ( Divide
) 1
( )
( )
(
1 ) ( )
1011 (
3
, 4
, 7
6 5
3 3
) ( remainder generator
3 quotient
3 2
6 5
3
6 5
3 3
2 3
3
3 2
4 42 1 43
42 1
4 4
4 3 4
4 2 1
+ +
+
= +
=
+ +
+ +
+ +
= +
+
+ +
= +
+
=
=
+ +
U
g m
m m
m m
p g
q
X X
X X
X X
X
X X X
X X X
X X
X) X
X
X X
X X
X X
X X
X X
X X
X
k n k
n
X (X)
(X)
k n
k n
)1011(
=
m
3
1)(X = + X + X
g
Trang 41Cyclic block codes
Find the generator and parity check matrices, G and H,
⋅ +
⋅ +
=
1 0 1 1 0 0 0
0 1 0 1 1 0 0
0 0 1 0 1 1 0
0 0 0 1 0 1 1
) 1101 (
) , , , ( 1
0 1
1 )
row(2) row(1)
row(3) row(3)
row(1)
→ +
+
→ +
0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1
0 1 1 1 0 1 0
1 1 0 1 0 0 1
H
4 4×
I
T
P
Trang 42Cyclic block codes
Received codeword in polynomial form is given by
The syndrome is the reminder obtained by dividing the received polynomial by the generator polynomial
With syndrome and Standard array, error is estimated
In Cyclic codes, the size of standard array is considerably
)()
()
Received codeword
Error pattern
)()
()()
Trang 43Example of the block codes