Кажется, я понял это.
N = количество бит данных,
k = число исправляющих ошибки битов (например, четность по Хэммингу)
В любой схеме ECC у вас есть 2 ^ (N + k) возможных битовых строк.
Для ошибки одного бита:
Вы должны найти k таким, чтобы общее количество возможных битовых строк превышало возможное количество строк с не более чем 1-битной ошибкой для данной строки.
Общее количество возможных строк с ошибкой не более 1 бита составляет 2 ^ N (n + k + 1)
1 строка без ошибок, N + k строк с 1-битной ошибкой
2 ^ (N + K)> = (2 ^ N) * (N + к + 1)
Вам просто нужно добавить значения k, пока вы не найдете то, что удовлетворяет вышеприведенному (или как бы вы ни хотели его решить)
Аналогично для 2-битной ошибки это
1 строка без ошибок, N + k строк с 1-битной ошибкой, N + k выбирает 2 строки с 2-битной ошибкой.
2 ^ (N + k)> = (2 ^ N) * (N + k + 1 + (N + k выберите 2))