- 符号を長さ \(k\) ごとのブロックに区切る
- 1ブロック分の符号を符号多項式 \(P(x)\) に置き換える
- \(P(x)\) に \(x^m\) をかけて \(G(x)\) で割った余り \(R(x)\) を求める
- \(F(x)=x^mP(x)+R(x)\) を求める
- \(F(x)\) を符号に変換する
という手順で追加するが、あらかじめ 1000, 0100, ...などの「一つの桁だけが1で、他は0」という組み合わせの情報源符号につく検査符号を求めておけば、どんな情報源符号につく検査符号もこれらの組み合わせからすぐに求められる。
例えば \(k=4\), \(G(x)=x^3+x+1\) では

(1000~0001につく検査符号は、上記の手順でそれぞれ地道に求めたもの)
のようになり、「1001」につく検査符号は「1000」と「0001」につく検査符号を使い、それぞれの桁で排他的論理和をとれば求められる。
検査符号1桁目 :\(1\oplus0=1\)
検査符号2桁目 :\(0\oplus1=1\)
検査符号3桁目 :\(1\oplus1=0\)
検査符号2桁目 :\(0\oplus1=1\)
検査符号3桁目 :\(1\oplus1=0\)
組み合わせで検査符号が作れる理由
組み合わせのもとになる情報源符号を置き換えた符号多項式を \(P_1(x), P_2(x)\)、それぞれに対して上記3番目の手順で求めた余りを \(R_1(x), R_2(x)\)、その割り算の商を \(Q_1(x), Q_2(x)\) とすると、それぞれ
という関係が成り立つ。これらの式を足すと
となる。つまり、情報源符号の組み合わせからできる符号多項式 \(P(x)=P_1(x)+P_2(x)\) は「\(x^m\) をかけて \(G(x)\) で割った余りが \(P(x)=R_1(x)+R_2(x)\) になる」という関係をいつでも満たすことになる。これは情報源符号を3つ、4つ組み合わせた場合でも同様。
(符号多項式での「1+1が0になる足し算」は、符号で考えれば排他的論理和になる。パリティ検査符号のように「1が奇数個なら1, 偶数個なら0」と考えても同じ)
組み合わせのもとになる情報源符号を置き換えた符号多項式を \(P_1(x), P_2(x)\)、それぞれに対して上記3番目の手順で求めた余りを \(R_1(x), R_2(x)\)、その割り算の商を \(Q_1(x), Q_2(x)\) とすると、それぞれ
\(
\begin{eqnarray}
x^mP_1(x)&=&Q_1(x)G(x)+R_1(x)\\
x^mP_2(x)&=&Q_2(x)G(x)+R_2(x)\\
\end{eqnarray}
\)
という関係が成り立つ。これらの式を足すと
\( \begin{eqnarray} x^m\left(P_1(x)+P_2(x)\right)&=&\left(Q_1(x)+Q_2(x)\right)G(x)+R_1(x)+R_2(x) \end{eqnarray} \) |
(符号多項式での「1+1が0になる足し算」は、符号で考えれば排他的論理和になる。パリティ検査符号のように「1が奇数個なら1, 偶数個なら0」と考えても同じ)