<< Chapter < Page Chapter >> Page >
So-called linear codes create error-correction bits by combining the data bits linearly. Topics discussed include generator matrices and the Hamming distance.

So-called linear codes create error-correction bits by combining the data bits linearly. The phrase "linearcombination" means here single-bit binary arithmetic.

0 0 0 1 1 0 0 1 1 1 0 1
· 0 0 0 · 1 1 1 · 0 1 0 · 1 0 0
For example, let's consider the specific (3, 1) error correction code described by the following coding table and,more concisely, by the succeeding matrix expression. c 1 b 1 c 2 b 1 c 3 b 1 or c G b where G 1 1 1 c c 1 c 2 c 3 b b 1

The length- K (in this simple example K 1 ) block of data bits is represented by the vector b , and the length- N output block of the channel coder, known as a codeword , by c . The generator matrix G defines all block-oriented linear channel coders.

As we consider other block codes, the simple idea of the decoder taking a majority vote of the received bitswon't generalize easily. We need a broader view that takes intoaccount the distance between codewords. A length- N codeword means that the receiver must decide among the 2 N possible datawords to select which of the 2 K codewords was actually transmitted. As shown in [link] , we can think of the datawords geometrically. We define the Hamming distance between binary datawords c 1 and c 2 , denoted by d c 1 c 2 to be the minimum number of bits that must be "flipped" to gofrom one word to the other. For example, the distance between codewords is 3 bits. In our table of binary arithmetic, wesee that adding a 1 corresponds to flipping a bit. Furthermore, subtraction and addition are equivalent. We can express theHamming distance as

d c 1 c 2 sum c 1 c 2

Show that adding the error vector col[1,0,...,0]to a codeword flips the codeword's leading bit and leaves the rest unaffected.

In binary arithmetic (see [link] ), adding 0 to a binary value results in that binary value while adding 1results in the opposite binary value.

Got questions? Get instant answers now!

The probability of one bit being flipped anywhere in a codeword is N p e 1 p e N 1 . The number of errors the channel introduces equals the number of ones in e ; the probability of any particular error vector decreases with the number of errors.

In a (3,1) repetition code, only 2 of the possible 8 three-bit data blocks are codewords. We can represent these bitpatterns geometrically with the axes being bit positions in the data block. In the left plot, the filled circlesrepresent the codewords [0 0 0] and [1 1 1], the only possible codewords. The unfilled ones correspond to the transmission.The center plot shows that the distance between codewords is 3. Because distance corresponds to flipping a bit,calculating the Hamming distance geometrically means following the axes rather than going "as the crow flies". The rightplot shows the datawords that result when one error occurs as the codeword goes through the channel. The three datawordsare unit distance from the original codeword. Note that the received dataword groups do not overlap, which means the codecan correct all single-bit errors.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Fundamentals of electrical engineering i. OpenStax CNX. Aug 06, 2008 Download for free at http://legacy.cnx.org/content/col10040/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Fundamentals of electrical engineering i' conversation and receive update notifications?

Ask