<< Chapter < Page Chapter >> Page >

Minimum distance of a linear code

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 C is a collection of code words c i which are n -vectors with elements drawn from the same alphabet as the source. An encoder is arule that assigns a k -length message to each codeword.The code words of the ( 5 , 2 ) 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 C is equal to the number of places in which they disagree. For instance, the distance between 00000 and 01011 is three,which is written d ( 00000 , 01011 ) = 3 . The distance between 1001 and 1011 is d ( 1001 , 1011 ) = 1 . The minimum distance of a code C is the smallest distance between any two code words. In symbols,

d m i n = min i j d ( c i , c j ) ,

where c i C .

Show that the minimum distance of the ( 5 , 2 ) binary linear block code is d m i n = 3 .

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 { 0000 , 0101 , 1010 , 1111 } . What is the minimum distance of this code?

Let D i ( t ) be the “decoding sets” of all possible received signals that are less than t away from c i . For instance, the majority rules code has two code words,and hence two decoding sets. With t = 1 , these are

D 1 ( 1 ) = { 000 , 001 , 100 , 010 } and D 2 ( 1 ) = { 111 , 110 , 011 , 101 } .

When any of the elements in D 1 ( 1 ) are received, the code word c 1 = 0 is used; when any of the elements in D 2 ( 1 ) are received, the code word c 2 = 1 is used. For t = 0 , the decoding sets are

D 1 ( 0 ) = { 000 } and D 2 ( 0 ) = { 111 } .

In this case, when 000 is received, c 1 is used; when 111 is received, c 2 is used. When the received bits are in neither of the D i , an error is detected,though it cannot be corrected. When t > 1 , the D i ( t ) are not disjoint and so cannot be used for decoding.

What are the t = 0 decoding sets for the four-element code in [link] ? Are the t = 1 decoding sets disjoint?

Write down all possible disjoint decoding sets for the ( 5 , 2 ) linear binary block code.

One use of decoding sets lies in their relationship with d m i n . If 2 t < d m i n , then the decoding sets are disjoint. Suppose that the code word c i is transmitted over a channel, but that c (which is obtained by changing at most t components of c i ) is received. Then c still belongs to the correct decoding set D i , and is correctly decoded. This is an error-correction code that handles up to t errors.

Now suppose that the decoding sets are disjoint with 2 t + s < d m i n , but that t < d ( c , c i ) t + s . Then c 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.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Software receiver design. OpenStax CNX. Aug 13, 2013 Download for free at http://cnx.org/content/col11510/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software receiver design' conversation and receive update notifications?

Ask