200 likes | 349 Views
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.
E N D
Inserting Turbo Code Technologyinto 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. • Further performance improvements: • Optimizing the Reed Solomon code • Using turbo codes with larger frame size. • 2 dB gain. • 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
D D Constraint Length K= 3 D D Recursive Systematic Convolutional Encoding • 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. • 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 • 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. D D MUX Upper RSC Parity Output nonuniform interleaver D D Lower RSC
Turbo Decoder • Turbo codes are decoded with an iterative decoding algorithm. • Decoding complexity comparison: • Convolutional codes O(2K). • Turbo codes O(4x2K) per iteration. Deinterleaver Extrinsic Information Extrinsic Information Interleaver systematic data Decoder #1 Decoder #2 APP for hard bit decisions parity data DeMUX Interleaver
0 10 -1 10 -2 10 -3 10 -4 10 -5 10 -6 10 BER “floor” -7 10 0.5 1 1.5 2 Turbo Code Performance as a Function of Number of Iterations • Berrou encoder • K=5 • r=1/2 • L=65,536 1 iteration 2 iterations BER 6 iterations 3 iterations 10 iterations 18 iterations E /N in dB b o
The Digital Video Broadcasting Standard 187 Data Bytes + 1 Synch Byte • Shortened Reed Solomon Outer Code • 188 data bytes, 204 coded bytes • t=8 byte error correcting capability. • Convolutional interleaver • Depth of 12 • Convolutional Inner Code • Constraint length K = 7 Odenwalder code • Rates r = 1/2, 2/3, 3/4, 5/6, and 7/8 Convolutional Encoder RS Encoder (204,188,8) convolutional interleaver Constraint length = 7 depth = 12 AWGN noise Decoded Data Viterbi Decoder convolutional deinterleaver RS decoder
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.
0 10 -2 10 original DVB system -4 BER 10 -6 turbo code modified DVB system 10 -8 10 0 0.5 1 1.5 2 2.5 3 Eb/No in dB Comparison of Turbo and Convolutional Inner Codes • At BER 10-7, extra 1 dB of coding gain
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.
0 10 performance with outer RS code -2 10 turbo code without outer RS code t=8 -4 BER 10 -6 10 t=4 t=1 t=3 t=2 -8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Eb/No in dB Performance with (255,255-2t,t) RS code and length 2044 turbo code
Improved Performance Through Larger Frame Size • Up until now, we have matched the frame size of the turbo encoder to equal the size of the Reed Solomon code word. • 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 247 Data Bytes 255*8 = 2040 code bits Convolutional Encoder RS Encoder (255,247,4) convolutional interleaver
0 10 performance with outer RS code -2 10 -4 BER 10 turbo code without outer RS code -6 10 t=1 t=2 t=3 t=4 -8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Eb/No in dB Performance with (255,255-2t,t) RS code and length 16,234 turbo code
0 10 performance with outer RS code -2 10 -4 BER 10 turbo code without outer RS code -6 10 t=1 t=2 -8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Eb/No in dB Performance with (255,255-2t,t) RS code and length 65,284 turbo code
Comparison of Results 0 10 -2 DVB standard: concatenated K=7 CC and (204,188) RS code 10 BER -4 10 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 -6 10 reference BER = 10-7 -8 10 0 0.5 1 1.5 2 2.5 3 Eb/No in dB
Suggestions for Further Improvements • Errors and erasures decoding. • Exploit the soft-output of the turbo code to perform softer decoding of Reed Solomon code. • Explore other generator polynomials • Using a primitive feedback polynomial lowers the BER floor. • Perhaps the RS outer code won’t be needed. • Use BCH outer code • RS outer code is well matched to Viterbi decoder. • However a BCH code may be better for turbo codes. • 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 0 10 • At BER 10-7, turbo codes allow 73% higher data rate over same bandwidth. • Actually requires slightly less SNR to do this. r=7/8 turbo code w/ 65K frame -2 10 DVB standard r 0.46 r=4/5 turbo code w/ 65K frame BER -4 10 -6 10 -8 10 0 0.5 1 1.5 2 2.5 3 3.5 Eb/No in dB
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.