Transcript Performance of Concatenated RS & Turbo Codes in AWGN
Inserting Turbo Code Technology into the DVB Satellite Broadcasting System Matthew Valenti Assistant Professor West Virginia University Morgantown, WV 26506-6109 [email protected]
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
Recursive Systematic Convolutional Encoding
m i m i r i
D D D D
x i
( 0 )
x i
( 1 ) Constraint Length K= 3
x i
( 0 )
x i
( 1 )
x i x i
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
Systematic Output Data D Upper RSC D MUX Parity Output nonuniform interleaver D D Lower RSC 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
systematic data parity data
DeMUX Decoder #1 Deinterleaver
Extrinsic Information
Interleaver Decoder #2
Extrinsic Information APP for hard bit decisions
Interleaver Turbo codes are decoded with an iterative decoding algorithm.
Decoding complexity comparison: Convolutional codes O(2 K ).
Turbo codes O(4x2 K ) per iteration.
10 0 10 -1 10 -2
Turbo Code Performance as a Function of Number of Iterations
1 iteration Berrou encoder K=5 r=1/2 L=65,536 2 iterations 10 -3 10 -4 6 iterations 10 -5 10 -6 10 -7 0.5
10 iterations 18 iterations 1 E b /N o in dB 1.5
3 iterations 2 BER “floor”
187 Data Bytes + 1 Synch Byte
The Digital Video Broadcasting Standard
RS Encoder (204,188,8) convolutional interleaver Convolutional Encoder depth = 12 Constraint length = 7 Decoded Data RS decoder convolutional deinterleaver Viterbi Decoder AWGN noise 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
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 10 -2 original DVB system 10 -4 10 -6 10 -8 0 At BER 10 0.5
-7 , extra 1 dB of coding gain 1 1.5
Eb/No in dB turbo code modified DVB system 2 2.5
3
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 10 -2 performance with outer RS code 10 -4 t=8 turbo code without outer RS code 10 -6 10 -8 0 0.2
0.4
0.6
0.8
1 Eb/No in dB 1.2
1.4
t=3 t=4 t=2 t=1 1.6
1.8
2
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.
247 255*8 = Data Bytes RS Encoder 2040 code bits convolutional Convolutional (255,247,4) interleaver 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
10 0
Performance with (255,255-2t,t) RS code and length 16,234 turbo code
10 -2 performance with outer RS code 10 -4 10 -6 10 -8 0 0.2
0.4
0.6
0.8
Eb/No in dB t=4 t=3 t=2 1 1.2
turbo code without outer RS code t=1 1.4
1.6
10 0
Performance with (255,255-2t,t) RS code and length 65,284 turbo code
10 -2 performance with outer RS code 10 -4 10 -6 10 -8 0 0.2
0.4
turbo code without outer RS code t=2 0.6
0.8
Eb/No in dB t=1 1 1.2
1.4
Comparison of Results
10 0 10 -2 DVB standard: concatenated K=7 CC and (204,188) RS code 10 -4 10 -6 Concatenated length 65,284 turbo code and (255,251) RS code 10 -8 0 0.5
Concatenated length 16,324 turbo code & (255,247) RS code Concatenated length 2044 turbo code and (255,247) RS code reference BER = 10 -7 1 1.5
Eb/No in dB 2 2.5
3
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
10 0 10 -2 10 -4 10 -6 DVB standard r 0.46
At BER 10 -7 , turbo codes allow 73% higher data rate over same bandwidth. Actually requires slightly less SNR to do this. 10 -8 0 0.5
1 1.5
Eb/No in dB 2 2.5
r=4/5 turbo code w/ 65K frame 3 r=7/8 turbo code w/ 65K frame 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.