[Math] How to compute the polynomial generator for BCH

coding-theorycyclotomic-polynomials

For instance, let $C$ the binary BCH code of length $n=31$ and designed distance with auxiliary finite field $F_{32}=F_2[X]/(X^5 + X^2 + 1)$.

First, we compute the cyclonitomic clases
$C_1=\{1,2,4,8,16\}; C_3=\{3,6,12,24,17\}; C_5=\{1,5,10,20,9,18\}$

I don't understand why we only compute $C_1$, $C_3$ and $C_5$. Why not $C_0$, $C_1$ OR $C_3\ldots$

Finally the result is

$$
\begin{aligned}g(x)&=[(x+\alpha)(x+\alpha^2)(x+\alpha^4)(x+\alpha^8)(x+\alpha^{16})]\cdots\\&\cdots[(x+\alpha)(x+\alpha^5)(x+\alpha^{10})(x+\alpha^{20})(x+\alpha^9)(x+\alpha^{18})]
\end{aligned}$$

$g(x)=m_1(x)m_3(x)m_5(x) = x^{15} + x^{11} + x^{10} + x^9 + x^8 + x^7 + x^5 + x^3 + x^2 + x +1$

The last step I don't understand, the substitution of the $\alpha$.

Thanks for any advice.

Best Answer

The binary BCH code with designed distance $2t+1$ has as its generator polynomial $g(x)$ the binary polynomial of least degree that has $\alpha, \alpha^2, \alpha^3, \cdots, \alpha^{2t}$ as its roots. The other roots of $g(x)$ are all the conjugates of $\alpha, \alpha^2, \alpha^3, \cdots, \alpha^{2t}$. Note that $\alpha^{2i}$ is a conjugate of $\alpha^i$, and so it suffices to consider only the conjugates of $\alpha, \alpha^3, \alpha^5, \cdots, \alpha^{2t-1}$. In particular, in your case, $n=31, t = 3$, and so you only need to look at the conjugates of $\alpha, \alpha^3$, and $\alpha^5$,and these are related to the cyclotomic cosets $C_1, C_3, C_5$ (I will leave it to you to figure out how). I hope that this explanation will also allow you to figure out the answer to "Why not C0, C1 OR C3" by yourself.

Related Question