ハミングコードとは何ですか?

ハミングコードは、バイナリ伝送でエラーを検出および修正する方法です。これは、チェックに使用されるシーケンスに追加のバイナリ数字を含めることと、検出ロジックを提供するアルゴリズムを含めることによって行われます。 このようなコードは、ビットの任意のシーケンスで2つのエラーを見つけて、間違っている可能性のあるビットを修理することができます。 最も一般的に参照されるハミングコードはハミング(7,4)として知られています(7,4)。4つは、追加のチェックビットが含まれた後、シーケンス内の元のビット数を表している元のビット数を表します。パリティビットとして、シーケンスに。チェックビットは常に2つのパワーである位置で注入されるため、任意の数のビットを包括的に検証できます追加のパリティビット。 これは、シーケンスに追加された最後のパリティビットが、シーケンスの最終位置よりも低い2つのパワーである位置にあるまで続く場合があります。

すべてのパリティビットが所定の位置にあるため、残りの位置は実際のデータビットです。 4ビットの例を考えると、ビットの位置は1、2、4がパリティビットになり、3、5、6、7の位置はデータです。 このシーケンスが確立されると、ハミングコードのロジックは機能します。

ハミングコードでは、シーケンスに追加された各パリティビットを使用して、自分自身を含む近くにあるビット位置の一部を確認します。 位置1のパリティビットは、他のすべてのビット位置をチェックします。これは、本質的にシーケンス内のすべての奇数番号の位置です。 2番目のパリティビットは、位置2で、2位と3番の位置をチェックしますE、2つの位置をスキップし、さらに2つの位置をチェックし、さらに2つのスキップなどをスキップします。ポジション4にパリティビットがある場合、ポジション4〜7をチェックし、4つの位置をスキップし、さらに4つをチェックして、以降に動作します。シーケンス内のすべてのパリティビットは、シーケンス全体を通してこの方法で続きます。

ハミングコードがエラーを検出して修正するプロセスは、各パリティチェックのチェックシーケンスのビットを追加することです。 7ビットの例を考えると、最初のパリティチェックのために、ビット1、3、5、7が追加されます。 合計が偶数である場合、パリティはチェックアウトしますが、合計が奇妙な場合は、エラーがあります。 パリティチェックが重複するため、2つのそのようなエラーが表示されます。 合計さえ考えられない2パリティビット位置が合計されている場合、修正する必要があるビットが明らかになります。

7ビットハミングコードの例では、Consポジションナンバー5のビットが正しくないことをider。 位置1、3、5、7の位置のビットの合計は、4〜7の位置のビットの合計と同様に、奇数として出てきます。 これは、位置1のチェックビットのパリティチェックと4つが失敗したことを示しています。 1つと4つを一緒に追加すると、合計は5です。これは、修正する必要があるトランスミッションの間違ったビットの位置です。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?