纠正所有2位错误所需的最小位数是多少?

use*_*879 8 error-code error-correction hamming-code

我学习了汉明码以及如何使用它们来纠正1位错误并检测所有2位错误,但是如何将其扩展到纠正2位,甚至更多?

纠正所有2位错误所需的最小位数是多少?

use*_*879 7

我想我明白了.

N =数据位数,k =纠错位数(例如汉明奇偶校验位)

在任何ECC方案中,您都有2 ^(N + k)个可能的位串.

对于单比特错误:

必须找到k,使得可能的位串的总数大于给定字符串的最多1位错误的可能的字符串数.

最多1位错误的总可能字符串是2 ^ N(n + k + 1)

1个字符串,没有错误,N + k个字符串,1位错误

2 ^(N + K)> =(2 ^ N)*(N + K + 1)

您只需要插入k的值,直到找到满足上述值的那个(或者您希望解决它)

类似地,对于2位错误,它是

1个没有错误的字符串,N + k个字符串,1位错误,N + k选择2个字符串,2位错误.

2 ^(N + k)> =(2 ^ N)*(N + k + 1 +(N + k选2))