starts at node 0 and ends at node 0. Above each branch of that path, you see the output bits, and a number. That number tells you how many 1's are output by following this path (and therefore how far it is from the all-zeroes path). You combine all these numbers. You repeat this for each path that starts at node 0 and ends at node 0. The smallest number you get is dmin' In Figure 7.12, dmin = 5. A path that starts at node O and ends at All zeroes path node O time O time 1 time 2 time 3 Total distance from all zeroes: (2+1+2) Figure 7.12 Computing d min 7.4 Catastrophic Codes There are some convolutional codes that are very bad to use in a communication system-in fact, they are SO bad that they are known in engineering circles as cata- strophic codes. A convolutional code is called a catastrophic one whenever the following is possible. Look at Figure 7.13. There m = (0000000 is input to the convolutional coder, and u = (00 00 00 00 00 00 00 ...) is output by the convolutional coder. This is sent across the channel, where only three bit errors occur for all time, and we receive V = (11 01 00 00 00 00 00 ...). In response, the convolutional coder outputs m' = 1111111...). That is, only a finite number of bit errors were intro- duced in the channel, but the convolutional decoder, in seeing the finite number of errors, made an infinite number of errors. Yikes-catastrophic! Can this really happen? The answer is that in a badly designed convolutional coder it can! Let's look at how a convolutional coder can make this type of error, SO you can be sure to avoid building one like this. Look at the convolutional coder drawn in Figure 7.14. It can be written in polynomial form as follows: g(X)=1+X (7.4) ,(X) = 1 + X 2 (7.5) Channel Coding and Decoding: Part 2-Convolutional Coding and Decoding Convolutional Coder Modulator m=(00000...) 1 bit in - 2 bits out u ( 00 00 00 00 ...) Convolutional Coder: Demodulator m'= (11111...) Uses VA v= (11 01 00 00 ...) Figure 7.13 A catastrophic code Convolutional coder In modulo 2 multiplic