Page 202 -
P. 202

5.2 / ERROR CORRECTION 171

                Table 5.2 Increase in Word Length with Error Correction

                                                                   Single-Error Correction/
                                   Single-Error Correction         Double-Error Detection
                 Data Bits      Check Bits      % Increase      Check Bits     % Increase
                     8              4              50                5             62.5
                    16              5              31.25             6             37.5
                    32              6              18.75             7             21.875
                    64              7              10.94             8             12.5
                    128             8               6.25             9             7.03
                    256             9               3.52            10             3.91


                  This inequality gives the number of bits needed to correct a single bit error in a word
                  containing M data bits. For example, for a word of 8 data bits (M =  8), we have
                     • K =  3: 2 -  1 6  8 +  3
                               3
                     • K =  4: 2 -  1 7  8 +  4
                               4
                  Thus, eight data bits require four check bits.The first three columns of Table 5.2 lists
                  the number of check bits required for various data word lengths.
                       For convenience, we would like to generate a 4-bit syndrome for an 8-bit data
                  word with the following characteristics:
                     • If the syndrome contains all 0s, no error has been detected.
                     • If the syndrome contains one and only one bit set to 1, then an error has oc-
                       curred in one of the 4 check bits. No correction is needed.
                     • If the syndrome contains more than one bit set to 1, then the numerical value
                       of the syndrome indicates the position of the data bit in error. This data bit is
                       inverted for correction.
                       To achieve these characteristics, the data and check bits are arranged into a
                  12-bit word as depicted in Figure 5.9. The bit positions are numbered from 1 to 12.
                  Those bit positions whose position numbers are powers of 2 are designated as check
                  bits.The check bits are calculated as follows, where the symbol {  designates the ex-
                  clusive-OR operation:
                              C1 = D1 {  D2 {      D4 {  D5 {    D7
                              C2 = D1 {     D3 {  D4 {    D6 {  D7
                              C4 =     D2 {  D3 {  D4 {                 D8
                              C8 =                     D5 {  D6 {  D7 {  D8

              Bit
              position  12   11    10    9    8     7     6    5     4     3    2     1
              Position
              number   1100  1011  1010  1001  1000  0111  0110  0101  0100  0011  0010  0001
              Data bit  D8   D7    D6   D5          D4   D3    D2         D1
              Check bit                       C8                    C4          C2   C1
             Figure 5.9 Layout of Data Bits and Check Bits
   197   198   199   200   201   202   203   204   205   206   207