Hamming codes, the submatrix P in Equations 14.2 and 14.5 is that in practice very low resolution digitisation (for example to only chosen so that its k rows are different from each other, and none of 8 or 16 levels) is often adequate. Soft decision decoding is compu- them is all-zero. It is then easy to show that each of the n possible tationally more demanding than hard decision decoding, but is used, single bit errors generates a different non-zero syndrome, so that any particularly with convolutional codes (Section 14.5), to give an single bit error may be corrected. extra coding gain, typically of about 2dB. Soft decision decoding of this kind is hardly ever used with powerful block codes such as 14.3.7 2-D parity codes cyclic codes (Section 14.5) because of its large processing penalty. However, some codes such as Reed-Solomon codes (Section The single parity code described in Section 14.3.1 is a distance 1, 14.4.4) can handle erasures (i.e. digits that are known to be in error) single error detecting (SED) code. A more powerful parity code can as well as erroneous digits, and this can be viewed as a form of soft be created by arranging the message bits on a rectangular array, and decision decoding. calculating parity bits for each row and each column. Changing any one message bit changes one row parity and one column parity as 14.3.5 Hard decision decoding of linear block well, so this is a distance 3-code, which can be used for single error codes correction or dual error detection. The SEC decoder works as follows: the sums are formed of each row including its parity bit, and each column including its parity bit. The detection and correction of errors is based on analysis of the If all the sums are zero, the codeword is assumed to be correct. If syndrome. For linear block codes, the syndrome of all valid code- words is zero as in Equation 14.7. only a row sum or only a column sum is 1, the error is assumed to be in the corresponding parity bit. If one row sum and one column sum are 1, the error is assumed