SEC/DED エラー訂正コードに問題があります。デコーダーはダブル ビット フリップが発生したと認識しているが、実際には 1 回しか発生していないというケースをいくつか見つけたようです。私は何か間違ったことをしたと思いますが、何を理解できませんでした。例を示しましょう。
1011
(7,4) コードと 2 つのエラー検出を実行するために必要な余分なビットを使用して 4 ビットをエンコードするとします。コード化されたワードは である必要があります00110011
。ここで、最上位ビットは余分なパリティ ビットであり、次の 2 つは p0 と p1 などです。
ここで、送信中に下位ビットが反転したとします。したがって、受信した単語は になります00110010
。受信機は、このコードから 4 つの受信データ ビット 1010 を抽出し、新しいコードを作成します01011010
。最後に、受信側は を取得する 2 つのコードのビットごとの xor を実行します0111
。最後の 3 ビットは、ビット 7 が反転したことを示していますが (これは正しい)、最初のビットは 0 であり、私の知る限り、デコーダはこの状況をビット反転以上のものと見なす必要があります。
私は何を間違えましたか?