Understanding Convolutional Codes: Viterbi Algorithm and Performance Bounds, Slides of Digital Communication Systems

A lecture note from a digital communication systems course focusing on convolutional codes. It covers the basics of convolutional codes, the viterbi algorithm for decoding, and performance bounds. The document also discusses the concept of free distance, coding gain, and the relationship between code rate, constraint length, and error correction capability.

Typology: Slides

2011/2012

Uploaded on 07/05/2012

nomi
nomi 🇵🇰

4.3

(22)

24 documents

1 / 13

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
1
Digital Communication
Systems
Dr. Shurjeel Wyne
Lecture 17
CH 7 Convolutional Codes
2
Last time, we talked about:
What are the state diagram and trellis
representation of the code?
How the decoding is performed for
Convolutional codes?
What is a Maximum likelihood decoder?
What are the soft decisions and hard
decisions?
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Partial preview of the text

Download Understanding Convolutional Codes: Viterbi Algorithm and Performance Bounds and more Slides Digital Communication Systems in PDF only on Docsity!

1

Digital Communication

Systems

Dr. Shurjeel Wyne

Lecture 17

CH 7 Convolutional Codes

2

Last time, we talked about:

 What are the state diagram and trellis

representation of the code?

 How the decoding is performed for

Convolutional codes?

 What is a Maximum likelihood decoder?

 What are the soft decisions and hard

decisions?

3

Today, we are going to talk

about:

 How does the Viterbi algorithm work?

 What is minimum distance of convolutional

code

 Upper bound on coding gain in terms of free

distance

4

State diagram –

cont’d

Next output state

Current input state

S 0

S 1

S 2

S 3

S 0

S 2

S 0

S 2

S 1

S 3

S 3

S 1

10 01

00

11

S 0
S 2 S 1
S 3

Input

Output (Branch word)

m

u 1

u 2

u 1 u 2

Input bit 0 Input bit 1

rate ½ code

7

The Viterbi algorithm - cont’d

B. Then, do the following:

1. Set and
2. At time , compute the partial path metrics for all the
paths entering each state.
3. Set equal to the best partial path metric
entering each state at time.
Keep the survivor path and delete the dead paths from
the trellis.
4. If , increase by 1 and return to step 2.

C. Start at state zero at time. Follow the

surviving branches backwards through the trellis.

The path thus defined is unique and corresponds

to the ML codeword.

 ( 0 , t 1 )  0 i ^2.

t i

  S ( ti ), ti 

t i

iLK i

t (^) LK

8

Example of Hard decision

Viterbi decoding

t (^) 1 t (^) 2 t (^) 3 t (^) 4 t 5 t 6

m ( 101 )
U ( 11 10 00 10 11 )

S 0  00

S 1  01

S 2  10

S 3  11

11 00 10 10 01

Z

m

u 1

u 2

u 1 u 2

Z ( 1100 10 10 01 )

9

Example of Hard decision

Viterbi decoding-cont’d

 Label all the branches with the branch metric (Hamming distance)

t (^) 1 t (^) 2 t (^) 3 t (^) 4 t 5 t 6

0

  S ( ti ), ti11 00 10 10 01

Z

S 0  00

S 1  01

S 2  10

S 3 (^)  11

Branch metric

10

Example of Hard decision

Viterbi decoding-cont’d

 i=

t (^) 1 t (^) 2 t (^) 3 t (^) 4 t 5 t 6

0 2

0

11 00 10 10 01

Z

S 0  00

S 1  01

S 2  10

S 3  11

  S ( ti ), ti

Partial metric

Branch metric

13

Example of Hard decision

Viterbi decoding-cont’d

 i=

t (^) 1 t (^) 2 t (^) 3 t (^) 4 t 5 t 6

0 2 2 2 3

3

2

1

1 2

1

0 4

11 00 10 10 01

Z

S 0  00

S 1  01

S 2  10

S 3  11

14

Example of Hard decision

Viterbi decoding-cont’d

 i=

t (^) 1 t (^) 2 t (^) 3 t (^) 4 t 5 t 6

0 2 2 2 3 3

3

2

1

1 2

1

0 4

11 00 10 10 01

Z

S 0  00

S 1  01

S 2  10

S 3  11

15

Example of Hard decision Viterbi

decoding-cont’d

 Starting with the all-zero state at last time-index, go back
through the trellis along the survivors to reach the initial all-
zero state. This path is the optimal path, and the input bit
sequence corresponding to this path is the maximum
likelihood decoded information sequence (after removing
right-most (K-1) tail zeros.):

t (^) 1 t (^) 2 t (^) 3 t (^) 4 t 5 t 6

0 2 2 2 3 3

3

2

1

1 2

1

0 4

S 0  00

S 1  01

S 2  10

S 3  11

m ˆ^ ( 101 ) U ˆ^ ( 1110 00 10 11 )

16

Free distance of Convolutional

codes

 Distance properties:

 Since a Convolutional encoder generates codewords with various sizes (as opposite to the block codes), the following approach is used to find the minimum distance between all pairs of codewords:  Since the code is linear, the minimum distance of the code is the minimum distance between any of the codewords and the all-zero codeword.  This is the minimum distance in the set of all arbitrary long paths along the trellis that diverge and remerge to the all-zero path.  It is called the minimum free distance or the free distance of the

code, denoted by d free or df

19

Performance bounds …

 TABLE 7.3: Measured Coding Gains (dB) for soft-

decision Viterbi decoding compared with un-coded coherent BPSK

Upper bound 7. 0 7. 3 6. 0 7. 0

  1. 3 10 6. 2 6. 5 5. 3 5. 8

  2. 6 10 5. 7 5. 9 4. 6 5. 1

  3. 8 10 4. 2 4. 4 3. 5 3. 8

(dB) 7 8 6 7

/

Uncoded Coderate 1 / 3 1 / 2

7

5

3

0

P K

E N

B

b

coding gain 10 log 10 ( Rc df )

20

Systematic Convolutional codes

 A Convolutional encoder at rate is

systematic if the k-input bits appear as part of

the n-bits branch word.

 Systematic codes in general have smaller

free distance than non-systematic codes.

Input Output

k / n

Example: rate ½, K = 3 systematic encoder

21

Catastrophic Convolutional Codes

 Catastrophic error propagations in Convolutional codes

 A finite number of errors in the coded bit sequence

(caused by the channel) may result in an infinite

number of errors in the decoded data bits at receiver.

 Example of a catastrophic Convolutional code:

Input Output

For Input = 11111111... Output = 11010000...

For Input = 00000000... Output = 00000000...

Assume all-ones sequence transmitted & 3 coded bits are in error This sequence would be decoded as all-zeros sequence which differs from transmitted sequence in every bit position!

__ _

22

 A Convolutional code is catastrophic if:

 The state diagram has at least one loop in which a non-zero
input corresponds to an all-zero branch word
 The polynomials representing the shift-register connections
have a common polynomial factor (of minimum degree one)

 Systematic codes are not catastrophic

 Small fraction of non-systematic codes are catastrophic.

Catastrophic Convolutional Codes

- Cont’d

g 1 (x) = 1 + X g 2 (X) = 1+ X^2 =(1 + X)(1 + X)

Note: See encoder circuit on previous slide

a 00

b 10

c 01 d 11

11

10

01 10

(^0111) 00

25

Concatenated codes

 A concatenated code uses two levels on coding, an inner
code and an outer code (higher rate).

 Popular concatenated codes: Convolutional codes with Viterbi decoding as the inner code and Reed-Solomon codes as the outer code

 The purpose is to reduce the overall complexity, yet
achieving the required error performance.

Interleaver (^) Modulate

Deinterleaver

Inner encoder

Inner decoder

Demodulate

Channel

Outer encoder

Outer decoder

Input data

Output data