【问题标题】:Hamming code given a generator matrix question给定生成矩阵问题的汉明码
【发布时间】:2010-10-18 13:01:24
【问题描述】:

我可以从一开始就说这不是一个家庭作业问题,因为我正在 老了。但与我正在从事的一个开源无线电解码器项目有关..

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 的异或积

H1 ​​是 D2 , D3 , D4 的异或积

H0 是 D1 , D2 , D4 的异或积

还是我搞错了?

感谢您的宝贵时间。

伊恩

【问题讨论】:

    标签: error-correction hamming-code


    【解决方案1】:

    对于您给出的生成器矩阵,您的解释是正确的。您的表格确实意味着:
    H0 = D1 ^ D2 ^ D4
    H1 = D2 ^ D3 ^ D4
    H2 = D1 ^ D2 ^ D3

    然而,普通的 Hamming(7,4) 矩阵,在相同的符号中将是

    1000 011
    0100 101
    0010 110
    0001 111
    
    DDDD HHH
    1234 210
    

    两组矩阵中只有 H0 相同。其他两位是
    H1 = D1 ^ D3 ^ D4
    H2 = D2 ^ D3 ^ D4
    确保规范实际上与实践中所做的相匹配会很方便。

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

    【讨论】:

      【解决方案2】:

      这篇文章Hamming(7,4) 将告诉您更多关于如何构造奇偶校验位以及将它们编码到输出中的位置的信息。

      【讨论】:

      • 谢谢我已经阅读了维基页面。我的问题是,虽然我很确定我了解汉明码的基础知识,但现实世界的数据并没有按应有的方式出现。造成这种情况的一个可能原因是我的实现不正确,因此我只需要有人以一种或另一种方式确认它。
      猜你喜欢
      • 2017-02-08
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多