View
221
Download
0
Category
Preview:
Citation preview
Hybrid ARQ using Serial Concatenated Convolutional Codes
over Fading Channels
Naveen ChandranGraduate 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.
RSCEncoder #1
RSCEncoder #2
NonuniformInterleaver
Input
ParityOutput
Systematic Outputix
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.
Outer Encoder
Inner Encoder
NonuniformInterleaver
Input Output
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
ChannelInter-leaver
Feedback for
Type II Hybrid ARQ
ûk
yk
ak
nk
rk
Puncture& Buffer
TurboEncoder
BPSKModul-
ator
ChannelDe-Inter-
leaver
ChannelEstimator
TurboDecoder
uk
ErrorDetection
ACK
NACK
Coding-ARQ process chartStart with
Maximum Code Rate
Transmit code bits not previously sent
PCCC / SCCCError correction
Detect Errors after correctionErrors
Still?
NO
YESLowestRate?YES
NO
Reduce code rate to next lower rate
Go on to Next Data Frame
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.
BER comparison: PCCC in AWGN Channel (N=1024)
-4 -2 0 2 4 6 810
-8
10-7
10-6
10-5
10-4
10-3
10-2
10-1
100
Es/No in dB
BE
R
r=4/5 r=8/11r=2/3 r=4/7 r=1/2 r=4/9 r=2/5 r=1/3
BER comparison: PCCC in Fading Channel (N=1024)
-5 0 5 1010
-8
10-7
10-6
10-5
10-4
10-3
10-2
10-1
100
Es/No in dB
BE
Rr=4/5 r=8/11r=2/3 r=4/7 r=1/2 r=4/9 r=2/5 r=1/3
BER comparison: SCCC in AWGN Channel (N=1024)
-5 0 5 1010
-8
10-7
10-6
10-5
10-4
10-3
10-2
10-1
100
Es/No in dB
BE
R
r=2/3 r=16/27r=8/15 r=16/33r=4/9 r=16/39r=8/21 r=16/45r=1/3
BER comparison: PCCC in Fading Channel (N=1024)
-5 0 5 1010
-7
10-6
10-5
10-4
10-3
10-2
10-1
100
Es/No in dB
BE
R
r=2/3 r=16/27r=8/15 r=16/33r=4/9 r=16/39r=8/21 r=16/45r=1/3
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.
T E r FERE
Navs
o
FHG
IKJ
LNM
OQP
RS|T|UV|W|
r P r rir
i
i
[ ]
ri P r ri[ ]
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:
P r r FER rE
NFER r
E
Ni is
oj
s
or rj i
[ ] , , FHG
IKJ
LNM
OQP
FHG
IKJ
LNMM
OQPP
1
Throughput comparison
-5 0 5 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Es/No in dB
Thr
ougp
ut e
ffic
ien
cy
PCCCSCCC
-5 0 5 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Es/No in dB
Thr
ougp
ut e
ffic
ienc
y
PCCCSCCC
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
PCCC
Overall Rate 4/5 8/11 2/3 4/7 1/2 4/9 2/5 1/3
Puncturing Patterns
377 020 020
377 024 020
377 024 024
377 224 224
377 264 264
377 265 274
377 275 374
377 377 377
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.
SCCC
Encoder Outer Inner Rates 2/3 1 8/9 4/5 8/11 2/3 8/13 4/7 8/15 1/2 Puncturing Patterns
377 252
377 0
377 200
377 202
377 242
377 252
377 352
377 356
377 357
377 377
Recommended