エラーが 1 バイトの場合の手順は比較的理解が容易だったと思います。4 個のシンドロームのうち S3 は使わなかったことから分かるようにシンドロームが 3 個あればエラーが 1 バイトだけしかないという検証も含めて確実に出来ることが分かります。言い換えるとたとえ 1 バイトだけでも訂正ができれば良い、という要求であっても検証まで確実にやるには 3 つのシンドロームが必要 = チェックデータが 3 つ必要と云うことになります。滅多にエラーが出ない伝送経路であっても 3 バイトはあった方がいいということです。
さて、今回は複数個エラーがあった場合について考えてみます。
1 個ならば、S0 =(エラー量)、S1 / S0 = α^(エラー位置)で良かったのですが、複数個の場合はというと、2 個の場合を例にとると、ei, ej として、
S0 = ei + ej
S1 = ei・α^i + ej・α^j
S2 = ei・α^2i + ej・α^2j
S3 = ei・α^3i + ej・α^3j
一般式で、
Sn = ei・α^ni + ej・α^nj
ということになります。2 個以上だと項がどんどん増えることになります。これは Sn が e のみの関数であって元のデータ列には影響しないという特徴から説明出来ると思います。Sn は受信データのうちのエラー部分の情報しか使わないので、ei を X + α^n で割った余りと ej を X + α^n で割った余りを足したものは、 ei + ej を X + α^n で割った余りと等しいということです。
そういう知見を元に 2 個誤りがあった場合の式を見てみると、先ほどの式のもので、
S0 = ei + ej
S1 = ei・α^i + ej・α^j
S2 = ei・α^2i + ej・α^2j
S3 = ei・α^3i + ej・α^3j
ということですが、求めるものが 4 個(ei, ej, i ,j)で式が 4 つあるので連立方程式で解けそうな気がします。ところが実際には p = α^i、q = α^j と置いて書き直してみると、
S0 = ei + ej
S1 = ei・p + ej・q
S2 = ei・p^2 + ej・q^2
S3 = ei・p^3 + ej・q^3
という変数のべき乗の項が現れて容易に解ける代物ではなくなります。で、これを解くための方法として、ピーターソン法やユークリッド法などが提案されています。ただいずれの方法も 4 つの変数をいきなり求めるのではなく、誤り位置多項式というのを求めて置いて、それを解くことで誤り位置を特定し、最後に誤り量を計算するという方法をとっています。しかも誤り位置多項式の解き方はチェインサーチという総当たりにも似た解き方で、ガロア体という有限な空間での計算という特徴を遺憾なく利用しています。この辺りが通常の代数計算とは異なるところです。
前述のピーターソン法やユークリッド法の詳しい説明はここでやるより、専門書や専門サイトを参考にした方が良いので割愛します。少し先になると思いますが、計算例ぐらいは示してみようと思います。
さて、今回は複数個エラーがあった場合について考えてみます。
1 個ならば、S0 =(エラー量)、S1 / S0 = α^(エラー位置)で良かったのですが、複数個の場合はというと、2 個の場合を例にとると、ei, ej として、
S0 = ei + ej
S1 = ei・α^i + ej・α^j
S2 = ei・α^2i + ej・α^2j
S3 = ei・α^3i + ej・α^3j
一般式で、
Sn = ei・α^ni + ej・α^nj
ということになります。2 個以上だと項がどんどん増えることになります。これは Sn が e のみの関数であって元のデータ列には影響しないという特徴から説明出来ると思います。Sn は受信データのうちのエラー部分の情報しか使わないので、ei を X + α^n で割った余りと ej を X + α^n で割った余りを足したものは、 ei + ej を X + α^n で割った余りと等しいということです。
そういう知見を元に 2 個誤りがあった場合の式を見てみると、先ほどの式のもので、
S0 = ei + ej
S1 = ei・α^i + ej・α^j
S2 = ei・α^2i + ej・α^2j
S3 = ei・α^3i + ej・α^3j
ということですが、求めるものが 4 個(ei, ej, i ,j)で式が 4 つあるので連立方程式で解けそうな気がします。ところが実際には p = α^i、q = α^j と置いて書き直してみると、
S0 = ei + ej
S1 = ei・p + ej・q
S2 = ei・p^2 + ej・q^2
S3 = ei・p^3 + ej・q^3
という変数のべき乗の項が現れて容易に解ける代物ではなくなります。で、これを解くための方法として、ピーターソン法やユークリッド法などが提案されています。ただいずれの方法も 4 つの変数をいきなり求めるのではなく、誤り位置多項式というのを求めて置いて、それを解くことで誤り位置を特定し、最後に誤り量を計算するという方法をとっています。しかも誤り位置多項式の解き方はチェインサーチという総当たりにも似た解き方で、ガロア体という有限な空間での計算という特徴を遺憾なく利用しています。この辺りが通常の代数計算とは異なるところです。
前述のピーターソン法やユークリッド法の詳しい説明はここでやるより、専門書や専門サイトを参考にした方が良いので割愛します。少し先になると思いますが、計算例ぐらいは示してみようと思います。