 syndrome is the correspond- ing error pattern with the fewest 1s. (This is why the decoder dm=2nc+npt (14.6) assumes no errors if the syndrome is zero). One way to implement the decoder is to store in a look-table Determining the minimum distance of a code by comparing every (called the Standard Array) the chosen error pattern for each syn- pair of codewords would be time consuming for large codeword drome. The decoder then calculates the syndrome, reads the corre- lengths. The following useful theorem means that only the 2k valid sponding error pattern from the table, and subtracts it (using codewords themselves need to be checked: bit-by-bit XOR) from the received codeword. Finally, the output dataword is extracted from the corrected codeword. 'The minimum Hamming distance of a linear block code is equal to the minimum Hamming weight among its non-zero codewords'. 14.3.6 Hamming codes (The Hamming weight of a codeword is simply the number of ones in it). Hamming codes are distance-3 linear block codes, so they can be used for single error correction (SEC) or dual error detection 14.3.4 Hard and soft decision decoding (DED). For binary Hamming codes, the codeword length is given by Equation 14.9, the number of parity bits is I, and the number of message bits is therefore given by Equation 14.10. There are two types of decoding: hard decision and soft decision decoding. In hard decision decoding the demodulated input signal n = 2' - 1 (14.9) is sliced to produce a digit stream; in the case of binary transmission, slicing is a simple thresholding operation. The decoder performs k=n-r error detection and correction using this (possibly corrupted) re- (14.10) ceived digit stream. In soft decision decoding the input to the decoder is the unsliced (analogue) sample stream; since the decoder The first four Hamming codes, for example, are (3,1), (7,4), implementation is usually digital, the sample stream is digitised to (15,11), and (31,26) codes. an adequate precision before input to the decoder. It has been found In 