+ All Categories
Home > Documents > Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map...

Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map...

Date post: 31-Mar-2015
Category:
Upload: malachi-dowse
View: 226 times
Download: 0 times
Share this document with a friend
35
Name Convolutional codes Tomashevich Victor
Transcript
Page 1: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name

Convolutional codes

Tomashevich Victor

Page 2: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 2 -

Introduction

• Convolutional codes map information to code bits sequentially by convolving a sequence of information bits with “generator” sequences

• A convolutional encoder encodes K information bits to N>K code bits at one time step

• Convolutional codes can be regarded as block codes for which the encoder has a certain structure such that we can express the encoding operation as convolution

Page 3: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 3 -

Properties of convolutional codes

Consider a convolutional encoder. Input to the encoder is ainformation bit sequence u (partitioned into blocks of length K):

),,( 10 uuu

),,,( )()2()1( Kiiii uuuu

The encoder output the code bit sequence x (partitioned into blocks

),,( 10 xxx

),,,( )()2()1( Niiii xxxx

N

KR

of length N)

Page 4: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 4 -

Example: Consider a rate ½ convolutional code with K=1 and N=2 defined by the circuit:

iuix

The sequences ),,( )1(1

)1(0 xx , ),,( )2(

1)2(

0 xx are generated as follows:

ii ux )1( 1)2(

iii uuxand

Multiplexing between )1(ix and )2(

ix gives the code bit sequence

),,()),(),(( 10)2(

1)1(

1)2(

0)1(

0 xxxxxxx

Page 5: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 5 -

• The convolutional code is linear

• The encoding mapping is bijective

• Code bits generated at time step i are affected by information bits up to M time steps i – 1, i – 2, …, i – M back in time. M is the maximal delay of information bits in the encoder

• Code memory is the (minimal) number of registers to construct an encoding circuit for the code.

• Constraint length is the overall number of information bits affecting code bits generated at time step i: =code memory + K=MK + K=(M + 1)K

• A convolutional code is systematic if the N code bits generated at time step i contain the K information bits

Page 6: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 6 -

Example: The rate ½ code defined by the circuit

iuix

has delay M=1, memory 1, constraint length 2, and it is systematic

Example: the rate 2/3 code defined by the circuit

)1(iu

)2(iu

)1(ix

)2(ix)3(

ix

has delay M=1, memory 2, constraint length 4, and not systematic

Page 7: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 7 -

Tree

A

A

A

B

B

A

0u 1u 2u

1

0

00

01

0000

0111

00

11

01

1010

11

10

11

Page 8: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 8 -

Trellis

The tree graph can be contracted to a direct graph called trellisof the convolutional code having at most S nodes at distancei=0,1,… to the root

The contents of the (at most) MK encoder registers are assignedthe variables 1,,1,0),2()( KMjGFs j

i

The vector ),,( )1()1()0( KMiiii ssss

combibing all register contents at time step i is called state ofthe encoder at time step i.

The code bit blockix is clearly a function of is and

iu , only

Page 9: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 9 -

Example:

The encoder of the rate ½ convolutional code has 221 Sdifferent states. The state is given by

iss The code bit block ix at time step i is computed from is and iu by

ii ux )1( and iii sux )2(

0iu1iu

A AAA

B BB

11 1111

00 0000

0101

1010

Page 10: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 10 -

Example: Constructing a trellis section

iuix

ii ux )1( andiii sux )2(

Two equations are required:

(1) How does is depend on miu and possibly 0, ms mi

1 ii us(2) How does ix depend on is and iu

ii ux )1( andiii sux )2(

The branches are labeled with ii xu | called state transition

leading from a state is to a new state 1is

Page 11: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 11 -

Trellis section:

0 0

1 1

0|00

0|01 1|11

1|10

00000

11111

0|000|000|00

1|101|101|10

0|010|010|01 1|111|111|11

0s 1s 2s 2Ls 1Ls

Page 12: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 12 -

00000

1111

0|000|000|00

1|101|10

0|010|01 1|111|111|11

0s 1s 2s 2Ls 1Ls

Page 13: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 13 -

State diagramExample: Trellis of the rate ½ convolutional code

ii ux )1( and iii sux )2(

0 0

1 1

00

01 11

10

0iu1iu

is 1is

State diagram:

0

1

00

0111

10

0iu1iu

Page 14: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 14 -

Description with submatricesDefinition: A convolutional code is a set C of code bit sequences

),,,,,( 10 ixxxx

),,,( )()2()1( Niiii xxxx )2()( GFx j

i

partitioned into lenth N blocks

There exist many encoders mapping information bit sequences

),,( 10 uuu

),,,( )()2()1( Kiiii uuuu )2()( GFu j

i

(partitioned into length K<N blocks) to code bit sequences xfor the same code

Page 15: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 15 -

Example: the following two encoding curcuits generate thesame set of code word sequences

)1(iu

)2(iu

)1(ix

)2(ix)3(

ix

)1(ix

)2(ix)3(

ix)1(

iu

)2(iu

Page 16: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 16 -

Generator matrix

,Gux where

M

M

M

GGGG

GGGG

GGGG

G210

210

210

iGuxM

mmmii

,

0

The generated convolutional code has rate R=K/N, memoryK*M, and constraint length K*(M+1)

Page 17: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 17 -

Example:

The rate ½ code is given by

ii ux )1( iii sux )2(and

0G governs howiu affects 11:)( 0

)2()1( Gxxx iii

1G governs how 1iu affects 10: 1 Gx i

,),,())(),(),(( 210)2(

2)1(

2)2(

1)1(

1)2(

0)1(

0 Guuuxxxxxx

where

11

0111

0111

G

Page 18: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 18 -

Description with polynomials

)()()(

)()()(

)()()(

)(

)()2()1(

)(2

)2(2

)1(2

)(1

)2(1

)1(1

DgDgDg

DgDgDg

DgDgDg

DG

NKKK

N

N

)2(,)( )(,

)(,

2)(2,

1)(1,

)(0,

)( GFgDgDgDggDg jmi

MjMi

ji

ji

ji

ji

))(),(),(()( )()2()1( DuDuDuDu K

where

,,,2,1,)( )()(1

)(0

)( KjDuDuuDu iji

jjj ))(,),(),(()( )()2()1( DxDxDxDx N

where

NjDxDxxDx iji

jjj ,,2,1,)( )()(1

)(0

)(

)()()( DGDuDx

,,,0,,,1,,,1),,()(, MmNjKijiGg mjmi

NjKiDgM ji

ji,,1,,,1)),(deg(max )(

,

Page 19: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 19 -

Example:

The rate ½ code is given by

ii ux )1( iii sux )2(and

)()1(1 Dg and )()2(1 Dg ))()(()( )2(1

)1(1 DgDgDG

From M=1 follows that 1)))(deg(( )( Dg ji

The polynomial )()1(1 Dg governs how ,1,0, mu ml affects

101)(: )1(1

)1( DDgxlThe polynomial )()2(1 Dg governs how ,1,0, mu ml

affects

111)(: )2(1

)2( DDDgxlDDuu 1)(),0,1,1(

,Gux yielding ),00,01,10,11( x)()()( DGDuDx yielding 211)( DDDx

Page 20: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 20 -

Punctured convolutional codes

A sequence of code bits is punctured by deleting some of thebits in the sequence according to a fixed rule

In general, the the puncturing of a rate K/N convolutionalcode is defined using N puncturing tables, one for any codebit ,,,1,)( Njx j

i in a block ix

Each table contains p bits, where p is the puncturing period. Ifa bit is 1, the corresponding code bit is part of the puncturedcode, if the bit is 0, the corresponding code bit is not part of thepunctured code

For a sequence of code bit blocks ,,1,0, ix i the puncturingtables are applied periodically. N puncturing tables are combined

in a pN puncturing matrixP

Page 21: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 21 -

Example:

The encoder circuit of rate ½ convolutional code given by

22 11)( DDDDG

)0,0,1,0,0(u )11,01,11,00,00(NPxThe sequence NPx is punctured using two different puncturing

matrices:

,1001

01111

P

1011

01112P

The puncturing period p is 4. Using 1P , 3 out of 4 code bits)1(

ixand 2 out of 4 code bits )2(

ix of the mother code bits are used, theothers are discarded

5/4)23/()44(2/1 Rand u is encoded to )11,1,1,0,00()11,1,1,0,00( XXXx

Page 22: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 22 -

Using ,2P the rate of the punctured code is

3/2)33/()44(2/1 R and u is encoded to

)11,1,1,00,00()11,1,1,00,00( XXx

)1(ix

)2(ix

1 1 1 0

1 0 0 1

1 1 1 0

1 1 0 11P

2PPuncturing tables

Pucturing period p=4

1 2 3 4

10|

1|

1|

0|

00

)2(4

)1(4

)2(3

)1(2

)1(1

)2(0

)1(0 xxxxxxx

0010043210 uuuuu

Encoder of a rate ½ code punctured to a rate 4/5 (top puncturingtables) or a rate 2/3 code (bottom puncturing tables)

Page 23: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 23 -

The rate R of a punctured code obtained from a rate NKR /0 mother code using the pN puncturing matrix P is given as

Pinof

pK

Pinof

pNRR

1#1#0

With puncturing we can easily construct convolutional codeswith arbitrary rational rate. However, punctured codes of rateR=K/N obtained from an optimized “good” mother code ofmemory m usually perform worse than unpunctured rate K/N,memory m optimized codes given by a NK generator matrix

)(DG

This performance gap increases with the number of puncturedbits. The advantage of puncturing is that the decodingcomplexity is not altered, since the original trellis of the mothercode can be used

Page 24: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 24 -

Consider a rate 1/3, memory 4 mother code given by the submatrices

)101(),011(),010(),111( 3210 GGGG and

),111(4 G

code# rate punc. tablefd fdc

91/3

8/24

8

7

6

5

4/118/12

4/108/20

4/98/18

1/28/16

11

9

8

7

7

8

10

2

2

32

1111 11111111 11111111 11111111 11111111 11111110 11101111 11111111 11111100 11001111 11111111 11111000 10001111 11111111 11110000 0000

code# ratepunc. table fd fdc

44/7

8/14

3

2

1

2/38/12

4/58/10

8/98/9

5

4

3

2

8

4

42

2

1111 11111110 11100000 00001111 11111010 10100000 00001111 11111000 10000000 00001111 01111000 10000000 0000

Page 25: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 25 -

Decoding of convolutional codesThe Viterbi algorithm

jujx1

jx2js1 js2

)1,1,1,1,1,1,1( u)1,1(),( 2010 ss

)11,11,11,11,11,11,11( x

Page 26: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 26 -

+1+1 +1+1

-1-1

-1+1

+1-1 +1-1

-1+1

-1-1jj ss 21 , jj xx 21 , 1211 , jj ss

+1/+1+1

-1/-1-1

+1/+1+1

-1/-1+1

-1/-1+1

+1/+1-1

+1/+1-1

-1/-1-1

Page 27: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 27 -

Hard decisions

y

jmjj

mj

mj yxyx 2

)(21

)(1

)(

+1+1 +1+1+1+1+1+1+1+1+1+1-1+1

+1+1

0 -2

+2

0

0

-2

+2

0

-2

0

0

0

+2

-2

+2

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2

-4

+8+6+4

+12+10+8+6

+20+2

+4+2

-2

0 +6

+6

+4+20+2

+4+2+4+2

(+1+1,-1+1,+1+1,+1+1,+1+1,+1+1,+1+1)

Page 28: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 28 -

+1+1 +1+1+1+1+1+1+1+1+1+1-1+1

+1+1

0 -2

+2

0

0

-2

+2

0

-2

0

0

0

+2

-2

+2

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2

-4

+8+6+4

+12+10+8+6

+20+2

+4+2

-2

0 +6

+6

+4+20+2

+4+2+4+2

ju +1 +1 +1 +1 +1 +1 +1 - No error

Page 29: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 29 -

Hard decisions

y

jmjj

mj

mj yxyx 2

)(21

)(1

)(

+1+1 +1+1+1+1+1+1+1+1+1-1-1+1

+1+1

0 -2

+2

0

0

0

0

-2

+2

+2

0

-2

+2

-2

+2

-2

+2

0

0

00

-2+20

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2

-4

+6+4+2

+10+8+6+4

+4+2+2

+2+2

-2

0 +4

+4

+2+4+20

+6+4+2+4

(+1+1,-1+1,+1-1,+1+1,+1+1,+1+1,+1+1)

Page 30: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 30 -

+1+1 +1+1+1+1+1+1+1+1+1-1-1+1

+1+1

0 -2

+2

0

0

0

0

-2

+2

+2

0

-2

+2

-2

+2

-2

+2+2

0

0

00

-2+20

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2

-4

+6

+10+8+6+4

+4+2+2

+2+2

-2

0 +4

+4

+20

+2+4

ju +1 +1 +1 +1 +1 +1 +1 - No error

Page 31: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 31 -

Hard decisions

y

jmjj

mj

mj yxyx 2

)(21

)(1

)(

+1+1 +1+1+1+1+1+1+1+1-1+1-1-1

+1+1

0 -2

+2

0

0

+2

-2

-2

+2

-2

0

+2

-2

+2

0

0

0

0

00

-2+20

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2

-2

+8+6+8

+12+10+8+2

+20+4

00

-2

-2 +6

+10

+8+4+6

+8+6+8+2

(+1+1,-1-1,-1+1,+1+1,+1+1,+1+1,+1+1)

Page 32: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 32 -

+1+1 +1+1+1+1+1+1+1+1-1+1-1-1

+1+1

0

+2

-2

+2

0

0

+2

-2

-2

+2

-2

0

+2

-2

+2

0

0

+2

-2

0

0

00

0

-2-2+20 +2

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2

-2

+8+6

+12+10+8+2

+20+4

00

-2

-2 +6

+10

+8+4+6

+8+8+2

ju +1 -1 -1 +1 +1 +1 +1 - 2 decoding errors

Page 33: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 33 -

Soft decisions

,,2

,,2/1

,,2/1

,2

)(

)(

)(,

)(

ijmij

ijmij

ijmij

ijmij

ij

yx

yx

yx

yx

l

GOOD channel

BAD channel

GOOD channel

BAD channel

jjjjjjmj ylxylx 222111)(

CSI values ((G,B),(B,B),(G,G),(G,B),(B,B),(G,G),(G,G))

y (+1+1,-1-1,-1+1,+1+1,+1+1,+1+1,+1+1)

Page 34: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 34 -

+1+1 +1+1+1+1+1+1+1+1-1+1-1-1

+1+1

0

+1

-2.5

+2.5

-4

+4

-1

+1

-2.5

+2.5

0

-4

0

0

0

0

0

-4

+4

-4

+4

-1

0

0

0

0

0

0

0

0

00

00

00

00

-4-4-1-2.5+1

+2.5+4 +4 +4

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2.5

-2.5

+10+7+9

+18+14+11+10

+5-0.5+1.5

+7.5+3.5

-2.5

-2.5 +7

+13

+9+5-0.5+1.5

+9+5+4+1.5

G B G GG GB BG G G BB B

+2 +0.5 +2 +2+2 +2+0.5 +0.5+2 +0.5-2 +2-0.5-0.5

Page 35: Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.

Name - 35 -

+1+1 +1+1+1+1+1+1+1+1-1+1-1-1

+1+1

0

+1

-2.5

+2.5

-4

+4

-1

+1

-2.5

+2.5

0

-4

0

0

0

0

0

+4+4

0

0

00

-2.5

+2.5+4

j=0 j=6j=5j=4j=3j=2j=1 j=7

+2.5

-2.5

+10

+18+14+11+10

-0.5+1.5

+7.5+3.5

-2.5

-2.5 +7

+13

+1.5

+1.5

G B G GG GB BG G G BB B

+2 +0.5 +2 +2+2 +2+0.5 +0.5+2 +0.5-2 +2-0.5-0.5

ju +1 +1 +1 +1 +1 +1 +1 - No error


Recommended