(31, 25) 修正ハミング符号は、(31, 26) ハミング符号にパリティを 1 ビット追加して ハミング距離を広げることにより、1 ビット誤り訂正に加え、2 ビットランダム誤り検出も出来るようにした符号です。 この符号は誤り訂正前のビットエラーレートを Pi 訂正後を Po とすると、
Po ≒ 30 Pi2 が見込まれます。
このアプレットは D/A データの装置間伝送用に設計した誤り訂正モジュールの動作説明用に作成したものです。
⚠️ Demo の実行には Java 8 のインストール と 例外サイトへの追加 が必要です。
この符号が完全符号では無い事を利用して、シンドロームが 101001 になるように チェックビットを 101001 で反転したワードを制御用に使用する事が可能です。 シリアル通信などでは例えば 0101000011101111001010011001010 をフレーム同期用 ユニークワードとして利用したり、パラレル伝送では LSB 等の誤りが許容できる部分を同期信号と して利用することが考えられます。 このワードが1ビット誤ったもののシンドロームは2ビット誤りのものになります。 また全ビットが 1 になったものも同じく 101001 のシンドロームになりますので ケーブル抜けなどの検出に使う事も考えられます。
他にはデータの最上位ビットを1ビット短縮し、チェックビットの下位2ビットを 反転して伝送すれば、ケーブル抜けや電源断によって全ビットが '0' や '1' になった 場合にも2ビット誤りの符号としてエラーが検出できるようになります。
符号理論, 今井秀樹, 電子情報通信学会, ISBN4-88552-090-8
2元 BCH 符号及びバースト誤り訂正符号