【发布时间】:2011-11-10 04:44:07
【问题描述】:
假设我们有一大块来自数据传输介质的数据,具有以下属性:
- 总块大小为 8 字节。
- 数据传输不可靠,因此可能出现多个位错误。
- 数据传输是循环的,数据块的开始是未知的。例如,代码 0123456789ABCDEF 与 3456789ABCDEF012 (0123456789ABCDEF 02468ACF13579BDE (0123456789ABCDEF
什么是这种情况下最好的错误检测和纠错算法?当然,它总是在每个块的有用数据量和成功验证(纠正)概率之间进行折衷。
【问题讨论】:
-
错误检测/纠正由您可以承受的错误量定义。它是什么? 1 个?
-
我想考虑不同的方法:0 位(校验和)、1 位、2 位或更多。
-
周期的(最大)长度是多少?如果你不知道,你就迷路了。
-
@Philip:“总块大小为 8 个字节”。位粒度使这很棘手。如果旋转与字节对齐,那么我可以想办法用 (10,9) Reed-Solomon 进行检测,并用 (11,9) Reed-Solomon 进行至少 1 位校正。另一方面,如果数据被重复发送(就像在那个循环中一遍又一遍地发送),这本身就已经足够冗余了,你可以只用一个简单的傅立叶变换就可以了。
-
没关系傅立叶变换。在这样的重复循环情况下,3 个循环足以获得 3 位 ECC,因此傅立叶变换是多余的。它也没有显示旋转。
标签: algorithm checksum error-correction error-detection