假设我们有一组n个字节。可以通过存储包含所有N原始字节的独占XOR的附加(n + 1)个字节来添加非常基本的(且不特别可靠)的这一数据的一致性。在传输过程中,它足以检测单个字节错误。

在我试图解决的实际问题中,如果在传输期间发生错误,我实际上会知道发生错误时发生错误,哪个字节包含错误。然后通过使用(n + 1)字节的所有正确字节来恢复(n + 1)th字节的知识足以恢复不正确的字节。

在我的应用程序中发生的错误实际上发生在1或多个字节的突发中,我将表示此数字作为M.每组N个字节的单个突发也不超过单个突发。实际上,当发生错误时,我的传输通道返回n-m字节,以及字节丢失的位置的标记。

我的问题是:将是什么(有没有?)一种自然的方式来概括使用单个xor字节到错误突发最多可以包含m跳过字节的情况的简单(m= 1)纠错方案?是否可以使用M字节执行此特定类型的纠错?

有帮助吗?

解决方案

对于 $ i \ in \ {0,\ ldots,m-1 \} $ ,添加一个新的字节,它是每个的总和(或xor)索引等于 $ i $ mod $ m $ 。例如,如果 $ m= 2 $ ,则一个字节是偶数位置中的所有字节的总和,另一个字节是所有字节的总和奇怪的位置。由于突发大致具有长度 $ m $ ,因此这些校验和仅缺少一个字节。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top