Turbo Codes at WVU - West Virginia University

Download Report

Transcript Turbo Codes at WVU - West Virginia University

An ARQ Technique
Using Related Parallel and Serial
Concatenated Convolutional Codes
Yufei Wu
formerly with:
Mobile and Portable Radio Research Group
Virginia Tech
now with:
Motorola
Schaumburg IL
Matthew C. Valenti (presenter)
Dept. of Comp. Sci. & Elect. Eng.
West Virginia University
Overview


FEC, ARQ, and hybrid ARQ
Concatenated Convolutional Codes




Brief survey of hybrid ARQ techniques using
turbo codes.
Relationships between PCCC and SCCC’s


“Turbo codes”
Parallel (PCCC) vs. serial (SCCC) concatenations.
How to encode a PCCC using a SCCC encoder.
A new hybrid ARQ technique that uses related
SCCC and PCCC’s.
FEC and ARQ


FEC

Forward Error Correction.

Channel code used to 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.
Hybrid ARQ

Hybrid ARQ 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.
Combining strategies:

Type I hybrid ARQ:


Discard previously received code word.
Type II hybrid ARQ:



Keep previously received code word.
Combine with received retransmitted code word.
Variations: Code combining and diversity combining.
Turbo Codes

Key features:

Concatenated Convolutional Codes.




Nonuniform interleaving.
Recursive systematic encoding.




PCCC: Parallel Concatenated Convolutional Codes.
SCCC: Serial Concatenated Convolutional Codes.
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.
BER flooring effect at high SNR.
Systematic Output
Input
RSC
Encoder #1
Nonuniform
Interleaver
RSC
Encoder #2
xi
Parity
Output
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
Outer
Encoder
Nonuniform
Interleaver
Inner
Encoder
Output
Turbo Codes and Hybrid ARQ

Turbo codes have been applied to hybrid ARQ.

Narayanan and Stuber



Rowitch and Milstein.


Rate-compatible punctured turbo (RCPT) codes.
Buckley and Wicker



Interleave the input to the turbo encoder with a different
interleaving function for each retransmission.
Use log-likelihood ratios from last transmission.
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.

None propose using SCCC’s.
A General Purpose Encoder
It is possible to generate related PCCC and
SCCC’s using a single encoder.
~ ~
u
p1
~
u  u
~ ~
s
u
p1
RSC
RSC
u Encoder
s
p
Encoder
~
p
p
p1
p1
#1
#2
2
2
p

interleavers

s
p
~
~
u
p
p
p
Outputs
constitute a SCCC.
1
2
2

~ ~
Outputs u
p1 p2s
constitute a PCCC.
Equivalent SCCC Encoder

u

We may express the general encoder as a
SCCC encoder.
RSC
Encoder
#1
u p1
 eq
equivalent
interleaver
u~ ~
p1
RSC
Encoder
#2
u~ ~
p1 p2s p2p
eq is an equivalent interleaver.


RSC 1’s systematic output must be mapped to the
first half of the input into RSC 2.
RSC 1’s parity output must be mapped to the last
half of the input into RSC 2.
Equivalent PCCC Encoder

p
p
If 2 is not transmitted, then the encoder can
be expressed as a PCCC encoder
u
RSC
Encoder
#1
s
u~
RSC
Encoder
#2
u  u~
s
~
p1
p1
p
p2s
u~ ~
p1 p2s
New Hybrid ARQ Technique
1. Encode data with error detection code.
2. Then encode with the generalized encoder.
3. Transmit the PCCC information u~ ~p1 p2s
p
a. Store p2 in a buffer
4. Decode received PCCC code word.
5. Check decoded PCCC code word for errors.
a. If no errors, then stop.
b. Otherwise, send NACK to the transmitter.
p
p
6. Transmit 2
7. Combine received p2 with received u~ ~p1 p2 to
create a received SCCC code word. Decode.
8. Check decoded SCCC code word for errors.
p
s
a. If no errors then stop.
b. Otherwise discard information and go back to (1).
Simulation Parameters


16 bit error detecting CRC code.
1,024 bit input into FEC encoder.







Includes the 16 parity bits.
S-random or “spread” interleaver design.
Both RSC 1 and RSC 2 are identical constraint length
4 RSC encoders (rate ½).
Both encoders are terminated with a 3-bit tail.
Decoder uses 10 iterations of log-MAP.
AWGN channel and BPSK/QPSK modulation.
Compared with:


Conventional PCCC code
Type-I hybrid ARQ PCCC with maximum of 1 retransmission.
BER Comparison
10
10
BER
10
10
10
10
10
0
PS-ARQ
PC-ARQ
PC-FEC
-1
-2
-3
-4
-5
-6
-5
-4.5
E /N (dB)
s
0
-4
FER Comparison
10
10
-1
-2
FER
10
0
10
10
10
-3
-4
PS-ARQ
PC-ARQ
PC-FEC
-5
-5
E s /N 0
-4.5
(dB)
-4
Throughput Efficiency
0.35
Throughput Efficiency
0.3
0.25
0.2
0.15
0.1
PS-ARQ
PC-ARQ
PC-FEC
0.05
0
-5
-4.5
E s /N 0 (dB)
-4
Complexity Load
10
4
PS-ARQ
PC-ARQ
PC-FEC
Complexity Load
10
10
10
10
3
2
1
0
-5
-4.5
E s /N 0 (dB)
-4
Summary

Conclusion:




An SCCC encoder can be used to encode a PCCC.
This result was used to develop a new hybrid ARQ
strategy.
The proposed technique offers superior
performance over ARQ techniques derived solely
from PCCC’s.
Future work:

Comparison with other ARQ techniques.




Narayanan and Stuber
Rowitch and Milstein
Use of other encoders and puncturing schemes.
Determine what to do if there are residual errors.