01.08.2013 Views

Information Theory, Inference, and Learning ... - MAELabs UCSD

Information Theory, Inference, and Learning ... - MAELabs UCSD

Information Theory, Inference, and Learning ... - MAELabs UCSD

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Copyright Cambridge University Press 2003. On-screen viewing permitted. Printing not permitted. http://www.cambridge.org/0521642981<br />

You can buy this book for 30 pounds or $50. See http://www.inference.phy.cam.ac.uk/mackay/itila/ for links.<br />

578 48 — Convolutional Codes <strong>and</strong> Turbo Codes<br />

1111<br />

1110<br />

1101<br />

1100<br />

1011<br />

1010<br />

1001<br />

1000<br />

0111<br />

0110<br />

0101<br />

0100<br />

0011<br />

0010<br />

0001<br />

0000<br />

received<br />

z4 〈d<br />

z3 〈d<br />

z2 〈d<br />

z1<br />

〈d<br />

✲<br />

⊕<br />

✻<br />

z0<br />

✲ t (b)<br />

✻<br />

✲<br />

t (a)<br />

⊕ ⊕ ✛ ❵ s<br />

❄ ⊕ ✲<br />

❄ ⊕ ✲<br />

❄ ✲ ✲<br />

<br />

21 1, 37 8<br />

0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0<br />

In general a linear-feedback shift-register with k bits of memory has an impulse<br />

response that is periodic with a period that is at most 2 k − 1, corresponding<br />

to the filter visiting every non-zero state in its state space.<br />

Incidentally, cheap pseudor<strong>and</strong>om number generators <strong>and</strong> cheap cryptographic<br />

products make use of exactly these periodic sequences, though with<br />

larger values of k than 7; the r<strong>and</strong>om number seed or cryptographic key selects<br />

the initial state of the memory. There is thus a close connection between<br />

certain cryptanalysis problems <strong>and</strong> the decoding of convolutional codes.<br />

48.3 Decoding convolutional codes<br />

The receiver receives a bit stream, <strong>and</strong> wishes to infer the state sequence<br />

<strong>and</strong> thence the source stream. The posterior probability of each bit can be<br />

found by the sum–product algorithm (also known as the forward–backward or<br />

BCJR algorithm), which was introduced in section 25.3. The most probable<br />

state sequence can be found using the min–sum algorithm of section 25.3<br />

(also known as the Viterbi algorithm). The nature of this task is illustrated<br />

in figure 48.6, which shows the cost associated with each edge in the trellis<br />

for the case of a sixteen-state code; the channel is assumed to be a binary<br />

symmetric channel <strong>and</strong> the received vector is equal to a codeword except that<br />

one bit has been flipped. There are three line styles, depending on the value<br />

of the likelihood: thick solid lines show the edges in the trellis that match the<br />

corresponding two bits of the received string exactly; thick dotted lines show<br />

edges that match one bit but mismatch the other; <strong>and</strong> thin dotted lines show<br />

the edges that mismatch both bits. The min–sum algorithm seeks the path<br />

through the trellis that uses as many solid lines as possible; more precisely, it<br />

minimizes the cost of the path, where the cost is zero for a solid line, one for<br />

a thick dotted line, <strong>and</strong> two for a thin dotted line.<br />

⊲ Exercise 48.2. [1, p.581] Can you spot the most probable path <strong>and</strong> the flipped<br />

bit?<br />

Figure 48.6. The trellis for a k = 4<br />

code painted with the likelihood<br />

function when the received vector<br />

is equal to a codeword with just<br />

one bit flipped. There are three<br />

line styles, depending on the value<br />

of the likelihood: thick solid lines<br />

show the edges in the trellis that<br />

match the corresponding two bits<br />

of the received string exactly;<br />

thick dotted lines show edges that<br />

match one bit but mismatch the<br />

other; <strong>and</strong> thin dotted lines show<br />

the edges that mismatch both<br />

bits.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!