仅使用crc32的一部分

时间:2017-02-13 00:18:32

标签: crc hardware-acceleration crc32 crc16

仅使用crc32总和的2个上/下字节会使其弱于crc16吗?

背景:

我目前正在实施无线协议。 我有每个64字节的块,并根据 Data Length vs CRC Length 我最多需要crc16。 使用crc16而不是crc32将释放带宽用于前向纠错(64字节是FEC中的一个块)。 但是,我的硬件功耗很低,但对CRC32有硬件支持。 所以我的想法是使用硬件crc32引擎,然后扔掉2个结果字节。 我知道这不是crc16总和,但这并不重要,因为我控制传输的两侧。

如果重要:我可以同时使用crc32(poly 0x04C11DB7)或crc32c(poly 0x1EDC6F41)。

1 个答案:

答案 0 :(得分:1)

是的,它会更弱,但仅限于少量的误码。通过改为使用CRC-32的一半,您无法获得CRC-16的保证。例如。突发中始终可检测的位数。

您试图保护的噪音来源是什么?