【问题标题】:Multiple Small CRC checks or a single large CRC check?多个小型 CRC 校验还是单个大型 CRC 校验?
【发布时间】:2012-09-07 20:35:40
【问题描述】:

假设我有 L = 1024 位要使用 16 个额外位进行 CRC 校验来保护。我可以选择使用 16 CRC-1(单奇偶校验)或 CRC-16 校验。就错误检测能力而言,哪个选项更好?

对于 16 CRC-1,如果任何 CRC-1 失败,我们的错误将被声明。换句话说,要通过 CRC 校验,所有的 CRC-1 校验都应该通过;否则会报错。

多重CRC-1系统实现如下。 1024 位分为 16 组,每组 64 位,每组 16 位附加一个奇偶校验位。

【问题讨论】:

    标签: crc error-detection crc16


    【解决方案1】:

    CRC-16 会好很多。您的 16 个 CRC-1 可以检测 16 个错误,但前提是每个错误恰好恰好落在自己的块中。如果这 16 个错误中的任何一个在同一个块中配对,它们将相互抵消而不被检测到。

    另一方面,CRC-16 将检测 16 位突发中发生的 1 到 16 个单位错误。

    【讨论】:

    • CRC-16 可以检测长达 16 位的单个突发。某些 4 个或更多错误位模式将无法被检测到。如果 CRC-16 由两个因素组成,其中一个是 (x+1),它充当奇偶校验,则可以检测到 3 或任何奇数位错误。例如,使用十六进制 0x11021 的 CRC 具有“素数”因子 0xF01F 和 0x3(其中 0x3 用作奇偶校验)。
    猜你喜欢
    • 2013-01-10
    • 2015-06-29
    • 2013-12-21
    • 2014-05-11
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2021-05-11
    • 2022-01-12
    相关资源
    最近更新 更多