error-handling - BSD校正可能吗?

标签 error-handling crc bsd

我正在使用wiki BSD所述的BSD校验和,有人知道您是否可以将其用于基本错误纠正吗?

最佳答案

考虑一个8位或16位的左旋转校验和,其中所有消息字节均假定为零,但其中一个具有单个位错误。校验和将检测到错误,但是对于message [0] = 0x01或message [1] = 0x02,...或message [7] = 0x80,您将获得相同的校验和。校验和无法确定这8个(或更多)可能的错误情况中的哪一个发生了,因此不能用于纠错。

您至少需要像汉明码,BCH码或RS码之类的东西,才能纠正更多的位错误。由于您将CRC作为标签,因此,如果消息长度(包括CRC)短于1个字节,则纠正二进制BCH码的比特与使用“原始”多项式(作为有限字段基础)的CRC相同。有限字段中可能值的数量。例如,基于GF(2 ^ 4)(GF(16))的有限字段,一条15位消息将具有11个数据位和4个“奇偶校验”位。

关于error-handling - BSD校正可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53871823/

相关文章:

docker - 如何在 Docker 上运行 *BSD 操作系统?

regex - 在 `find` 中工作的正则表达式

c++ - 安装 Visual Studio 2015 时出现错误,有关 "Microsoft Visual C++ 2015 Redistributable"

c# - 在ASP.NET Web应用程序中记录错误

C# CRC 实现

crc - 为什么 CRC 多项式被指定为正态、反转等?

angular - ionic 标签中加载图像失败的错误事件

ios - Swift:NSError 现在应该被视为遗留问题吗?

CRC 16程序计算校验和

c - 复制名称中包含双引号的文件时,Mac OS 10.7.5 BSD copyfile() EINVAL