270 likes | 722 Views
Hybrid ARQ using Serial Concatenated Convolutional Codes over Fading Channels. Naveen Chandran Graduate Research Assistant Lane Dept. of Comp. Sci. & Elect. Engg. West Virginia University Matthew C. Valenti (presenter) Assistant Professor Lane Dept. of Comp. Sci. & Elect. Engg.
E N D
Hybrid ARQ using Serial Concatenated Convolutional Codes over Fading Channels Naveen Chandran Graduate Research Assistant Lane Dept. of Comp. Sci. & Elect. Engg. West Virginia University Matthew C. Valenti (presenter) Assistant Professor Lane Dept. of Comp. Sci. & Elect. Engg. West Virginia University mvalenti@wvu.edu
Overview • FEC, ARQ, hybrid ARQ and retransmission strategies. • Concatenated Convolutional Codes. • “Turbo codes” • Parallel (PCCC) vs. serial (SCCC) concatenations. • Survey of hybrid ARQ techniques using turbo codes. • Turbo Coding-ARQ System Model and process chart. • Simulation parameters and assumptions. • Throughput efficiency. • Summary and future work.
FEC and ARQ • FEC – Forward Error Correction • Channel code used to only correct errors. • ARQ – Automatic Repeat Request • Channel code used to detect errors. • A feedback channel is present • If no detected errors, an acknowledgement (ACK) is sent back to transmitter. • If there are detected errors, a negative acknowledgement (NACK) is sent back. • Retransmission if NACK or no ACK. • Several retransmission strategies: • Stop and wait, go-back-N, selective repeat, etc. • Selective repeat has better throughout performance than the others in the presence of propagation delays. • However, throughput of stop and wait and selective repeat protocols are the same if no transmission delay is assumed.
Hybrid FEC/ARQ • Combines forward error correction with ARQ. • Assumption: Availability of a noise free feedback channel • Uses an outer error detecting code in conjunction with an inner error correcting code • The receiver first tries to correct as many errors as possible using the inner code. • If there are any remaining errors, the outer code will (usually) detect them. • Retransmission requested if the outer code detects an error.
Retransmission Strategies • Two generic types of hybrid FEC/ARQ. • Type I hybrid ARQ: • Discard erroneous received code word. • Retransmit until packet correctly received or until pre-set number of retransmissions is achieved. • Small buffer size required but an inefficient scheme. • Type II hybrid ARQ: • Store erroneous received code word. • Optimally combine with retransmitted code word. • Exploit incremental redundancy concept • Effective Code rate is gradually lowered until packet is decoded correctly. • System adapts to varying channel conditions. • Larger buffer size required than Type-I but is a very efficient scheme.
Turbo Codes • Key features: • Concatenated Convolutional Codes. • PCCC: Parallel Concatenated Convolutional Codes. • SCCC: Serial Concatenated Convolutional Codes. • Nonuniform interleaving. • Recursive systematic encoding. • RSC: Recursive Systematic Convolutional Codes. • For PCCC both encoders are RSC. • For SCCC at least the inner encoder is RSC. • Iterative decoding algorithm. • MAP/APP based. • Log-MAP: In logarithmic domain.
PCCC’s • Features of parallel concatenated convolutional codes (PCCC’s): • Both encoders are RSC. • Performance close to capacity limit for BER down to about 10-5 or 10-6 (i.e. in the cliff region). • BER flooring effect at high SNR. Input RSC Encoder #1 Systematic Output Parity Output RSC Encoder #2 Nonuniform Interleaver
SCCC’s • Features of serially concatenated convolutional codes (SCCC’s): • Inner encoder must be recursive. • Outer encoder can be recursive or nonrecursive. • Performance not as good as PCCC’s at low SNR. • However, performance is better than PCCC’s at high SNR because the BER floor is much lower. Input Output Outer Encoder Nonuniform Interleaver Inner Encoder
Turbo Codes and Hybrid ARQ • Turbo codes have been applied to hybrid ARQ. • Narayanan and Stüber • Interleave the input to the turbo encoder with a different interleaving function for each retransmission. • Use log-likelihood ratios from last transmission. • Rowitch and Milstein. • Rate-compatible punctured turbo (RCPT) codes. • Buckley and Wicker • Use cross-entropy instead of a CRC to detect errors. • Error detection threshold adaptively determined with a neural network. • All the above use PCCC’s. • Wu & Valenti (ICC 2000) had PCCC/SCCC approach.
Turbo Coding-ARQ System Model Turbo Encoder Puncture & Buffer Channel Inter- leaver BPSK Modul- ator uk yk ak ACK NACK Feedback for Type II Hybrid ARQ nk Channel De-Inter- leaver rk Error Detection Turbo Decoder ûk Channel Estimator
Coding-ARQ process chart Start with Maximum Code Rate Transmit code bits not previously sent PCCC / SCCC Error correction Reduce code rate to next lower rate NO Lowest Rate? YES Errors Still? Detect Errors after correction Go on to Next Data Frame YES NO
Simulation Parameters • Input frame size N = 1024. • Channel types: • AWGN • Fully-interleaved Rayleigh Fading • Turbo Channel Code Parameters: • PCCC and SCCC • Each comprised of two identical RSC codes. • Constraint Length K = 5. • Generator Polynomials in octal: • Feedback = 35. • Feedforward = 23. • Encoders terminated with a 4 bit tail. • Decoder uses max-log-MAP algorithm.
Simulation Parameters contd. • Puncturing: • Period = 8. • For PCCC, code rates range from 4/5 to 1/3. • For SCCC • Outer code rate = 2/3 (Puncturing parity bits alternatively). • Inner code rate ranges from 1 to 1/2. • Overall code rate ranges from 2/3 to 1/3. • Channel Interleaver: • Spread interleaver with S=18. • Interleaver Sizes: • PCCC – 1024. • SCCC – 1544.
Simulation Assumptions • Perfect channel estimates. • Perfect error detection after turbo decoding. • Noise free feedback channel from receiver to transmitter for ACK/NACK. • No transmission delays. • Stop and wait performs just as well as selective repeat protocol. • SCCC puncturing patterns not optimized.
Throughput Efficiency • Defined as expectation of the code rate as a function of frame error rate (FER) at a particular value of signal to noise ratio (Es / No). • Mathematically defined as is a particular code rate and is the probability mass function of the rate.
Throughput Efficiency contd. • Probability that the system is transmitting at a particular rate is the product of: • Probability of frame errors at higher rates and • Probability of success at current rate. • Probability mass function is given by:
Throughput comparison AWGN Channel Fading Channel
Discussion • In each case, the throughput of PCCC is better than SCCC. • Why? • For hybrid-ARQ, it’s the location of the “cliff” that matters, not the height of the floor. • Thus, hybrid ARQ is not able to exploit the benefits of SCCC. • However, the puncturing patterns were not optimized for SCCC. • Systems that combine PCCC/SCCC appear to be promising.
Summary • Conclusion • Like PCCCs, SCCCs can be used as part of a type II hybrid FEC/ARQ scheme. • SCCCs offer lower BER floors than PCCCs. • But, this comes at the cost of the “cliff” occurring at higher SNR. • Initial results show that since the cliff region is the predominant contributor towards throughput efficiency rather than the height of the BER floor, SCCCs have lower throughput efficiency than PCCCs. • Future Work • Optimize puncturing patterns for SCCC to reduce the gap between the throughput efficiencies of PCCC and SCCC. • Exploit the fact that a PCCC code is a particular type of SCCC code. • Promising results could be achieved by using hybrid PCCC/SCCC codes.
Puncturing Patterns Table 1: Octal puncturing patterns for PCCC based systems with code polynomial g = (35,23), frame size N = 1024 and puncturing period P = 8.
Puncturing Patterns Table 2: Octal puncturing patterns for SCCC based systems with code polynomial g = (35,23), frame size N = 1024 and puncturing period P = 8.