【问题标题】:What is the hamming distance, and how do I determine it for a CRC scheme?什么是汉明距离,我如何为 CRC 方案确定它?
【发布时间】:2011-04-17 13:53:47
【问题描述】:

在学习计算机网络课程时,教授谈到了示例代码中两个有效代码字之间的汉明距离。我已经阅读了有关汉明距离的信息,从告诉 2 个字符串之间的差异距离的角度来看,这是有道理的。例如:

Code Word 1 = 10110 

发送方发送代码字 1,引入了一个错误,接收方收到 10100。所以您看到第 4 位已损坏。这将导致汉明距离为 1,因为:

Valid Code Word: 10110
Error Code Word: 10100
                 -----
XOR              00010

2 个字符串的 XOR 得到一个 1,因此汉明距离为 1。我理解到这一点。但随后教授问:

  • 标准 CRC-16 位协议的汉明距离是多少?
  • 标准 CRC-32 位协议的汉明距离是多少?

我有点困惑,想知道是否有人可以提供帮助。谢谢。

【问题讨论】:

    标签: crc hamming-distance


    【解决方案1】:

    您现在可能已经弄清楚了,但他要求的很可能是 CRC 码无法检测到的最小误码数。答案取决于消息的宽度、多项式和长度。例如,最著名的 CRC-32 多项式 (0x1EDC6F41) 的汉明距离为 6 或更高,用于最多 5,275 位的消息(Castaglioni, Bräuer, Herrmann: Optimization of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits, IEEE Transactions on Communications,第 41 卷第 6 期,1993 年 6 月),这意味着它保证在 5,275 位或更少的单个消息中检测到多达 5 个翻转位。

    顺便说一句,代码字包括校验和,所以你的例子不正确。

    【讨论】:

    • 关于最知名多项式的部分不正确。多项式 0x741B8CD7 的汉明距离 6 最多 16360 位,汉明距离 4 最多 114663 位。 [Philip Koopman,互联网应用的 32 位循环冗余码]
    • @Řrřola 最好的办法可能就是参考:Koopman's website。它似乎是 CRC 性能最新的地方之一。
    猜你喜欢
    • 2016-06-05
    • 1970-01-01
    • 2017-09-10
    • 2018-11-17
    • 2015-03-21
    • 2012-03-10
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多