Tải bản đầy đủ (.ppt) (20 trang)

Digital Communication I: Modulation and Coding Course-Lecture 10 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (325.94 KB, 20 trang )

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
  
sequenceInput
21
, ), ,,(

i
mmm=m
  
  
bits) coded ( rdBranch wo
1
sequence Codeword
321

, ), ,,,(
n
nijiii
i
, ,u, ,uuU
UUUU
=
=
= G(m)U
, )
ˆ
, ,
ˆ
,
ˆ
(
ˆ
21 i
mmm=m

  

  
dBranch worper outputs
1
dBranch worfor
outputsr Demodulato
sequence received
321

, ), ,,,(
n
nijii
i
i
i
, ,z, ,zzZ
ZZZZ
=
=Z
C
h
a
n
n
e
l
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)
Lecture 10 9
A Rate ½ Convolutional encoder
Encoder)101(=m
)1110001011(=U
0 0 1
5
t
1
u
2
u
11
21
uu
0 0 0
6
t
1
u
2
u
00
21
uu
Time
Output
Time
Output
(Branch word) (Branch word)

Lecture 10 10
Effective code rate

Initialize the memory before encoding the first bit (all-
zero)

Clear out the memory after encoding the last bit (all-
zero)

Hence, a tail of zero-bits is appended to data bits.

Effective code rate :

L is the number of data bits and k=1 is assumed:
data
Encoder
codewordtail
ceff
R
KLn
L
R <
−+
=
)1(
Lecture 10 11
Encoder representation

Vector representation:


We define n binary vector with K elements (one
vector for each modulo-2 adder). The i:th element
in each vector, is “1” if the i:th stage in the shift
register is connected to the corresponding modulo-
2 adder, and “0” otherwise.

Example:
m
1
u
2
u
21
uu
)101(
)111(
2
1
=
=
g
g
Lecture 10 12
Encoder representation – cont’d

Impulse response representaiton:

The response of encoder to a single “one” bit that
goes through it.


Example:
11001
01010
11100
111011 :sequenceOutput
001 :sequenceInput
21
uu
Branch word
Register
contents
1110001011
1110111
0000000
1110111
OutputInput m
Modulo-2 sum:
Lecture 10 13
Encoder representation – cont’d

Polynomial representation:

We define n generator polynomials, one for each
modulo-2 adder. Each polynomial is of degree K-1 or
less and describes the connection of the shift
registers to the corresponding modulo-2 adder.

Example:
The output sequence is found as follows:
22)2(

2
)2(
1
)2(
02
22)1(
2
)1(
1
)1(
01
1 )(
1 )(
XXgXggX
XXXgXggX
+=++=
++=++=
g
g
)()( with interlaced )()()(
21
XXXXX gmgmU =
Lecture 10 14
Encoder representation –cont’d
In more details:
1110001011
)1,1()0,1()0,0()0,1()1,1()(
.0.0.01)()(
.01)()(
1)1)(1()()(

1)1)(1()()(
432
432
2
432
1
422
2
4322
1
=
++++=
++++=
++++=
+=++=
+++=+++=
U
U
gm
gm
gm
gm
XXXXX
XXXXXX
XXXXXX
XXXXX
XXXXXXXX
Lecture 10 15
State diagram


A finite-state machine only encounters a finite number
of states.

State of a machine: the smallest amount of
information that, together with a current input to the
machine, can predict the output of the machine.

In a Convolutional encoder, the state is represented
by the content of the memory.

Hence, there are states.
1
2
−K
Lecture 10 16
State diagram – cont’d

A state diagram is a way to represent the encoder.

A state diagram contains all the states and all possible
transitions between them.

Only two transitions initiating from a state

Only two transitions ending up in a state
Lecture 10 17
State diagram – cont’d
10 01
00
11

outputNext
state
inputCurrent
state
101
010
11
011
100
10
001
110
01
111
000
00
0
S
1
S
2
S
3
S
0
S
2
S
0
S

2
S
1
S
3
S
3
S
1
S
0
S
1
S
2
S
3
S
1/11
1/00
1/01
1/10
0/11
0/00
0/01
0/10
Input
Output
(Branch word)
Lecture 10 18

Trellis – cont’d

Trellis diagram is an extension of the state
diagram that shows the passage of time.

Example of a section of trellis for the rate ½ code
Time
i
t
1+i
t
State
00
0
=S
01
1
=S
10
2
=S
11
3
=S
0/00
1/10
0/11
0/10
0/01
1/11

1/01
1/00
Lecture 10 19
Trellis –cont’d

A trellis diagram for the example code
0/11
0/10
0/01
1/11
1/01
1/00
0/00
0/11
0/10
0/01
1/11
1/01
1/00
0/00
0/11
0/10
0/01
1/11
1/01
1/00
0/00
0/11
0/10
0/01

1/11
1/01
1/00
0/00
0/11
0/10
0/01
1/11
1/01
1/00
0/00
6
t
1
t
2
t
3
t
4
t
5
t
1 0 1 0 0
11 10 00 10 11
Input bits
Output bits
Tail bits
Lecture 10 20
Trellis – cont’d

1/11
0/00
0/10
1/11
1/01
0/00
0/11
0/10
0/01
1/11
1/01
1/00
0/00
0/11
0/10
0/01
0/00
0/11
0/00
6
t
1
t
2
t
3
t
4
t
5

t
1 0 1 0 0
11 10 00 10 11
Input bits
Output bits
Tail bits

×