Lewati ke konten utama

Latihan 22.5 Latihan Tambahan: Koreksi Galat untuk Kode BCH

Kode BCH mempunyai algoritma koreksi galat yang sangat menarik. Misalkan \(C\) suatu kode BCH dalam \(R_n\text{,}\) dan andaikan bahwa polinomial kode \(c(t) = c_0 + c_1 t + \cdots + c_{n-1} t^{n-1}\) ditransmisikan. Misalkan \(w(t) = w_0 + w_1 t + \cdots w_{n-1} t^{n-1}\) polinomial dalam \(R_n\) yang diterima. Jika galat terjadi pada bit \(a_1, \ldots, a_k\text{,}\) maka \(w(t) = c(t) + e(t)\text{,}\) dengan \(e(t) = t^{a_1} + t^{a_2} + \cdots + t^{a_k}\) sebagai polinomial galat. Pendekode harus menentukan bilangan bulat \(a_i\text{,}\) kemudian memulihkan \(c(t)\) dari \(w(t)\) dengan membalik bit ke-\(a_i\text{.}\) Dari \(w(t)\) kita dapat menghitung \(w( \omega^i ) = s_i\) untuk \(i = 1, \ldots, 2r\text{,}\) dengan \(\omega\) suatu akar kesatuan ke-\(n\) primitif di atas \({\mathbb Z}_2\text{.}\) Kita mengatakan sindrom dari \(w(t)\) adalah \(s_1, \ldots, s_{2r}\text{.}\)

1.

Tunjukkan bahwa \(w(t)\) merupakan polinomial kode jika dan hanya jika \(s_i = 0\) untuk semua \(i\text{.}\)

2.

Tunjukkan bahwa
\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*}
untuk \(i = 1, \ldots, 2r\text{.}\) Polinomial pelacak galat didefinisikan sebagai
\begin{equation*} s(x) = (x + \omega^{a_1})(x + \omega^{a_2}) \cdots (x + \omega^{a_k})\text{.} \end{equation*}

3.

Ingat kode blok-\((15,7)\) BCH dalam Contoh 22.2.6. Menurut Teorema 8.1.13, kode ini mampu mengoreksi dua galat. Andaikan galat-galat ini terjadi pada bit \(a_1\) dan \(a_2\text{.}\) Polinomial pelacak galatnya adalah \(s(x) = (x + \omega^{a_1})(x + \omega^{a_2})\text{.}\) Tunjukkan bahwa
\begin{equation*} s(x) = x^2 + s_1 x + \left( s_1^2 + \frac{s_3}{s_1} \right)\text{.} \end{equation*}

4.

Misalkan \(w(t) = 1 + t^2 +t^4 + t^5 + t^7 + t^{12} + t^{13}\text{.}\) Tentukan polinomial kode yang semula ditransmisikan.