long: make the output bits a subspace. Once you've done that, then you've got an easy way to get output bits from input bits, using G. If you want to make it even easier, add the rule that the last bits of the output have got to match the input bits, and you've made the matrix G even simpler (and you get to call your code a systematic linear block code). Example 6.4 True or False: The matrix in Equation (E6.1) is the generator matrix for the linear block code of Table E6.1 in Example 6.3. (E6.1) Solution: If G is the generator matrix for the linear block code of Table E6.1, then: for every 2-bit input m (e.g., m = (00)), the output must be the u (e.g., u= (0000)) shown in Table E6.1. Chapter Six Let's see if that's true: um=(0 (E6.2) (E6.3) (E6.4) um=(1 (E6.5) Yep. For every input m, we get the output u of Table E6.1. It follows that the G of equation (E6.1) is indeed the generator matrix. 6.2.4 The Decoding What you do at the transmitter, you'll want to undo at the receiver. At the transmitter, with a linear block coder, we mapped, for example, 3-bit sets into 6-bit sets. For the sake of simplicity in presentation, let's assume that our linear block coder maps input bits to output bits as drawn in Figure 6.10 (also seen in Figure 6.9). Now, the linear block decoder sees a 6-bit set coming in. Let's say we sent from the coder (011101) (the original 3 bits were (101)). This may arrive at the block decoder input without any bit errors (that is, we see (011101)) or it might come to the channel decoder input with an error in it (for example, we see (111101)). The job of the linear block coder is to do the best it can to figure out the 3-bit set that was input to the channel coder. In our case, the decoder will try to figure out that (101) was indeed the input. If there are no errors in the 6-bit set sent, then this should be a simple task. If there are errors, then the linear block decoder will hopefully correct those errors and then figure out that (101) was sent. Let's see exactly how it works. In simple, almost no