Какое минимальное количество бит необходимо для исправления всех 2-битных ошибок?

Я узнал о кодах Хэмминга и о том, как их использовать для исправления 1-битных ошибок и обнаружения всех 2-битных ошибок, но как расширить это до исправления 2-битных, а может и больше?

Какое минимальное количество бит необходимо для исправления всех 2-битных ошибок?

1 ответ

Решение

Я думаю, что я понял это.

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))

Другие вопросы по тегам