Skip to main content

Worksheet The BCH Bound

For our last day of the semester, we’ll see the BCH bound for cyclic codes and apply what we’ve learned to a few more classical code constructions.

1.

Consider a binary, narrow-sense, primitive BCH code \(C\) of length \(15\) with designed distance \(5\) using a primitive element \(\alpha\) which is a root of \(x^4+x+1\text{.}\)

(a)

Compute \(g(x)\text{.}\)
Hint.
There are only three quartic irreducibles over \(\F_2\text{:}\) \(x^4+x+1, x^4+x^3+1, x^4+x^3+x^2+x+1\text{.}\) Only one of these is not primitive.
Solution.
As a narrow-sense code we take \(b=1\) as our starting exponent and since the designed distance is \(5\) we need four consecutive roots \(\alpha,\alpha^2,\alpha^3,\alpha^4\text{.}\) Now the conjugacy classes of roots are
\begin{align*} \amp \{\alpha,\alpha^2,\alpha^4,\alpha^8\} \\ \amp \{\alpha^3,\alpha^6,\alpha^{12},\alpha^9\}\text{.} \end{align*}
So \(g(x)=m_{\alpha}(x)m_{\alpha^3}(x)\text{.}\)
We have \(m_{\alpha}(x)=x^4+x+1\) by our choice of \(\alpha\text{.}\) \(\alpha^3\) has order \(5\) so is a root of a non-primitive polynomial of degree \(4\text{,}\) which must be \(x^4+x^3+x^2+x+1\text{.}\) So finally
\begin{align*} g(x) \amp =(x^4+x+1)(x^4+x^3+x^2+x+1) \\ \amp = x^8+x^7+x^6+x^4+1\text{.} \end{align*}

(b)

Compute the dimension of \(C\) and give a lower bound for the distance of \(C\text{.}\)
Solution.
We now have \(\dim(C)=n-\deg(g)=15-8=7\) and the distance is at least \(5\) since the longest consecutive root sequence is the designed one.

(c)

Show that in this case the BCH bound holds with equality.
Solution.
The generator itself has weight \(5\text{,}\) so the distance is exactly \(5\text{.}\)

2.

Consider a binary, narrow-sense, primitive BCH code \(C\) of length \(31\) with designed distance \(8\text{.}\)

(a)

In terms of an arbitrary primitive element \(\alpha\in \F_{32}\text{,}\) give the generator polynomial for \(C\text{.}\)
Solution.
Again, we start by computing the roots. We have a designed root sequence of
\begin{equation*} \alpha,\alpha^2,\dots,\alpha^7\text{.} \end{equation*}
These give rise to the conjugacy classes
\begin{align*} \amp \{\alpha,\alpha^2,\alpha^4,\alpha^8,\alpha^{16}\} \\ \amp \{\alpha^3,\alpha^6,\alpha^{12},\alpha^{24},\alpha^{17}\} \\ \amp \{\alpha^5,\alpha^{10},\alpha^{20},\alpha^{9},\alpha^{18}\} \\ \amp \{\alpha^7,\alpha^{14},\alpha^{28},\alpha^{25},\alpha^{19}\} \text{.} \end{align*}
So our generator polynomial is the degree \(20\) polynomial
\begin{equation*} g(x)=m_{\alpha}(x)m_{\alpha^3}(x)m_{\alpha^5}(x)m_{\alpha^7}(x)\text{.} \end{equation*}

(b)

Compute the dimension of \(C\) and give a lower bound for the distance of \(C\text{.}\)
Solution.
The dimension is \(n-\deg(g)=31-20=11\) and the BCH bound gives \(d\geq 11\) since we get three extra consecutive roots for free (\(\alpha^8,\alpha^9,\alpha^{10}\)).

3.

Let \(C\) be a cyclic code of length \(2^m-1\) generated by a primitive polynomial \(p(x)\) of degree \(m\) over \(\F_2\text{.}\) List the roots of \(C\) and apply the BCH bound and the sphere-packing bound to conclude that \(C\) is a Hamming code.
Solution.
The roots of \(C\) are
\begin{equation*} \{\alpha,\alpha^2,\alpha^4,\alpha^8,\dots,\alpha^{2^{2^m-1}}\} \end{equation*}
since \(\alpha\) is primitive. The BCH bound gives that the distance is at least \(3\) since we have the root sequence \(\alpha,\alpha^2\text{.}\) Then we have seen before that a code with parameters \([2^m-1,2^m-1-m,3]\) meets the sphere-packing bound and thus the distance is exactly 3 and this is a Hamming code.

4.

Recall from our discussion of perfect codes that the ternary Golay code is the \([11,6,5]_3\) code with generator matrix
\begin{equation*} \begin{bmatrix} 2 \amp 0 \amp 1 \amp 2 \amp 1 \amp 1 \amp 0 \amp 0 \amp 0 \amp 0 \amp 0 \\ 0 \amp 2 \amp 0 \amp 1 \amp 2 \amp 1 \amp 1 \amp 0 \amp 0 \amp 0 \amp 0 \\ 0 \amp 0 \amp 2 \amp 0 \amp 1 \amp 2 \amp 1 \amp 1 \amp 0 \amp 0 \amp 0 \\ 0 \amp 0 \amp 0 \amp 2 \amp 0 \amp 1 \amp 2 \amp 1 \amp 1 \amp 0 \amp 0 \\ 0 \amp 0 \amp 0 \amp 0 \amp 2 \amp 0 \amp 1 \amp 2 \amp 1 \amp 1 \amp 0 \\ 0 \amp 0 \amp 0 \amp 0 \amp 0 \amp 2 \amp 0 \amp 1 \amp 2 \amp 1 \amp 1 \\ \end{bmatrix}\text{.} \end{equation*}

(a)

We can now recognize the ternary Golay code as a cyclic code. Give its generator polynomial.
Solution.
From this cyclic generator matrix we see \(g(x)=x^5+x^4+2x^3+x^2+2\text{.}\)

(b)

Let \(\alpha\) be a root of this polynomial in its splitting field. What is the order of \(\alpha\) and the size of the splitting field?
Solution.
The code is cyclic of length \(11\) so the order of \(\alpha\) divides \(11\) and is not 1 hence must be \(11\text{.}\) The splitting field is the first field \(\F_{3^m}\) such that \(11\) divides \(3^m-1\text{.}\) By taking powers of \(3\) mod \(11\) we see this first happens at \(=5\) (\(3,9,5,4,1\)).

(c)

Give the roots of \(C\) as powers of \(\alpha\text{.}\)
Solution.
The roots of \(C\) are then \(\{\alpha,\alpha^3,\alpha^9,\alpha^5,\alpha^4\}\text{.}\)

(d)

What does the BCH bound give as a lower bound on the minimum distance? Is it exact in this case?
Solution.
The BCH bound gives that the distance is at least \(4\text{,}\) so this is not exact.