CRC程序 - 有效检查

时间:2013-09-06 13:10:44

标签: crc

让我们得到 m 位消息,其中最后的 n 位是CRC位。据我所知,为了检查是否正确接收,我们应该使用特定CRC算法的多项式对所有 m 位进行异或。如果结果为全零,我们可以说没有错误。

以下是我的问题:

1)如何使用第一个(mn)位计算 n CRC位,然后将其与最后 n 位进行比较收到的消息?这样我们就可以说,如果接收和计算的 n 位相等,则没有错误。这种方法是真的吗?

2)如果是真的,哪个更有效?

1 个答案:

答案 0 :(得分:3)

您对如何检查CRC的描述并没有真正解析。但无论如何,是的,通常进行CRC校验的方法是计算前CRC位的CRC,然后将其与发送的CRC进行比较。这种方式效率非常高。更重要的是,它更容易验证是正确的,因为这是CRC生成和附加在另一端的方式。

该方法扩展到任何样式的检查值,其中如果在之前的数据之后通过算法运行CRC,则其他检查值不具有获得零的数学属性。此外,大多数情况下具有预调节和后调节的CRC也不具备该特性。您需要取消后置条件,然后将结果与前置条件值进行比较。