Title: Design of Long Optimal Interleavers for Turbo Codes
1Design of Long Optimal Interleavers for Turbo
Codes
- Nancy B. List
- Advisor Douglas B. Williams
2Historical Background
- In 1948 Shannon published his famous paper A
Mathematical Theory of Communication. - Transmitting at rates lt C reliable
communication - Transmitting at rates gt C unreliable
communication - Codes exist for which the BER in the received
sequence can be made arbitrarily small
3What are Turbo Codes?
- Turbo codes are a class of error correcting codes
codes introduced in 1993 that come closer to
approaching Shannons limit than any other class
of error correcting codes. - Turbo codes achieve their remarkable performance
with relatively low complexity encoding and
decoding algorithms.
4Building Blocks of Turbo Codes
- 2 recursive convolutional encoders
- 1 interleaver
- These elements can be connected in parallel or in
series.
5Parallel Configuration
6Series Configuration
7Recursive Convolutional Encoders
- 3-Delay-State Recursive Convolutional Encoder
8Properties of Recursive Convolutional Encoders
- Infinite impulse response
- Most input sequences are associated with high
weight parity sequences.
9Decoding Algorithm
- The input bits to the individual encoders are
decoded separately using a soft-output APP
decoding algorithm. - Information about the decoded input bits is
passed iteratively between the two decoders. - The decoding algorithm minimizes the bit error
probability of the input sequence.
10Block Diagram of Decoder
11Interleaver
- The interleavers function is to permute low
weight code words in one encoder into high weight
code words for the other encoder. - Most input sequences are associated with parity
sequences that are not self-terminating. - Input sequences with self-terminating parity
sequences form terminating code words.
12Interleaver
- Input sequences which form terminating code words
in both encoders form the low weight code words
of a turbo coding scheme. - Error patterns corresponding to low weight code
words are the least likely to be corrected by the
decoder. - We have focused our interleaver design method on
permuting terminating code words into
non-terminating code words.
13Recursive Convolutional Encoder as a Dynamical
System
- A recursive convolutional encoder can be
represented as a dynamical system
14Recursive Convolutional Encoder as a Dynamical
System
- In practice,there are a finite number, N, of bits
to be encoded. - We can think of these bits as being placed into a
length-N vector m to be queued into the encoder.
15Recursive Convolutional Encoder as a Dynamical
System
- Alternatively, the encoder can be represented as
an autonomous dynamical system
16Recursive Convolutional Encoder as a Dynamical
System
- The final state of the encoder after a length-N
message has been encoded is given by -
17Recursive Convolutional Encoder as a Dynamical
System
- The final state of the encoder after a length-N
message has been encoded is given by - where
18Impulse Response of Delay States
19Terminating Code Words
- Terminating code words leave the encoder in the
zero state after all their bits have been
encoded. - Thus, the following is satisfied if the input
sequence in m results in a terminating code word
20Terminating Code Words
- We see that terminating code words constitute the
dual space to the vector space spanned by the
delay state impulse response vectors. - Similarly, we can show that at least
- of the terminating code words cannot be
interleaved into non-terminating code words.
21Interleaving by Sub-vector
- The relationship between terminating code words
and the periodic impulse response of the delay
states leads to our new method of interleaver
design. - We call this method interleaving by sub-vector.
22Interleaving by Sub-vector
- As before, if m corresponds to a terminating code
word, then - If then
23Interleaving by Sub-vector
- If we are able to permute
- such that
-
- then
24Interleaving by Sub-vector
- If P interleaves the maximum fraction of length-7
terminating code words, then it can be shown that
it interleaves the maximum fraction of length-N
terminating code words. - P is optimal in the sense that it
orthogonalizes the two encoders to the largest
degree possible. - In order to reduce the BER of our coding scheme,
we need to be target certain terminating code
words by our interleaver. -
25Bounds on BER of Turbo Codes
- We use the idea of a uniform random interleaver
to calculate the probability of a bit error due
to a low-weight error pattern in a turbo coding
scheme. - Def A uniform random interleaver maps a
weight-d input sequence to one encoder into all
possible weight-d input sequences for the second
encoder with equal probability.
26Bounds on BER of Turbo Codes
- The lowest weight-d input sequence corresponding
to a terminating code word is weight-2.
27Weight-2 Input Sequences
- Error patterns corresponding to terminating code
words with weight-2 input dominate the BER at low
SNRs. - We need to design our interleaver to permute
these code words into non-terminating code words
for the other encoder.
28Distance Spectrum Interpretation of BER
29Optimal Long Interleavers
- By interleaving over a sub-vector corresponding
to more than one period of the delay state
impulse response, we can - interleave all low weight code words with
weight-2 input sequences into non-terminating
code words, and - increase the free distance of the coding scheme.
30Interleaving by Sub-vector
- Interleaving by sub-vector effectively permutes
the columns of a matrix with information bits
read in row-wise. - To reduce the probability of error due to the
terminating code words that are not interleaved,
we perform random interleaving over the columns
of this matrix. - Random column interleaving is the key to being
able to scale up the interleaver to any length.
31Results
32Results
33Future Work
- The method of interleaving by sub-vector can also
be used with serially concatenated turbo codes. - Bit error rates of serially concatenated turbo
codes are inversely proportional to higher powers
of the interleaver length - Using the method of interleaving by sub-vector,
it should be possible to make the BER decrease as
34Bounds on BER of Serially Concatenated Turbo Codes
35Bounds on BER of Serially Concatenated Turbo Codes
36Bounds on BER of Serially Concatenated Turbo Codes