maths.freeAbstract Algebra › 8. Algebraic Coding Theory › Efficient Decoding

Efficient Decoding

We are now at the stage where we are able to generate linear codes that detect and correct errors fairly easily, but it is still a time-consuming process to decode a received n-tuple and determine which is the closest…

Efficient Decoding

We are now at the stage where we are able to generate linear codes that detect and correct errors fairly easily, but it is still a time-consuming process to decode a received \(n\)-tuple and determine which is the closest codeword, because the received \(n\)-tuple must be compared to each possible codeword to determine the proper decoding. This can be a serious impediment if the code is very large.

Example

Given the binary matrix \[\begin{aligned}\end{aligned}\] and the \(5\)-tuples \({\mathbf x} = (\codeword{11011})^\transpose\) and \({\mathbf y} = (\codeword{01011})^\transpose\), we can compute \[\begin{aligned}\end{aligned}\]. Hence, \({\mathbf x}\) is a codeword and \({\mathbf y}\) is not, since \({\mathbf x}\) is in the null space and \({\mathbf y}\) is not. Notice that \(H{\mathbf y}\) is identical to the first column of \(H\). In fact, this is where the error occurred. If we flip the first bit in \({\mathbf y}\) from \(0\) to \(1\), then we obtain \({\mathbf x}\).

If \(H\) is an \(m \times n\) matrix and \({\mathbf x} \in {\mathbb Z}_2^n\), then we say that the syndrome of \({\mathbf x}\) is \(H{\mathbf x}\). The following proposition allows the quick detection and correction of errors.

This proposition tells us that the syndrome of a received word depends solely on the error and not on the transmitted codeword. The proof of the following theorem follows immediately from and from the fact that \(H{\mathbf e}\) is the \(i\)th column of the matrix \(H\).

Example

Consider the matrix \[\begin{aligned}\end{aligned}\] and suppose that the \(6\)-tuples \({\mathbf x} = (\codeword{111110})^\transpose\), \({\mathbf y} = (\codeword{111111})^\transpose\), and \({\mathbf z} = (\codeword{010111})^\transpose\) have been received. Then \[\begin{aligned}\end{aligned}\]. Hence, \({\mathbf x}\) has an error in the third bit and \({\mathbf z}\) has an error in the fourth bit. The transmitted codewords for \({\mathbf x}\) and \({\mathbf z}\) must have been \((\codeword{110110})\) and \((\codeword{010011})\), respectively. The syndrome of \({\mathbf y}\) does not occur in any of the columns of the matrix \(H\), so multiple errors must have occurred to produce \({\mathbf y}\).

Coset Decoding

We can use group theory to obtain another way of decoding messages. A linear code \(C\) is a subgroup of \({\mathbb Z}_2^n\). Coset or standard decoding uses the cosets of \(C\) in \({\mathbb Z}_2^n\) to implement maximum-likelihood decoding. Suppose that \(C\) is an \((n,m)\)-linear code. A coset of \(C\) in \({\mathbb Z}_2^n\) is written in the form \({\mathbf x} + C\), where \({\mathbf x} \in {\mathbb Z}_2^n\). By Lagrange's Theorem (), there are \(2^{n - (n - m)} = 2^m\) distinct cosets of \(C\) in \({\mathbb Z}_2^n\).

Example

Let \(C\) be the \((5,3)\)-linear code given by the parity-check matrix \[\begin{aligned}\end{aligned}\]. The code consists of the codewords \[\begin{aligned}\end{aligned}\]. There are \(2^{5-2} = 2^3\) cosets of \(C\) in \({\mathbb Z}_2^5\), each with order \(2^2 =4\). These cosets are listed in .

CosetCoset
Representative
\(C\)\((\codeword{00000}) (\codeword{01101}) (\codeword{10011}) (\codeword{11110})\)
\((\codeword{10000}) + C\)\((\codeword{10000}) (\codeword{11101}) (\codeword{00011}) (\codeword{01110})\)
\((\codeword{01000}) + C\)\((\codeword{01000}) (\codeword{00101}) (\codeword{11011}) (\codeword{10110})\)
\((\codeword{00100}) + C\)\((\codeword{00100}) (\codeword{01001}) (\codeword{10111}) (\codeword{11010})\)
\((\codeword{00010}) + C\)\((\codeword{00010}) (\codeword{01111}) (\codeword{10001}) (\codeword{11100})\)
\((\codeword{00001}) + C\)\((\codeword{00001}) (\codeword{01100}) (\codeword{10010}) (\codeword{11111})\)
\((\codeword{10100}) + C\)\((\codeword{00111}) (\codeword{01010}) (\codeword{10100}) (\codeword{11001})\)
\((\codeword{00110}) + C\)\((\codeword{00110}) (\codeword{01011}) (\codeword{10101}) (\codeword{11000})\)
Example

In , notice that we have chosen a representative of the least possible weight for each coset. These representatives are coset leaders. Now suppose that \({\mathbf r} = (\codeword{01111})\) is the received word. To decode \({\mathbf r}\), we find that it is in the coset \((\codeword{00010}) + C\); hence, the originally transmitted codeword must have been \((\codeword{01101}) = (\codeword{01111}) + (\codeword{00010})\).

SyndromeCoset Leader
\((\codeword{000})\)\((\codeword{00000})\)
\((\codeword{001})\)\((\codeword{00001})\)
\((\codeword{010})\)\((\codeword{00010})\)
\((\codeword{011})\)\((\codeword{10000})\)
\((\codeword{100})\)\((\codeword{00100})\)
\((\codeword{101})\)\((\codeword{01000})\)
\((\codeword{110})\)\((\codeword{00110})\)
\((\codeword{111})\)\((\codeword{10100})\)

Condensed — the full section is in Judson, Abstract Algebra: Theory and Applications.

Symbols used here

x \in A,\ A \subseteq B
element of, subset
x belongs to A; every element of A is in B.
i
imaginary unit
i² = −1.
\mathbb{N},\ \mathbb{Z},\ \mathbb{Q},\ \mathbb{R},\ \mathbb{C}
number sets
Naturals, integers, rationals, reals, complex numbers.
\blacksquare\ \text{or}\ \square
end of proof (halmos)
Marks the point where the statement has been established.
a \equiv b \pmod n
congruent modulo n
n divides a − b; a and b have the same remainder.
a \mid b,\ \gcd(a,b)
divides, greatest common divisor
b is a multiple of a; the largest number dividing both.
(G, \cdot),\ e,\ g^{-1}
group, identity, inverse
A set with an operation; the do-nothing element; the element that undoes g.
G \cong H,\ G / N
isomorphic, quotient group
Same structure; the group of cosets of a normal subgroup N.
\mathbb{Z}/n\mathbb{Z},\ \mathbb{Z}_n
integers modulo n
The remainders 0…n−1 with clock arithmetic.
\operatorname{Hom}(A, B),\ f \circ g
arrows from A to B, composition
The set of morphisms; do g then f.

Questions people ask

What is a group, in plain words?

A set with one operation that is associative, has an identity, and lets every element be undone. Symmetries of any object form a group — that is where the idea came from.

What is the difference between a ring and a field?

A ring has addition and multiplication that behave like the integers (you cannot always divide); a field is a ring where every non-zero element has a reciprocal, like the rationals or the reals.

Zama ngokwakho

Parts of this page are adapted from Judson, Abstract Algebra: Theory and Applications (GFDL 1.3). Condensed and re-explained here; errors are ours.

IiNkqubo Abstract Algebra