Digital Communications I:
Modulation and Coding Course
Period 3 - 2007
Catharina Logothetis
Lecture 10
Lecture 10 2
Last time, we talked about:
Channel coding
Linear block codes
The error detection and correction capability
Encoding and decoding
Hamming codes
Cyclic codes
Lecture 10 3
Today, we are going to talk about:
Another class of linear codes, known as
Convolutional codes.
We study the structure of the encoder.
We study different ways for representing
the encoder.
Lecture 10 4
Convolutional codes
Convolutional codes offer an approach to error control
coding substantially different from that of block codes.
A convolutional encoder:
encodes the entire data stream, into a single codeword.
does not need to segment the data stream into blocks of fixed
size (
Convolutional codes are often forced to block structure by periodic
truncation
).
is a machine with memory.
This fundamental difference in approach imparts a
different nature to the design and evaluation of the code.
Block codes are based on algebraic/combinatorial
techniques.
Convolutional codes are based on construction techniques.
Lecture 10 5
Convolutional codes-cont’d
A Convolutional code is specified by
three parameters or
where
is the coding rate, determining the
number of data bits per coded bit.
In practice, usually k=1 is chosen and we
assume that from now on.
K is the constraint length of the encoder a
where the encoder has K-1 memory
elements.
There is different definitions in literatures for
constraint length.
),,( Kkn
),/( Knk
nkR
c
/=
Lecture 10 6
Block diagram of the DCS
Information
source
Rate 1/n
Conv. encoder
Modulator
Information
sink
Rate 1/n
Conv. decoder
Demodulator
4434421
sequenceInput
21
,...),...,,(
i
mmm=m
4434421
444344421
bits) coded ( rdBranch wo
1
sequence Codeword
321
,...),...,,,(
n
nijiii
i
,...,u,...,uuU
UUUU
=
=
= G(m)U
,...)
ˆ
,...,
ˆ
,
ˆ
(
ˆ
21 i
mmm=m
{
4434421
444344421
dBranch worper outputs
1
dBranch worfor
outputsr Demodulato
sequence received
321
,...),...,,,(
n
nijii
i
i
i
,...,z,...,zzZ
ZZZZ
=
=Z
Channel
Lecture 10 7
A Rate ½ Convolutional encoder
Convolutional encoder (rate ½, K=3)
3 shift-registers where the first one takes the
incoming data bit and the rest, form the memory
of the encoder.
Input data bits Output coded bits
m
1
u
2
u
First coded bit
Second coded bit
21
,uu
(Branch word)
Lecture 10 8
A Rate ½ Convolutional encoder
1 0 0
1
t
1
u
2
u
11
21
uu
0 1 0
2
t
1
u
2
u
01
21
uu
1 0 1
3
t
1
u
2
u
00
21
uu
0 1 0
4
t
1
u
2
u
01
21
uu
)101(=m
Time
Output
OutputTime
Message sequence:
(Branch word) (Branch word)