Skip to main content

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

hamりまえたコードは、バイナリ伝送でエラーを検出および修正する方法です。これは、チェックに使用されるシーケンスに追加のバイナリ数字を含めることと、検出ロジックを提供するアルゴリズムを含めることによって行われます。このようなコードは、ビットの任意のシーケンスで2つのエラーを見つけて、間違っている可能性のあるビットを修理することができます。最も一般的に参照されているハミングコードはハミング(7,4)として知られています。4つは、開始ビットの元の数を示し、7つは追加のチェックビットが含まれた後のシーケンス内のビットの総数を表します。この手法は、1950年にこの方法を公開した作成者であるリチャードハミングから名前を獲得しました。ハミングコードの動作方法は、一連のビットを取り、パリティビットと呼ばれる追加のチェックビットをシーケンスに挿入することです。チェックビットは常に2つのパワーである位置で注入されるため、追加のパリティビットを含めることにより、任意の数のビットを検証できます。これは、シーケンスに追加された最後のパリティビットが、シーケンスの最終位置よりも低い2つのパワーである位置にあるまで続く場合があります。実際のデータビットです。4ビットの例を考えると、ビットの位置は1、2、4がパリティビットになり、3、5、6、7の位置はデータです。このシーケンスが確立されると、ハミングコードのロジックは機能します。自分自身を含む。位置1のパリティビットは、他のすべてのビット位置をチェックします。これは、本質的にシーケンス内のすべての奇数番号の位置です。2番目のパリティビットは、位置2では、2と3の位置をチェックし、2つの位置をスキップし、さらに2つの位置をチェックし、さらに2つスキップします。ポジション4にパリティビットがある場合、ポジション4〜7をチェックし、4つの位置をスキップし、さらに4つをチェックして、以降に動作します。シーケンス内のすべてのパリティビットは、シーケンス全体を通してこの方法で継続します。偶数。7ビットの例を考えると、最初のパリティチェックのために、ビット1、3、5、7が追加されます。合計が偶数である場合、パリティはチェックアウトしますが、合計が奇妙な場合は、エラーがあります。パリティチェックが重複するため、2つのそのようなエラーが表示されます。合計さえ考えられない2パリティビット位置が合計されている場合、修正する必要があるビットが明らかになります。seven 7ビットハミングコードの例では、位置番号5のビットが正しくないことを考慮してください。位置1、3、5、7の位置のビットの合計は、4〜7の位置のビットの合計と同様に、奇数として出てきます。これは、位置1のチェックビットのパリティチェックと4つが失敗したことを示しています。1つと4つを一緒に追加すると、合計は5です。これは、修正する必要があるトランスミッションの間違ったビットの位置です。