2.2. Bài toán decode tổng quát

Khi vector \(\bm{x}\) được truyền qua kênh truyền, không gì đảm bảo chúng ta sẽ nhận được chính xác \(\bm{x}\) ở bên nhận, mà có thể là \(\bm{y}\) nào đó.

Các codeword nằm trong một block code nào đó là tập con của \(V_n(q)\), trong khi ở bên nhận có thể là một vector bất kỳ trong \(V_n(q)\). Bài toán decode đặt ra câu hỏi, làm sao biết được vector \(\bm{y}\) sẽ được decode thành vector nào trong block code.

Định nghĩa 2.45 (Bài toán decode)

Bài toán decode của \((n)_q\) code \(\mathcal{C}\) là bài toán cho trước vector \(\bm{y} \in V_n(q)\), ta tìm codeword \(\bm{c} \in \mathcal{C}\) của code \((n)_q\) sao cho \(\rho_H (\bm{c}, \bm{y}) = \min\limits_{\bm{c}' \in \mathcal{C}} \rho_H (\bm{c}', \bm{y})\) với \(\rho_H\) là khoảng cách Hamming.

Input:

  • vector \(\bm{y} \in V_n(q)\) nhận được từ kênh truyền;

  • \(\mathcal{C}\)\((n)_q\) code.

Output:

  • vector \(\bm{c} \in \mathcal{C}\) là codeword sao cho \(\displaystyle{\rho_H (\bm{c}, \bm{y}) = \min_{\bm{c}' \in \mathcal{C}} \rho_H(\bm{c}', \bm{y})}\).

Định nghĩa 2.46 (Bài toán decode)

Bài toán decode của \((n)_q\) code \(\mathcal{C}\) là bài toán cho trước vector \(\bm{y} \in V_n(q)\), ta tìm codeword \(\bm{c} \in \mathcal{C}\) của code \((n)_q\) sao cho \(\mathrm{wt}(\bm{y} - \bm{c}) = \min\limits_{\bm{c}' \in \mathcal{C}} \mathrm{wt}(\bm{y} - \bm{c}')\) với \(\mathrm{wt}\) là trọng số Hamming.

Input:

  • vector \(\bm{y} \in V_n(q)\) là vector nhận được từ kênh truyền;

  • \(\mathcal{C}\)\((n)_q\) code.

Output:

  • vector \(\bm{c} \in \mathcal{C}\) là codeword sao cho \(\mathrm{wt}(\bm{y} - \bm{c}) = \min\limits_{\bm{c}' \in \mathcal{C}} \mathrm{wt} (\bm{y} - \bm{c}')\).

Định nghĩa 2.47 (Bài toán decode)

Bài toán decode của \((n)_q\) code \(\mathcal{C}\) là bài toán cho trước vector \(\bm{y} \in V_n(q)\), ta tìm vector \(\bm{e} \in V_n(q)\) sao cho \(\bm{y} - \bm{e} \in \mathcal{C}\), nghĩa là \(\bm{y} - \bm{e}\) là codeword, và vector \(\bm{e}\) có trọng số Hamming nhỏ nhất \(\mathrm{wt}(\bm{e}) \to \min\).

Input:

  • vector \(\bm{y} \in V_n(q)\) là vector nhận được từ kênh truyền;

  • \(\mathcal{C}\)\((n)_q\) code.

Output:

  • vector \(\bm{e} \in V_n(q)\) sao cho \(\bm{y} - \bm{e} \in \mathcal{C}\), nghĩa là \(\bm{y} - \bm{e}\) là codeword;

  • và vector \(\bm{e}\) có trọng số Hamming nhỏ nhất \(\mathrm{wt}(\bm{e}) \to \min\).

Nhận xét 2.20

Các định nghĩa về bài toán decode ở trên tương đương nhau.

Định nghĩa 2.48 (Decoder)

Decoder của code \((n)_q\) \(\mathcal{C}\) là thuật toán mà với vector \(\bm{y} \in V_n(q)\) cho trước, tìm được codeword \(\bm{c} \in \mathcal{C}\) sao cho vector \(\bm{e} = \bm{y} - \bm{c}\) có trọng số Hamming nhỏ nhất có thể, nghĩa là \(\bm{c} = \underset{\bm{u} \in \mathcal{C}}{\operatorname{argmin}} \mathrm{wt}(\bm{y} - \bm{u})\).

Decoder của code \(\mathcal{C}\) sẽ giải bài toán decode trên code \(\mathcal{C}\).