,000 bits transmitted. The efficiency of circuit usage, however, is some- what degraded, since one extra bit per character must also be carried over the line with the data. In a five level code, this would mean a reduction of about 20 percent in throughput; in higher level codes, of course the efficiency would not be reduced as much. Double parity checks (Fig. 3-8) involve both checking the vertical Vertical parity check Double parity check (Vertical and Horizontal) Spiral parity check Fig. 3-8. Parity checking techniques. PROTOCOLS AND CODES 47 parity as well as sending an additional check character per block of information. With this scheme, error control becomes much more effective, SO that only one undetected error will occur, on the av- erage, for each 10,000,000 bits transmitted. Sophisticated error control schemes are in use for especially crit- ical applications; however, their description is highly involved and SQ will not be fully covered here. Perhaps the most common of these is spiral parity, in which a parity check, over and above the double parity scheme, checks diagonal rows of bits for odd or even parity. Such a system assumes that only one error in every 100 million bits transmitted will remain undetected. 3.12.1 Redundancy Checks Many error schemes include a block check character at the end of the transmission. This character is used for error checking for the whole block of data that was sent. This type of error detection is called a cyclical redundancy check (CRC). In CRC error detection, the transmitting device performs a mathematical computation on the binary value of the bits in the blocks to be transmitted, and adds the results to the blocks of data. At the receiving end, the same com- putation is done. If the result is the same as the one sent, then every- thing is fine. If not, the whole block of data must be retransmitted. 3.12.2 Error-Correcting Codes Automatic correction can take a number of forms. First, sufficient redundancy can be built into the transmission code SO that the code i