Получение РКК для кода, исправляющего одиночные и двойные смежные ошибки

Пример

Получить РКК для пачки из 2-х или меньше ошибок при n = 7.

Зная n, мы можем определить k из формулы:

2(nk) – 1 ≥ n + (n – 1);

2(nk) ≥ 2n;

nk ≥ log2(2n);

kn – log2(2n);

k ≤ 7 – log2(14);

k ≤ 3.1795;

k = 3.

Таким образом, получаем код (7; 3), который должен исправлять одиночные и двойные смежные ошибки. http://peredacha-informacii.ru/ Из таблицы 5.4 составляем уравнения, складывая единицы в соответствующих разрядах, имеем:

Таблица 5.4

Номер разряда Опознаватель
1 000001
2 000010
3 000100
4 001000
5 001101
6 000111
7 001110
8 010000
9 001011
10 010111
11 011000
12 100000
13 110001

а1 а5 а6 = 0;

а2 а6 а7 = 0;

а3 а5 а6 а7 = 0;

а4 а5 а7 = 0.

Из уравнений ищем места и значения проверочных разрядов:

а1 = а5 а6;

а2 = а6 а7;

а3 = а5 а6 а7;

а4 = а5 а7.

Если воспользоваться формулой приведенной выше, то можно получить код (13; 8). Но если взглянуть на таблицу 5.4, то видно, что в строках с 1 по 13 опознаватели имеют 6 разрядов. Таким образом, в качестве информационных символов можно использовать только 7 разрядов. Получаем код (13; 7).