ジェネレーターマトリックスの質問が与えられたハミングコード

StackOverflow https://stackoverflow.com/questions/3959382

  •  08-10-2019
  •  | 
  •  

質問

私はそのために私が年をとるので、これは宿題の質問ではないと最初から言うことができますか。しかし、私が取り組んでいるオープンソース無線デコーダープロジェクトに関連しています。

http://github.com/ianwraith/dmrdecode

ラジオプロトコルの一部は、データパケットの特定の部分で4ビットを保護するためにハミング(7,4,3)コードを使用しています。そのため、4ビットごとに3つのパリティビットが追加されます。これは、テクニカルカレッジでこれを研究してから20年後でも簡単です。仕様文書は、次のようなハミングジェネレーターマトリックスを提供するだけです

1000 101
0100 111
0010 110
0001 011

DDDD HHH
1234 210

今私の質問は、これが次のことを意味します。

H2はD1、D2、D3のXORED製品です

H1はD2、D3、D4のXored製品です

H0はD1、D2、D4のXORED製品です

それとも私はこれを恐ろしく間違えましたか?

御時間ありがとうございます。

イアン

役に立ちましたか?

解決

あなたが与えるジェネレーターマトリックスの場合、あなたの解釈は正しいです。あなたのテーブルは意味します:
H0 = d1 ^ d2 ^ d4
H1 = d2 ^ d3 ^ d4
H2 = d1 ^ d2 ^ d3

ただし、同じ表記の通常のハミング(7,4)マトリックスは

1000 011
0100 101
0010 110
0001 111

DDDD HHH
1234 210

H0のみがマトリックスの2つのセットで同じです。他の2つのビットはです
H1 = d1 ^ d3 ^ d4
H2 = d2 ^ d3 ^ d4
仕様が実際に実際に行われたことと一致することを確認するのが便利です。

同様に重要なのは、送信された単語のビットの順序の仕様です。たとえば、典型的なハミング(7,4)エンコーディングの場合、順序
H0、H1、D1、H2、D2、D3、D4
パリティチェックマトリックスを備えたXORが(1)すべてのビットが正しいように見える(== {0,0,0})または(2)1つのビットが間違っているように見えると、それが1つであると言うプロパティがあります。パリティチェックマトリックスの結果によって与えられるビット位置。つまり、受信したコードにパリティチェックマトリックスの乗算から返された3ビットが{1、0、1}である場合、5番目のビット(ベース2で解釈される101)が反転しました。上記の注文では、これはD2が反転したことを意味します。

他のヒント

この記事、 ハミング(7,4), 、パリティビットを構築する方法と、それらが出力にエンコードされる場所について知りたい以上のことを教えてくれます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top