Inserting Turbo Code Technology Into The DVB Satellite Broadcasting System

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

Inserting Turbo Code Technology into the DVB Satellite Broadcasting System

Matthew Valenti Assistant Professor West Virginia University Morgantown, WV 26506-6109 mvalenti@wvu.edu

in collaboration with Mike Stelling, Bill Snelling, and Eugene Estinto Coleman Research Corporation

Outline of Talk

Goal of this study.

To show how turbo codes can improve energy efficiency by 1-2 dB (at BER 10-7) when used in satellite communication systems.

Turbo codes. The DVB standard. Replacing convolutional encoder in DVB with a turbo code.

1 dB gain. Optimizing the Reed Solomon code Using turbo codes with larger frame size. 2 dB gain.

Further performance improvements:


Suggestions for future improvements.

Turbo Codes

Berrou & Glavieux


1993 International Conf. on Commun. (ICC) Rate performance within 0.5 dB of Shannon capacity. Patent held by France Telecom.

Features:

Parallel code concatenation


Can also use a serial concatenation

Nonuniform interleaving Recursive systematic encoding


Usually RSC convolutional codes are used. Can use block codes.

Iterative decoding algorithm.


Optimal approaches: BCJR/MAP, SISO, log-MAP Suboptimal approaches: max-log-MAP, SOVA

Recursive Systematic Convolutional Encoding


xi( 0 )

xi

mi

D
xi(1)

Constraint Length K= 3

A conventional convolutional encoder is an FIR filter with operations over GF(2). An RSC encoder can be constructed from a standard convolutional encoder by feeding back one of its outputs.

mi

xi( 0 )

xi

ri

(1) i

An RSC encoder has an infinite impulse response. An arbitrary input will cause a good (high weight) output with high probability. Some inputs will cause bad (low weight) outputs.

Turbo Encoder
Data Systematic Output

D
Upper RSC nonuniform interleaver D Lower RSC

D
MUX Parity Output D

The data is encoded in parallel by two identical RSC encoders

A nonuniform interleaver changes the ordering of bits at the input of the second encoder. MUX can increase code rate from 1/3 to 1/2.

Turbo Decoder
Deinterleaver Extrinsic Information systematic data parity data DeMUX Extrinsic Information Interleaver

Decoder #1

Decoder #2

APP for hard bit decisions

Interleaver

Turbo codes are decoded with an iterative decoding algorithm. Decoding complexity comparison:

Convolutional codes O(2K). Turbo codes O(4x2K) per iteration.

Turbo Code Performance as a Function of Number of Iterations


10
0

10

-1

1 iteration 10
-2

Berrou encoder K=5 r=1/2 L=65,536

10 BER

-3

2 iterations

10

-4

6 iterations

3 iterations

10

-5

10 iterations 18 iterations

10

-6

10

-7

BER floor
1 Eb/No in dB 1.5 2

0.5

187 Data Bytes + 1 Synch Byte

The Digital Video Broadcasting Standard


RS Encoder (204,188,8) convolutional interleaver
depth = 12 Convolutional Encoder Constraint length = 7 Viterbi Decoder AWGN noise

Decoded Data RS decoder

convolutional deinterleaver

Shortened Reed Solomon Outer Code


188 data bytes, 204 coded bytes t=8 byte error correcting capability. Depth of 12 Constraint length K = 7 Odenwalder code Rates r = 1/2, 2/3, 3/4, 5/6, and 7/8

Convolutional interleaver

Convolutional Inner Code


DVB with Turbo Inner Encoder

First, we replaced the convolutional inner encoder with a turbo encoder.


Rate r = 1/2 Constraint length K = 5 Berrou & Glavieux code polynomial 4 tail bits used to terminate upper encoder. S-random interleaver (from JPL). Interleaver/frame size of 8*204+4 = 1636 bits 12 iterations of log-MAP decoding

Reed Solomon outer code is unchanged Convolutional interleaver also unchanged.

Assumptions

For our simulation, we make the following assumptions:


QPSK modulation. AWGN channel. No modem implementation loss


Perfect carrier & phase synchronization. Perfect symbol timing. Ideal pulse shaping filters. Raised-cosine rolloff factor r=0.35

Noise variance known by the decoder.

Comparison of Turbo and Convolutional Inner Codes


10
0 -2

10

original DVB system

BER

10

-4

10

-6

At BER 10-7, extra 1 dB of coding gain

turbo code modified DVB system

10

-8

0.5

1.5 Eb/No in dB

2.5

Optimizing the Outer Reed Solomon Code

The Reed Solomon code used by DVB was optimized for the DVB convolutional code.

This code might not be optimal for use with turbo codes.

In particular, a full-length RS code offers better performance:

(255,255-2t,t) rather than (204,204-2t,t)

With convolutional codes, performance usually improves with increasing t.


This is not necessarily true for turbo codes. The impact of t on performance must be studied through simulation.

Performance with (255,255-2t,t) RS code and length 2044 turbo code


10
0 -2

10

performance with outer RS code

BER

10

-4

t=8

turbo code without outer RS code

10

-6

t=4 t=3
10
-8

t=1 t=2

0.2

0.4

0.6

0.8 1 1.2 Eb/No in dB

1.4

1.6

1.8

Improved Performance Through Larger Frame Size

247 Data Bytes

Up until now, we have matched the frame size of the turbo encoder to equal the size of the Reed Solomon code word.
255*8 = RS Encoder 2040 code bits convolutional (255,247,4) interleaver Convolutional Encoder

However, performance of turbo codes improve with increasing frame size.

Berrou & Glavieux considered 65K frame size. We consider larger frame sizes:
8 RS frames per turbo frame: 2040*8 + 4 = 16,324 bits 32 RS frames per turbo frame: 2040*32 + 4 = 65,284 bits

Convolutional interleaver no longer needed

Performance with (255,255-2t,t) RS code and length 16,234 turbo code


10
0 -2

10

performance with outer RS code

BER

10

-4

10

-6

turbo code without outer RS code

t=2 t=3

t=1

t=4
10
-8

0.2

0.4

0.6

0.8 Eb/No in dB

1.2

1.4

1.6

Performance with (255,255-2t,t) RS code and length 65,284 turbo code


10
0 -2

10

performance with outer RS code

BER

10

-4

10

-6

turbo code without outer RS code

t=1
t=2
10
-8

0.2

0.4

0.6 0.8 Eb/No in dB

1.2

1.4

Comparison of Results
10
0

10

-2

DVB standard: concatenated K=7 CC and (204,188) RS code

BER

10

-4

10

-6

Concatenated length 65,284 turbo code and (255,251) RS code

Concatenated length 16,324 turbo code & (255,247) RS code

Concatenated length 2044 turbo code and (255,247) RS code

reference BER = 10-7

10

-8

0.5

1.5 Eb/No in dB

2.5

Suggestions for Further Improvements

Errors and erasures decoding.

Exploit the soft-output of the turbo code to perform softer decoding of Reed Solomon code. Using a primitive feedback polynomial lowers the BER floor. Perhaps the RS outer code wont be needed. RS outer code is well matched to Viterbi decoder. However a BCH code may be better for turbo codes.

Explore other generator polynomials


Use BCH outer code


Exploit unequal error protection property of turbo codes


Only need to protect the most error prone bits. See Narayanan and Stuber.

Using Turbo Codes to Improve Throughput


10
0 -2

10

r=7/8 turbo code w/ 65K frame


DVB standard r 0.46

10

-4

10

-6

At BER 10-7, turbo codes allow 73% higher data rate over same bandwidth. Actually requires slightly less SNR to do this.

r=4/5 turbo code w/ 65K frame

BER

10

-8

0.5

1.5 2 Eb/No in dB

2.5

3.5

Conclusion

Satellite communication systems such as DVB can be improved by using turbo codes.

Improved energy efficiency


1 dB improvement with direct replacement of the convolutional code with a turbo code. 2 dB improvement when the turbo code and Reed Solomon code are optimized for BER 10-7

Improved bandwidth efficiency


Rate 4/5 turbo code gives same performance as DVB at BER = 10-7 No RS outer code is needed in this case. This translates to a 73% increase in bandwidth efficiency with no loss in energy efficiency.

You might also like