【问题标题】:Cyclic Redundancy check : Single and double bit error循环冗余校验:单位和双位错误
【发布时间】:2022-01-08 01:07:51
【问题描述】:

在 Forouzan(数据通信和网络 5E)的书中找到了这一点。但是,无法理解这背后的逻辑。

这是在主题两个孤立的单位错误

的上下文中

换句话说,g(x) 不能除 x^t + 1,其中 t 介于 0 和 n - 1 之间。但是,t = 0 是没有意义的,需要 t = 1,我们稍后会看到。这意味着 t 应该在 2 和 n – 1 之间

为什么 t=1 在这里被排除? (x^1 + 1) 是两个连续的错误,也必须使用我们的 g(x) 正确检测。

【问题讨论】:

  • this question 中提出并回答了类似的问题。
  • @rcgldr 先生,我的疑问是在上面引用的段落中作者所说的——检测 2 位孤立错误 (x^i + x^j) => x^j[x^( i-j) + 1] , let (i-j) = t --> 我们的多项式生成器不应该除 (x^t + 1) 其中,t 从 2 到 n-1。 t=0 是没有意义的(我理解)但是为什么要排除 t=1 呢? 2个连续的错误也必须检测到吧?
  • 如果您可以更新您的问题以包括本书的后面部分,其中解释了为什么“需要 t = 1”,那将有所帮助。似乎最好说明 g(x) 不能除 (x^i + x^j),其中 i ≠ j,并且 i+j
  • @rcgldr 是的,我提到了 Tanenbaum,他们也没有说 t 的下限。我不知道为什么他们在 forouzan 书中排除了 t=1 。我已经添加了你可以查看的截图。

标签: crc crc32 crc16 error-correction crc64


【解决方案1】:

第三张图片表明 (x+1) 应该是 g(x) 的一个因子,但这会将 CRC 保证检测 2 位错误的最大长度从 n-1 减少到 (n/2)- 1,但它提供了能够检测任何奇数位错误的优势,例如 (x^k + x^j + x^i) 其中 k+j+i

书中没有提到,有些生成器可以检测超过 3 个错误,但为了做到这一点,牺牲了消息的最大长度。

如果 CRC 可以检测到 e 错误,那么它也可以纠正 floor(e/2) 错误,但我不知道有一种有效的算法可以做这个,除了一个巨大的表查找(如果有足够的空间)。例如,有一个 32 位 CRC(十六进制:1f1922815 = 787·557·465·3·3)可以检测 7 位错误或纠正 3 位错误,消息大小高达 1024 位,但快速纠正需要 1.4千兆字节查找表。

至于“需要t = 1”,该书后来通过指出g(x) = (x+1) 无法检测相邻位错误来澄清这一点。在另一条语句中,这本书没有特殊情况 t = 0 或 t = 1,它指出,“如果生成器不能在 0 和 n-1 之间划分 (x^t + 1), t,那么所有孤立的双位错误可以检测到”,但如果 t = 0,则 (x^0 + 1) = (1 + 1) = 0,这将是一个零位错误的情况。

【讨论】:

  • 谢谢你,先生,我完全同意你的看法:)
  • 您好,我是CRC的初学者。事情对我来说并不是那么直观。很抱歉,如果我问的问题太琐碎或愚蠢。请你解释一下this reduces the maximum length that the CRC is guaranteed to detect 2 bit errors from n-1 to (n/2)-1,我的意思是数学,一点点?
  • 对于奇数位错误,我们需要(x+1)G(X) 的因子,即G(X)=(x+1).F(X)F(x)!=1。对于两位错误,G(X) 不应该除以(x^t+1) 和因此(x+1),对于t==1。现在如果G(x)(X+1) 作为因子,那么G(X) 也不能分割(x+1)。因为根据我们的假设,(X+1)/G(x)=1/F(X) 并且这没有余数 0...那么为什么不也有 t==1 条件...这是我的思考过程...
  • @AbhishekGhosh - 我更新了我的答案。稍后通过声明 g(x) = x+1 无法检测相邻错误来澄清“需要 t = 1”,然后在另一个声明中,不是特殊情况 t = 0 或 t=1,只是声明“t 之间0 和 n-1",除了 t = 0 的情况是零错误,因为 (x^0 + 1) = (1 + 1) = 0。
  • @AbhishekGhosh - 我认为这是一个错误或至少令人困惑。声明t = 1 to n-1 会更简单。 (如上所述,t = 0 是零位错误情况)。
猜你喜欢
  • 2015-02-25
  • 1970-01-01
  • 2016-10-20
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多