Extrinsic Decoding in Turbo and Serially-Concatenated Error-Correcting Codes, Slides of Applied Mathematics

The concept of extrinsic decoding in turbo and serially-concatenated error-correcting codes. How extrinsic decoders take input estimates for the probability that each bit is 1 and computes the extrinsic probabilities that the bits in x and w are 1, taking into account all input data except the data item corresponding to the estimate being output. The document also describes the turbo and serially-concatenated code decoders and their similarities and differences. The document concludes with suggestions for final projects related to error-correcting codes.

Typology: Slides

2010/2011

Uploaded on 11/09/2011

mjforever
mjforever 🇺🇸

4.8

(25)

254 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
18.413: Error-Correcting Codes Lab April 8, 2004
Lecture 16
Lecturer: Daniel A. Spielman
16.1 Related Reading
Fan, pp. 108–110.
Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative De-
coding, by S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara.
16.2 Decoding Modules
Before describing some variations on Turbo codes, I’ll give a more general view of convolutional
code decoders. To begin, we’ll consider decoders for general convolutional codes, in which the
input bits might not appear among the output. I’ll let wdenote the message bits, the input to the
encoder, and xdenote the coded bits, the output of the encoder.
An extrinsic decoder (called SISO in the Benedetto, et. al. paper) will take as input estimates
for the probability that each bit in xand wis 1. We view these inputs as coming in two streams,
one for xand one for w. The channel typically provides such estimates for the bits in w. One can
view the other decoder in a turbo code as providing such estimates for the bit in x. The decoder
will also have two output streams, computing the extrinsic probabilities that the bits in xand w
are 1. Here, extrinsic means computing the probability while taking into account all of the input
data, except the data item corresponding to the extimate being output. In particular, if the code
is systematic, so the input appears inside the output, then the extrinsic outputs for wwill not use
the corresponding estimates on the winput stream, but may use the estimates from the xinput.
For example, if x1=w1, then the computation of Pext [w1= 1] will use the input probability that
x1= 1, but not that w1= 1.
extrinsic
decoder
prob est
for x
prob est
for w
ext out
for x
ext out
for w
Figure 16.1: Extrinsic decoding module, as described in Benedetto, et. al.
Using this module, we can depict the Turbo decoding algorithm as follows:
16-1
pf3
pf4

Partial preview of the text

Download Extrinsic Decoding in Turbo and Serially-Concatenated Error-Correcting Codes and more Slides Applied Mathematics in PDF only on Docsity!

18.413: Error-Correcting Codes Lab April 8, 2004

Lecture 16

Lecturer: Daniel A. Spielman

16.1 Related Reading

  • Fan, pp. 108–110.
  • Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative De- coding, by S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara.

16.2 Decoding Modules

Before describing some variations on Turbo codes, I’ll give a more general view of convolutional code decoders. To begin, we’ll consider decoders for general convolutional codes, in which the input bits might not appear among the output. I’ll let w denote the message bits, the input to the encoder, and x denote the coded bits, the output of the encoder.

An extrinsic decoder (called SISO in the Benedetto, et. al. paper) will take as input estimates for the probability that each bit in x and w is 1. We view these inputs as coming in two streams, one for x and one for w. The channel typically provides such estimates for the bits in w. One can view the other decoder in a turbo code as providing such estimates for the bit in x. The decoder will also have two output streams, computing the extrinsic probabilities that the bits in x and w are 1. Here, extrinsic means computing the probability while taking into account all of the input data, except the data item corresponding to the extimate being output. In particular, if the code is systematic, so the input appears inside the output, then the extrinsic outputs for w will not use the corresponding estimates on the w input stream, but may use the estimates from the x input. For example, if x 1 = w 1 , then the computation of Pext^ [w 1 = 1] will use the input probability that x 1 = 1, but not that w 1 = 1.

extrinsic

decoder

prob est for x

prob est for w

ext out for x

ext out for w

Figure 16.1: Extrinsic decoding module, as described in Benedetto, et. al.

Using this module, we can depict the Turbo decoding algorithm as follows:

Π^ −

extrinsic decoder 1

extrinsic decoder 2

from channel not used

from

channel not used

initialize to null

at first round

Figure 16.2: The description of the Turbo decoder by Benedetto, et. al.

One of the most-studied variations on Turbo codes are serially-concatenated codes. These are specified by one random permutation, and two convolutional codes. The input message, w, is first passed through the first convolutional encode to produce a word v. The word v is then passed through the permuter to produce v′. The word v′^ is then passed through the second convolutional encoder to produce the codeword x. Following Forney, the first encoder is called the outer code, and the second is called the inner code. For an picture, see Figure 16.3.

outer convolutional encoder

convolutional encoder

inner Π

w v v’ x

Figure 16.3: Serial concatenation scheme.

The decoder for serially-concatenated codes is very much like that for Turbo codes. Benedetto, et. al. describe it by the following figure:

Π^ −

initialize to null at first round

from channel

fixed at null output

not used inner extrinsic decoder outer extrinsic decoder

Figure 16.4: The description of the serially-concatenated code decoder by Benedetto, et. al.

The convolutional codes do not necessarily have to be recursive or systematic, although experiments reveal that the first should be systematic and the second should be recursive.

The first draft should contain all of the necessary expository material, and at least some preliminary experimental results. You will receive comments on your first draft that you will need to incorporate into the final draft. Unfortuntely, there can be no extensions on the deadline for the final project.

You may work in teams of up to three people on the final project. If you work in a team of three, I will expect one of you to give a presentation on the first day of presentations. If you work in a team, each team member must write their own final report. The magnitude of the final project should depend on the number of people in a team.

16.3.1 Important Note

While I would like to assume that the following note is unnecessary, I have been wrong in the past. You must be very careful not to plagerize material! There are many surveys and expository papers on this material, and, while you are welcome to read these for your education, you may not use sentences, figures, or organization from these works without attribution. Note again that this includes figures that you find on web pages. Similarly, you may not use code developed by others without attribution. I take violations of academic honesty very seriously. To quote my brother: “He’s a very nice guy, but he’s also a professor; and professors hate plagerism.”