送信データ T(X) は前の例では次のようでした。

T(X) = 3Ch, 15h, 74h, BCh, 1Fh, 2Dh, 3Eh, DDh, BDh, 1Bh

これに一つのエラーが発生したとします。エラーデータ E(X) は、

E(X) = 00h, 00h, 00h, 15h, 00h, 00h, 00h, 00h, 00h, 00h

つまり後ろから 7 番目のデータに 15h だけデータが足されるとするわけです。
多項式表現だと、

E(X) = (15h)・X^6

ということになります。

受信データはこれらを加算したものですから、

R(X) = 3Ch, 15h, 74h, A9h, 1Fh, 2Dh, 3Eh, DDh, BDh, 1Bh

になります。( BCh xor 15h = A9h )

これらをαべき乗表現に変えます。桁およびαは省略します。

R(X) =  77, 141,  10, 135, 113,  18,  29,  64, 162,  25

シンドロームを計算します。

S0:

        77, 147,  56, 230, 235, 164, 173, 135, 239, 141
      -------------------------------------------------
0, 0 | 77, 141,  10, 135, 113,  18,  29,  64, 162,  25
        77,  77
        --------
            147,  10, 135, 113,  18,  29,  64, 162,  25
            147, 147
            --------
                    56, 135, 113,  18,  29,  64, 162,  25
                    56,  56
                    --------
                         230, 113,  18,  29,  64, 162,  25
                         230, 230
                        --------
                               235,  18,  29,  64, 162,  25
                               235, 235
                               ----------
                                     164,  29,  64, 162,  25
                                     164, 164
                                     --------
                                            173,  64, 162,  25
                                            173, 173
                                            --------
                                                  135, 162,  25
                                                  135, 135
                                                  --------
                                                        239,  25
                                                        239, 239
                                                       --------
                                                               141


となって、S0 = α^141 = 15h = 0001 0101 となりました。確かにエラー量ですね。
以下同様に、

S1 = α^147
S2 = α^153
S3 = α^159

となりました。
ちなみに S3 は今回は使いません。
で、エラーが 1 バイトだけかどうかは S2 * S0 - (S1)^2 で確認できる、としましたが、

S2 * S0 = α^141 * α^153 = α^294 = α^39
(S1)^2 = (α^147)^2 = α^294 = α^39


よってそれぞれが等しくなったので差分はゼロ、1 バイトしかエラーがないと見なせます。
そうするとエラー量 S0 で 15h といえて、
S1 / S0 = α^147 / α^141 = α^6
ということで、6 桁目が誤っていることが分かります。

受信データの 6 桁目(後ろから数えて 6 + 1 = 7 番目)は A9h でしたから、

A9h + 15h = BCh

と訂正することができました。

1 バイトエラーならば今回の要領で比較的簡単と言えます。しかしこれが 2 個以上となるととたんにやっかいになります。これは次回以降にします。