Andonian Coding Theory
Andonian Coding Theory
00000
00111
01001
01110
10011
10100
11010
11101
(a) List the elements in each of the cosets of C1 .
C1 = C1 + (00000)
C2 = C1 + (00001)
C3 = C1 + (00010)
C4 = C1 + (00011)
(b) Find the coset leader in each coset.(There may be more than one word of
minimum weight in a coset; choose one of them as the coset leader.)
As a general strategy for finding the coset leader, for the nth coset Cn = C1 +an ,
we find en by adding an to each element of Cn and then take the coset leader to
be the result with the fewest non-zero elements.
Now, for this particular set, we see that elements of each coset are shown below:
C1 C2 C3 C4
00000 00001 00010 00011
00111 00110 00101 00100
01001 01000 01011 01010
01110 01111 01100 01101
10011 10010 10001 10000
10100 10101 10110 10111
11010 11011 11000 11001
11101 11100 11111 11110
It is not challenging to verify that the boxed word in each column above serve
as the coset leader of coset represented in that column.
(c) Use the procedure described above to decode the following words x: 11100,
01101, 11011, 00011.
To summarize the procedure used to decode a word x, we first examine the coset
C + x to find the coset leader e, and then add e to x to produce the decoded word
e + x.
11100:
4
11100
11011
10101
10010
C + 11100 =
01111
01000
00110
00001 = e (one coset leader)
01101
01010
00100 = e
(one coset leader)
00011
C + 01101 =
11110
11001
10111
10000
01101
01010
00100 = e (one coset leader)
00011
C + 00011 =
11110
11001
10111
10000
2 Let C1 be the following Hamming code in B7 : the first four positions are
information positions, and the parity-check equations are a5 = a2 + a3 + a4 ,
a6 = a1 + a3 + a4 , and a7 = a1 + a2 + a4 . List the elements in each of the
cosets of C1 and find a coset leader in each coset. Then use coset decoding to
decode the following words: x : 1100001, 0111011, 1001011.
(a) Given the parity-check equations, let us first find the generator matrix G1 ,
which will allow us to generate all the words in the code.
5
1 0 0 0 0 1 1
0 1 0 0 1 0 1
G1 =
0
0 1 0 1 1 0
0 0 0 1 1 1 1
Since G1 is the generator matrix of the code C1 , we can generate the code words
of C1 by taking all the linear combinations of the rows of G1 . That is , C1 = xG1
for all x ∈ B4 . By this method, we have that C1 contains the following 16 words:
0000000 1000011
0001111 1001100
0010110 1010101
0011001 1011010
0100101 1100110
0101010 1101001
0110011 1110000
0111100 1111111
Next, to find the nth coset of C1 (there are 8 in total), we simply take Cn =
C1 + (0, 0, 0, 0|an ) for all an ∈ B3 . In other words, we just add every word with
nonzero elements only in the parity-check positions to the code C1 . Thus we obtain
the following cosets:
C1 C2 C3 C4 C5 C6 C7 C8
0000000 0000001 0000010 0000011 0000100 0000101 0000110 0000111
0001111 0001110 0001101 0001100 0001011 0001010 0001001 0001000
0010110 0010111 0010100 0010101 0010010 0010011 0010000 0010001
0011001 0011000 0011011 0011010 0011101 0011100 0011111 0011110
0100101 0100100 0100111 0100110 0100001 0100000 0100011 0100010
0101010 0101011 0101000 0101001 0101110 0101111 0101100 0101101
0110011 0110010 0110001 0110000 0110111 0110110 0110101 0110100
0111100 0111101 0111110 0111111 0111000 0111001 0111010 0111011
1000011 1000010 1000001 1000000 1000111 1000110 1000101 1000100
1001100 1001101 1001110 1001111 1001000 1001001 1001010 1001011
1010101 1010100 1010111 1010110 1010001 1010000 1010011 1010010
1011010 1011011 1011000 1011001 1011110 1011111 1011100 1011101
1100110 1100111 1100100 1100101 1100010 1100011 1100000 1100001
1101001 1101000 1101011 1101010 1101101 1101100 1101111 1101110
1110000 1110001 1110010 1110011 1110100 1110101 1110110 1110111
1111111 1111110 1111101 1111100 1111011 1111010 1111001 1111000
6
3 Let C be a code and let H be the parity-check matrix of C. Prove that x and
y are in the same coset of C if and only if Hx = Hy.
Proof. (⇒) To prove the forward direction, let x and y be elements of the same
coset with the leader e. The closest word to x is a = x + e and closest to y is
b = y + e. Since a and b are codewords of C, we can then express x = a + e and
y = b + e. Therefore, we have that
4 Let code C have q cosets, and let the coset leaders be e1 , e2 , . . . , eq . Ex-
plain why the following is true: To decode a received word x, compare syn(x) with
syn(e1 ),. . . , syn(eq ) and find the coset leader ei such that syn(x) = syn(ei ). Then
x is to be decoded to x + ei .
5 Find the syndromes of the coset leaders in part 2. Then use the method of
part 4 to decode the words, x = 1100001 and x = 1001011.
e1 = 0000000
e2 = 0000001
e3 = 0000010
e4 = 1000000
e5 = 0000100
e6 = 0100000
e7 = 0010000
e8 = 0001000
syn(e1 ) = 000
syn(e2 ) = 001
syn(e3 ) = 010
syn(e4 ) = 011
syn(e5 ) = 100
syn(e6 ) = 101
syn(e7 ) = 110
syn(e8 ) = 111