0

SEC/DED エラー訂正コードに問題があります。デコーダーはダブル ビット フリップが発生したと認識しているが、実際には 1 回しか発生していないというケースをいくつか見つけたようです。私は何か間違ったことをしたと思いますが、何を理解できませんでした。例を示しましょう。

1011(7,4) コードと 2 つのエラー検出を実行するために必要な余分なビットを使用して 4 ビットをエンコードするとします。コード化されたワードは である必要があります00110011。ここで、最上位ビットは余分なパリティ ビットであり、次の 2 つは p0 と p1 などです。

ここで、送信中に下位ビットが反転したとします。したがって、受信した単語は になります00110010。受信機は、このコードから 4 つの受信データ ビット 1010 を抽出し、新しいコードを作成します01011010。最後に、受信側は を取得する 2 つのコードのビットごとの xor を実行します0111。最後の 3 ビットは、ビット 7 が反転したことを示していますが (これは正しい)、最初のビットは 0 であり、私の知る限り、デコーダはこの状況をビット反転以上のものと見なす必要があります。

私は何を間違えましたか?

4

1 に答える 1

0

私は問題を解決したと思います。

上記の例では、シンドロームを計算してから、結果のコードワードの新しい全体のパリティ ビットを計算します。代わりに、受信した単語の全体的なパリティをチェックし、error_happened ブール値をその値に設定する必要があります。次に、シンドロームを計算します。

于 2013-07-01T08:48:37.100 に答える