


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 4
This page cannot be seen from the preview
Don't miss anything!



18.413: Error-Correcting Codes Lab April 8, 2004
Lecturer: Daniel A. Spielman
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.
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
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.
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.”