22.5: Ejercicios adicionales- Corrección de errores para códigos BCH
- Page ID
- 110971
Los códigos BCH tienen algoritmos de corrección de errores muy atractivos. \(C\)Sea un código BCH en\(R_n\text{,}\) y supongamos que\(c(t) = c_0 + c_1 t + \cdots + c_{n-1} t^{n-1}\) se transmite un polinomio de código. \(w(t) = w_0 + w_1 t + \cdots w_{n-1} t^{n-1}\)Sea el polinomio en\(R_n\) que se recibe. Si se han producido errores en bits\(a_1, \ldots, a_k\text{,}\) entonces\(w(t) = c(t) + e(t)\text{,}\) dónde\(e(t) = t^{a_1} + t^{a_2} + \cdots + t^{a_k}\) está el polinomio de error. El decodificador debe determinar los números enteros\(a_i\) y luego\(c(t)\) recuperarse de\(w(t)\) volteando el bit\(a_i\) th. De\(w(t)\) podemos calcular\(w( \omega^i ) = s_i\) para\(i = 1, \ldots, 2r\text{,}\) donde\(\omega\) es una primitiva raíz\(n\) th de unidad sobre\({\mathbb Z}_2\text{.}\) Nosotros decimos que el síndrome de\(w(t)\) es\(s_1, \ldots, s_{2r}\text{.}\)
Mostrar que\(w(t)\) es un polinomio de código si y solo si\(s_i = 0\) para todos\(i\text{.}\)
Demostrar que
\[ s_i = w( \omega^i) = e( \omega^i) = \omega^{i a_1} + \omega^{i a_2} + \cdots + \omega^{i a_k} \nonumber \]
para\(i = 1, \ldots, 2r\text{.}\) El polinomio localizador de errores se define como
\[ s(x) = (x + \omega^{a_1})(x + \omega^{a_2}) \cdots (x + \omega^{a_k})\text{.} \nonumber \]
Recuérdese el código BCH\((15,7)\) -block en Ejemplo\(22.19\). Por teorema\(8.13\), este código es capaz de corregir dos errores. Supongamos que estos errores ocurren en bits\(a_1\) y\(a_2\text{.}\) El polinomio localizador de errores es\(s(x) = (x + \omega^{a_1})(x + \omega^{a_2})\text{.}\) Mostrar que
\[ s(x) = x^2 + s_1 x + \left( s_1^2 + \frac{s_3}{s_1} \right)\text{.} \nonumber \]
Dejar\(w(t) = 1 + t^2 +t^4 + t^5 + t^7 + t^{12} + t^{13}\text{.}\) Determinar cuál era el polinomio de código transmitido originalmente.