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

时间:2011-04-12 07:35:20

标签: error-correction error-code hamming-code

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

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

1 个答案:

答案 0 :(得分: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))