Saltar a contenido principal

Sección 22.4 Ejercicios Adicionales: Corrección de Errores para Códigos BCH

Los códigos BCH tienen algoritmos de corrección de errores muy atractivos. Sea \(C\) un código BCH en \(R_n\text{,}\) y supongamos que se transmite un polinomio \(c(t) = c_0 + c_1 t + \cdots + c_{n-1} t^{n-1}\) del código. Sea \(w(t) = w_0 + w_1 t + \cdots w_{n-1} t^{n-1}\) el polinomio en \(R_n\) que es recibido. Si han ocurrido errores en los bits \(a_1, \ldots, a_k\text{,}\) entonces \(w(t) = c(t) + e(t)\text{,}\) donde \(e(t) = t^{a_1} + t^{a_2} + \cdots + t^{a_k}\) es el polinomio de error. El decodificador debe determinar los enteros \(a_i\) y luego recuperar \(c(t)\) a partir de \(w(t)\) cambiando el valor de los bit \(a_i\text{.}\) A partir de \(w(t)\) podemos calcular \(w( \omega^i ) = s_i\) para \(i = 1, \ldots, 2r\text{,}\) donde \(\omega\) es una raíz \(n\)-ésima primitiva de la unidad sobre \({\mathbb Z}_2\text{.}\) Decimos que el síndrome de \(w(t)\) es \(s_1, \ldots, s_{2r}\text{.}\)

1.

Muestre que \(w(t)\) es un código polinomial si y solo si \(s_i = 0\) para todo \(i\text{.}\)

2.

Muestre que

\begin{equation*} s_i = w( \omega^i) = e( \omega^i) = \omega^{i a_1} + \omega^{i a_2} + \cdots + \omega^{i a_k} \end{equation*}

para \(i = 1, \ldots, 2r\text{.}\) El polinomio localizador de errores se define como

\begin{equation*} s(x) = (x + \omega^{a_1})(x + \omega^{a_2}) \cdots (x + \omega^{a_k}). \end{equation*}
3.

Recuerde el código de bloque BCH \((15,7)\) en el Ejemplo 22.2.6. Por el Teorema 8.1.13, este código es capaz de corregir dos errores. Supongamos que estos errores ocurren en los bits \(a_1\) y \(a_2\text{.}\) El polinomio localizador de errores es \(s(x) = (x + \omega^{a_1})(x + \omega^{a_2})\text{.}\) Muestre que

\begin{equation*} s(x) = x^2 + s_1 x + \left( s_1^2 + \frac{s_3}{s_1} \right). \end{equation*}
4.

Sea \(w(t) = 1 + t^2 +t^4 + t^5 + t^7 + t^{12} + t^{13}\text{.}\) Determine el polinomio originalmente transmitido.