我学习了汉明码以及如何使用它们来纠正1位错误并检测所有2位错误,但是如何将其扩展到纠正2位,甚至更多?
纠正所有2位错误所需的最小位数是多少?
答案 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))