06.06.2022 Views

B. P. Lathi, Zhi Ding - Modern Digital and Analog Communication Systems-Oxford University Press (2009)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

804 ERROR CORRECTING CODES

Thus for each codeword, we must leave

vertices (words) unused. Because we have 2 k codewords, we must leave a total of

words unused. Therefore, the total number of words must at least be

But the total number of words, or vertices, available is 2 n . Thus, we require,

or

(14.3a)

Observe that n - k = mis the number of check digits. Hence, Eq. (14.3a) can be expressed as

(14.3b)

This is known as the Hamming bound. It should also be remembered that the Hamming bound

is a necessary but not a sufficient condition in general. However, for single-error correcting

codes, it is a necessary and sufficient condition. If some m satisfies the Hamming bound, it does

not necessarily mean that a t-error correcting code of n digits can be constructed. Table 14. J

shows some examples of error correction codes and their rates.

A code for which the inequalities in Eqs. (] 4.3) become equalities is known as a perfect

code. In such a code the Hamming spheres (about all the codewords) not only are nonoverlapping

but they exhaust all the 2 n vertices, leaving no vertex outside some sphere. An e-error

correcting perfect code satisfies the condition that every possible (received) sequence is at a

distance at most e from some codeword. Perfect codes exist in only a comparatively few cases.

Binary, single-error correcting, perfect codes are called Hamming codes. For a Hamming

code, t = l and dmin = 3. and from Eq. (14.3b) we have

1

2 m = L () = 1 + n

}=0 J

(14.4)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!