シンドローム複合
そもそもどう送信するか
$ [n,k,d]_q 符号$ \mathcal{C}を、$ \mathbb{F}^k_qのメッセージベクトルに対応させる $ q^k通りのメッセージを作ることができる
$ Gを$ \mathcal{C}の生成行列とすると、 各メッセージベクトル$ \mathbb{x}=(x_1,\cdots,x_k)を
encoderによって、符号語$ \mathbb{c}=\mathbb{x}Gに変換し、送られる このときに、誤り訂正のための部分を加えることもできる $ \mathbb{c} ∈ \mathcal{C}を送信して、$ \mathbb{y} = \mathbb{c} + \mathbb{e}を受信した場合、
エラーベクトル$ \mathbb{e}がわかれば、$ \mathbb{c}=\mathbb{y}-\mathbb{e}によって元の符号語に変換できる 求める例
前提と既にわかっているもの
$ \mathbb{F}^2_3な符号を扱っている
検査行列$ H=(h_1,h_2,h_3,h_4)=\begin{pmatrix}0&1&1&1 \\ 1&0&1&2\end{pmatrix}
受信したもの$ \mathbb{y}=0221
流れ
$ H \cdot{}^t yを求める
$ =0h_1+2h_2+2h_3+1h_4=\begin{pmatrix}1 \\ 0\end{pmatrix}
この結果が$ h_1,\cdots,h_4のどの倍数になっているかを考える
今回の場合は、$ 2h_4=\begin{pmatrix}1 \\ 0\end{pmatrix}なので、$ h_4の倍数だった
よって、エラーベクトルは$ \mathbb{e}=(0002)となる
元の$ (h_1,h_2,h_3,h_4)の位置と倍数の話を重ねている感じmrsekut.icon
間違いがない場合は$ H \cdot^{t} y=(0,0,0,0)^tになる
$ \mathbb{y},\mathbb{e}から元の符号$ \mathbb{c}を求める
$ c:=\mathbb{y}-\mathbb{e}=0221-0002=0222で求まる