给出生成矩阵问题的汉明码

时间:2010-10-18 13:01:25

标签: error-correction hamming-code

我可以从一开始就说,这不是一个功课问题,因为我的方式 老了。但是与我正在研究的开源无线电解码器项目有关..

http://github.com/IanWraith/DMRDecode

我感兴趣的部分无线电协议使用汉明(7,4,3)代码进行保护 数据包的特定部分中的4位。因此,它添加的每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乘积

还是我犯了这个可怕的错误?

感谢您的时间。

伊恩

2 个答案:

答案 0 :(得分:1)

对于您提供的生成矩阵,您的解释是正确的。你的表格的意思是:
    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是相同的。另外两位是
    H1 = D1 ^ D3 ^ D4
    H2 = D2 ^ D3 ^ D4
确保规范实际上与实践中所做的相匹配将是很方便的。

同样重要的是对传输字中位的顺序的规范。例如,对于典型的汉明(7,4)编码,顺序为     H0,H1,D1,H2,D2,D3,D4
具有奇偶校验矩阵的XOR告诉您(1)所有位似乎正确(== {0,0,0})或(2)一位似乎是错误的属性,它是一个属性在奇偶校验矩阵的结果给出的位位置。即,如果通过奇偶校验矩阵乘以所接收的代码而返回的三个比特是{1,0,1},则第五比特(在基数2中解释的101)已被翻转。在上面的排序中,这意味着D2已被翻转。

答案 1 :(得分:0)

本文Hamming(7,4)将告诉您如何构建奇偶校验位以及将它们编码到输出中的位置。