that this u is a possible output of the channel coder. Looking at the trellis diagram, we see that (00 00 00) is a possible output by following the chain of 00 outputs that sit above the solid lines at the top of the trellis diagram. What about the received input V = (00 00 01)? Is that a possible output of the channel coder? If you look through the trellis diagram, you can find 00 output at time 1, followed by a 00 output at time 2, but you see it can't be followed by the output 01 at time 3. So the received V = (00 00 01) is not a possible output of the channel coder. Therefore, one thing the channel decoder can do is look at the received V (for example, V = (00 00 01)) and ask itself if it matches an output path through the trellis. If the answer is no, then there must be an error in transmission. That's an easy way to detect errors. A convolutional decoder can also correct errors using the trellis diagram. To do this, it simply asks itself the following: Given V = (00 00 01) what is the path in the trellis closest to this V (in terms of fewest bits different)? Exhaustively searching all paths in the trellis, the closest path to V = (00 00 01) is u' = (00 00 0 00), as seen in Figure 7.7(a). The channel decoder decides that the sent bits must have been u' = (00 00). "If these are the sent bits, then the input that created them is m' = (000)," says the channel decoder, "and SO we have decided on our output." There is a simple tool that we can use to find m' once we have figured out u', the closest path in the trellis to the received bits V. All we have to do is look at the trellis- at the series of solid and dashed lines that corresponds to u'. A solid line tells us a 0 is the bit in m' and a dashed line tells us that a 1 is the bit in m'. Let me explain by example, using Figure 7.7(b) to help. In Figure 7.7(b), you see that u' = (00 00 is the output path corresponding to the top lines of the trellis. Now, if you look at the first branch of the path, there you see below the 00 a solid line-that tells you the fir