s of block coding, I'd like to introduce four key terms to remember. Consider a block code that maps each incoming set of k bits to an outgoing set of n bits: 1. First, in shorthand notation, this block code will be called an (n,k) code. 2. This block code is said to have a code rate of k/n. 3. This block code is also said to have a redundancy of (n-k)/k. 4. And finally, this code is said to have (n-k) redundant bits (that is, check bits or parity bits), which refer to the added (n-k) bits. 6.1.3 Rectangular Codes In rectangular codes, each set of MN bits are mapped to a set of (M + 1) (N + 1) bits. Channel Coders for Rectangular Codes Let me start by elaborating on what goes on at the channel coder. In Figure 6.6(a), you will see that the bit stream is mapped from a serial form into a matrix form. In this case, we have each set of 9 bits mapped to a 3 by 3 matrix. Figure 6.6(b) shows you what happens next-namely, a parity bit is created for each row and for each column. With the addition of this bit to each row, the total sum of each row is now 0. With the addition of an extra bit to each column, the total modulo 2 sum of each column is 0. These bits, now in a 4 by 4 matrix, are sent serially across the channel as a set of 16 bits. And that's it-that's all the channel coding for a rectangular code. parity check bit for row 1 1111 0101 1100 0110 111 010110 parity check bit for column 1 Figure 6.6 The workings of the channel coder for rectangular codes - in 2 parts Chapter Six Channel Decoders for Rectangular Codes We'll see what (if any) bit errors we can correct and detect using the channel decoder. For simplicity, I'll take you on a decoder journey using the example shown in Figure 6.6. The channel decoder starts by returning the incoming serial bits back to matrix form. You can see this ongoing in Figure 6.7, where one of the received bits is in error. Next, the channel decoder computes the sum for each column and the sum for each row. As you can see, if there is an error in one of the columns, then the sum wi