slides

19
Modulation, Demodulation and Coding Course Period 3 - 2005 Sorour Falahati Lecture 9

Upload: adithyasrao

Post on 23-Jun-2015

542 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Slides

Modulation, Demodulation and Coding Course

Period 3 - 2005Sorour Falahati

Lecture 9

Page 2: Slides

2005-02-15 Lecture 9 2

Last time, we talked about:

Channel coding

Linear block codes The error detection and correction

capability Encoding and decoding Hamming codes Cyclic codes

Page 3: Slides

2005-02-15 Lecture 9 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.

We study in particular, state diagram and trellis representation of the code.

Page 4: Slides

2005-02-15 Lecture 9 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.

Page 5: Slides

2005-02-15 Lecture 9 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

nkRc /

Page 6: Slides

2005-02-15 Lecture 9 6

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 bitsm

1u

2u

First coded bit

Second coded bit

21,uu

(Branch word)

Page 7: Slides

2005-02-15 Lecture 9 7

A Rate ½ Convolutional encoder

1 0 01t

1u

2u

1121 uu

0 1 02t

1u

2u

0121 uu

1 0 13t

1u

2u

0021 uu

0 1 04t

1u

2u

0121 uu

)101(m

Time Output OutputTime

Message sequence:

(Branch word) (Branch word)

Page 8: Slides

2005-02-15 Lecture 9 8

A Rate ½ Convolutional encoder

Encoder)101(m )1110001011(U

0 0 15t

1u

2u

1121 uu

0 0 06t

1u

2u

0021 uu

Time Output Time Output(Branch word) (Branch word)

Page 9: Slides

2005-02-15 Lecture 9 9

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 RKLn

LR

)1(

Page 10: Slides

2005-02-15 Lecture 9 10

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

1u

2u

21 uu)101(

)111(

2

1

g

g

Page 11: Slides

2005-02-15 Lecture 9 11

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 wordRegistercontents

1110001011

1110111

0000000

1110111OutputInput m

Modulo-2 sum:

Page 12: Slides

2005-02-15 Lecture 9 12

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

Page 13: Slides

2005-02-15 Lecture 9 13

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

4322

4321

4222

43221

U

U

gm

gm

gm

gm

XXXXX

XXXXXX

XXXXXX

XXXXX

XXXXXXXX

Page 14: Slides

2005-02-15 Lecture 9 14

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.12 K

Page 15: Slides

2005-02-15 Lecture 9 15

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

Page 16: Slides

2005-02-15 Lecture 9 16

State diagram – cont’d

10 01

00

11

Current state

input Next state

output

000 00

1 11

010 11

1 00

100 10

1 01

110 01

1 10

0S

1S

2S

3S

0S

2S

0S

2S

1S

3S

3S1S

0S

1S2S

3S

1/11

1/00

1/01

1/10

0/11

0/00

0/01

0/10

Input

Output(Branch word)

Page 17: Slides

2005-02-15 Lecture 9 17

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

Timeit 1it

State

000 S

011 S

102 S

113 S

0/00

1/10

0/11

0/10

0/01

1/11

1/01

1/00

Page 18: Slides

2005-02-15 Lecture 9 18

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

6t1t 2t 3t 4t 5t

1 0 1 0 0

11 10 00 10 11

Input bits

Output bits

Tail bits

Page 19: Slides

2005-02-15 Lecture 9 19

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

6t1t 2t 3t 4t 5t

1 0 1 0 0

11 10 00 10 11

Input bits

Output bits

Tail bits