<< Chapter < Page | Chapter >> Page > |
In general, linear codes work much like the example in the previous section, although the generator matrix, parity check matrix, andthe syndrome table are unique to each code. The details of the arithmetic may also be different when the code isnot binary. Two examples will be given later. This section discusses the general performance of linear blockcodes in terms of the minimum distance of a code, which specifies how many errors the code can detect and how many errors it can correct.
A code is a collection of code words which are -vectors with elements drawn from the same alphabet as the source. An encoder is arule that assigns a -length message to each codeword.The code words of the binary code are 00000, 01011, 10101, and 11110, which are assignedto the four input pairs 00, 01, 10, and 11 respectively. The Hamming distance Named after R. Hamming, who also created the Hamming blip as a windowing function. Software Receiver Design adopted the blip in previous chapters as a convenient pulse shape. between any two elements in is equal to the number of places in which they disagree. For instance, the distance between 00000 and 01011 is three,which is written . The distance between 1001 and 1011 is . The minimum distance of a code is the smallest distance between any two code words. In symbols,
where .
Show that the minimum distance of the binary linear block code is .
Write down all code words for the majority rules code [link] . What is the minimum distance of this code?
A code C has four elements . What is the minimum distance of this code?
When any of the elements in are received, the code word is used; when any of the elements in are received, the code word is used. For , the decoding sets are
In this case, when 000 is received, is used; when 111 is received, is used. When the received bits are in neither of the , an error is detected,though it cannot be corrected. When , the are not disjoint and so cannot be used for decoding.
What are the decoding sets for the four-element code in [link] ? Are the decoding sets disjoint?
Write down all possible disjoint decoding sets for the linear binary block code.
One use of decoding sets lies in their relationship with . If , then the decoding sets are disjoint. Suppose that the code word is transmitted over a channel, but that (which is obtained by changing at most components of ) is received. Then still belongs to the correct decoding set , and is correctly decoded. This is an error-correction code that handles up to errors.
Now suppose that the decoding sets are disjoint with , but that . Then is not a member of any decoding set. Such an error cannot be corrected by the code, though it is detected.The following example shows how the ability to detect errors and the ability to correct them can be traded off.
Notification Switch
Would you like to follow the 'Software receiver design' conversation and receive update notifications?