Presentation on theme: "Inserting Turbo Code Technology into the DVB Satellite Broadcasting System Matthew Valenti Assistant Professor West Virginia University Morgantown, WV."— Presentation transcript:
Inserting Turbo Code Technology into the DVB Satellite Broadcasting System Matthew Valenti Assistant Professor West Virginia University Morgantown, WV 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 ) 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
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. DD Constraint Length K= 3 DD
D Turbo Encoder 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 DD Data MUX Upper RSC Lower RSC Systematic Output Parity Output nonuniform interleaver
Turbo Decoder Turbo codes are decoded with an iterative decoding algorithm. Decoding complexity comparison: Convolutional codes O(2 K ). Turbo codes O(4x2 K ) per iteration. Decoder #1 Decoder #2 DeMUX Interleaver Deinterleaver systematic data parity data Extrinsic Information Extrinsic Information APP for hard bit decisions
E b /N o in dB BER 1 iteration 2 iterations 3 iterations 6 iterations 10 iterations 18 iterations Turbo Code Performance as a Function of Number of Iterations Berrou encoder K=5 r=1/2 L=65,536 BER “floor”
The Digital Video Broadcasting Standard 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 RS Encoder (204,188,8) Decoded Data convolutional interleaver Convolutional Encoder AWGN noise RS decoder convolutional deinterleaver Viterbi Decoder 187 Data Bytes + 1 Synch Byte depth = 12 Constraint length = 7
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.
Eb/No in dB BER original DVB system turbo code modified DVB system 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.
Eb/No in dB BER turbo code without outer RS code performance with outer RS code t=1 t=2 t=4 t=8 t=3 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* = 65,284 bits Convolutional interleaver no longer needed RS Encoder (255,247,4) convolutional interleaver Convolutional Encoder 247 Data Bytes 255*8 = 2040 code bits
Eb/No in dB BER t=3 performance with outer RS code turbo code without outer RS code t=1 t=2 t=4 Performance with (255,255-2t,t) RS code and length 16,234 turbo code
turbo code without outer RS code performance with outer RS code t=1 t=2 BER Eb/No in dB Performance with (255,255-2t,t) RS code and length 65,284 turbo code
Eb/No in dB BER DVB standard: concatenated K=7 CC and (204,188) RS code Concatenated length 2044 turbo code and (255,247) RS code Concatenated length 16,324 turbo code & (255,247) RS code reference BER = Concatenated length 65,284 turbo code and (255,251) RS code Comparison of Results
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 Eb/No in dB BER r=4/5 turbo code w/ 65K frame DVB standard r 0.46 r=7/8 turbo code w/ 65K frame At BER 10 -7, turbo codes allow 73% higher data rate over same bandwidth. Actually requires slightly less SNR to do this.
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 Improved bandwidth efficiency Rate 4/5 turbo code gives same performance as DVB at BER = No RS outer code is needed in this case. This translates to a 73% increase in bandwidth efficiency with no loss in energy efficiency.